Figure 7-23 shows the motor-start sequence implemented in the MCF8315A device.
Power-On StateThis is the initial state of the Motor Start Sequence (MSS) when MCF8315A is powered on. In this state, MCF8315A 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 MCF8315A 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, MCF8315A exits the sleep/standby state and proceeds to ISD_EN judgement. As long as SPEED_REF is set to zero, MCF8315A stays in sleep/standby state.
Direction Change Command JudgementWhen a direction change command is received, MCF8315A proceeds to DIR_CHANGE_MODE judgement.
DIR_CHANGE_MODE JudgementIf DIR_CHANGE_MODE is set to 0b, MCF8315A initiates direction change by proceeding to ISD_EN judgement. Instead, if DIR_CHANGE_MODE is set to 1b, MCF8315A initiates direction change by proceeding to Speed > OPN_CL_HANDOFF_THR judgement.
ISD_EN JudgementMCF8315A 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 MCF8315A 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, MCF8315A 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, MCF8315A 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, MCF8315A 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 MCF8315A 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 MCF8315A 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 MCF8315A 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 RoutineMCF8315A 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 MCF8315A drives the motor with sensorless FOC based on rotor angle estimation.