Figure 6-23 shows
the motor-start sequence implemented in the MCF8315C device.
Power-On StateThis is the initial state of the Motor Start Sequence (MSS) when MCF8315C is powered on. In this state, MCF8315C configures the peripherals, initializes the algorithm parameters from EEPROM and prepares for driving the motor.
Sleep/StandbyIn this state, SPEED/CURRENT_REF is
set to zero and MCF8315C is either in
sleep or standby mode depending on DEV_MODE and
SPEED/WAKE pin voltage.
SPEED/CURRENT_REF > 0
JudgementWhen SPEED/CURRENT_REF is set to
greater than zero, MCF8315C exits the
sleep/standby state and proceeds to ISD_EN
judgement. As long as SPEED/CURRENT_REF is set to
zero, MCF8315C stays in
sleep/standby state.
Direction Change Command JudgementWhen a direction change command is received, MCF8315C proceeds to DIR_CHANGE_MODE judgement.
DIR_CHANGE_MODE JudgementIf DIR_CHANGE_MODE is set to 0b, MCF8315C initiates direction change by proceeding to ISD_EN judgement. Instead, if DIR_CHANGE_MODE is set to 1b, MCF8315C initiates direction change by proceeding to Speed > OPN_CL_HANDOFF_THR judgement.
ISD_EN JudgementMCF8315C 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 6.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 MCF8315C 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, MCF8315C 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, MCF8315C uses the speed and
position information from the ISD to transition to the closed loop state
(see Section 6.3.10.2 )
directly. If motor speed < FW_DRV_RESYN_THR, MCF8315C 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 MCF8315C 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 MCF8315C 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 MCF8315C 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 6.3.11).
Brake RoutineMCF8315C 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.
Closed Loop StateIn this state, the MCF8315C drives the motor with sensorless FOC based on rotor angle estimation.