Figure 7-20 shows the motor-start sequence implemented in the MCT8315A device.
Power-On StateThis is the initial state of the Motor Start Sequence (MSS) when MCT8315A is powered on. In this state, MCT8315A configures the peripherals, initializes the algorithm parameters from EEPROM and prepares for driving the motor.
Sleep/StandbyIn this state, SPEED_REF/POWER_REF/TARGET_DUTY is set to zero and MCT8315A is either in sleep or standby mode depending on DEV_MODE and SPEED/WAKE pin voltage.
SPEED_REF/POWER_REF/TARGET_DUTY > 0 JudgementWhen SPEED_REF/POWER_REF/TARGET_DUTY is set to greater than zero, MCT8315A exits the sleep/standby state and proceeds to ISD_EN judgement. As long as SPEED_REF is set to zero, MCT8315A stays in sleep/standby state.
ISD_EN JudgementMCT8315A 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 second BEMF < STAT_DETECT_THR 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 MCT8315A 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, MCT8315A proceeds to BEMF > RESYNC_MIN_THRESHOLD judgement. If RESYNC_EN is set to 0b, MSS proceeds to HIZ_EN judgement.
BEMF > RESYNC_MIN_THRESHOLD JudgementIf motor speed is such that BEMF > RESYNC_MIN_THRESHOLD, MCT8315A uses the speed and position information from ISD to transition to the closed loop state (see Motor Resynchronization ) directly. If BEMF < RESYNC_MIN_THRESHOLD, MCT8315A proceeds to BEMF < STAT_DETECT_THR judgement.
BEMF < STAT_DETECT_THR JudgementIf motor speed is such that BEMF > STAT_DETECT_THR, MCT8315A proceeds to motor coast timeout. If BEMF < STAT_DETECT_THR, MCT8315A proceeds to STAT_BRK_EN judgement.
Motor Coast TimeoutMCT8315A waits for 200000 PWM cycles for the motor to coast down to a speed where BEMF < STAT_DETECT_THR; after 200000 PWM cycles lapse in the motor coast state, MCT8315A proceeds to STAT_BRK_EN judgement irrespective of BEMF. If BEMF < STAT_DETECT_THR during motor coast before the 200000 cycle timeout, MCT8315A proceeds to STAT_BRK_EN judgement immediately.
STAT_BRK_EN JudgementThe MSS checks if the stationary brake function is enabled (STAT_BRK_EN =1b). If the stationary brake function is enabled, the MSS advances to the stationary brake routine. If the stationary brake function is disabled, the MSS advances to motor start-up state (see Section 7.3.10.4).
Stationary Brake RoutineThe stationary brake routine can be used to ensure the motor is completely stationary before attempting to start the motor. The stationary brake is applied by turning on all three low-side driver MOSFETs for a time configured by STARTUP_BRK_TIME.
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 > MIN_DUTY JudgementThe MSS checks if the speed (in reverse direction) is higher than the speed at MIN_DUTY - till the speed (in reverse direction) is higher than the speed at MIN_DUTY, MSS stays in reverse closed loop deceleration. When speed (in reverse direction) drops below the speed at MIN_DUTY, the MSS transitions to reverse open loop deceleration.
Reverse Open Loop Deceleration and Zero Speed CrossoverIn reverse open loop deceleration, the MCT8315A decelerates the motor in open-loop till speed reaches zero. At zero speed, direction changes and MCT8315A begins open loop acceleration.
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 RoutineMCT8315A implements a brake by turning on all three (high-side or low-side) MOSFETS for BRK_TIME. Brake is applied either using high-side or low-side MOSFETs based on BRK_MODE configuration.
Closed LoopIn this state, the MCT8315A drives the motor with sensorless trapezoidal commutation based on either zero cross detection or BEMF integration.