Figure 7-22 shows the motor-start sequence implemented in the MCF8316C-Q1 device.
Power-On StateThis is the initial state of the Motor Start Sequence (MSS) when MCF8316C-Q1 is powered on. In this state, MCF8316C-Q1 configures the peripherals, initializes the algorithm parameters from EEPROM and prepares for driving the motor.
Sleep/StandbyIn this state, SPEED_REF is set to zero and MCF8316C-Q1 is either in sleep or standby mode depending on DEV_MODE and SPEED/WAKE pin voltage.
SPEED_REF > 0 JudgementWhen SPEED_REF is set to greater than zero, MCF8316C-Q1 exits the sleep/standby state and proceeds to ISD_EN judgement. As long as SPEED_REF is set to zero, MCF8316C-Q1 stays in sleep/standby state.
Direction Change Command JudgementWhen a direction change command is received, MCF8316C-Q1 proceeds to DIR_CHANGE_MODE judgement.
DIR_CHANGE_MODE JudgementIf DIR_CHANGE_MODE is set to 0b, MCF8316C-Q1 initiates direction change by proceeding to ISD_EN judgement. Instead, if DIR_CHANGE_MODE is set to 1b, MCF8316C-Q1 initiates direction change by proceeding to Speed > OPN_CL_HANDOFF_THR judgement.
ISD_EN JudgementMCF8316C-Q1 checks to see if the initial speed detect (ISD) function is enabled (ISD_EN = 1b). If ISD is enabled, MSS proceeds to the BEMF < STAT_DETECT_THR judgement. Instead, if ISD is disabled, the MSS proceeds directly to the BRAKE_EN judgement.
BEMF < STAT_DETECT_THR or BEMF < FG_BEMF_THR JudgementISD determines the initial condition (speed, angle, direction of spin) of the motor (see Section 7.3.10.1). If motor is deemed to be stationary (BEMF < STAT_DETECT_THR or BEMF < FG_BEMF_THR), the MSS proceeds to BRAKE_EN judgement. If the motor is not stationary, MSS proceeds to verify the direction of spin.
Direction of spin JudgementThe MSS determines whether the motor is spinning in the forward or the reverse direction. If the motor is spinning in the forward direction, the MCF8316C-Q1 proceeds to the RESYNC_EN judgement. If the motor is spinning in the reverse direction, the MSS proceeds to the RVS_DR_EN judgement.
RESYNC_EN JudgementIf RESYNC_EN is set to 1b, MCF8316C-Q1 proceeds to Speed > Open to Closed Loop Handoff (Resync) judgement. If RESYNC_EN is set to 0b, MSS proceeds to HIZ_EN judgement.
Speed > FW_DRV_RESYN_THR JudgementIf motor speed > FW_DRV_RESYN_THR, MCF8316C-Q1 uses the speed and
position information from the ISD to transition to the closed loop state
(see Section 7.3.10.2 )
directly. If motor speed < FW_DRV_RESYN_THR, MCF8316C-Q1 transitions to open loop state.
RVS_DR_EN JudgementThe MSS checks to see if the reverse drive function is enabled (RVS_DR_EN = 1b). If it is enabled, the MSS transitions to check speed of the motor in reverse direction. If the reverse drive function is not enabled (RVS_DR_EN = 0b), the MSS advances to the HIZ_EN judgement.
Speed > OPN_CL_HANDOFF_THR JudgementThe MSS checks to see if the reverse speed is high enough for MCF8316C-Q1 to decelerate in closed loop. Till the speed (in reverse direction) is above OL_CL_HANDOFF_THR, MSS stays in closed loop deceleration. If speed is below OPN_CL_HANDOFF_THR, then the MSS transitions to open loop deceleration.
Reverse Closed Loop, Open Loop Deceleration and Zero Speed CrossoverThe MCF8316C-Q1 resynchronizes in the reverse direction, decelerates the motor in closed loop till motor speed falls below the handoff threshold. (see Reverse Drive). When motor speed in reverse direction is too low, the MCF8316C-Q1 switches to open-loop, decelerates the motor in open-loop, crosses zero speed, and accelerates in the forward direction in open-loop before entering closed loop operation after motor speed is sufficiently high.
HIZ_EN JudgementThe MSS checks to determine whether the coast (Hi-Z) function is enabled (HIZ_EN = 1b). If the coast function is enabled (HIZ_EN = 1b), the MSS advances to the coast routine. If the coast function is disabled (HIZ_EN = 0b), the MSS advances to the BRAKE_EN judgement.
Coast (Hi-Z) RoutineThe device coasts the motor by turning OFF all six MOSFETs for a certain time configured by HIZ_TIME.
BRAKE_EN JudgementThe MSS checks to determine whether the brake function is enabled (BRAKE_EN = 1b). If the brake function is enabled (BRAKE_EN = 1b), the MSS advances to the brake routine. If the brake function is disabled (BRAKE_EN = 0b), the MSS advances to the motor start-up state (see Section 7.3.10.4).
Brake RoutineMCF8316C-Q1 implements either a time based brake (duration configured by BRK_TIME) or a current based brake (brake applied till phase currents < BRK_CURR_THR for BRAKE_CURRENT_PERSIST) based on BRK_CONFIG. Current based brake has a timeout to ensure brake state ends in case phase currents do not drop below BRK_CURR_THR within BRK_TIME. Time based brake can be applied either using high-side or low-side MOSFETs based on BRK_MODE configuration. Current based brake is applied using low-side MOSFETs only.
Closed Loop StateIn this state, the MCF8316C-Q1 drives the motor with sensorless FOC based on rotor angle estimation.