A89307 Datasheet
A89307 Datasheet
A89307 Datasheet
PACKAGE
28-contact QFN
with exposed thermal pad
and wettable flank
5 mm × 5 mm × 0.90 mm
(ET package)
Not to scale
VBB
0.22 µF 0.22 µF
FG
CP1 CP2 VCP VBB
SPD GHx
FAULT
DIR
BRK
A89307 GLx
VREG
SENN SENP LSS
SELECTION GUIDE
Part Number Packaging Packing
A89307KETSR-J 28-contact QFN with exposed thermal pad and wettable flank 6000 pieces per 13-inch reel
THERMAL CHARACTERISTICS
Characteristic Symbol Test Conditions* Value Unit
Package Thermal Resistance RθJA 28-contact QFN (package ET), on 2-sided PCB 1-in.2 copper 40 °C/W
*Additional thermal information available on the Allegro website.
Table of Contents
Features and Benefits............................................................ 1 Motor Startup.................................................................... 9
Description........................................................................... 1 Motor Startup State Machine............................................. 10
Packages............................................................................. 1 External MOSFET Gate Drive............................................ 13
Typical Application................................................................. 1 Input-to-Output Transformer.............................................. 14
Selection Guide.................................................................... 2 Diagnostics..................................................................... 18
Absolute Maximum Ratings.................................................... 2 I2C Operation and EEPROM/Register Map......................... 20
Thermal Characteristics......................................................... 2 Write Command............................................................... 21
Terminal Diagram and Terminal List......................................... 3 Read Command.............................................................. 21
Functional Block Diagram...................................................... 4 Register and EEPROM Map................................................. 22
Electrical Characteristics........................................................ 5 Programming EEPROM....................................................... 31
Functional Description........................................................... 7 Application Information........................................................ 33
Speed Control................................................................... 7 Terminal Diagrams.............................................................. 34
Bus Current Sensing.......................................................... 9 Package Outline Drawing..................................................... 35
2
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
22 BRAKE
26 FAULT
23 VREG
28 SENN
24 SPD
25 DIR
27 FG
SENP 1 21 NC
GND 2 20 CP1
NC 3 19 CP2
GLA 4 PAD 18 NC
GLB 5 17 VBB
GLC 6 16 NC
LSS 7 15 VCP
SB 10
SC 12
GHC 13
NC 14
GHB 11
SA 8
GHA 9
ET Package Terminals
Terminal List
Name Function Number
BRAKE Logic input 22
CP1 Charge pump 20
CP2 Charge pump 19
DIR Direction control 25
FAULT Fault indicator output 26
FG Motor speed output 27
GHA High-side gate drive output 9
GHB High-side gate drive output 11
GHC High-side gate drive output 13
GLA Low-side gate drive output 4
GLB Low-side gate drive output 5
GLC Low-side gate drive output 6
GND Ground 2
LSS Low-side source 7
3, 14, 16,
NC No connect
18, 21
SA Motor output 8
SB Motor output 10
SC Motor output 12
SENN Current sense negative terminal 28
SENP Current sense positive terminal 1
SPD PWM or clock mode speed control 24
VBB Power supply 17
VCP Charge pump 15
VREG 2.8 V regulator voltage 23
PAD Exposed pad for enhanced thermal dissipation PAD
3
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
0.22 µF X5R
CP2
CP1
0.22 µF X5R 10 V
VREG
VREG
2.8 V 0.22 µF X5R
VREG Charge VCP
Clock 7.3 V Pump
mode
VBB
Analog to VBB
Duty
Universal
VREF
PWM to Curve
HSD GHA
Duty
GHB
SPD
GHC
VREF
SCL
OCP
SA
SDA
FG SB
Demand GATE
DRIVE SC
Control
I2C GLA
LSD GLB
EEPROM
BRAKE GLC
6
FOC
Controller LSS
Control
DIR Logic
VREF
Current SENP
Sense
FAULT Amp SENN
GND
4
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
ELECTRICAL CHARACTERISTICS: Valid at TJ = –40 to 125°C, VBB = 5.5 to 28 V, unless noted otherwise
Characteristics Symbol Test Conditions Min. Typ. Max. Unit
SUPPLY AND REFERENCE
Driving 5.5 – 48 V
Supply Voltage Range VBB
Operating 5.5 – 50 V
IVREG = 0 mA – 8 12 mA
VBB Supply Current IBB
Standby mode – 10 20 µA
Reference Voltage VREG IOUT = 10 mA 2.70 2.86 2.95 V
VREG Current Limit IVREGOCL VREG = 0 V 25 50 127 mA
VBB = 8 V, ICPAVG = 4.5 mA, relative to VBB 6.4 6.7 7.5 V
Charge Pump [2] VCP
VBB = 5 V, ICPAVG = 1 mA, relative to VBB 4.15 5 – V
GATE DRIVE UNIT
High-Side Gate Drive Output VGH VBB ≥ 8 V 6.75 6.9 – V
Low-Side Gate Drive Output VGL VBB ≥ 8 V 7.0 7.3 – V
Level 0, 45 V ≥ VBB ≥ 7 V 4.4 6.6 8.8 mA
Level 1, 45 V ≥ VBB ≥ 7 V 9.6 13 16.6 mA
Gate Drive Source Current ISO
Level 2, 45 V ≥ VBB ≥ 7 V 20.7 26.5 32.3 mA
Level 3, 45 V ≥ VBB ≥ 7 V 43.8 53.7 63.5 mA
Level 0, 45 V ≥ VBB ≥ 7 V 5.6 13.3 21.0 mA
Level 1, 45 V ≥ VBB ≥ 7 V 13.2 25.0 37.0 mA
Gate Drive Sink Current ISI
Level 2, 45 V ≥ VBB ≥ 7 V 33.8 50 66.5 mA
Level 3, 45 V ≥ VBB ≥ 7 V 73.5 98.4 123.3 mA
MOTOR DRIVE
PWM Duty On Threshold PWMON Relative to target –0.5 – +0.5 %
PWM Duty Off Threshold PWMOFF Relative to target –0.5 – +0.5 %
PWM input frequency setting = 0 2.5 – 100 kHz
PWM Input Frequency Range fPWM
PWM input frequency setting = 1 80 – 3200 Hz
Clock Input Frequency Range fCLOCK CLOCK mode 1 – 2000 Hz
SPD Standby Threshold
VSPD(TH_ENT) 50 100 150 mV
(Analog Enter)
SPD Standby Threshold
VSPD(TH_EXIT) 0.4 0.75 1.0 V
(Analog Exit)
SPD On Threshold VSPD(ON) ON/OFF setting = 10% 200 245 290 mV
SPD Maximum VSPD(MAX) – 2.5 – V
SPD ADC Resolution VSPDADC(RES) – 9.78 – mV
SPD ADC Accuracy VSPDADC(ACC) VSPD = 0.2 to 2.5 V –45 – 45 mV
PWM mode or Analog mode –5 – 5 %
Speed Closed-Loop Accuracy fSPD(ACC)
Clock mode –0.1 – 0.1 rpm
Dead Time tDT Code = 9 – 400 – ns
Motor PWM Frequency fPWM 23.06 24.4 25.74 kHz
5
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
ELECTRICAL CHARACTERISTICS (continued): Valid over operating ambient temperature range and voltage range,
unless noted otherwise
Characteristics Symbol Test Conditions Min. Typ. Max. Unit
PROTECTION
VBB UVLO VBB(UVLO) VBB rising – 4.75 4.95 V
VBB UVLO Hysteresis VBB(HYS) 200 300 450 mV
VREG UVLO VREGUVLO VREG falling – 2.6 – V
VCP falling 3.6 3.9 4.2 V
VCP UVLO VCPUVLO
VCP rising 3.9 4.2 4.5 V
Thermal Shutdown Temperature TJTSD Temperature increasing – 175 – °C
Thermal Shutdown Hysteresis ΔTJ Recovery = TJTSD – ΔTJ – 20 – °C
Level 0 0.89 1 1.11 V
VDS Comparator Threshold VDS_THR
Level 1 1.75 2 2.15 V
LOGIC, IO, I2C
Input Current (SPD, FG) IIN VIN = 0 to 5.5 V –5 1 5 µA
Input Current (BRK, DIR) IIN VIN = 5 V – 50 – µA
Logic Input Low Level VIL 0 – 0.8 V
Logic Input High Level VIH 2 – 5.5 V
Logic Input Hysteresis VHYS 200 300 600 mV
FG output leakage IFG V = 5.5 V – – 1 µA
FG, Fault saturation voltage VLOGIC_SAT I = 4 mA – – 0.3 V
SCL Clock Frequency fCLK 7 – 100 kHz
EEPROM
Number of Programming NPROG – – 1000 times
[1] Specified limits are tested at 25°C and 125°C and statistically assured over operating temperature range by design and characterization.
[2] The charge pump capacitors between CP1 and CP2, VBB and VCP are 220 nF ceramic capacitors.
6
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
FUNCTIONAL DESCRIPTION
The A89307 is a three-phase BLDC controller with integrated close_loop_speed = rated_speed × duty_input
gate driver. It operates from 5.5 to 50 V, and targets battery cool- The SPD PWM frequency range is 80 Hz to 100 kHz. If it is higher
ing fan applications. than 2.8 kHz, set PWMfreq = 0; if it is lower than 2.8 kHz, set
The integrated FOC control algorithm achieves the best effi- PWMfreq = 1.
ciency and dynamic response and minimizes acoustic noise. Analog Mode: In the clock speed control mode, the closed-loop
Allegro’s proprietary Non-Reverse Startup algorithm improves speed is always enabled. Higher frequency on the SPD pin will
the startup performance. The motor will startup towards the target drive a higher motor speed as follows:
direction after power up without reverse shaking or vibration.
The Soft-On-Soft-Off feature gradually increases the current to closed_loop_speed = rated_speed × analog_input / SPDMAX
the motor at “on” command (windmill condition), and gradually
reduces the current from the motor at the “off” command, further The equivalent is true for closed-loop torque and power modes.
reducing the acoustic noise and operating the motor smoothly.
CLOCK Mode: When using clock mode, closed-loop speed
is always enabled. The default input for clock mode is the SPD
terminal, but there are options to use either the DIR or BRAKE
terminals instead. Either of these options allows use of the I2C
interface and clock mode at the same time. Higher frequency on
the clock input will drive a higher motor speed as follows:
close_loop_speed (rpm) = clock_input × speed_ctrl_ratio,
where the speed_ctrl_ratio can be programmed in the EEPROM.
For example, if the ratio is 4 and the clock input frequency is
60 Hz, the motor will operate at 240 rpm. Note the number of
motor pole pairs must be set properly in the programming appli-
cation for the rated speed (RPM) setting to be accurate.
If the clock frequency commands a speed that is higher than
twice the rated speed, A89307 treats it as a clock input error, and
stops the motor.
For all the three speed control modes with closed-loop speed
enabled, if the demand speed is higher than the maximum speed
Speed Control the system can run at a certain supply voltage and load condition,
the A89307 will just provide the maximum output voltage (if
Speed demand is provided via the SPD pin. Three speed control current limit is not triggered), or the maximum output current (if
modes are selectable through the EEPROM. The A89307 also current limit is triggered).
features closed-loop speed, torque, and power functions, which
can be enabled or disabled via the EEPROM. The SPD pin is also used as SCL in the I2C mode.
PWM Mode: In this mode, the motor speed is controlled by the Power Control: The A89307 has integrated power control
PWM duty cycle on the SPD pin, and higher duty cycle represents with speed control. The speed control will received the reference
higher speed demand. If open-loop mode is selected, the output speed from the demand interfaces. When the motor runs below
voltage amplitude will be proportional to the PWM duty cycle. If the current limit, the motor will operate as speed control. If the
closed-loop speed is enabled, the motor speed is proportional to the driving DC current reach to the DC current limit, ILIM, the control
PWM duty cycle, and 100% duty represents the rated speed of the overrides the speed control and provide the constant DC current
motor, when speed curve transformer is not active, which can be control.
programmed in the EEPROM. The equivalent is true for closed- The power control has two modes depending on VBB. If VBB is
loop torque and power modes. less than VPOW, the control will provide the DC current limit.
7
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
When the motor runs with a load, which does not require ILIM, A rising edge on PWM or CLOCK will wake the IC in PWM and
the motor will run a constant speed as the demand interface CLOCK mode, and in Analog mode, the SPD voltage must be
requires. If the connected load requires ILIM to achive the target higher than SPDTH_EXIT to wake up the IC.
speed, the current control will be active and speed control will be
ignored. If VBB is greater than VPOW, the power control is active, Standby Mode will turn off all circuitry including the charge
and the controlled power is defined as PLIM. If the connected load pump and VREG.
requires greater than PLIM, the speed control is ignored and oper- After powering on, the device will always be in active mode
ates as constant power control. before entering standby mode.
VPOW can be selected by PowCon_Vol_lim. The DC current
Standby mode can be disabled in the EEPROM.
limit, ILIM, can be selected by IDC_lim. When VBB is above
VPOW, then the power limit, PLIM, is defined as VPOW × ILIM. Direction Input: Logic Input to control motor direction. For logic
high, the motor phases are ordered A→B→C. For logic low, the
Current Control Power Control
motor phases are ordered A→C→B. The A89307 supports chang-
ing the direction input while the motor is running. The direction
can also be controlled through register.
I LIM
DC Current [A]
BRAKE: Active High signal turns on all low sides for braking
PLIM = VPOW × I LIM function. The brake function overrides speed control input. Care
should be taken to avoid stress on the MOSFET when braking
while motor is running. With braking, the current will be limited
only by VBEMF/RMOTOR. The A89307 includes an optional
feature which holds off braking until the motor speed drops to a
low enough (configurable) level so that the braking current will
VPOW
not damage the MOSFET.
VBB[V] FAULT: Open-drain output provides motor operation fault status.
Figure 2 : Power Limit Default is high when there is no fault.
Motor Stop and Standby Mode: If the speed demand is less The detail of FAULT signal pattern is shown below. The priority
than the programmed threshold, the motor will stop. indicates that when multiple faults occur, higher priority signal
will be indicated.
On/Off setting On threshold Off threshold
5.8% 7.9% 5.8% Fault type Priority FAULT pin
1. The motor must be stationary (this requirement can be re- OVP 1 0.17 seconds high
0.17 seconds low
moved by setting the EEPROM), and
zero speed demand 3 0.25 seconds high
2. PWM or CLOCK signal remains logic low (in PWM and 0.08 seconds low
CLOCK mode), or the analog voltage remains less than 0.34 seconds high
0.67 seconds low
SPDTH_ENT (in Analog mode) for longer than one second.
8
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
FG: Open-drain output provides motor speed information to the to prevent the signal saturation. For example, if the rated current is
system. The open-drain output can be pulled up to VREG or an 4 A, using a 15 mΩ sensing resistor is recommended, so that 4 A ×
external 3.3 or 5 V supply. 15 mΩ is between 55 and 65 mV.
The FG pin is also used as SDA in the I2C mode. The first I2C Use Kelvin sensing connection for the shunt resistor.
command can pass only when FG is high (open drain off). After
the first I2C command, the FG pin is no longer used for speed
information, and the FG pin is dedicated as a data pin for the I2C
interface.
FG is default high after power on and exit from standby mode,
and it remains high for at least 9.8 ms. To ensure successful I2C
communication, it is recommended to have the first I2C demand
within 9.8 ms after power up or exit from standby mode.
FG function can be disabled in EEPROM; then the FG pin will
Lock Detect: A logic circuit monitors the motor position to
be dedicated as the SDA signal for I2C. If observing FG signal
determine if motor is running as expected. If a fault is detected,
is required in I2C mode, the FG signal can be reassigned to the
the motor drive will be disabled for the configurable tLOCK time,
FAULT pin by sending the I2C command 0x00A0 to address 195
before an auto-restart is attempted. For additional information,
(decimal). To return Fault to normal operation, send the I2C com-
refer to the application note.
mand 0x0000 to address 195 (decimal).
Current Control: The motor’s rated current at rated speed and
VREG: Voltage reference (2.8 V) to power internal digital logic normal load must be programmed to the EEPROM for proper
and analog circuitry. VREG can be used to power external cir- operation. The A89307 will limit the motor current (phase current
cuitry with up to 10 mA bias current if desired. A ceramic capaci- peak value) to 1.3 times the programmed rated current dur-
tor with 0.22 µF or greater is required on the pin to stabilize the ing acceleration or increasing load, which protects the IC and
supply (X8R rating or better is recommended). the motor. The current profile during startup can also be pro-
When VREG is loaded externally, the power consumption of the grammed.
internal LDO is calculated by the equation: Overcurrent Protection (Short Protection): The VDS
PLDO = (ILOAD + IINTERNAL) × (VBB – VREG). voltage across each power MOSFET is monitored by the A89307.
When a MOSFET is switched on, its VDS is ignored for the
Ensure that the system has sufficient power dissipation and the programmable blank time. Also, the VDS comparator is always
temperature remains within the operating temperature range. filtered with a programmable filter time. If an enabled MOSFET
A89307 thermal shutdown function does not protect the LDO. VDS is higher than the threshold after blank time and for longer
than filter time, an OCP fault is triggered and the IC will latch all
Bus Current Sensing MOSFETs off.
A single shunt-resistor connecting between SENN and SENP is
used to measure the bus current for FOC algorithm and current Motor Startup
limit. The resistor value is about tens of a milliohm, depends on the The A89307 provides a robust open-loop startup to ensure the
rated current of the system. The integrated shunt-resistor amplifier motor spins in feedback control. When the motor is in standstill,
has a gain of 14.5, and the output range is 0 to 1 V. The voltage there is no BEMF information available, so the open-loop startup is
difference between SENN and SENP should be less than 65 mV required.
9
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
Forward
Windmilling Brake
?
Yes
zero braking
current?
Yes
Motor
spinning
forward?
Alignment
Yes
FOC
10
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
Rotor Alignment: When the A89307 is commanded to spin the Open-Loop Startup: When the A89307 completes rotor align-
motor, the controller will execute motor rotor alignment to ensure ment, an open-loop startup will be executed. In this mode, the
the rotor is parked at a known position. There are four different amplitude of phase current will be regulated to provide a stable
modes to achieve rotor alignment or detection. torque. The driving frequency will be ramping up until stable
BEMF is generated. Once the open-loop startup is completed, the
The first option is “Align&Go”. The A89307 applies a low driv-
A89307 will be in sensorless FOC control technique.
ing frequency with current control to the winding in order to gen-
erate a known position flux into the rotor. The permanent magnet The regulated open-loop startup current can be selectable by pre-
integrated rotor will be gravitated to the flux. determined levels, which are stored in EEPROM. The A89307
provides three levels of configurations. There is an activation bit
The second option is “two-pulse IPD”. This method uses salient
in the I2C register, strtp_lock_rtry_curr_lvl_en. When it is 0, the
and winding saturation characteristics to determine rotor posi-
startup current will be always constant. If it is 1, the automatic
tion. There are two stages to complete two-pulse IPD. The first
startup current level control is active.
stage applies test pulse sequences to the motor. If there is enough
saliency, the A89307 will lock up the rotor position within At the first startup attempt, the A89307 always use Level 1,
30 degrees, from 0 to 180 degrees or 180 to 360 degrees. startup_current_lvl1[2:0], and if the startup is ended up with fail,
stopped by stall detection, next startup attempt will be Level
When the first stage is completed, the A89307 will apply a test
2, startup_current_lvl2[2:0]. The startup current level will be
sequence to check the inductance saturation in order to check
increased until Level 3, startup_current_lvl3[2:0]. If the startup
the magnet pole. Once these entire sequences are completed, the
fails using Level 3, the A89307 will continue using Level 3. When
A89307 can determine the rotor angle within 30-degree accuracy.
the demand is set to idle state, the current leveling system will be
The third option is “six-pulse IPD”. In this mode, the A89307 reset to Level 1. The current level sequence is shown below.
will only use inductance saturation characteristics to determine
the rotor position. Once the sequence is completed, the A89307
will determine rotor angle within 60 degrees.
The fourth option is “slight-move mode”. In this mode, a test
sequence will be inserted to check saliency characteristics, which Level 3
Level 2
are described in the second option. When the test sequence is Startup
completed, the controller determines a rough position. At this Current Level 1
stage, the error might be 180 degrees or none. After it completes,
t
the controller will energize the winding based on the determined
position. Two of the three phases are driven with duty cycle con-
trol, which can be programmed by slight_mv_demand[2:0] and Level 1
the remaining phase is undriven. While the controller is energiz-
Level 2
ing the bridge, the controller will wait for a BEMF zero-crossing First cycle
edge on undriven phase. When the zero-crossing event is happen- speed Level 3
ing, the rotor will spin and gravitate to the energized angle. After
completion, the controller inserts the saliency characterization t
sequence again for comparison. If there is no error, the deter- Startup Startup Startup
mined parked position is correct; if there is an error, the controller Fail Fail Fail
11
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
Open-Loop Startup Current Profile: The A89307 has a eters that define startup current: I_limit_slope_1, I_limit_slope_2,
feature to modify the ramp-up period. This feature helps mini- Speed_1, Rated_Current, Startup_Current. Startup current is
mize acoustic noise from the open-loop startup to the sensorless defined by Startup_current when strtp_lock_rtry_curr_lvl_en is 0.
control. Current amplitude is a factor at any given driving speed When strtp_lock_rtry_curr_lvl_en is 1, Startup_current_lvX will
and load to maintain the appropriate phase advance. The appro- be used to determine the Startup Current level. Refer to Open-
priate current level depends on motor property and connected Loop Startup section for further details.
load. For reliable startup, the startup current must be high enough
After the alignment period is executed, the phase current limit
to spin the motor. The startup current is usually set higher than
will be ramping down by following I_limit_slope_1 until the
the required current to gain enough startup torque, but this incurs
driving frequency reaches Speed_1. When the driving frequency
phase advance error. It is also necessary to meet various startup
is greater than Speed_1, then the phase current limit will be
load conditions to have robust startup. To achieve a quieter transi-
ramping up by following I_limit_slope_2 until it reaches Rated_
tion, it may be possible to reduce the current towards the end of
current.
the open-loop startup period if load conditions permit. When the
current level is closer to the required current level in feedback Note that the phase current limit should be sufficient to drive at
control, then transition noise may be able to be minimized. any given driving condition; otherwise, the driving performance
may be insufficient.
The startup current profile can be enabled via two_slope_m.
When it is 1, two slope system is active. There are several param-
Startup Current
I_limit_slope_1
CurLim_1
IPhase
Speed_1
12
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
External MOSFET Gate Drive It is required to enable three-stage current control; otherwise,
two-stage current control is applied. If gdPulse[2:0] is set to a
The A89307 is designed to work with external, low on-resistance value other than 000, then the three-stage current control will
power N-channel MOSFETs. It will supply the large transient be enabled. If it is set to a non-zero value, the period of tslew is
currents necessary to quickly charge and discharge external defined. The amount of Islew is defined by gdPulseCurrent[1:0]. If
MOSFET gate capacitance in order to reduce dissipation in the it is 00, three-stage current control is disabled.
external MOSFET during switching. The charge current for the
low-side MOSFETs are provided from an internal regulated sup-
ply. The charge current for the high side is provided from VCP Gate
Gate
Command
Command
supply, which is delivered from the integrated charge pump.
The VCP voltage is regulated at 6.8 V in order to supply enough State OFF I1 ON
voltage to turn on the high-side MOSFETs. The VCP voltage is
monitored by dedicated monitor circuit. If the VCP voltage drops
Miller Region
to a certain level, defined as VCPUVLO, then the A89307 stops the VGS
control and the MOSFETs will be turned off in order to protect
the external MOSFET from an abnormal situation.
Gate Control: The A89307 provides multiple gate driving
strengths to optimize the emission level. Fast slewing rate on
VDS
VDS makes the emission level high, but it reduces switching
loss. If the slewing rate is slow, then the emission level is low but
switching loss is increased. It is essential to assess the tradeoff to
ensure target performance.
Figure 3: Off-to-On Transition (Slew Rate Control)
The A89307 has a four-level current control to drive the gate. The
gate control has two stage current control to turn on the external Gate
Gate
MOSFET. When the controller gives the command to turn on, Command
Command
it provides a constant current source, I1 in the figure, which can State ON Islew I1 OFF
be programmed by the register drive_gate_slew[1:0] to the gate.
The charging currents are defined in the Electrical Characteristics
table. When VDS voltage is reached lower than VDS thresh- VGS Miller Region
old voltage, defined by vds_threshold_sel, the control provides
maximum current to reach the higher gate voltage as quickly as
possible to minimize the on-resistance on the external MOSFET.
The gate control has a three-stage current control to turn off the
VDS
external MOSFET. This provides faster switching speed com- tslew
pared with two-stage control. Until reaching the Miller region,
VDS will not start slewing, so a faster rate can be applied in order
to minimize dead time without compromising emission perfor-
mance. Figure 4: On-to-Off Transition (Slew Rate Control)
13
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
Input-to-Output Transformer That setting specifies the maximum speed, torque, or power that
the application requires, and corresponds to the value 511. For
The A89307 implements an optional, highly flexible input-to- example, in closed-loop speed mode, if the ‘control loop range’
output mapping ability. The configuration is stored in EEPROM setting is set to 1000 rpm, then a transformer output value of 255
addresses 32 through 63. Fundamentally, the transformer is a will result in the motor spinning at 500 rpm.
9-bit (0 to 511) to 9-bit (0 to 511) transfer function, where the
meaning of the output values changes depending on the selected Only the ‘corner points’ of the desired curve are stored in the
control mode. The transformer operates in whichever of the four EEPROM, one point per address, and the remaining points
control modes is chosen: as a speed curve transformer, a torque are calculated using linear interpolation. The 9 MSBs of the
curve transformer, a power curve transformer, or as a demand EEPROM address are the input demand at the corner point, and
transformer in open-loop control mode. the 9 LSBs of the address are the output demand for that point.
If open-loop mode is selected, the specified output value deter- Only as many addresses that are needed to define the desired
mines the duty cycle applied to the motor. Thus, a value of 511 curve must be programmed. The last point defining the curve
will cause the peak voltage applied to the motor to be the full must have 511 as the input value, and all the following addresses
VBB voltage. If one of the closed-loop modes is selected, the in the EREPOM will be ignored. As many as 32 corner points can
output range is determined by the ‘control loop range’ setting. be stored, allowing for precise control of the demand.
14
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
Example 1: These screenshots are taken from the A89307 application—white boxes are the entered values. This is the most trivial
example, where input = output. This is the curve that is used when the transformer is disabled. Because 511 is the input value in the
second address, the 30 following addresses are ignored.
Example 2: In this example, the control loop is set to closed-loop speed, and so the resulting rpm is shown in the last column of the
table where the curve is defined. This curve is designed to avoid this motor’s resonant frequency at 2000 rpm, and its harmonics at
4000 rpm and 6000 rpm.
15
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
Example 3: Hysteresis can be implemented by setting the input value of an address lower than the input value in the previous address.
In this example, as the input demand is rising, the output demand will jump to next higher level at the vertical lines on the right of
each transition. When the input demand is falling, the output demand will drop to next lower level following the vertical lines on the
left of each transition. This prevents output jitter when the input is around a boundary.
Example 4: In this example, the motor won’t turn on until the input is about 30% and will turn off when the output falls below about
20%. The output will be at maximum when the input is between about 88% to 98%, and the motor will stop when the input is > 98%.
16
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
Example 5: The curve can be set to control bi-directional operation as well. When the bidirectional option is selected, the output value
511 is still the highest output in one direction, but the output value 255 will stop the motor, and the output value 0 is the highest output
in the reverse direction. Here, the motor will run at half speed reverse when input demand is 0, will stop when the input is between
230 and 280, and will run at full speed forward when the input is 511.
17
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
Diagnostics There are two filter systems to avoid mis-triggering OCP. When a
gate command is inserted, OCP detection is masked for the period
Lock Detect: The A89307 provides two lock detection options. of tBLANK. The period and target MOSFET can be selected via
The first option is a BEMF lock detection scheme. The A89307 OCP_Masking. The blanking timer should cover up to the Miller
has Kt, a mechanic constant observer to monitor the motor region to have robust operation. There is also an additional filter,
rotation. When it is active, the observer continuously estimates which is filtering timer. While the gate is on, an overvoltage will
Kt based on the given control parameters, and the control is be masked for the blanking time, tFIL to avoid misdetection. The
compared with the given Kt. When the estimated Kt exceeds the filtering time can be selected via OCP_Enable. The timing chart
threshold, the control detects a stall. is described in the OCP timing diagram below. OCP threshold
The second option is startup lock detection. When the motor start voltage can be selected via vds_threshold_sel. The threshold is
to rotate, the controller is forcing the frequency to ramp up speed, specified in the Electrical Characteristics table as VDS_THR.
and at the same time, the internal observer monitors the generated
phase advance. At the end of the ramp-up period, the measure- Gate Comand
ment is taken of the motor phase advance; if the generated phase
VDS_THR
advance is more than the specified angle, the control detects a
stall. The threshold angle can be set via Angle_Error_Lock.
VDS
When a stall is detected, motor control is stopped, and the motor
will be coasting. The controller will attempt to restart after the
period of 5 or 10 seconds, which can be selected by Lock_ tBLANL tFIL
restart_set. When Lock_restart_cm is set as 0, the hold period is
specified as Lock_restart_set. If Lock_restart_cm is 1, there will OCP
be no hold period prior to restart.
The number of repeats can be set to 3, 5, 10, or ‘always’. When Figure 5: OCP timing diagram
‘always’ is selected, the controller will always restart the motor.
When ‘non-always’ values are selected, the controller will System Error: A system error occurs when the charge pump
attempt to restart up to the specified number; when exceeded, the voltage or the internal regulator which supplies the low-side gate
controller will hold at the lock detect state until zero-demand is drivers falls below the respective undervoltage threshold, VBB
inserted. When the controller receives zero-demand, then the lock voltage rises above the threshold voltage or a demand PWM
detect counter is reset. frequency error is detected. The motor outputs are disabled on a
system error and will remain off until the voltage that caused the
OCP: The A89307 has overcurrent detection in order to protect error rises above the respective UVLO threshold plus hysteresis.
the external power MOSFET. The OCP fault has highest priority; The FAULT terminal indicates system when it is triggered. The
when it is detected, the control immediately takes an action. detail is described in FAULT section.
The OCP monitors the all six VDS voltages on the external OVP: The A89307 has VBB overvoltage protection. If ovp_en is
power MOSFETs when it is commanded on. When excessive set as enable, when VBB exceed 18 V, the motor control will be
voltage appears, then the control will detect the fault and turn stopped, and the motor will coast. The exact overvoltage thresh-
off all MOSFETs. The control will be in OCP fault mode. Fault old is specified as VBBOV_RIS. When VBB goes below the level,
recovery depends on configuration, OCP_reset_mode. When it VBBOV_FAL then motor will try to restart immediately.
is 0, the motor will only restart when the zero-speed demand is
inserted. When it is 1, the control automatically restarts the motor If ovp_en is set as disable, VBB overvoltage protection is dis-
after 5 seconds. If OCP_rst_cnt is set as 0, the hold period speci- abled. There will be no flag on FAULT terminal by this fault and
no protection will be applied.
fied as OCP_reset_mode. If OCP_rst_cnt is 1, there will be no
hold period prior to restart. The external power FET devices may Zero Speed Demand: The A89307 provides zero-speed
overheat due to repeated overcurrent conditions while the fault demand indication. When the curve transformer is active, the
remains, and overheating may cause damage to the MOSFET. resultant demand will be considered. When the device receives
Care must be taken by the user for any abnormal conditions. zero demand, it will be detected. The zero-speed demand is indi-
18
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
cation only. When the device receives a demand other than zero
speed, the flag will be removed automatically.
Overtemperature: The A89307 has internal self-protection
from overheating. When the internal temperature exceeds the
threshold, TJTSD, the motor control is stopped, and the motor will
coast. When the temperature returns to normal operating range,
TJTSD – ΔTJ, then the motor will automatically restart if the
demand is inserted
19
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
20
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
Write to a register:
• Start condition
• 7-bit I2C slave address (1010101), R/W Bit = 0 (write)
• Internal register address
• 3 data bytes, MSB first
• Stop condition
from slave device from slave device from slave device from slave device from slave device
Slave Address Register Address Data Byte 3 Data Byte 2 Data Byte 1
START STOP
SDA A6 A5 A4 A3 A2 A1 A0 W ACK RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 ACK D23 D22 D21 D20 D19 D18 D17 D16 ACK D15 D14 D13 D12 D11 D10 D9 D8 ACK D7 D6 D5 D4 D3 D2 D1 D0 ACK
SCL
SCL
• Start condition
• 7-bit I2C slave address (1010101), R/W Bit = 1 (read)
• Read 3 data bytes
• Stop condition
from slave device from master device from master device NACK (no ACK) from master device
Slave Address Data Byte 3 Data Byte 2 Data Byte 1
START STOP
SDA A6 A5 A4 A3 A2 A1 A0 R ACK D23 D22 D21 D20 D19 D18 D17 D16 ACK D15 D14 D13 D12 D11 D10 D9 D8 ACK D7 D6 D5 D4 D3 D2 D1 D0
SCL
21
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
22
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
16:16 Open_Window Opens a window for inductance tuning – see Application Note
0: Normal operation
1: Window opened
15:5 PWM_output_frequency Controls the output PWM frequency
4:0 PID_P Position observer PI loop proportional constant
23
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
24
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
25
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
26
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
27
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
28
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
29
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
30
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
PROGRAMMING EEPROM
The A89307 contains 64 words of EEPROM, and each word is require 3 writes to the I2C port. These registers, addresses 161,
24 bits long. The 6 most significant bits of each word are used 162, and 163, are described below and the sequence for writing
internally for error detection and correction (ECC), and the 18 to these registers is described on the following page. Reading a
least significant bits are used to store data. The handling of the single address from the EEPROM requires only 1 read from the
ECC data is done automatically by the IC, and the user does not I2C port. Each EEPROM address is mapped to the corresponding
need to (and cannot) read or write the ECC data. I2C address. To read EEPROM address 8, for example, simply
The EEPROM is programmed using the I2C interface. Before read I2C register address 8.
accessing the EEPROM, access must be enabled by writing the Each EEPROM address must be programmed individually. To
value 0x000001 I2C register address 196. There are three basic change the contents of an EEPROM address, the word must first be
actions which can be performed on the EEPROM: read, erase, erased before the new data is written. Programming each address
and write. Writing and erasing a single address in the EEPROM requires about 30 ms (15 ms each for erasing and writing).
EEPROM Address – Register 162: Used to set the EEPROM address to be altered
Bit 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 eeADDRESS
EEPROM Data_In – Register 163: Used to set the new EEPROM data to be programmed
Bit 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Name 0 0 0 0 0 0 eeDATAin
31
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
32
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
APPLICATION INFORMATION
BOM Requirement Charge Pump Capacitors: Two charge pump capacitors are
required for the high-side gate drive. One of capacitors should be
The A89307 requires several external passive components to between CP1 and CP2. This will be used to pump up the voltage
provide correct operation. The choice of right components is above VBB. The internal dedicated charge pump requires the fol-
essential to achieve desirable performance. lowing capacitance to have good stability and performance.
VBB Terminal (Input and Bypass Capacitors): The style
Terminal Min Typ Max Unit
and value of capacitors used with the A89307 determine input
CP1, CP2 0.1 0.2 0.47 µF
voltage and ripple. A low equivalent series resistance (ESR)
multilayer ceramic capacitor is required to bypass the VBB pin. A low ESR ceramic capacitor would be suitable for the charge
Additional bulk ceramic capacitors help to reduce AC imped- pump.
ance, reducing high frequency ringing and EMI. The value of the
An additional external capacitor is required for the high-side
capacitor on VBB directly controls the amount of input ripple
drive voltage purpose between VBB and VCP terminal. For this
for a given input current pulse, such as during the PWM control
capacitor, a low ESR ceramic capacitor is required. The following
of the three-phase bridges. Increasing the value of capacitor will
capacitance value is required.
reduce input ripple.
Multilayer ceramic chip capacitors (MLCC) typically have Terminal Min Typ Max Unit
exceptional ESR performance. MLCCs combined with a tight VCP 0.1 0.2 0.47 µF
board layout and an unbroken ground plane will yield very good
performance and low EMI emissions. There are several types of VREG Capacitor: A capacitor is required for the VREG termi-
ceramic capacitors available, each having considerably different nal. The VREG internal regulator generates stable DC voltage
characteristics. For example, X7R and X7S ceramic capacitors for various internal use. A good low ESR capacitor is required
have the best voltage and temperature stability. X5R ceramic to suppress a spike current from the device. A tight board layout
capacitors have higher packing density but poorer performance to the terminals gives the best performance of stability and EMI.
over their rated voltage and temperature ranges. Y5V ceramic The following capacitor is required for the VREG terminal.
capacitors are not recommended because of their extreme non-
Terminal Min Typ Max Unit
linear characteristics of capacitance versus voltage and poor
VREG 0.22 – 4.7 µF
temperature stability.
33
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
TERMINAL DIAGRAMS
VBB
2 kΩ 8V 56 V
DIR
BRAKE
10 V 100 kΩ 6.5 V
VCP
GHx
10 V
Sx
2 kΩ
FG 1 pF 6.5 V
VBB
10 V
VREFINT
(internal regulator)
8V
GLx
VBB SENN
6V
7V
CP1 VBB
FAULT
10 V
2 kΩ
SPD
10 V 6.5 V
VBB
VREG
6V
34
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
0.30
1.15 0.50
0.85 ±0.05 28
28
1 1
A 2
2
29× D
0.08 C 4.80
0.20 REF
For Reference Only; not for tooling use E Standard Branding Reference View 1
(reference JEDEC MO-220VHHD-1)
Line 1: Part Number
Dimensions in millimeters
Line 2: Logo A, 4-Digit Date Code
Exact case and lead configuration at supplier discretion within limits shown Line 3: Characters 5, 6, 7, 8 of Assembly Lot Number
A Terminal #1 mark area
B Exposed thermal pad (reference only, terminal #1
identifier appearance at supplier discretion)
C Reference land pattern layout (reference IPC7351 XXXX
QFN50P500X500X100-29V1M); Date Code
All pads a minimum of 0.20 mm from all adjacent pads; adjust as Lot Number
necessary to meet application process requirements and PCB layout
tolerances; when mounting on a multilayer PCB, thermal vias at the
exposed thermal pad land can improve thermal dissipation (reference E Standard Branding Reference View 2
EIA/JEDEC Standard JESD51-5)
Line 1: Part Number
D Coplanarity includes exposed thermal pad and terminals
Line 2: Logo A, 4-Digit Date Code
Line 3: Characters 5, 6, 7, 8 of Assembly Lot Number
E Branding scale and appearance at supplier discretion
Figure 9: Package ET, 28-Contact QFN with Exposed Pad and Wettable Flank
35
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
A89307 Automotive FOC BLDC Motor Controller
Revision History
Number Date Description
– March 15, 2021 Initial release
36
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com