A4964KJPTR-T [ALLEGRO]

Sensorless Sinusoidal Drive BLDC Controller;
A4964KJPTR-T
型号: A4964KJPTR-T
厂家: ALLEGRO MICROSYSTEMS    ALLEGRO MICROSYSTEMS
描述:

Sensorless Sinusoidal Drive BLDC Controller

文件: 总92页 (文件大小:2044K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
A4964  
2
-
Sensorless Sinusoidal Drive BLDC Controller  
FEATURES AND BENEFITS  
DESCRIPTION  
The A4964 is a three-phase, sensorless, brushless DC  
(BLDC) motor controller for use with external N-channel  
power MOSFETs and is specifically designed for automotive  
applications. It is designed to provide the motor control  
functions in a system where a small microcontroller provides  
the communication interface to a central ECU and intelligent  
fault and status handling. The A4964 provides the supply and  
watchdogforthemicrocontrollerandthehigh-voltageinterfaces  
between the microcontroller and the central ECU and ignition  
switch. The A4964 can also operate as an independent single-  
chip remote motor controller.  
• Three-phase sensorless BLDC motor control FET driver  
• Three-phase sinusoidal drive with soft start  
• Sensorless start-up and commutation  
• Windmill detection and synchronization  
• Bootstrap gate drive for N-channel MOSFET bridge  
• 5.5 to 50 V supply range  
• SPI-compatible interface  
• Programmable control modes: speed, voltage, current  
• Peak current limiting  
• Control via SPI or PWM  
• Programmable gate drive for slew rate control  
• LIN / PWM physical interface with wake  
• Logic supply regulator with current limit  
• MCU watchdog and reset  
• Ignition switch interface  
• Diagnostics, status, current, and speed feedback  
The motor is driven using 3-phase sinusoidal current drive  
where phase commutation is determined, without the need  
for independent position sensors, by monitoring the motor  
back-EMF (bemf). The sensorless start-up scheme includes  
forward and reverse pre-rotation (windmill) detection and  
synchronization, and allows theA4964 to operate over a wide  
range of motor and load combinations.  
APPLICATIONS  
• Automotive fuel, oil, and urea pumps  
• Automotive fans and blowers  
TheA4964canoperatewithdutycycle(voltage)control,current  
(torque limit) control, and closed-loop speed control. Control  
mode,operatingmode,andcontrolparametersareprogrammed  
through an SPI-compatible serial interface.  
PACKAGES  
36-terminal eQFN  
(suffix EV)  
Asingle current sense amplifier provides peak current limiting  
and average current measurement through the serial interface.  
Integrated diagnostics provide indication of undervoltage,  
overtemperature, and power bridge faults and can protect the  
power switches under most short-circuit conditions.  
32-lead eQFP  
(suffix JP)  
The A4964 is provided in a 36-terminal QFN and a 32-lead  
QFP, both with exposed thermal pad.  
Not to scale  
VBAT  
VBAT  
IG  
IG  
LIN  
PWM  
DIAG  
DIAG  
VLR  
VLR  
A4964  
A4964  
3-Phase  
Motor  
3-Phase  
Motor  
LIN  
WDOG  
MRSTn  
MCU  
SPI  
Figure 1: Typical Applications  
A4964-DS, Rev. 3  
MCO-0000214  
December 21, 2018  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
SELECTION GUIDE  
Part Number  
Packing  
Package  
6 mm × 6 mm, 1.0 mm max. height, wettable flank  
36-lead QFN with exposed thermal pad  
A4964KEVTR-J  
A4964KJPTR-T  
1500 pieces per 13 in. reel  
1500 pieces per 13 in. reel  
7 mm × 7 mm, 1.6 mm max. height  
32-lead QFP with exposed thermal pad  
ABSOLUTE MAXIMUM RATINGS [1]  
Characteristic  
Symbol  
Notes  
Rating  
Unit  
V
Supply Voltage  
VBB  
VREG  
VCP  
VCP2  
VLR  
VBB  
–0.3 to 50  
–0.3 to 16  
–0.3 to 16  
Pumped Regulator Terminal  
Charge Pump Capacitor Low Terminals  
Charge Pump Capacitor High Terminal  
Logic Regulator Reference  
Battery Compliant Inputs  
LIN Bus Interface  
VREG  
V
CP1  
V
CP2  
VCP1 – 0.3 to VREG + 0.3  
–0.3 to 6  
V
VLR  
V
VIG  
IG  
–0.3 to 50  
V
VLIN  
LIN  
–40 to 50  
V
Logic Inputs  
STRn, SCK, SDI, WDOG, LTX  
SDO, MRSTn, LRX  
DIAG  
–0.3 to 6  
V
Logic Outputs  
–0.3 to 6  
V
Logic Output  
–0.3 to 50  
V
Bridge Drain Monitor Terminals  
Bootstrap Supply Terminals  
High-Side Gate Drive Output Terminals  
Motor Phase Terminals  
VBRG  
VCX  
VGHX  
VSX  
VBRG  
–5 to 55  
V
CA, CB, CC  
GHA, GHB, GHC  
SA, SB, SC  
GLA, GLB, GLC  
CSP, CSM  
–0.3 to VREG + 50  
VCX – 16 to VCX + 0.3  
VCX – 16 to VCX + 0.3  
VREG – 16 to 18  
–4 to 6  
V
V
V
Low-Side Gate Drive Output Terminals  
Sense Amplifier Inputs  
VGLX  
VCSI  
TA  
V
V
Ambient Operating Temperature Range  
–40 to 150  
°C  
Maximum Continuous Junction  
Temperature  
TJ(max)  
Tstg  
165  
°C  
°C  
Storage Temperature Range  
[1] With respect to GND.  
–55 to 150  
THERMAL CHARACTERISTICS: May require derating at maximum conditions; see application information  
Characteristic  
Symbol  
Test Conditions [2]  
Value  
Unit  
EV package, 4-layer PCB based on JEDEC standard  
27  
°C/W  
Package Thermal Resistance  
RθJA  
JP package, 4-layer PCB based on JEDEC standard  
JP package, 2-layer PCB with 3 in.2 copper each side  
23  
44  
°C/W  
°C/W  
[2] Additional thermal information available on the Allegro website.  
2
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Table of Contents  
Features and Benefits  
Applications  
Packages  
Description  
Typical Applications  
Selection Guide  
Absolute Maximum Ratings  
Thermal Characteristics  
Pinout Diagrams and Terminal List Tables  
Functional Block Diagram  
Electrical Characteristics  
Supply and Reference  
1
1
1
1
1
2
2
2
4
6
7
7
8
Overmodulation  
Rotor Position Sensing Using Motor BEMF  
Phase Advance  
Commutation Controller Tuning  
Motor Startup  
Alignment  
35  
35  
36  
36  
37  
37  
37  
38  
39  
39  
40  
41  
42  
42  
43  
44  
46  
46  
46  
46  
47  
47  
49  
49  
49  
49  
50  
50  
50  
50  
50  
51  
51  
52  
52  
53  
53  
Ramp  
Coast  
Start with Pre-Rotation (Windmilling)  
Motor Control Modes  
PWM Control Input  
Open-Loop Speed (Voltage) Control  
Closed-Loop Torque (Current) Control  
Closed-Loop Speed Control  
Speed Control Dynamic Response  
Supply Voltage Compensation  
Diagnostics  
Serial Status Register  
Diagnostic Register  
DIAG Output  
DIAG Fault Waveforms  
Fault Action  
Fault Masks  
Chip-Level Diagnostics  
Chip Fault State: Power-On Reset  
Chip Fault State: Overtemperature  
Chip Fault State: VBB Undervoltage  
Chip Fault State: VREG Undervoltage  
Chip Fault State: VLR Undervoltage  
Chip Fault State: VPP Undervoltage  
Chip Fault State: Serial Error  
Chip Fault State: System Error  
Motor Fault: Loss of Synchronization  
MOSFET Fault Detection  
MOSFET Fault Qualification  
Bootstrap Undervoltage Fault  
System Clock Verification  
Gate Output Drive  
Logic Inputs and Outputs  
Serial Interface – Timing Parameters  
LIN/PWM Interface Parameters  
Current Limiting  
Data Acquisition System  
Motor Startup Parameters  
Motor Run Parameters  
Watchdog – Timing Parameters  
NVM – Programming Parameters  
Diagnostics and Protection  
VDS Fault Timing Diagrams  
Phase Signal Diagrams  
Modulation and Overmodulation Examples  
PWM Mode Diagrams  
Functional Description  
Input and Output Terminal Functions  
Supplies and Regulators  
Main Power Supply  
VLR Regulator  
Pump Regulator  
Operating Modes  
SPI Mode  
Stand-Alone Mode  
Low-Power Sleep State  
Microcontroller Reset and Watchdog  
Microcontroller Reset  
Microcontroller Watchdog  
LIN Physical Interface  
Motor Drive  
9
10  
11  
13  
13  
14  
14  
14  
15  
15  
16  
17  
20  
21  
22  
22  
23  
23  
23  
24  
24  
24  
24  
24  
26  
26  
26  
27  
28  
28  
28  
28  
29  
29  
29  
29  
29  
32  
32  
33  
33  
34  
34  
34  
Serial Interface  
54  
Serial Registers Definition  
Configuration and Control Registers  
Status and Diagnostic Registers  
Readback Register  
54  
56  
59  
60  
Non-Volatile Memory  
61  
62  
79  
79  
79  
79  
80  
80  
80  
81  
81  
81  
82  
83  
84  
86  
Serial Register Reference  
Applications Information  
Dead Time Selection  
Bootstrap Capacitor Selection  
Bootstrap Charging  
VREF Capacitor Selection  
Braking  
Current Sense Amplifier  
Single-Wire PWM Diagnostic Feedback  
Systems with Negative Voltage Requirements  
Systems with Low-Level Input Requirements  
Layout Recommendations  
Input / Output Structures  
Package Outline Drawings  
Appendix A: Fault Response Actions  
Gate Drive  
Gate Drive Voltage Regulation  
Low-Side Gate Drive  
High-Side Gate Drive  
Bootstrap Supply  
Bootstrap Charge Management  
Gate Drive Passive Pull-Down  
Gate Drive Control  
Dead Time  
PWM Frequency  
∆PWM Frequency Dither  
Current Limit  
Current Comparator Blanking  
Motor Commutation Control  
PWM Generator  
3
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
PINOUT DIAGRAMS AND TERMINAL LIST TABLES  
1
2
3
4
5
6
7
8
24  
23  
22  
21  
20  
19  
18  
17  
DIAG  
VLR  
GHA  
GLA  
CB  
STRn  
SCK  
SB  
PAD  
SDI  
GHB  
GLB  
CC  
WDOG  
SDO  
MRSTn  
SC  
32-lead eQFP (suffix JP)  
Terminal List Table  
Name  
CA  
Number  
26  
22  
18  
29  
28  
9
Function  
Name  
LIN  
Number  
Function  
LIN Bus Connection  
Phase A Bootstrap Capacitor  
Phase B Bootstrap Capacitor  
Phase C Bootstrap Capacitor  
Pump Capacitor  
13  
12  
11  
8
CB  
LTX  
LIN Transmit Data Logic Input  
LIN Receive Data Logic Output  
MCU Reset Logic Output  
Phase A Motor Phase  
CC  
LRX  
MRSTn  
SA  
CP1  
CP2  
CSM  
CSP  
DIAG  
GHA  
GHB  
GHC  
GLA  
GLB  
GLC  
GND  
IG  
Pump Capacitor  
25  
21  
17  
4
Sense Amp Negative Input  
Sense Amp Positive Input  
SB  
Phase B Motor Phase  
10  
1
SC  
Phase C Motor Phase  
Programmable Diagnostic Output  
Phase A HS FET Gate Drive  
Phase B HS FET Gate Drive  
Phase C HS FET Gate Drive  
Phase A LS FET Gate Drive  
Phase B LS FET Gate Drive  
Phase C LS FET Gate Drive  
Ground  
SCK  
SDI  
Serial Clock Logic Input  
24  
20  
16  
23  
19  
15  
14  
31  
5
Serial Data Logic Input  
SDO  
7
Serial Data Logic Output  
Serial Strobe (Chip Select) Logic Input  
Main Supply  
STRn  
VBB  
3
30  
32  
2
VBRG  
VLR  
High-Side Drain Voltage Sense  
VLR Logic Regulator Output  
Gate Drive Supply Capacitor  
MCU Watchdog Logic Input  
Thermal Pad; Connect to GND  
VREG  
WDOG  
PAD  
27  
6
Ignition Switch Input  
4
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
1
2
3
4
5
6
7
8
9
27  
26  
25  
24  
23  
22  
21  
20  
19  
NC  
VLR  
GHA  
GLA  
CB  
NC  
STRn  
SCK  
SB  
GHB  
GLB  
CC  
PAD  
SDI  
WDOG  
SDO  
SC  
MRSTn  
GHC  
36-terminal eQFN (suffix EV)  
Terminal List Table  
Name  
CA  
Number  
29  
Function  
Phase A Bootstrap Capacitor  
Phase B Bootstrap Capacitor  
Phase C Bootstrap Capacitor  
Pump Capacitor  
Name  
LIN  
Number  
Function  
LIN Bus Connection  
15  
14  
13  
9
CB  
25  
LTX  
LIN Transmit Data Logic Input  
LIN Receive Data Logic Output  
MCU Reset Logic Output  
No Connect  
CC  
21  
LRX  
MRSTn  
NC  
CP1  
CP2  
CSM  
CSP  
DIAG  
GHA  
GHB  
GHC  
GLA  
GLB  
GLC  
GND  
GND  
IG  
32  
31  
Pump Capacitor  
3
11  
Sense Amp Negative Input  
Sense Amp Positive Input  
SA  
28  
24  
20  
5
Phase A Motor Phase  
12  
SB  
Phase B Motor Phase  
36  
Programmable Diagnostic Output  
Phase A HS FET Gate Drive  
Phase B HS FET Gate Drive  
Phase C HS FET Gate Drive  
Phase A LS FET Gate Drive  
SC  
SCK  
Phase C Motor Phase  
27  
Serial Clock Logic Input  
Serial Data Logic Input  
23  
SDI  
6
19  
SDO  
STRn  
VBB  
8
Serial Data Logic Output  
Serial Strobe (Chip Select) Logic Input  
Main Supply  
26  
4
22  
Phase B LS FET Gate Drive  
Phase C LS FET Gate Drive  
Ground; Connect GND Terminals Together  
Ground; Connect GND Terminals Together  
Ignition Switch Input  
33  
35  
2
18  
VBRG  
VLR  
High-Side Drain Voltage Sense  
VLR Logic Regulator Output  
Gate Drive Supply Capacitor  
MCU Watchdog Logic Input  
Thermal Pad; Connect to GND  
16  
17  
VREG  
WDOG  
PAD  
30  
7
34  
5
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
FUNCTIONAL BLOCK DIAGRAM  
Logic  
Supply  
Battery +  
CP  
Sleep &  
Standby  
Control  
Ignition  
Interface  
IG  
VLR  
Regulator  
Charge Pump  
Regulator  
VREG  
CREG  
WDOG  
MRSTn  
Window  
Watchdog  
Logic  
Supply  
Regulator  
Ref  
Diagnostics &  
Protection  
VREF  
STRn  
SDI  
SDO  
SCK  
VBRG  
CA  
Serial Interface  
Phase A shown  
(repeatedfor B & C)  
DIAG  
Cboot  
Monitor  
CBOOTA  
GHA  
Phase  
High-Side  
Drive  
Angle  
Countr  
Phase B  
3-ph  
Sine  
PWM  
SA  
Gate  
Drive  
Control  
VREG  
Run  
Control  
Motor  
Phase  
Control  
Bridge  
Control  
Phase C  
GLA  
Low-Side  
Drive  
Speed  
Control  
GND  
Position  
Estimator  
CSP  
CSM  
LIN  
PWM/  
LIN  
Phy  
LTX  
LRX  
bemf &  
Zero-x  
Detect  
SA  
SB  
SC  
Blanking  
VILIM  
Data  
Acquisition  
GND  
6
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
ELECTRICAL CHARACTERISTICS: Valid at TJ = –40°C to 150°C, VBB = 5.5 to 50 V, unless otherwise noted  
Characteristics  
Symbol  
Test Conditions  
Min.  
Typ.  
Max.  
Unit  
SUPPLY AND REFERENCE  
Operating; outputs active  
5.5  
0
50  
50  
V
V
VBB Functional Operating Range  
VBB  
No unsafe states  
VBB Quiescent Current  
VBB Sleep Current  
IBBQ  
IBBS  
RUN = 0, VBB = 12 V  
13  
10  
8
20  
mA  
µA  
V
RUN = 0, VLIN = VBB = 12 V, in sleep state  
VBB ≥ 7.5 V, IVREG = 0 to 30 mA  
6 V ≤ VBB < 7.5 V, IVREG = 0 to 15 mA  
5.5 V ≤ VBB < 6 V, IVREG ≤ 10 mA  
VBB ≥ 9 V, IVREG = 0 to 30 mA  
7.5 V ≤ VBB < 9 V, IVREG = 0 to 20 mA  
6 V ≤ VBB < 7.5 V, IVREG = 0 to 15 mA  
5.5 V ≤ VBB < 6 V, IVREG ≤ 10 mA  
VLR = 0; IVLR < 70 mA, VBB > 6 V  
VLR = 1; IVLR < 70 mA, VBB > 6 V  
20  
7.5  
7.5  
7.5  
9
8.5  
8.5  
8.5  
11.7  
11.7  
VREG Output Voltage VRG = 0  
VREG  
8
V
8
V
11  
11  
V
9
V
VREG Output Voltage VRG = 1  
VREG  
7.9  
7.9  
3.1  
4.8  
130  
V
9.5  
3.3  
5.0  
V
3.5  
5.2  
260  
V
VLR Output Voltage  
VLR  
V
VLR Regulator Current Limit  
ILROC  
mA  
VLR Regulator Shutdown Voltage  
Threshold  
VLROSD  
VLR falling  
VLR rising  
1.2  
2
1.5  
V
V
VLR Regulator Enable Voltage  
Threshold  
VLROE  
VLR Regulator Shutdown Lockout  
Period  
tLRLO  
ILROP  
ms  
VLR Regulator Pilot Current  
0.6  
1.5  
6
2
mA  
V
ID = 10 mA  
0.8  
2.2  
11  
1.0  
2.8  
22  
Bootstrap Diode Forward Voltage  
VfBOOT  
ID = 100 mA  
V
Bootstrap Diode Resistance  
Bootstrap Diode Current Limit  
System Clock Period  
rD  
rD(100mA) = (VfBOOT(150mA) – VfBOOT(50mA)) / 100 mA  
Ω
IDBOOT  
tOSC  
250  
47.5  
500  
50  
750  
52.5  
mA  
ns  
Continued on next page...  
7
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
ELECTRICAL CHARACTERISTICS (continued): Valid at TJ = –40°C to 150°C, VBB = 5.5 to 50 V, unless otherwise noted  
Characteristics  
GATE OUTPUT DRIVE  
Turn-On Time  
Symbol  
Test Conditions  
Min.  
Typ.  
Max.  
Unit  
tr  
tf  
Switched mode, CLOAD = 10 nF, 20% to 80%  
Switched mode, CLOAD = 10 nF, 80% to 20%  
TJ = 25°C, IG = -150 mA[1]  
TJ = 150°C, IG = –150 mA[1]  
VGS = 0 V  
190  
120  
7
ns  
ns  
Ω
Turn-Off Time  
4
11  
Pull-Up On Resistance  
RDS(on)UP  
IPUPK  
RDS(on)DN  
IPDPK  
9
12  
–600  
3
20  
Ω
Pull-Up Peak Source Current [1][8]  
Pull-Down On Resistance  
Pull-Down Peak Sink Current [8]  
Turn-On Current 1  
–500  
mA  
Ω
TJ = 25°C, IG = 150 mA  
1.5  
4.5  
6
TJ = 150°C, IG = 150 mA  
VGS > 9 V  
2.9  
4
Ω
600  
750  
–75  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
mA  
V
VGS = 0 V, VRG = 1, IR1 = 15  
Programmable range  
IR1  
–5  
–75  
VGS = 0 V, VRG = 1, IR2 = 15  
Programmable range  
–75  
Turn-On Current 2  
Turn-Off Current 1  
Turn-Off Current 2  
IR2  
IF1  
IF2  
–5  
–75  
VGS = 9 V, VRG = 1, IF1 = 15  
Programmable range  
75  
5
75  
VGS = 9 V, VRG = 1, IF2 = 15  
Programmable range  
75  
5
75  
GHx Output Voltage High  
GHx Output Voltage Low  
GLx Output Voltage High  
GLx Output Voltage Low  
GHx Passive Pull-Down  
GLx Passive Pull-Down  
VGHH  
VGHL  
Bootstrap capacitor fully charged  
–10 µA < IGH < 10 µA  
VCX – 0.2  
VREG – 0.2  
VSX + 0.3  
V
VGLH  
V
VGLL  
–10 µA < IGL < 10 µA  
0.3  
V
RGHPD  
RGLPD  
VBB = 0 V, IGH = 500 µA  
VBB = 0 V, IGL = 500 µA  
Default power-up value, DS = 0, PMD = 0  
Programmable range, DS = 0, PMD = 0  
Default power-up value  
Programmable range  
5
kΩ  
kΩ  
µs  
µs  
µs  
µs  
ms  
ms  
µs  
µs  
5
47.9  
20.1  
–0.21  
–0.2  
0.95  
1
50.5  
53.0  
70.5  
–0.19  
–1.6  
1.05  
10  
Bridge PWM Period  
tPW  
ΔtPW  
tDIT  
–0.2  
Bridge PWM Dither Step Period  
Bridge PWM Dither Dwell Time  
Default power-up value  
1
Programmable range  
Default power-up value  
Programmable range  
1.52  
0.1  
1.6  
1.68  
3.15  
Dead Time  
(Turn-Off to Turn-On Delay) [2][5]  
tDEAD  
Continued on next page...  
8
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
ELECTRICAL CHARACTERISTICS (continued): Valid at TJ = –40°C to 150°C, VBB = 5.5 to 50 V, unless otherwise noted  
Characteristics  
Symbol  
Test Conditions  
Min.  
Typ.  
Max.  
Unit  
LOGIC INPUTS AND OUTPUTS  
Input Low Voltage (STRn, SCK, SDI,  
WDOG)  
VIL  
VIH  
0.7 × VLR  
150  
0.3 × VLR  
V
V
Input High Voltage(STRn, SCK, SDI,  
WDOG)  
Input Hysteresis (STRn, SCK, SDI,  
WDOG)  
VIhys  
RPD  
440  
50  
mV  
kΩ  
Input Pull-Down Resistor (SCK, SDI,  
WDOG)  
30  
70  
Input Pull-Up Resistor (STRn)  
Input Low Voltage (IG)  
RPU  
VIL  
30  
50  
70  
0.6  
kΩ  
V
Input High Voltage (IG)  
VIH  
3.0  
V
Input Hysteresis (IG)  
VIhys  
IG  
300  
mV  
µA  
kΩ  
V
Input Current (IG)  
VIG ≥ 1 V  
20  
480  
0.4  
Input Pull-Down Resistor (IG)  
Output Low Voltage (SDO, MRSTn)  
Output High Voltage (SDO, MRSTn)  
Output Leakage [1] (SDO)  
Output Low Voltage (DIAG)  
RPD  
VOL  
VOH  
IO  
0 V < VIG < 1 V  
IOL = 1 mA  
120  
240  
IOL = –1 mA[1]  
VLR – 0.4  
V
0 V < VO < VIO, STRn = 1  
–1  
1
µA  
V
VOLD  
IOD = 4 mA, DIAG active  
0.2  
10  
0.4  
17  
2.5  
1
0 V < VOD < 18 V, DIAG active  
18 V ≤ VOD < 50 V, DIAG active  
0 V < VOD < 6 V, DIAG inactive  
6 V ≤ VOD < 50 V, DIAG inactive  
mA  
mA  
µA  
mA  
Output Current Limit (DIAG)  
Output Leakage [1] (DIAG)  
IODLIM  
–1  
IOD  
2.5  
Continued on next page...  
9
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
ELECTRICAL CHARACTERISTICS (continued): Valid at TJ = –40°C to 150°C, VBB = 5.5 to 50 V, unless otherwise noted  
Characteristics  
Symbol  
Test Conditions  
Min.  
Typ.  
Max.  
Unit  
SERIAL INTERFACE – TIMING PARAMETERS  
Clock High Time  
tSCKH  
tSCKL  
tSTLD  
tSTLG  
tSTRH  
tSDOE  
tSDOD  
A in Figure 2  
B in Figure 2  
C in Figure 2  
D in Figure 2  
E in Figure 2  
F in Figure 2  
G in Figure 2  
50  
50  
30  
30  
300  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
Clock Low Time  
Strobe Lead Time  
Strobe Lag Time  
Strobe High Time  
Data Out Enable Time  
Data Out Disable Time  
40  
30  
Data Out Valid Time From Clock  
Falling  
tSDOV  
tSDOH  
H in Figure 2  
I in Figure 2  
5
40  
ns  
ns  
Data Out Hold Time From Clock  
Falling  
Data In Set-Up Time To Clock Rising  
Data In Hold Time From Clock Rising  
Strn Delay From POR  
tSDIS  
tSDIH  
tEN  
J in Figure 2  
K in Figure 2  
15  
10  
ns  
ns  
µs  
VBB > VBBR to STRn low  
500  
Continued on next page...  
STRn  
C
A
B
D
E
X
SCK  
J
K
SDI  
X
D15  
X
D14  
X
X
D0  
F
I
G
SDO  
Z
D15’  
D14’  
D0’  
Z
H
Figure 2: Serial Interface Timing  
X = don’t care, Z = high impedance (tri-state)  
10  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
ELECTRICAL CHARACTERISTICS (continued): Valid at TJ = –40°C to 150°C, VBB = 5.5 to 50 V, unless otherwise noted  
Characteristics  
Symbol  
Test Conditions  
Min.  
Typ.  
Max.  
Unit  
LIN/PWM INTERFACE LOGIC I/O [10]  
Transmitter Input Low Voltage (LTX)  
Transmitter Input High Voltage (LTX)  
Transmitter Input Hysteresis (LTX)  
Transmitter Input Pull-Up Resistor (LTX)  
Receiver Output Low Voltage (LRX)  
Receiver Output High Voltage (LRX)  
VIL  
VIH  
0.3 × VLR  
V
V
0.7 × VLR  
VIhys  
RPU  
VOL  
VOH  
400  
50  
mV  
kΩ  
V
30  
70  
0.4  
IOL = 1 mA, VBUS = 0 V  
IOL = –1 mA[1], VBUS = VBB  
VLR – 0.4  
V
LIN/PWM INTERFACE BUS TRANSMITTER [10]  
Bus Recessive Output Voltage  
VBUSRO  
VBUSDO  
IBUSLIM  
LTX High, Bus open load  
LTX Low, RLIN = 500 Ω, VBB = 7 V  
LTX Low, RLIN = 500 Ω, VBB = 18 V  
VBUS = 13.5 V  
0.8 × VBB  
1.4  
2.0  
100  
V
V
Bus Dominant Output Voltage  
V
Bus Short Circuit Current  
40  
–1  
mA  
mA  
Leakage Current – Dominant  
IBUS_PAS_dom VBB = 12 V, VBUS = 0 V  
7 V < VBB < 18 V, 7 V < VBUS < 18 V  
VBUS ≥ VBB  
Leakage Current – Recessive  
IBUS_PAS_ rec  
20  
1
µA  
Leakage Current – Ground  
Disconnect  
IBUS_NO_ GND VBB = 12 V, 0 V < VBUS < 18 V  
–1  
mA  
Leakage Current – Supply Disconnect IBUS_NO_ BAT VBB = 0 V, 0 V < VBUS < 18 V  
Normal operation  
20  
30  
2
100  
60  
µA  
kΩ  
MΩ  
V
Bus Pull-Up Resistance  
RSLAVE  
Sleep state  
Termination Diode Forward Voltage  
VSerDiode  
0.4  
0.7  
1
LIN/PWM INTERFACE BUS RECEIVER [10]  
Receiver Center Voltage  
Receiver Dominant State  
Receiver Recessive State  
Receiver Hysteresis  
VBUSCNT  
0.475 × VBB 0.5 × VBB 0.525 × VBB  
V
V
V
V
V
VBUSdom  
VBUSrec  
VHYS  
0.4 × VBB  
0.6 × VBB  
0.05 × VBB  
0.175 × VBB  
Receiver Wake-Up Threshold Voltage  
VBUSwk  
0.4 × VBB 0.5 × VBB 0.6 × VBB  
LIN/PWM INTERFACE – TIMING PARAMETERS [10]  
Receiver Propagation Delay H → L  
Receiver Propagation Delay L → H  
Receiver Delay Symmetry  
Bus Dominant Time For Wake  
Wake Up Delay  
trx_pdf  
trx_pdr  
trx_sym  
tBUSWK  
tWL  
Bus dominant to LRX low  
Bus recessive to LRX high  
trx_pdf – trx_pdr  
6
6
µs  
µs  
–2  
22  
2
µs  
150  
µs  
LIN Wake up to VREG 90%  
LWK = 1, OPM = 0, LEN = 1  
3
ms  
ms  
ms  
PWM Input Timeout  
tPTO  
209  
220  
15  
231  
Transmit Dominant Time-Out  
tTXTO  
Continued on next page...  
11  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
ELECTRICAL CHARACTERISTICS (continued): Valid at TJ = –40°C to 150°C, VBB = 5.5 to 50 V, unless otherwise noted  
Characteristics  
Symbol  
Test Conditions  
Min.  
0.396  
Typ.  
Max.  
Unit  
LIN/PWM INTERFACE – TIMING PARAMETERS (continued)  
7 V < VBB < 18 V, tBIT = 50 µs  
THRec(max) = 0.744 × VBB  
THDom(max) = 0.581 × VBB  
Duty Cycle D1  
(worst case at 20 kb/s) [7][9]  
D1  
D2  
D3  
D4  
D1 = tBUS_rec(min) / (2 × tBIT  
)
7 V < VBB < 18 V, tBIT = 50 µs  
THRec(min) = 0.422 × VBB  
THDom(min) = 0.284 × VBB  
Duty Cycle D2  
(worst case at 20 kb/s) [7][9]  
0.581  
D2 = tBUS_rec(max) / (2 × tBIT  
)
7 V < VBB < 18 V, tBIT = 96 µs  
THRec(max) = 0.778 × VBB  
THDom(max) = 0.616 × VBB  
Duty Cycle D3  
(worst case at 10.4 kb/s) [7][9]  
0.417  
D3 = tBUS_rec(min) / (2 × tBIT  
)
7 V < VBB < 18 V, tBIT = 96 µs  
THRec(min) = 0.389 × VBB  
THDom(min) = 0.251 × VBB  
Duty Cycle D4  
(worst case at 10.4 kb/s) [7][9]  
0.590  
D4 = tBUS_rec(max) / (2 × tBIT  
)
Continued on next page...  
tBIT  
tBIT  
tBIT  
LTX  
(Input to transmitting node)  
tBus_dom(max)  
tBus_rec(min)  
THRec(max)  
THDom(max)  
Thresholds of  
receiving node 1  
VSUP  
(Tranceiver supply  
THRec(min)  
THDom(min)  
of transmitting node)  
Thresholds of  
receiving node 2  
tBus_dom(min)  
tBus_rec(max)  
LRX  
(Output of receiving node 1)  
trx_pdf(1)  
trx_pdr(1)  
LRX  
(Output of receiving node 2)  
trx_pdr(2)  
trx_pdf(2)  
Figure 3: LIN Bus Timing  
12  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
ELECTRICAL CHARACTERISTICS (continued): Valid at TJ = –40°C to 150°C, VBB = 5.5 to 50 V, unless otherwise noted  
Characteristics  
Symbol  
Test Conditions  
Min.  
Typ.  
Max.  
Unit  
CURRENT LIMITING  
Default power-up value; VMIT = VCSP – VCSM  
Programmable range; VMIT = VCSP – VCSM  
VIL = 15, MIT = 0  
25  
200  
mV  
mV  
%FS  
µs  
Sense Amplifier Maximum Current  
Limit Threshold  
VMIT  
EILIM  
tOCB  
200  
+5%  
1.89  
6.6  
Current Limit Threshold Error [6]  
–5%  
1.71  
1
Default power-up value, OBT = 7  
Programmable range  
1.80  
Current Limit Blank Time  
µs  
DATA ACQUISITION SYSTEM  
Supply Voltage (VBRG):  
Measurement Range  
VVM  
EVM  
VVS  
0
0
±0.5  
50.4  
V
V
Supply Voltage (VBRG):  
Measurement Accuracy  
VBRG ≤ 30 V  
Average Supply Current  
Measurement: Sense Voltage Range  
200  
mV  
Average Supply Current  
Measurement: Sense Voltage  
Accuracy  
EVS  
±1  
%
Temperature Measurement Range  
Temperature Measurement Accuracy  
TJ  
–50  
190  
°C  
°C  
ETJ  
±5  
Continued on next page...  
13  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
ELECTRICAL CHARACTERISTICS (continued): Valid at TJ = –40°C to 150°C, VBB = 5.5 to 50 V, unless otherwise noted  
Characteristics  
Symbol  
Test Conditions  
Min.  
Typ.  
Max.  
Unit  
MOTOR STARTUP PARAMETERS  
Default power-up value  
190  
0
200  
210  
3
ms  
s
Hold Time  
tHOLD  
Programmable range  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
18.75  
%
Hold Duty Cycle  
Start Speed 1  
DH  
3.125  
3.8  
0.5  
26.12  
10  
100  
4.2  
8
%
4
Hz  
Hz  
Hz  
Hz  
%
fS1  
27.5  
28.88  
47.5  
Start Speed 2  
fS2  
50  
Start Duty Cycle 1  
Start Duty Cycle 2  
Start Time Step  
Start Speed Step  
Brake Duty Cycle  
DS1  
DS2  
tSS  
6.25  
100  
%
50  
%
6.25  
76  
100  
84  
%
80  
ms  
ms  
Hz  
Hz  
%
10  
300  
1.05  
15  
0.95  
0.0125  
1
fSS  
50  
DWB  
6.25  
6.46  
0.4  
100  
7.14  
22.8  
%
6.8  
Hz  
Hz  
Min. Windmill Frequency  
MOTOR RUN PARAMETERS  
BEMF Window  
fWM  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
1.4  
0.19  
0
7
60  
°(elec.)  
°(elec.)  
ms  
θBW  
0.20  
0.21  
20  
Windmill BEMF Filter Time  
tBF  
ms  
0.095  
0.1  
0.1  
0.105  
3.2  
Hz  
Speed Control Resolution  
fSR  
Hz  
0
°(elec.)  
°(elec.)  
%
Phase Advance (in electrical degrees)  
θADV  
0
60  
Speed Error  
EfE  
–5  
+5  
WATCHDOG –TIMING PARAMETERS  
Default power-up value  
Programmable range  
Default power-up value  
Programmable range  
0.95  
1
1
1.05  
63  
ms  
ms  
ms  
ms  
ns  
Minimum Watchdog Time  
Watchdog Window Time  
tWM  
9.5  
10  
10.0  
10.5  
320  
200  
10.5  
tWW  
Watchdog Detect To MRSTn Low  
MRSTn Low  
tWDET  
tMRST  
100  
9.5  
10.0  
ms  
14  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
ELECTRICAL CHARACTERISTICS (continued): Valid at TJ = –40°C to 150°C, VBB = 5.5 to 50 V, unless otherwise noted  
Characteristics  
Symbol  
Test Conditions  
Min.  
Typ.  
Max.  
Unit  
NVM – PROGRAMMING PARAMETERS  
Programming Voltage  
VPP  
tPRS  
Applied to VBB when programming  
VPP > VPPMIN to start of NVM write  
27  
10  
V
Programming Supply Setup Time  
DIAGNOSTICS AND PROTECTION  
ms  
VBBON  
VBBOFF  
VBBHys  
VBBR  
VBB rising  
VBB falling  
4.0  
3.8  
150  
4.3  
4.0  
280  
3.2  
4.5  
4.2  
V
VBB Undervoltage Lockout  
V
VBB Undervoltage Lockout Hysteresis  
VBB POR Voltage  
mV  
VBB falling  
3.5  
26.6  
3.1  
V
VPP Undervoltage  
VPPUV  
VLRON  
VLROFF  
VLRON  
VLROFF  
VRON  
21.6  
V
VLR rising, VLR = 0  
VLR falling, VLR = 0  
VLR rising, VLR = 1  
VLR falling, VLR = 1  
VREG rising  
V
VLR Undervoltage Reset 3.3 V  
VLR Undervoltage Reset 5 V  
VREG Undervoltage VRG = 0  
2.4  
V
4.8  
V
4.2  
6.2  
5.4  
7.6  
6.9  
60  
V
6.5  
5.6  
7.9  
7.15  
6.8  
5.8  
8.2  
7.4  
71  
V
VROFF  
VRON  
VROFF  
VBCUV  
VBCUVHys  
VBRG  
VREG falling  
V
VREG rising  
V
V
VREG Undervoltage VRG = 1  
Bootstrap Undervoltage  
VREG falling  
VBOOT falling, VBOOT = VCx – VSx  
%VREG  
%VREG  
V
Bootstrap Undervoltage Hysteresis  
VBRG Input Voltage  
5
–1  
VBB  
+1  
VDST = default, VBB = 12 V  
0 V < VBRG < VBB  
IVBRG  
500  
µA  
VBRG Input Current  
VDS Threshold  
IVBRGQ  
Sleep mode VBB < 35 V  
Default power-up level  
1550  
5
µA  
mV  
mV  
mV  
mV  
mV  
µs  
1400  
1700  
3150  
1550  
+200  
+150  
3.31  
3.15  
VDST  
V
BRG ≥ 8 V [11]  
V
BRG < 8 V [11]  
VDST > 1 V  
DST ≤ 1 V  
–200  
–150  
2.99  
0.6  
±100  
±50  
3.15  
VDS Threshold Offset [3][4]  
VDS Qualifier Time [5]  
VDSTO  
V
Default power-up value  
Programmable range  
CKS = 1  
tVDQ  
µs  
SDO Output: Clock Division Ratio  
Temperature Warning Threshold  
Temperature Warning Hysteresis  
Overtemperature Threshold  
ND  
TJWH  
TJWHhys  
TJF  
280000  
135  
15  
Temperature increasing  
125  
145  
ºC  
ºC  
Temperature increasing  
Recovery = TJF – TJHyst  
170  
175  
15  
180  
ºC  
Overtemperature Hysteresis  
TJHyst  
°C  
[1] For input and output current specifications, negative current is defined as coming out of (sourcing) the specified device terminal.  
[2] See Figure 4 for gate drive output timing.  
[3] As VSX decreases, high-side fault occurs if (VBAT – VSX) > (VDST + VDSTO).  
[4] As VSX increases, low-side fault occurs if VSX > (VDST + VDSTO).  
[5] See Figure 4 and Figure 5 for VDS monitor timing.  
[6] Current limit threshold voltage error is the difference between the target threshold voltage and the actual threshold voltage, referred to maximum full  
scale (100%) current: EILIM = 100 × (VILIMActual – VILIM) / 200%. (VILIM in mV).  
[7] Slew rate is controlled during both transitions and will not exceed specified limits at any point between test limits.  
[8] Ensured by design and characterization.  
[9] LIN bus load conditions (CBUS, RBUS): 1 nF; 1 kΩ / 6.8 nF; 660 Ω / 10 nF; 500 Ω.  
[10] Parameters are not guaranteed above or below the LIN 2.2 A operating limits VBB = 7 to 18 V.  
[11] Maximum value of VDS threshold that should be set in the configuration registers for correct operation when VBB is within the stated range.  
15  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
tDEAD  
GHx  
tVDQ  
HS monitor disabled  
High-side VDS monitor active  
High-side VDS monitor disabled  
tDEAD  
GLx  
tVDQ  
Low-side VDS monitor disabled  
Low-side VDS monitor active  
disabled  
Figure 4: VDS Fault Monitor Activation – Blank Mode Timing (VDQ = 1)  
MOSFET turn on  
No fault present  
MOSFET turn on  
Fault present  
MOSFET on  
Transient disturbance  
No fault present  
MOSFET on  
Fault occurs  
Gate  
Active  
VDS  
tVDQ  
tVDQ  
Fault Bit  
Figure 5a: VDS Fault Detection - Blank Mode Timing (VDQ = 1)  
MOSFET turn on  
No fault present  
MOSFET turn on  
Fault present  
MOSFET on  
Transient disturbance  
No fault present  
MOSFET on  
Fault occurs  
Gate  
Active  
VDS  
tVDQ  
tVDQ  
tVDQ  
tVDQ  
Fault Bit  
Figure 5b: VDS Fault Detection - Debounce Mode Timing (VDQ = 0)  
16  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Electrical Period  
360  
300  
240  
180  
120  
60  
Electrical  
Phase  
Angle  
0
SA  
SB  
SC  
Phase  
PWM  
Duty  
Forward  
IA  
IB  
IC  
Phase  
Current  
SA  
SB  
SC  
Phase  
PWM  
Duty  
Reverse  
IA  
IB  
IC  
Phase  
Current  
Figure 6: Phase Current Commutation Sequence for Sinusoidal Drive with 3-Phase Modulation  
17  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Electrical Period  
360  
300  
240  
180  
120  
60  
Electrical  
Phase  
Angle  
0
SA  
SB  
SC  
Phase  
PWM  
Duty  
Forward  
IA  
IB  
IC  
Phase  
Current  
SA  
SB  
SC  
Phase  
PWM  
Duty  
Reverse  
IA  
IB  
IC  
Phase  
Current  
Figure 7: Phase Current Commutation Sequence for Sinusoidal Drive with 2-Phase Modulation  
18  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Electrical Period  
360  
300  
240  
180  
120  
60  
Electrical  
Phase  
Angle  
0
SA  
SB  
SC  
Phase  
PWM  
Duty  
Forward  
IA  
IB  
IC  
Phase  
Current  
SA  
SB  
SC  
Phase  
PWM  
Duty  
Reverse  
IA  
IB  
IC  
Phase  
Current  
Figure 8: Phase Current Commutation Sequence for Trapezoidal Drive with 2-Phase Modulation  
19  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Sin Drive, 3-Phase Modulation  
Sin Drive, 2-Phase Modulation  
100%  
DPK= 100%  
50%  
OVM= 0  
0%  
0°  
60°  
120°  
180°  
240°  
300°  
360°  
0°  
60°  
120°  
180°  
240°  
300°  
360°  
100%  
DPK= 75%  
OVM= 0  
50%  
or  
DPK= 50%  
OVM= 3  
0%  
0°  
60°  
120°  
180°  
240°  
300°  
360°  
0°  
60°  
120°  
180°  
240°  
300°  
360°  
100%  
DPK= 85%  
OVM= 2  
50%  
0%  
0°  
60°  
120°  
180°  
240°  
300°  
360°  
0°  
60°  
120°  
180°  
240°  
300°  
360°  
100%  
DPK= 92%  
OVM= 3  
50%  
0%  
0°  
60°  
120°  
180°  
240°  
300°  
360°  
0°  
60°  
120°  
180°  
240°  
300°  
360°  
Figure 9: Modulation and Overmodulation Examples  
20  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
tPW  
tPW  
Phase A  
Phase B  
Phase C  
Figure 10a: Center-Aligned Bridge PWM Mode PMD = 0  
tPW  
tPW  
Phase A  
Phase B  
Phase C  
Figure 10b: Edge Aligned Bridge PWM Mode PMD = 1  
21  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
FUNCTIONAL DESCRIPTION  
The A4964 is a three-phase, sensorless, brushless DC (BLDC)  
motor controller for use with external N-channel power MOS-  
FETs and is specifically designed for automotive applications.  
The motor is driven using 3-phase sinusoidal current drive,  
where phase commutation is determined by a proprietary, motor  
back-emf (bemf) sensing technique. The motor bemf is sensed  
to determine the rotor position without the need for indepen-  
dent position sensors. An integrated sensorless startup scheme  
includes forwards and reverse pre-rotation (windmill) detection  
and syncronization and allows a wide range of motor and load  
combinations.  
to protect the power FETs under most short-circuit conditions.  
Detailed diagnostics are available through the serial interface.  
Specific functions are described more fully in following sections.  
Input and Output Terminal Functions  
VBB. Main power supply for internal regulators and charge  
pump. The main power supply should be connected to VBB  
through a reverse voltage protection circuit and should be  
decoupled with ceramic capacitors connected close to the supply  
and ground terminals.  
VBRG. Sense input to the top of the external MOSFET bridge.  
Allows accurate measurement of the voltage at the drain of the  
high-side MOSFETs in the bridge.  
Motor current is provided by six external power N-channel  
MOSFETs arranged as a three phase bridge. The A4964 provides  
six high current gate drives, three high-side and three low-side,  
capable of driving a wide range of MOSFETs. The maximum  
MOSFET drive voltage is internally limited under all supply  
conditions to protect the MOSFET from excessive gate-source  
voltage without the need for an external clamp circuit. The A4964  
provides all the necessary circuits to ensure that the gate-source  
voltage of both high-side and low-side external MOSFETs are  
sufficiently high to achieve full correct conduction at low supply  
levels. A low-power sleep state allows the A4964, the power  
bridge, and the load to remain connected to a vehicle battery sup-  
ply without the need for an additional supply switch.  
CP1, CP2. Pump capacitor connections for charge pump. Con-  
nect a 470 nF ceramic capacitor between CP1 and CP2.  
VREG. Regulated voltage, nominally 11 V, used to supply the  
low-side gate drivers and to charge the bootstrap capacitors. A  
sufficiently large storage capacitor must be connected to this  
terminal to provide the transient charging current.  
VLR. VLR regulator output. External logic can be powered by  
this node. The voltage can be selected as 3.3 or 5 V. A ceramic  
capacitor of at least 1 µF with an ESR of no more than 250 mΩ  
should be fitted between the VLR output and GND to ensure  
stability.  
Three motor control modes are available: closed-loop speed  
control, open-loop speed (voltage) control, and current (torque)  
control. The motor control mode and the control and configura-  
tion parameters can be altered through an SPI-compatible serial  
interface and the user-defined power-up parameters can be stored  
in non-volatile memory. The A4964 can also operate in a stand-  
alone mode, without the need for an external microcontroller,  
where the duty cycle of a PWM signal applied to the LIN termi-  
nal is used to control the output of the motor.  
GND. Analog reference, digital and power ground. Connect to  
supply ground—see layout recommendations.  
CA, CB, CC. High-side connections for the bootstrap capacitors  
and positive supply for high-side gate drivers.  
GHA, GHB, GHC. High-side gate-drive outputs for external  
N-channel MOSFETs.  
Startup (inrush) current, and peak motor current is limited by an  
integrated fixed frequency PWM current limiter. The maximum  
current limit is set by a single external sense resistor and the  
active current limit can be modified through the serial interface.  
SA, SB, SC. Motor phase connections. These terminals sense  
the voltages switched across the load. They are also connected to  
the negative side of the bootstrap capacitors and are the negative  
supply connections for the floating high-side drivers.  
An integrated data acquisition system provides measurement of  
the motor voltage, the chip temperature, the motor speed, and an  
estimate of the average supply current.  
GLA, GLB, GLC. Low-side gate-drive outputs for external  
N-channel MOSFETs.  
CSP, CSM. Differential current sense amplifier inputs. Con-  
nect directly to each end of the sense resistor using separate PCB  
traces.  
Integrated diagnostics provide indication of undervoltage,  
overtemperature, and power bridge faults, and can be configured  
22  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
until all logic is reset when a power-on-reset state is present.  
LIN. LIN bus connection compliant with LIN 2.2 A. This input  
can also be used as a PWM that can be passed to the LRX output  
or used directly as the demand input when operating in stand-  
alone mode.  
The A4964 will operate within specified parameters with VBB  
from 5.5 to 50 V. Below 5.5 V, the gate drive outputs may be  
inactive, but the A4964 will continue to respond through the  
serial interface with a supply down to 3.5 V. It will remain in a  
safe state between 0 and 50 V under all supply switching condi-  
tions. This provides a very rugged solution for use in the harsh  
automotive environment.  
LTX. LIN or FAULT transmit logic level input.  
LRX. LIN or PWM receive logic level output.  
IG. Ignition switch input, with resistor pull-down, to disable  
or wake-up the A4964 and enable the logic regulator for the  
microcontroller. When not used, IG should be tied to ground to  
minimize the effect on the supply current in the sleep state.  
At power-up, the logic inputs and outputs will remain disabled  
until VLR rises above the rising undervoltage threshold, VLRON. If  
the WD mask bit is saved as 0 in non-volatile EEPROM (NWM),  
the MRSTn output will remain low for 10 ms. If the WD mask  
bit is saved as 1 in NWM, the MRSTn output will remain low for  
10 ms or until the first valid serial transfer (whichever occurs first).  
After the MRSTn output goes high, the gate drive outputs will be  
re-enabled as described in the Fault Action section.  
DIAG. Programmable diagnostic output. Can be shorted to  
ground or VBB without damage.  
WDOG. Microcontroller watchdog logic input with resistor  
pull-down. Window watchdog with programmable minimum and  
maximum clock period.  
MRSTn. Microcontroller reset control output. Holds the micro-  
controller in reset until supplies are available. Resets the micro-  
controller in case of watchdog failure.  
VLR REGULATOR  
An integrated, programmable, linear regulator is provided to  
supply the logic I/O and external logic-level circuits, such as a  
microcontroller or interface circuit. The output of the regulator  
on the VLR terminal is derived from VBB and can be selected as  
3.3 or 5 V using the VLR bit. The logic I/O threshold levels are  
also determined by the VLR bit, allowing the A4964 to match the  
logic I/O levels of external logic.  
SDI. Serial data input with resistor pull-down. 16-bit serial word  
input msb first.  
SDO. Serial data output. High impedance when STRn is high.  
Outputs bit 15 of the Diagnostic register, the fault flag, as soon as  
STRn goes low.  
SCK. Serial clock input with resistor pull-down. Data is latched  
in from SDI on the rising edge of CLK. There must be 16 rising  
edges per write and SCK must be held high when STRn changes.  
The regulator includes current limit, undervoltage, and short pro-  
tection. The current limiting circuit will reduce the output voltage  
to ensure that the output current does not exceed the current limit,  
ILROC. If the output voltage drops below the falling undervoltage  
threshold, VLROFF, the MRSTn output will go low and can be  
used to reset an external microcontroller.  
STRn. Serial data strobe and serial access enable input with  
resistor pull-up. When STRn is high, any activity on SCK or SDI  
is ignored and SDO is high impedance, allowing multiple SDI  
slaves to have common SDI, SCK, and SDO connections.  
If the output voltage falls below the regulator shutdown thresh-  
old, VLROSD, for a period exceeding the shutdown lockout period,  
tLRLO, the regulator is turned off and all logic inputs and outputs  
are disabled. In this state a small pilot current, ILROP, is driven  
through the regulator output to detect load resistance. If the resul-  
Supplies and Regulators  
MAIN POWER SUPPLY  
A single power supply voltage is required. The main power sup-  
ply, VBB, should be connected to VBB through a reverse voltage  
protection circuit. A 100 nF ceramic decoupling capacitor must be  
connected close to the supply and ground terminals of the A4964.  
tant voltage rises above the regulator enable threshold, VLROE  
the regulator immediately attempts to restart.  
,
At power-up, or when the regulator restarts, full output current is  
delivered for a period equal to the shutdown lockout period. Dur-  
ing this time, the output voltage is not monitored for short-circuit  
conditions in order to ensure reliable regulator startup.  
An internal regulator provides the supply to the internal logic. All  
logic is guaranteed to operate correctly to below the VBB POR  
level, ensuring that the A4964 will continue to operate safely  
23  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
only be set through the serial interface in the SPI mode.  
If ESF = 1 and the A4964 internal junction temperature, TJ, rises  
above the overtemperature threshold, TJF, the regulator is imme-  
diately shut down and MRSTn will go low. All A4964 functions  
other than the regulator remain active. When TJ drops by more  
than the overtemperature hysteresis below the overtemperature  
threshold (TJ < TJF – TJHyst), the regulator will remain shut  
down and MRSTn will remain low for 10 ms. After this timeout,  
MRSTn goes high and the regulator is re-enabled and attempts  
to restart. If an undervoltage shutdown and an overtemperature  
warning occur simultaneously, both must be cleared to allow the  
regulator to restart.  
SPI MODE  
When operating in SPI mode (OPM = 0) the demand input is  
determined by a 10-bit value, input from the external micro-  
controller. The LIN terminal is a simple LIN physical interface  
where the data on the LIN bus is interpreted and the responses are  
provided by the external microcontroller. The only other function  
that the LIN input provides is to wake the A4964 when it is in the  
sleep state.  
STAND-ALONE MODE  
When operating in stand-alone mode (OPM = 1), the demand  
input is only determined by the duty cycle of a PWM signal  
applied to the LIN terminal. The 10-bit demand input through  
the serial interface is not available in this mode. However, all  
configuration settings and basic control functions, except for the  
demand input, can still be programmed through the serial inter-  
face. In this mode, the LIN input will also wake the A4964 when  
it is in the sleep state.  
Internal A4964 logic circuitry is not powered from the VLR regu-  
lator and remains fully operational regardless of whether the VLR  
regulator is running normally or shut down.  
A ceramic capacitor of at least 1 µF with an ESR of no more than  
250 mΩ should be fitted between the VLR terminal and GND to  
guarantee stability and oscillation and voltage excursions beyond  
the specified output voltage range. In some applications, the use  
of redundant output capacitors may be advisable to avoid such a  
condition in the event of a single-point capacitor high-impedance  
failure.  
LOW-POWER SLEEP STATE  
The A4964 provides a low-power sleep state where the consump-  
tion from the supply is reduced to a minimum by disabling all  
normal operation including the charge pump regulator, the inter-  
nal logic regulator, the external regulator, and the internal clock.  
In the sleep state, the LIN terminal must be at the same voltage as  
the supply terminal, VBB, and the IG terminal should be tied to  
ground to achieve the minimum supply current.  
PUMP REGULATOR  
The gate drivers are powered by a programmable voltage internal  
regulator which limits the supply to the drivers and therefore the  
maximum gate voltage. At low input supply voltage, the regu-  
lated supply is maintained by a charge pump boost converter  
which requires a pump capacitor, typically 470 nF, connected  
between the CP1 and CP2 terminals.  
There are two sleep states: the normal commanded sleep state  
and the permanent sleep state. The permanent sleep state is only  
entered following a watchdog cycle count failure. The state of the  
A4964 is the same in both cases, but it will only exit the perma-  
nent sleep state after a power off-on cycle as described in the  
Microcontroller Watchdog section.  
The regulated voltage, VREG, can be programmed to 8 or 11 V  
and is available on the VREG terminal. The voltage level is  
selected by the value of the VRG bit. When VRG = 1, the voltage  
is set to 11 V; when VRG = 0, the voltage is set to 8 V. A suf-  
ficiently large storage capacitor (see applications section) must  
be connected to this terminal to provide the transient charging  
current to the low side drivers and the bootstrap capacitors.  
When operating in SPI mode (OPM = 0), the A4964 can only  
be commanded to go into the normal sleep state using the serial  
interface to change the GTS bit from 0 to 1 when the LIN input  
is high (recessive). If the LIN input is low (dominant), any sleep  
command through the serial interface will be ignored, and the  
GTS bit must be changed to 0 followed by 1 to issue another go-  
to-sleep command when the LIN input is high (recessive).When  
operating in stand-alone mode (OPM = 1), the A4964 will go  
into the normal sleep state using the serial interface to change the  
GTS bit from 0 to 1, irrespective of the level on the LIN terminal.  
In stand-alone mode, it will also go to sleep when the IG input  
Operating Modes  
The A4964 has two operating modes: SPI mode and stand-alone  
mode. In SPI mode, it can be fully controlled by a small low-cost  
external microcontroller through the serial interface. In stand-  
alone mode, the LIN terminal becomes a PWM input that is used  
to set the input demand. All configuration settings and basic con-  
trol functions, except for the demand input, can be programmed  
through the serial interface in both modes. The demand input can  
24  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
transitions from high to low.  
conditions.  
The sequence to wake the A4964 is determined by the LWK bit  
and is independent from the operating mode. When the LIN wake  
mode is selected (LWK = 1), the A4964 will wake up accord-  
ing to the LIN protocol. When the PWM wake mode is selected  
(LWK = 0), the A4964 will wake up on any valid transition of the  
signal at the LIN terminal. These sequences are fully described  
and defined in the LIN interface section below.  
Table 1: Operating and Wake Mode Features  
Operating Mode  
SPI  
Standalone  
OPM  
0
10-bit (DI[9:0])  
No  
1
Demand SPI  
Demand LIN  
No  
LIN(PWM) Duty  
SPI (GTS 0→1)  
Sleep (SPI)  
Command  
SPI (GTS 0→1) [Only  
when LIN is high]  
In either wake mode, the A4964 will also wake up on a low-to-  
high transition of the signal on the IG terminal.  
Sleep (IG) Command  
No  
IG high to low  
In the sleep state, the MRSTn output is held low, latched faults  
are cleared, and the Diagnostic and Status registers are reset to  
zero.  
Wake Mode  
PWM  
0
LIN  
1
When coming out of the sleep state, all registers are reset to the  
user-defined values held in the non-volatile memory, and the  
A4964 follows the same procedure as for a full power-on reset.  
MRSTn is held low until 10 ms after the external regulator output  
exceeds its undervoltage threshold. In addition, the charge pump  
output monitor ensures that the gate drive outputs are off until  
the charge pump reaches its correct operating condition. The  
charge pump will stabilize in approximately 2 ms under nominal  
LWK  
Wake (IG)  
Wake (LIN)  
IG L→H  
IG L→H  
Any transition  
on LIN terminal  
First L→H transition  
on LIN terminal  
present for > tBUSWK  
after LIN terminal  
low for > tBUSWK  
25  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Microcontroller Reset and Watchdog  
tWM  
tWW  
MICROCONTROLLER RESET  
WDOG  
The microcontroller reset output, MRSTn, can be used to reset  
and re-initialize an external microcontroller if an undervoltage,  
watchdog fault, or power-on-reset (POR) occurs. The MRSTn  
output will be active low when the external regulator undervolt-  
age or POR fault state is present and will remain low for 10 ms  
after all faults are removed. It will also go low for 10 ms when a  
watchdog fault is detected.  
Figure 11a: Watchdog Timing Requirements  
> tWM  
> tWW  
< tWM + tWW  
< tWM + tWW  
WDOG  
MICROCONTROLLER WATCHDOG  
Figure 11b: Suitable Watchdog Signal  
The A4964 includes a programmable window watchdog that can  
be used to determine if the external microcontroller is operating  
in an adverse state. After any transition (high-to-low or low-to-  
high) on the WDOG input, the WDOG input must be held at a  
tWM + tWW  
10 ms  
DC level for the duration of the minimum watchdog time, tWM  
set by the WM variable. Following the end of the minimum  
watchdog time, a transition on the WDOG input must then be  
,
MRSTn  
WDOG  
detected before the end of the watchdog window time, tWW, set  
by the WW variable in order to reset the watchdog timer. This  
means that the time between each transition on the WDOG input  
Figure 11c: Reset After Missing Watchdog Edge  
must be longer than tWM and shorter than tWM + tWW  
.
> tWM  
< tWM + tWW  
> tWM  
10 ms  
If a subsequent transition is detected before tWM or if a transition  
is not detected within tWM + tWW, then the WD bit will be set in  
the Status register and the MRSTn output will go active low for  
10 ms in order to reset the microcontroller.  
MRSTn  
WDOG  
In all fault cases (POR, undervoltage or watchdog) when MRSTn  
goes high after the 10 ms low period, the watchdog timer will be  
reset and remain reset for 100 ms. During this time, the WDOG  
input is ignored. The first transition must then be detected within  
tWM + tWW or the micro-reset cycle will repeat. There is no mini-  
mum watchdog time, tWM, following a micro-reset.The micro-  
reset and watchdog timing is shown in Figure 11. The WD bit  
will remain set in the Status register until cleared.  
Figure 11d: Reset After Early Watchdog Edge  
100 ms  
tWM + tWW  
MRSTn  
WDOG  
Watchdog input ignored  
Must change once in this period  
When a watchdog failure is detected, the motor drive is disabled  
and the motor will coast. The motor drive remains disabled until  
a valid watchdog transition is detected. Once a valid watchdog  
has been detected, the A4964 will attempt to restart the motor if  
the RUN and RSC bits are set to 1, and the demand input is at a  
level where starting the motor is permitted.  
Figure 11e: Timing After Reset  
t
WM + tWW  
t
WDC  
t
WDC  
t
WDC  
Go to sleep  
MRSTn  
WDOG  
If the watchdog function is not required, it is possible to disable  
the function by setting the WD bit in the mask register to 1.  
tWDC = 10 ms + 100 ms + tWM + tWW  
WC[3:0] = 3  
This will completely disable the watchdog monitor and any pos-  
sible actions that it may take.  
Figure 11f: Sleep After Fail Cycle Count  
26  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
If the microcontroller has completely stopped working it is  
possible to put the A4964 into the permanent sleep state, after a  
number of reset cycles using the watchdog fail cycle count vari-  
able, WC[3:0]. The value in WC[3:0] sets the number of watch-  
dog fail-reset cycles that can occur before the A4964 goes into  
the permanent sleep state. A value of 1 will allow one fail-reset  
cycle and will go to sleep on the next watchdog failure if no valid  
transitions are detected on the WDOG input. A value of 8 will  
allow 8 fail-reset cycle and will go to sleep on the 9th watchdog  
failure if no transitions are detected on the WDOG input. The  
counter is reset if any valid transition is detected on the WDOG  
input. A valid transition is one that occurs after the initial 100 ms  
following a microcontroller reset and before the end of the  
initial watchdog window time, tWM + tWW. Figure 11f shows the  
fail-cycle operation when WC[3:0] is set to 3. A value of zero in  
WC[3:0] will disable this feature and permit unlimited fail-reset  
cycles. Once the A4964 goes into the permanent sleep state due  
to exceeding the fail-reset cycle limit, it will remain in this state  
until a power cycle occurs.  
in order to avoid locking the LIN Bus for other messages. The  
dominant timeout function is disabled in standalone operating  
mode (OPM = 1), in PWM wake mode (LWK = 0), or when the  
LIN interface is in the standby state (LEN = 0).  
The data to be transmitted is input to the LTX terminal and  
converted to LIN bus signals. A logic high on the LTX input  
produces a recessive bus (high) state while a logic low produces  
a dominant bus (low) state. The LTX input has an internal pull-up  
resistor to ensure a recessive state if the pin is not connected or  
becomes disconnected.  
The logic state of the LIN Bus is determined by the receiver and  
output as a logic level on the LRX terminal. LRX will be low  
when the LIN Bus is in the dominant (low) state and high when  
the LIN Bus is in the recessive (high) state. In the sleep state,  
LRX is not active and will be low.  
In SPI mode, the LIN interface can also be used as a PWM  
interface to the external microcontroller. The level of the PWM  
signal applied to the LIN terminal will be output as a logic level  
on the LRX terminal. When used as a PWM input in SPI mode  
(OPM = 0), the LTX input can be used to pull the PWM signal  
low in order to indicate a fault to the external ECU. In standalone  
mode, the DIAG output can be connected directly to the LIN  
terminal to indicate a fault to the external ECU. See Diagnostics  
section for additional detail.  
LIN Physical Interface  
The A4964 includes a physical interface to drive and monitor a  
single wire LIN bus as a slave node that complies with the LIN  
2.2 standard. The LIN terminal can withstand voltages from  
–14 V to +50 V with respect to the ground pin without adversely  
affecting LIN bus communications between other devices. LIN  
protocol handling is not included.  
When the A4964 is in the sleep state, the LIN terminal changes  
to a passive input and the resistance of the pull-up resistor on the  
LIN terminal increases to approximately 2 MΩ. This ensures that  
the LIN terminal is unable to affect the LIN bus signal. The LIN  
terminal continues to be monitored in the normal sleep state in  
order to detect a wake request.  
LIN  
LRX  
Two wake sequence modes are possible, selected by the LWK bit.  
The selected wake sequence mode is independent of the operating  
mode.  
LTX  
When LWK = 1, the A4964 will wake up according to the LIN  
protocol. In this mode, the wake request is valid on the first low-  
to-high transition on the LIN terminal after the LIN terminal is  
in a dominant (low) state for longer than the wake time, tBUSWK  
as shown in Figure 13a. If the LIN terminal changes to recessive  
(high) within tBUSWK then the A4964 returns to the sleep state.  
,
Figure 12: LIN Physical Interface  
The LIN terminal meets all the voltage, timing, and slew limita-  
tion requirements of LIN 2.2 when actively transmitting and  
when receiving. When operating in SPI mode, a timer is included  
to ensure that the LIN output does not remain dominant when a  
fault occurs. If the LIN terminal is driven in the dominant state  
for longer than the transmit dominant timeout period, tTXTO, then  
the output is disabled and allowed to return to the recessive state  
When LWK = 0, the A4964 will wake up on any valid transition  
of the signal at the LIN terminal. In this mode, the wake signal is  
valid when the signal on the LIN terminal changes state, high-to-  
low or low-to high, and remains in the changed state for longer  
than the wake time, tBUSWK, as shown in Figure 13b. This mode  
27  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
is usually used when the LIN terminal is used as a PWM input,  
either in SPI mode or in standalone mode. If the LIN terminal  
does not remain in the changed state for longer than the wake  
time, tBUSWK, then the A4964 returns to the sleep state.  
Motor Drive  
The motor drive consists of three half-bridge gate drive outputs,  
each driving one leg of an external three-phase MOSFET power  
bridge. The state of the gate drive outputs is determined by a  
three-phase PWM generator that determines the necessary PWM  
duty cycle required at each of the three-phase connections to the  
motor.  
When a valid wake request is detected on the LIN terminal or  
the IG terminal transitions from low to high, the A4964 will exit  
normal the sleep state, turn on all regulators and control circuits,  
and commence operation.  
GATE DRIVE  
At this time, if the LEN bit is 0, the LIN interface will remain in  
the standby state where the LIN terminal is a passive input. The  
LRX output will indicate the state of the LIN terminal but the sig-  
nal on the LTX terminal is ignored. The LIN interface becomes  
fully active when LEN is set to 1. If the default value of LEN is  
1, then the standby state is bypassed and the LIN interface is fully  
active as soon as the internal regulators are fully active.  
The A4964 is designed to drive external, low on-resistance,  
power n-channel MOSFETs. It will supply the large transient  
currents necessary to quickly charge and discharge the external  
MOSFET gate capacitance in order to reduce dissipation in the  
external MOSFET during switching. The charge current for  
the low-side drives and the recharge current for the bootstrap  
capacitors is provided by the capacitor on the VREG terminal.  
The charge current for the high-side drives is provided by the  
bootstrap capacitors connected between the Cx and Sx terminal,  
one for each phase. The MOSFET gate charge and discharge rate  
can be controlled using an external resistor in series with the con-  
nection to the gate of the MOSFET or by selecting the gate drive  
current and timing using a group of parameters set via the serial  
interface.  
tHRec  
LIN  
tHDom  
tBUSWK  
GATE DRIVE VOLTAGE REGULATION  
State  
LEN  
Sleep  
Standby  
Active  
1
The gate drivers are powered by a programmable voltage internal  
regulator which limits the supply to the drivers and therefore  
the maximum gate voltage. At low supply voltage, the regulated  
supply is maintained by a charge pump boost converter which  
requires a pump capacitor, typically 470 nF, connected between  
the CP1 and CP2 terminals.  
0
Figure 13a: LIN Wake Sequence and Timing  
The regulated voltage, VREG, can be programmed to 8 or 11 V  
and is available on the VREG terminal. The voltage level is  
selected by the value of the VRG bit. When VRG = 1, the voltage  
is set to 11 V; when VRG = 0, the voltage is set to 8 V. A suf-  
ficiently large storage capacitor (see applications section) must  
be connected to this terminal to provide the transient charging  
current to the low side drivers and the bootstrap capacitors.  
tHRec  
LIN  
(PWM)  
tHDom  
tBUSWK  
State  
LEN  
Sleep  
Standby  
Active  
1
LOW-SIDE GATE DRIVE  
The low-side, gate-drive outputs on GLA, GLB, and GLC are  
referenced to the GND terminal. These outputs are designed  
to drive external N-channel power MOSFETs. GLx = ON (or  
“high”) means that the upper half of the driver is turned on and it  
will source current to the gate of the low-side external MOSFET,  
turning it on. GLx = OFF (or “low”) means that the lower half of  
0
Figure 13b: PWM Wake Sequence and Timing  
28  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
the driver is turned on and it will sink current from the gate of the These three bootstrap capacitors are connected between the boot-  
external MOSFET, turning it off.  
strap supply terminals, CA,CB, and CC, and the corresponding  
high-side reference terminal, SA, SB, and SC.  
MOSFET gate charge and discharge rates may be controlled by  
external resistors between the gate drive output and the gate con-  
nection to the MOSFET (as close as possible to the MOSFET) or  
by programming the gate drive via the serial interface as detailed  
in the Gate Drive Control section below.  
The bootstrap capacitors are independently charged to approxi-  
mately VREG when the associated reference terminal, Sx, is low.  
When the output swings high, the voltage on the bootstrap supply  
terminal, Cx, rises with the output to provide the boosted gate  
voltage needed for the high-side N-channel power MOSFETs.  
HIGH-SIDE GATE DRIVE  
BOOTSTRAP CHARGE MANAGEMENT  
The high-side gate-drive outputs on GHA, GHB, and GHC are  
referenced to the SA, SB, and SC respectively. These outputs are  
designed to drive external N-channel power MOSFETs. GHx =  
ON (or “high”) means that the upper half of the driver is turned  
on and its drain will source current to the gate of the high-side  
The A4964 monitors the individual bootstrap capacitor charge  
voltages to ensure sufficient high-side drive. Before a high-side  
drive can be turned on, the bootstrap capacitor voltage must  
be higher than the turn-on voltage limit. If this is not the case,  
MOSFET in the external motor-driving bridge, turning it on. GHx then the A4964 will attempt to charge the bootstrap capacitor  
= OFF (or “low”) means that the lower half of the driver is turned by activating the complementary low-side drive. Under normal  
on and its drain will sink current from the external MOSFET’s  
gate circuit to the respective Sx terminal, turning it off.  
circumstances, this will charge the capacitor above the turn-on  
voltage in a few microseconds and the high-side drive will then  
be enabled. The bootstrap voltage monitor remains active while  
the high-side drive is active, and if the voltage drops below the  
turn-off voltage, a charge cycle is also initiated.  
The SA, SB, and SC terminals are connected directly to the motor  
phase connections. These terminals sense the voltages switched  
across the load. They are also connected to the negative side  
of the bootstrap capacitors and are the negative supply connec-  
tions for the floating high-side drives. These inputs are referred  
to elsewhere as the Sx inputs where x is replaced by A, B, or C  
depending on the phase. The discharge current from the high-  
side MOSFET gate capacitance flows through these connections  
which should have low-impedance traces to the MOSFET bridge.  
These terminals also provide the phase voltage feedback used to  
determine the rotor position.  
The bootstrap charge management circuit may actively charge the  
bootstrap capacitor regularly when the PWM duty cycle is very  
high, particularly when the PWM off-time is too short to permit  
the bootstrap capacitor to become sufficiently charged.  
If, for any reason, the bootstrap capacitor cannot be sufficiently  
charged, a bootstrap fault will occur—see Diagnostics section for  
further details.  
GATE DRIVE PASSIVE PULL-DOWN  
The CA, CB, and CC terminals are the positive supply for the  
floating high-side gate drives. These inputs are referred to else-  
where as the Cx inputs where x is replaced by A, B, or C, depend-  
ing on the phase. The bootstrap capacitors are connected between  
corresponding Cx and Sx terminals. The bootstrap capacitors are  
charged to approximately VREG when the associated output Sx  
terminal is low. When the Sx output swings high, the charge on  
the bootstrap capacitor causes the voltage at the corresponding  
Cx terminal to rise with the output to provide the boosted gate  
voltage needed for the high-side FETs.  
Each gate drive output includes a discharge circuit to ensure  
that any external MOSFET connected to the gate drive output  
is held off when the power is removed. This discharge circuit  
appears as 950 kΩ between the gate drive and the source connec-  
tions for each MOSFET. It is only active when the A4964 is not  
driving the output to ensure that any charge accumulated on the  
MOSFET gate has a discharge path even when the power is not  
connected.  
GATE DRIVE CONTROL  
BOOTSTRAP SUPPLY  
In some applications, it may be necessary to limit the rate of  
change of the voltage at the motor phase connections to help  
comply with EMC emission requirements. This is usually  
achieved by controlling the MOSFET gate charge and discharge  
rates.  
When a high-side driver is active, the reference voltage, Sx, will  
rise to close to the bridge supply voltage. The supply to the driver  
will then have to be above the bridge supply voltage to ensure  
that the driver remains active. This temporary high-side supply is  
provided by bootstrap capacitors, one for each high-side driver.  
29  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
The conventional approach is to add an external resistor between  
the gate drive output and the gate connection to each MOSFET,  
and possibly an additional small value capacitor between the gate  
and source of the external MOSFET.  
In switched mode, the gates are driven at the full capability of the  
pull-up or pull-down switches in the gate drive, as shown in Fig-  
ure 14b. If both IR1 and IR2 are set to zero the gate drive oper-  
ates in full switched mode for the off-to-on transition. If both IF1  
and IF2 are set to zero, the gate drive operates in full switched  
mode for the on-to-off transition.  
In addition to operating in this basic switch mode drive, the  
A4964 gate drive output can be programmed to provide con-  
trol of the slew rate of the drain-source voltage of the external  
power MOSFET. This is achieved by controlling the gate sink or  
source current during the time when the drain-source voltage is  
changing. This occurs during the Miller region when the gate-  
drain capacitance of the external MOSFET is being charged or  
discharged. This capacitance is referred to as the Miller capacitor  
and the period of time as the Miller time.  
In slew-control mode, the gates are driven using programmable  
currents to provide some control over the slew rate of the motor  
phase connection as shown in Figure 14a. To operate in slew-  
control mode for the off-to-on transition, both IR1 and IR2 must  
be non-zero. To operate in slew-control mode for the on-to-off  
transition, both IF1 and IF2 must be non-zero. If any of the drive  
currents are set to zero, then the output will operate in switched  
mode for the period of time when that current is active.  
MOSFET gate drives are controlled according to the values set  
in the slew control variables IR1, IR2, IF1, IF2, TRS, and TFS.  
The off-to-on transition is controlled by IR1, IR2, and TRS. The  
on-to-off transition is controlled by IF1, IF2, and TFS.  
The basic principle of the slew rate mode is to drive the gate with  
a controlled current for a fixed time to quickly get the MOSFET  
to the Miller region where the drain-source voltage, VDS, starts  
to change, then to follow this with a second usually lower current  
to control the VDS slew rate. Finally, the gate drive changes to  
switch mode once VDS has completed its transition.  
There are two gate drive control modes, switched and slew con-  
trol. All gate drives operate in the same mode.  
30  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
In slew control mode, when a gate drive is commanded to turn  
on, a current, IR1 (defined by IR1[3:0]), is sourced from the  
the gate-source voltage reaches this level. After this time, the  
current sourced on the gate drive output is set to a value of IR2 (as  
relevant gate drive output for a duration, tR (defined by TR[3:0]). defined by IR2[3:0]) and remains at this value while the MOS-  
These parameters should typically be set to quickly charge the  
MOSFET input capacitance such that the gate-source voltage  
rises close to the Miller voltage of the MOSFET. The drain-  
source voltage of the MOSFET will not start to change until  
FET transitions through the Miller region. IR2 should be selected  
to achieve the required slew rate of the drain-source voltage by  
setting the charge time of the drain-gate (Miller) capacitor.  
Gate Drive  
Command  
Gate  
Drive  
Source  
IR1  
Source  
IR2  
Sink  
IF1  
Sink  
IF2  
OFF  
ON  
OFF  
tRS  
tFS  
VGS  
Miller Region  
Miller Region  
VDS  
Figure 14a: Off-to-On and On-to-Off Transitions with Gate Drive Control Enabled  
Gate Drive  
Command  
Gate  
Drive  
OFF  
ON  
OFF  
VGS  
Miller Region  
Miller Region  
VDS  
Figure 14b: Off-to-On and On-to-Off Transitions with Gate Drive Control Disabled  
31  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
When the MOSFET reaches the fully on state, the gate drive  
output changes from current drive to voltage drive to hold the  
MOSFET in the on state.  
DEAD TIME  
To prevent shoot-through (transient cross-conduction) in any  
phase of the power MOSFET bridge, it is necessary to have a  
dead-time delay between a high- or low-side turn off and the next  
complementary turn-on event. The potential for cross-conduction  
occurs when any complementary high-side and low-side pair of  
MOSFETs is switched at the same time, for example, at the PWM  
switch point. In the A4964, the dead time for all three phases is  
set by the contents of the DT[5:0] bits. These six bits contain a  
positive integer that determines the dead time by division from  
the system clock.  
A high-side MOSFET is considered to be in the fully on state  
when the drain-source voltage, VDS (= VBB – VSx), drops below  
the programmed VDS threshold voltage, VDST  
.
A low-side MOSFET is considered to be in the fully on state  
when the drain-source voltage, VDS (= VSx – VGND), drops below  
the programmed VDS threshold voltage, VDST  
.
When a gate drive is commanded to turn off in slew control  
mode, a current, IF1 (defined by IF1[3:0]) is sinked to the relevant  
gate drive output for a duration, tFS (defined by TFS[3:0]).  
These parameters should typically be set to quickly discharge  
the MOSFET input capacitance such that the gate-source voltage  
drops to close to the Miller voltage of the MOSFET. The drain-  
source voltage of the MOSFET will not start to change until the  
gate-source voltage reaches this level. After this time, the current  
sourced on the gate drive output is set to a value of IF2 (as defined  
by IF2[3:0]) and remains at this value while the MOSFET transi-  
tions through the Miller region. IF2 should be selected to achieve  
the required slew rate of the drain-source voltage by setting the  
discharge time of the drain-gate (Miller) capacitor.  
The dead time is defined as:  
tDEAD = n × 50 ns  
where n is a positive integer defined by DT[5:0] and tDEAD has a  
minimum value of 100 ns.  
For example, when DT[5:0] contains [01 1000] (= 24 in decimal),  
then tDEAD = 1.2 µs, typically.  
The accuracy of tDEAD is determined by the accuracy of the sys-  
tem clock as defined in the electrical characteristics table. A value  
of 0, 1, or 2 in DT[5:0] will set the minimum dead time of 100 ns.  
The value of the dead time should be selected such that the gate-  
source voltage of any pair of complementary MOSFETs is never  
above the threshold voltage for both MOSFET at the same time  
as shown in Figure 15. This applies in either the slew control  
mode or the switch mode. In the slew control mode, the dead time  
must be increased to accommodate the extended switching times.  
When the MOSFET reaches the fully off state the gate drive  
output changes from current drive to voltage drive to hold the  
MOSFET in the off state.  
A high-side MOSFET is considered to be in the fully off state  
when the drain-source voltage of its complementary low-side  
MOSFET, VDS (= VSx – VGND), drops below the programmed  
PWM FREQUENCY  
VDS threshold voltage, VDST  
.
In all control modes, the base frequency of the bridge PWM  
signal is fixed by the value of the base PWM period, tPW. This  
base frequency can be altered by the frequency dither function  
described below.  
Min  
tDEAD  
VGS  
High-Side  
VTO  
The PWM waveforms applied to each phase of the bridge can  
be aligned in two ways selected by the PMD bit. When PMD is  
set to 0, the bridge is in center-aligned mode and the three-phase  
PWM waveforms are centered about a common point in time,  
as shown in Figure 10a. When PMD is set to 1, the bridge is in  
edge-aligned mode and the three-phase PWM waveforms all  
change from low to high at the same time as shown in Figure 10b.  
Min  
VGS  
Low-Side  
tDEAD  
VTO  
Figure 15: Minimum Dead Time  
In both modes, the period of the PWM frequency is set by the  
PW[5:0] variable. The six bits of PW contain a positive integer  
that determines the PWM period derived by division from the  
system clock.  
A low-side MOSFET is considered to be in the fully off state  
when the drain-source voltage of its complementary high-side  
MOSFET, VDS (= VBB – VSx), drops below the programmed VDS  
threshold voltage, VDST  
.
32  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
The PWM period is defined as:  
the resulting base frequency, fPW.  
The dither step period, tΔPW, is the incremental change in PWM  
period at each dither step and is defined by:  
tPW = 20.10 μs + (n × 0.8) μs (when PMD = 0)  
tPW = 20.05 μs + (n × 0.8) μs (when PMD = 1)  
where n is a positive integer defined by PW[5:0].  
t∆PW = –0.2 – (n × 0.2) µs  
where n is a positive integer defined by DP[2:0].  
For example, when PW[5:0] = [10 0110] and PMD = 0, then tPW  
= 50.5 µs and the PWM frequency is 19.8 kHz.  
Following each change, the PWM period will remain at the new  
value for the duration of the dither dwell time, selected as 1 ms,  
2 ms, 5 ms, or 10 ms by the contents of the DD[1:0] variable.  
PWM FREQUENCY DITHER  
The number of dither steps, NDS, is the value in the DS[3:0]  
variable. Starting at the base PWM period, the PWM period will  
decrease by the dither step period NDS times, then increase by  
the same amount and number of steps before restarting the cycle.  
NDS can have a value between 0 and 15. A value of 0 will disable  
PWM frequency dither. The minimum PWM period in any case is  
18 µs. If the frequency dither settings attempt to reduce the PWM  
period below 18 µs, then it will be held at 18 µs until the dither  
sequence brings the required value above 18 µs again.  
The A4964 includes an optional PWM frequency dither scheme  
that can be used to reduce the peak radiated and conducted elec-  
tromagnetic (EM) emissions. This is accomplished by stepping  
the PWM period in a triangular pattern in order to spread the EM  
energy created by the PWM switching. There are three program-  
mable variables that can be used to adjust the frequency spread-  
ing for different applications: dither step period, tΔPW, dwell  
time, tDD, and the number of steps in the pattern, NDS. These are  
identified in Figure 16.  
As the frequency shift is defined by a fixed period change, the  
change in frequency will be slightly different for each step, but  
the frequency spreading effect will still be effective.  
tPW  
Current Limit  
An integrated fixed-frequency PWM current control circuit is  
provided to limit the motor current during periods where the  
torque demand exceeds the normal operating range, and to  
provide a variable current limit in the closed-loop current control  
mode. The frequency of the current control circuit is set to be the  
same as the programmed bridge PWM defined by the value of  
PW[5:0].  
NDS  
tΔPW  
tDD  
time  
The current limit can be disabled in either of the speed control  
modes by setting the disable current limit bit, DIL, to 1. When the  
closed-loop current control mode is selected, DIL must be set to 0.  
tDD  
The state of the current control circuit is reported by the current  
limit bit, CLI, in the Status register. In either of the speed control  
modes, the CLI bit is set to 1 when the motor current exceeds the  
current limit and reset to 0 when the motor current falls below the  
current limit. In the closed-loop current control mode, the CLI  
bit is set to 1 when the motor current does not reach the variable  
current limit and reset to 0 when the motor current reaches the  
variable current limit.  
ΔfPW  
NDS  
fPW  
time  
The ground return current is measured as a voltage, VSENSE  
,
Figure 16: PWM Frequency Dither  
across a sense resistor, RSENSE, placed between the supply ground  
and the common connection to the sources of the low-side MOS-  
FETs in the three-phase power bridge. A sense amplifier with  
high common-mode rejection and a fast response time is provided  
Figure 16 shows the dithered period on top and the corresponding  
frequency below. The PWM frequency at any time is defined by  
the PWM period. The base PWM period, tPW, is indicated as is  
33  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
to convert the differential current sense voltage, directly across  
the sense resistor, to a ground-referenced voltage and remove  
any common-mode noise. The gain of the sense amplifier is  
programmable to provide four levels of threshold sensitivity. The  
maximum threshold voltage is set by the contents of the MIT[1:0]  
variable as follows:  
and allow the phase currents to recirculate round the low-side  
MOSFETs.  
The MOSFETs in the bridge will remain in this state until the  
high-side MOSFETs are switched on again after the start of the  
next PWM period.  
CURRENT COMPARATOR BLANKING  
MIT1  
MIT0  
Maximum Threshold (mV)  
When the bridge is switching, the voltage across the sense resis-  
tor will be subject to various transient voltage spikes. To prevent  
these spikes from being detected as a current-limit trip, the output  
from the current comparator is qualified using a blanking timer to  
ensure that any current-limit trip that is detected is valid.  
0
0
1
1
0
1
0
1
200  
100  
50  
25  
The output of the sense amplifier is compared to a current limit  
threshold voltage, VILIM, to indicate to the PWM control circuit  
when the bridge current is greater than the current limit threshold.  
The blank timer is started each time any gate drive output  
changes. At the end of the blank time, if the comparator is  
indicating that the current is higher than the trip level, then the  
current-limit trip is considered valid and the bridge MOSFETs  
will be switched as above.  
The value of VILIM can be set in two ways depending on the  
motor control method selected.  
The length of the blank time, tOCB, is set by the contents of the  
OBT[4:0] variable. These four bits contain a positive integer that  
determines the time derived by division from the system clock.  
When either of the speed control modes are selected, the value of  
VILIM is determined by:  
VILIM = VMIT × VISC  
The blank time is defined as:  
where VMIT is the maximum threshold of the sense amplifier as  
defined by the MIT variable, and VISC is the current limit scale as  
defined by the VIL variable.  
t
OCB = (n + 2) × 200 ns  
where n is a positive integer defined by OBT[4:0].  
When the closed-loop current control mode is selected, VILIM  
is determined by demand input. This sets the required value of  
VILIM as a ratio of the maximum threshold of VMIT. For example,  
when the demand input is 256 and VMIT is 200 mV then VILIM  
will be 50 mV. In this mode, only the 5 most significant bits of  
the 10-bit demand input are used to set the value of VILIM. For  
example if DI[9:0] = 0100000000, then the demand input is 287,  
and if DI[9:0] = 0100011111, then the demand input is also 287.  
For example, when OBT[4:0] contains [1 0110] (= 22 in  
decimal), then tOCB = 4.8 µs, typically.  
Setting a value of OBT = 0, 1, 2, and 3 will set the blank time to  
1 µs.  
The user must ensure that the blank time is long enough to mask  
any current transients seen by the internal sense amplifier.  
Motor Commutation Control  
The relationship between the threshold voltage and the threshold  
current is defined as:  
The A4964 can drive a 3-phase BLDC motor using sinusoidal  
drive or trapezoidal drive (block commutation). Depending on  
the motor design, sinusoidal drive can be used to reduce audible  
motor noise by driving the motor with low output torque ripple.  
Trapezoidal drive provides the highest motor output but with an  
increased torque ripple at the commutation points.  
ILIM = VILIM / RSENSE  
where RSENSE is the value of the sense resistor.  
At the start of a PWM cycle, the MOSFETs in the bridge are  
always turned on at the appropriate time to generate the required  
phase currents.  
PWM GENERATOR  
During the PWM switching, the sum of the currents, in the  
phases where the low-side MOSFET for the phase is active, will  
pass through the sense resistor. If the current through the sense  
resistor increases such that the voltage across it, VSENSE, rises  
above VILIM, the bridge will switch off all high-side MOSFETs  
A three-phase PWM generator is used to create the required  
waveform at each phase. When the drive mode bit, DRM, is set  
to 0, the PWM generator modulates (multiplies) the peak PWM  
duty cycle with an envelope that will create three sinusoidal  
34  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
waveforms between the phases. When DRM is set to 1, the PWM by setting a non-zero value in the overmodulation variable,  
OVM[1:0]. A value of 1, 2, or 3 in OVM will set the overmodu-  
lation factor to 112.5%, 125%, and 150% respectively. This  
overmodulation factor is applied to each setting of the PWM duty  
cycle sent to the bridge. For example, when OVM is set to 2, the  
overmodulation factor is set to 125%, and each modulation level  
is multiplied by 1.25, up to the 100% maximum duty cycle. The  
effect of this is to distort the sinusoidal waveform such that the  
100% duty cycle is present for longer. This provides a similar  
effect to switching to trapezoidal drive, but maintains the sinusoi-  
dal waveform when the product of the overmodulation factor and  
the PWM level sent to the bridge is less than 100%. Overmodula-  
tion examples are shown in Figure 9.  
generator drives each phase in sequence with the peak PWM duty  
cycle and ramps the duty cycle up and down at the beginning and  
end of the peak PWM duty cycle period to produce a trapezoidal  
drive waveform at each phase.  
In addition, the PWM generator can be set, using the PWM  
modulation bit, MOD, to drive the bridge with two-phase or  
three-phase modulation. When MOD is set to 0, the bridge will  
be driven with three-phase modulation, where all three phases  
will always be driven with a PWM signal. When MOD is set to  
1, the bridge will be driven with two-phase modulation, where,  
at any instant, one phase will be held low and the other two  
phases driven with a PWM signal. Three-phase modulation must  
be enabled in order to use automatic phase advance. Two-phase  
modulation will reduce the switching losses in the bridge and the  
power dissipation in the A4964.  
ROTOR POSITION SENSING USING MOTOR BEMF  
The phase sequences create a rotating magnetic field around the  
rotor against which the permanent magnets in the rotor can react  
to produce torque at the motor output shaft causing the motor to  
rotate. For the motor to run with low torque ripple the three phase  
drive has to be synchronized to the motor phase position. That is  
the position of the magnetic poles of the rotor in relation to the  
poles of the stator. This phase angle is determined by a closed-  
loop commutation controller consisting of a position estimator  
and commutation timer. This controller uses the output of a  
complete self-contained bemf sensing scheme to determine the  
actual position of the motor, and adjusts the estimated position  
and commutation frequency to synchronize with the rotor poles  
in the motor.  
Table 2: Trapezoidal Drive Phase Sequence  
Reverse  
DIR = 1  
Forward  
DIR = 0  
Motor Phase  
State  
SA  
Z
SB  
LO  
LO  
Z
SC  
HI  
Z
1
2
3
4
5
6
HI  
HI  
Z
LO  
LO  
Z
HI  
HI  
Z
LO  
LO  
HI  
HI ≡ high-side FET active, LO ≡ low-side FET active  
Z ≡ high impedance, both FETs off  
A key element of the controller is the back-emf (bemf) zero-  
crossing detector. This is a dedicated analog system that continu-  
ously monitors all three motor phases. It is capable of operating  
at high and low supply voltage with a very low bemf voltage in  
the presence of switching noise. This results in the ability to run  
a suitable motor from very low speeds to extremely high speeds.  
The internally generated center-tap (zero crossing reference) volt-  
age follows the bridge drive voltage levels to allow bemf crossing  
detection during both PWM-on and PWM-off states.  
The modulation for each phase and each option is shown in  
Figure 6, Figure 7, and Figure 8. Figure 6 shows sinusoidal  
drive with three-phase modulation and Figure 7 with two-phase  
modulation. In both cases, although the resulting individual phase  
signals are not sinusoidal, they will produce sinusoidal signals  
between the three phases.  
In trapezoidal drive mode, the A4964 will ramp the phase duty  
cycle between the minimum and maximum duty cycles. This will  
produce a “soft switching” effect where the torque transitions  
smoothly between commutation points. If a classical trapezoidal  
drive is required as shown in Table 2, then set DRM to 1 for trap-  
ezoidal drive and set BW to 31 to set the bemf window to 60°.  
In trapezoidal drive mode, the rotor position is determined by  
comparing the voltage on the undriven (tri-state) motor phase  
(indicated by Z in Table 2) to the voltage at the center tap of the  
motor, approximated using an internally generated reference  
voltage. The voltage on the undriven phase with reference to the  
center tap voltage is the bemf of the motor. The bemf zero cross-  
ing, the point where the voltage of the undriven motor winding  
crosses the reference voltage, occurs when a pole of the rotor is  
in alignment with a pole of the stator and is used as a positional  
reference for the commutation controller. In this case, the bemf  
OVERMODULATION  
The A4964 also provides an overmodulation function, which  
may be used to increase the drive to the motor beyond the drive  
available using the pure sinusoidal drive. This function is enabled  
35  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
for each phase is monitored for the complete commutation period achieve the optimum performance across a wide range of speeds,  
where the phase is not driven.  
loads and supply voltages and temperatures without having to  
update the phase angle as would be required in the manual mode.  
The gain of the control loop for the automatic phase advance  
can be adjusted by the KIP[1:0] variable to 1, 2, 4, or 8. A higher  
value will result in a faster change but less stability. A lower  
value will result in greater stability but a slower response to  
speed, voltage, and load variations.  
In sinusoidal drive, all three phases are being continuously  
driven. This does not allow for the bemf to be monitored indepen-  
dently of the drive signals, so the A4964 stops applying the driv-  
ing signal for a brief duration close to the expected bemf cross-  
ing point. The size of this window and the number of times the  
window is opened per electrical cycle is programmable through  
the serial interface using the BW (bemf window) and BS (bemf  
samples) variables. The window can be programmed in 1.4° steps  
from 1.4° to 43.4° and to 60° when BW = 31. All angles are with  
respect to the electrical cycle. The window is opened just before  
the time at which the bemf is expected to be at the zero crossing  
point.  
COMMUTATION CONTROLLER TUNING  
The commutation controller uses proportional and integral feed-  
back (PI control) to provide a fast response with good long-term  
accuracy. The proportional and the integral gains can be adjusted  
independently for operation in the steady state and in the transient  
state. The commutation control loop is defined to be in steady  
state when the difference between the estimated motor speed and  
the target motor speed is less than 10 Hz. When the difference  
increases to greater than 10 Hz, the control loop is defined to be  
in the transient state. Once in the transient state, the speed differ-  
ence must reduce below 5 Hz before the control loop returns to  
the steady state.  
In both cases the commutation controller compares the expected  
zero crossing point to the detected zero crossing point and adjusts  
the phase and frequency of the position estimator and commuta-  
tion timer to minimize the difference between the expected and  
actual crossing points over a number of commutation periods.  
PHASE ADVANCE  
In the steady state, the proportional and integral control loop  
gains are set by the CP[3:0] and CI[3:0] variables respectively,  
through the serial interface. In the transient state, the propor-  
tional and integral control loop gains are set by the CPT[3:0]  
and CIT[3:0] variables respectively. This allows the dynamic  
response of the commutation controller to be tuned to different  
system conditions if required.  
The controller also allows programmable phase advance, where  
the magnetic field of the stator can be driven ahead of the rotor.  
This can be used to produce an effect known as field weakening,  
which effectively reduces the bemf of the motor and allows the  
motor to run at a higher speed for the same applied voltage. It can  
also be used to optimize the efficiency of the drive by aligning  
the phase of the current with the phase of the applied voltage.  
There are two phase advance modes available: manual and auto-  
matic, selected by the phase advance mode bit, PAM.  
The control method used is tolerant to missing bemf zero cross-  
ing detection and will simply change the speed of the applied  
commutation sequence by an amount determined by the pro-  
portional gain of the control loop. This results in a much more  
stable system that does not lose synchronization due to impulse  
perturbations in the motor load torque. It also means that real loss  
of synchronization cannot be determined by missing bemf zero  
crossing detection and has to be determined in a different way.  
In manual phase advance mode, when PAM = 0, the angular posi-  
tion of the estimated bemf zero crossing point is simply adjusted  
to be later in the commutation period. The controller modifies  
the commutation timing to minimize the difference between the  
estimated and measured bemf zero-crossing points. This results in  
a phase advance of the stator field from the rotor position.  
In the extreme case when a motor stalls due to excessive load  
on the output, there will be no bemf zero crossing detection and  
the frequency of the commutation sequence will be reduced at  
each commutation point to try and regain synchronization. If the  
resulting speed reduces below the low-speed threshold, set by the  
SL[3:0] variable, then the controller will enter the loss of syn-  
chronization state and either stop or attempt to restart the motor.  
In automatic phase advance mode, when PAM = 1, the angular  
position of the estimated bemf zero crossing point is adjusted  
based on the phase angle between the applied voltage waveform  
and the motor current. In this mode, when the programmed phase  
angle is set to zero, the A4964 will adjust the estimated bemf  
zero crossing point such that the angle between the motor phase  
current and applied phase voltage is zero. The programmed phase  
advance angle will then be the angle between the motor phase  
current and applied phase voltage. The automatic phase advance  
mode will adjust the estimated bemf zero crossing point to  
In some cases, rather than a complete stall, it is also possible for  
the motor to vibrate at a whole fraction (subharmonic) of the  
commutation frequency produced by the controller. In this case,  
36  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
the controller will still detect the bemf zero crossing but at a rate  
much higher than the motor is capable of running. If the resulting  
speed increases above the overspeed threshold, set by the SH[3:0]  
variable, then the controller will enter the loss of synchronization  
state and either stop or attempt to restart the motor.  
Phase A = (DH ÷ 2)%  
Phase B = 0  
Phase C = DH%  
For three-phase modulation, the peak duty cycle for each phase is  
defined as:  
MOTOR STARTUP  
Phase A = 50%  
The sensorless commutation method used in the A4964 relies  
on the motor bemf voltage. This voltage must be high enough  
to allow detection of the zero crossing point. When the motor is  
stationary, or moving at very low speed, the bemf is either zero  
or at a level lower than can be detected by the bemf zero crossing  
detector, so the motor position cannot be determined.  
Phase B = 50% – (DH ÷ 2)%  
Phase C = 50% + (DH ÷ 2)%  
where DH is the peak PWM duty during alignment defined by  
HD[4:0].  
This means that a startup sequence must be used that will start  
the motor rotating and accelerate the motor to a sufficiently high  
speed for bemf zero crossings to be detected. This must be done  
without reference to the actual motor position. To achieve reliable  
startup over a wide range of motors, loads, supply and environ-  
mental conditions, the A4964 provides multiple programmable  
startup features. The basic sequence starts by checking the motor  
bemf to determine if the motor is already rotating. If so, special  
pre-rotation functions are implemented as described below. If no  
rotation is detected, then the normal startup sequence consists  
of an alignment time followed by open-loop commutation with  
increasing speed, then a short coast period before switching into  
the closed-loop commutation control system and the closed-loop  
speed control, if selected.  
The time to rise from zero to the programmed value can be  
selected as a percentage of the alignment time by the HR[1:0]  
variable. This can be 0%, 25%, 50%, or 100%. At 0%, the  
programmed value will be present for the full alignment time.  
For example, at 25%, it will ramp from zero to the programmed  
value for the first 25% of the alignment time, then hold at the  
programmed value for the remainder of the alignment time. At  
100%, it will ramp from zero to the programmed value over the  
full alignment time.  
The integrated current limit remains active, if enabled, during  
the hold time in order to limit the inrush current and to limit the  
effects of increased supply voltage or low operating temperature.  
RAMP  
Each of the startup features has several programmable variables,  
and the alignment and coast features can be completely disabled.  
The complete sequence is shown in Figure 17.  
Following the alignment time, sinusoidal (DRM = 0) or trap-  
ezoidal (DRM = 1) waveforms are applied to the three phases to  
create a rotating magnetic field in the motor and start the motor  
running in the required direction. During this time, the motor  
position is ignored and the motor phases are driven in open-loop  
commutation mode. The starting speed of the rotating field is  
defined by the SF1[3:0] variable and the speed is ramped up  
linearly until it reaches the ramp end speed defined by SF2[3:0].  
The slope of the speed ramp and the duration are defined by the  
speed increment, fSS, defined by the SFS[3:0] variable, and the  
step time, tSS, defined by the STS[3:0] variable. All speed vari-  
ables define the electrical frequency as defined by the electrical  
period shown in Figure 6, and are set in hertz. When the ramp  
starts, the peak duty cycle applied to the bridge is defined by the  
contents of the SD1[3:0] variable. The peak duty cycle is then  
increased linearly up to the peak duty cycle applied to the bridge,  
defined by the contents of the SD2[3:0] variable at the end of the  
ramp.  
ALIGNMENT  
The alignment feature can be used to move the motor into a  
known position. This helps to achieve a consistent startup pattern  
and helps avoid noise in the initial stages of the startup sequence.  
The duration of the alignment time (also known as hold time) is  
determined by the value of the HT[3:0] variable. If the alignment  
feature is not required, then it can be disabled by setting HT[3:0]  
to zero. During the alignment, the peak duty cycle is set to the  
value defined by the HD[4:0] variable. The peak value is then  
modified by the PWM generator to produce the duty cycles at  
each phase for the 0° position shown in Figure 6 and Figure 7.  
For two-phase modulation, the peak duty cycle for each phase is  
defined as:  
37  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
point detected in order to correctly synchronize the motor phase  
angle counter to the motor position and the drive frequency to  
the motor speed. Once three correct synchronization events have  
been detected, the motor phase drive is re-enabled and the motor  
runs with closed-loop commutation.  
COAST  
At the end of the ramp period, if the STM bit is set to 1, the  
outputs will be disabled and the motor will coast for a short time.  
During this time, the motor bemf is sensed and the zero-crossing  
Rotor Speed / bemf  
time  
time  
time  
Stator Field Frequency  
STS  
SFS  
SF2  
SF1  
Bridge PWM Duty Cycle  
SD2  
SD1  
HD  
HT  
Accel.  
Run  
Align  
Ramp  
Closed-Loop  
Figure 17: Sensorless Start Sequence  
38  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
To ensure a smooth transition into the full commutation closed-  
loop operation, the peak duty cycle applied to the power bridge  
should be close to the duty cycle required for the present motor  
speed. This avoids large inrush or braking currents as the drive is  
re-enabled. The required duty cycle is determined using the mea-  
sured motor speed, the speed resolution and the motor constant,  
KM, as:  
If no windmill bemf zero-crossing events are detected within  
300 ms or the motor speed is less than the minimum windmill  
detection frequency, fWMF, defined by the WMF[3:0] variable,  
then the motor is assumed to be stationary and the normal start  
sequence is followed. If WIN is set to 0, then any pre-rotation  
will be ignored and the normal start sequence followed.  
If the bemf indicates that the motor is running in the opposite direc-  
tion to that programmed, then a brake torque is applied by applying  
a PWM signal to all low-side MOSFETs until the bemf indicates  
that the motor is stationary. The low-side MOSFETs are switched  
at the programmed PWM frequency with the window brake duty  
cycle, DWB, defined by the contents of the WBD[3:0] variable.  
Once the motor speed is less than fWMF, then the motor is assumed  
to be stationary and the normal start sequence is followed.  
fE  
0.1  
1023  
b
l
× KM  
=
DPK  
×100 (%)  
where DPK is the peak duty cycle applied to the bridge, fE is the  
motor electrical cycle frequency and KM is the motor constant set  
by the value in the KM[3:0] variable and can be between 0.3 and  
1.05 in steps of 0.05.  
The actual motor motor electrical cycle frequency, fE, is defined  
by:  
If the bemf indicates that the motor is running in the same direc-  
tion to that programmed, then the alignment and ramp functions  
are not used and the startup sequence goes directly to coast and  
synchronization before switching directly to full commutation  
closed-loop operation.  
fE = n × SR (Hz)  
where SR is the speed resolution defined by the SR[2:0] variable  
and n is a positive integer defined by DO[9:0] when RBS[2:0] =  
[001].  
Motor Control Modes  
Calculation of the correct duty cycle is also used during the wind-  
mill detection phase if enabled.  
There are three motor control methods included in the A4964.  
These are:  
In many systems where the motor and load inertia is low and the  
friction load is high, it is more effective to go directly from ramp  
to closed-loop commutation without the coast period. In this case,  
STM can be set to zero to disable the coast function during start-  
up. The coast function during startup is beneficial for high inertia  
loads such as fans and blowers and helps provide a low audible  
noise startup.  
1. open-loop speed (voltage) control  
2. closed-loop torque (current) control  
3. closed-loop speed control  
The control mode and all associated parameters are determined  
by the contents of the configuration and control registers. These  
registers can be changed on-the-fly through the SPI. The user-  
defined values in these registers are held in programmable  
non-volatile memory, allowing the A4964 to be pre-programmed  
with default values for a specific appliction and avoid the need to  
program the register contents at each power on. The motor move-  
ment can be controlled directly through the SPI or, in standalone  
mode, by a PWM applied to the LIN terminal.  
Once in commutation closed-loop mode, the A4964 will synchro-  
nize the applied field, created by the motor phase angle counter  
and the sinusoidal PWM generator, to the motor position and  
ramp the speed to match the demand input.  
START WITH PRE-ROTATION (WINDMILLING)  
In SPI operating mode, selected by setting the OPM variable  
to 0, the running state, direction, and output of the motor are  
controlled by a combination of commands through the serial  
interface. These are a demand input variable, DI[9:0], plus three  
control bits, RUN, DIR, and BRK.  
In some cases when motor start is required, the motor may still be  
coasting from a previously running state or it may be rotating by  
the action of the load on the motor. Setting the WIN bit to 1 will  
modify the startup sequence by initially monitoring the motor bemf  
for windmill bemf zero-crossing events in order to detect any pre-  
rotation. A windmill bemf zero-crossing event must be present for  
longer than the windmill bemf filter time, tbf, for the motor speed  
and direction to be determined. The windmill bemf fiter time is set  
through the serial interface using the BF variable. The motor speed  
is available from the readback register during this time.  
In stand-alone operating mode, selected by setting the OPM vari-  
able to 1, the output of the motor is controlled by the duty cycle  
of a PWM input, which sets the value in the DI[9:0] demand  
input variable. The three control bits, RUN, DIR, and BRK can  
still control the running state of the motor through the serial inter-  
39  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
face but the demand input is only accepted from the PWM signal  
applied to the LIN terminal. All configuration parameters can be  
modified in either mode.  
PWM CONTROL INPUT  
In the stand-alone operating mode, selected by setting OPM to 1,  
the function of the LIN input terminal changes to a PWM input,  
the duty cycle of which provides a proportional demand input for  
the selected control mode and replaces the contents of DI[9:0]. It  
can be driven between ground and VBB and has hysteresis and a  
noise filter to improve noise performance. The sense of the PWM  
input can be selected as active high or active low using the IPI  
bit. When IPI is 0, the LIN input is active high. When IPI is 1,  
then the LIN input is inverted and active low.  
When RUN = 1, the A4964 is allowed to run the motor or to  
commence the startup sequence. When RUN = 0, all gate drive  
outputs go low, no commutation takes place, and the motor is  
allowed to coast. RUN = 0 overrides all other control inputs.  
The DIR bit determines the direction of rotation. Forward is  
defined as DIR = 0, reverse is when DIR = 1. The forward and  
reverse waveforms are defined in Figure 6, Figure 7, Figure 8,  
and Table 2.  
The PWM input, applied to the LIN terminal, is a low frequency  
signal, between 5 Hz and 1 kHz. The duty cycle of this signal is  
measured with a 10-bit counter system, giving better than 0.1%  
resolution in duty cycle. When IPI is 0, the duty cycle is the ratio  
of the PWM (active) high duration to the PWM period measured  
between rising edges of the PWM input signal. When IPI is 1, the  
duty cycle is the ratio of the PWM (active) low duration to the  
PWM period measured between falling edges of the PWM input  
signal. The measured duty cycle is written to the DI[9:0] variable  
at the end of each PWM measurement period when the PWM  
signal changes back to the active state.  
In SPI operating mode, the BRK bit can be set to apply an elec-  
trodynamic brake which will decelerate a rotating motor. It will  
also provide some holding torque for a stationary motor. When  
RUN = 1 and BRK = 1, all low-side MOSFETs will be turned  
on and all high-side MOSFETs turned off, effectively applying a  
short between the motor windings. This allows the reverse volt-  
age generated by the rotation of the motor (motor bemf) to set up  
a current in the motor phase windings that will produce a braking  
torque. This braking torque will always oppose the direction  
of rotation of the motor. The strength of the braking or holding  
torque will depend on the motor parameters. No commutation  
takes place during braking and no current control is available.  
Care must be taken to ensure that the braking current does not  
exceed the capability of the low-side MOSFETs.  
The A4964 can accept slight variation in the PWM frequency  
from cycle to cycle. However, any variation will be translated to  
a demand input variation.  
In standalone operating mode, the DIR and RUN bits still control  
the motor direction and activity. RUN must be set to 1 to per-  
mit the PWM input to control the motor output. The function  
of the BRK bit function changes to be a PWM brake enable as  
described below.  
In stand-alone operating mode, the BRK bit does not directly  
control braking, but can be set to enable braking when the PWM  
input is held low as described below.  
The 10-bit demand input variable, DI[9:0], sets the bridge PWM  
duty cycle for the open-loop speed control mode, the torque  
(current) reference for the current control mode, or the speed  
reference for the closed-loop speed control mode. For the speed  
control modes, the resolution is better than 0.1%. For the current  
control mode, only the most significant 8 bits are used and the  
demand input resolution is 0.5%. In standalone operating mode,  
DI[9:0] cannot be changed through the serial interface.  
When the PWM input changes from the inactive state, with  
DI = 0 and the motor in the brake or coast mode, the first write to  
DI will occur at the end of the first PWM cycle if the duty cycle  
is less than 100%. If the duty cycle is 100%, i.e. the PWM input  
goes from inactive to active, the first write to DI will occur at the  
end of the PWM timeout period, tPTO  
.
40  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
inactive for a further PWM period, as shown in Figure 18, will  
force a brake condition if BRK is set to 1. The brake condition  
PWM  
can only be active when RUN = 1 and BRK = 1.  
DI[9:0]  
Action  
0
512  
Brake/Coast*  
Start & Run  
Once enabled, the brake condition will be held until the PWM  
terminal is changed to its active state. If the motor operation  
is enabled, with RUN = 1, then the A4964 will initiate a start  
sequence once the PWM duty cycle is in the correct range to  
permit the start. During the start sequence, if the PWM signal is  
held inactive as described above, then the start sequence will be  
terminated and, if enabled, the brake condition will be forced.  
tPWM tPWM tPWM  
PWM  
DI[9:0]  
Action  
512  
1023  
810  
Run  
For single-wire control systems, the DIAG output can be con-  
nected directly to the LIN terminal or to the LTX input to force  
the PWM signal, applied to the LIN terminal, into a low state  
in order to inform the remote ECU controlling the A4964 that a  
fault condition exists. As the PWM signal is always pulled low,  
the active high PWM input mode (IPI = 0) should be selected for  
this configuration.  
tPTO  
PWM  
DI[9:0]  
0
1023  
Start & Run  
810  
Action Brake/Coast*  
tPTO  
For the simple (active-low fault flag) DIAG mode, selected when  
DGS[1:0] is 0, a fault will pull the PWM signal low. This will  
simply stop the motor until the fault clears or is reset.  
tPTO  
tPTO  
PWM  
For the mode where DIAG is high for no fault and pulsed low  
when a fault is present (DGS[1:0] = [10]), the PWM duty cycle  
detector will ignore the PWM input signal when DIAG is low  
and maintain the value in DI at the previously detected level.  
DI will be updated at the end of the first full PWM period after  
DIAG goes high. The PWM period time is maintained from the  
previous duty cycle detection and is available when DIAG goes  
high to permit detection of an intended low level on the PWM  
signal, indicating a zero demand input.  
DI[9:0]  
0
1023  
0
Action Brake/Coast* Start & Run Coast Brk/Ckst*  
tPWM tPWM tPWM tPWM  
PWM  
DI[9:0]  
Action  
303  
Run  
0
Coast Brake/Coast*  
For the other two DIAG modes, the DIAG output should not be  
used to pull the LIN terminal low, as the FG signal will interfere  
with the PWM signal causing unpredictable results. See Diagnos-  
tics section for additional detail.  
* Brake active is BRK = 1  
Figure 18: PWM Timing (IPI = 0; PWM active high)  
When the duty cycle changes from a value less than 100% to  
100%, the write of the maximum value 1023 to DI will occur  
after two tPWM periods from the previous inactive to active transi-  
tion. When the PWM duty cycle changes back to a value less than  
100%, the maximum value will remain in DI until the end of the  
first full PWM period at the second inactive to active transition  
after the 100% input.  
OPEN-LOOP SPEED (VOLTAGE) CONTROL  
In motor control systems where application specific speed control  
is required the A4964 provides a simple variable duty PWM con-  
trol mode. In this mode the demand input is directly converted to  
the duty cycle of the PWM applied to the motor bridge as shown  
in figure 19. The frequency of the PWM signal applied to the  
power bridge is determined by the value of the PW[5:0] variable.  
The resulting bridge PWM duty cycle is used as the peak duty  
cycle and is further modulated by the 3-phase sine or trapezoidal  
generator.  
If the PWM signal remains in the inactive state for more than  
twice the length of time of the last measured period, then the  
A4964 will put the bridge into the PWM-off state permanently  
and allow the motor current to decay. Holding the PWM signal  
41  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
phase trapezoidal mode with a 60° bemf window.  
100%  
When operating in the current control mode, the demand input  
linearly adjusts the current limit threshold voltage, between 0 and  
V
MIT as defined by the MIT variable. Although the demand input  
is 10 bits, only the 5 most significant bits will be effective.  
VMIT  
0
0
1023  
Demand Input  
Figure 19: Bridge PWM versus Demand Input  
This control mode is equivalent to voltage mode or open-loop  
speed control. In this mode, the speed is not regulated and will  
vary with load and supply voltage. Current limiting will remain  
active if enabled.  
0
0
1023  
Demand Input  
Figure 20: Current Limit versus Demand Input  
The A4964 does not limit the minimum or maximum peak duty  
cycle applied to the bridge. At 100% demand input, the motor  
will be running at full speed as determined by the load and the  
applied voltage. At very low duty cycles, there may not be suf-  
ficient current flowing in the motor to maintain sufficient speed  
for sensorless operation. However, the A4964 will not limit the  
minimum applied duty cycle in order to provide full flexibility  
for the speed control ECU to manage the motor operation. If the  
motor speed drops below the underspeed threshold, fSL, then the  
A4964 will indicate the loss of synchronization condition.  
If the motor load exceeds the available torque for the demanded  
current limit, then the motor speed will drop until the motor load  
matches the available torque. If the motor speed drops below  
the underspeed threshold, then the A4964 will indicate the loss  
of synchronization condition. If this condition occurs when the  
RUN and RSC bits are set to 1, and the demand input is not 0%,  
then the start sequencer is reset and the start sequence is imme-  
diately initiated. This cycle will continue until stopped by setting  
the demand input to 0 or setting either the RUN bit or the RSC  
bit to 0.  
If a loss of synchronization occurs when the RUN and RSC  
bits are set to 1, and the demand input is not 0%, then the start  
sequencer is reset and the start sequence immediately initiated.  
This cycle will continue until stopped by setting the demand  
input to 0 or setting either the RUN bit or the RSC bit to 0.  
If a loss of synchronization occurs and RSC = 0, the A4964 will  
remain in the loss of synchronization state until the demand input  
is set to 0%, the RUN bit is set to 0 or a serial read of the Status  
register with DSR = 0 occurs.  
If a loss of synchronization occurs and RSC = 0, the A4964 will  
remain in the loss of synchronization state until the demand input  
is set to 0%, the RUN bit is set to 0, or a serial read of the Status  
register with DSR = 0 occurs.  
CLOSED-LOOP SPEED CONTROL  
The A4964 includes a speed control loop to provide constant  
speed under varying supply, load, and temperature conditions.  
The required motor speed, fREF, is the product of the demand  
input and the speed control resolution defined by the SR[2:0]  
variable as defined by:  
CLOSED-LOOP TORQUE (CURRENT) CONTROL  
The fixed-frequency current limiting feature described above can  
be used to provide a closed-loop torque control by varying the  
current reference threshold voltage. Current control can be used  
in any of the drive modes, but the most accurate phase current  
control will only be achievable when the motor is driven in two-  
f
REF = DI × SR (Hz)  
where fREF is the required reference speed in Hz, DI is the 10-bit  
demand input, and SR is the speed resolution in Hz.  
42  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
The reference frequency defines the motor speed as the electrical  
cycle frequency. The motor speed in rpm can be calculated from:  
Table 3: Speed Range and Resolution  
Motor Pole-Pairs (Speed in rpm)  
fRES  
fMAX  
SR  
fE 60  
NP P  
(Hz)  
(Hz)  
1
2
3
4
6
~M =  
0
1
2
3
4
5
0.1  
0.2  
0.4  
0.8  
1.6  
3.2  
102.3  
6138  
3069  
6138  
2046  
4092  
8184  
1535  
3069  
6138  
1023  
2046  
4092  
8184  
where ωM is the motor speed in rpm, fE is the electrical cycle  
frequency, and NPP is the number of magnetic pole pairs in the  
motor.  
204.6 12276  
409.2 24552 12276  
819.4 49104 24552 16368 12276  
The maximum value of fREF for each value of SR is listed in  
table 3, which also shows the equivalent motor speed (in rpm) for  
several motor pole-pair options.  
1636.8 98208 49104 32736 24552 16368  
3273.6 98208 65472 49104 32736  
As the reference speed reduces, the motor speed will follow until  
it is too low to maintain sensorless operation and the motor speed  
drops below the underspeed threshold set by the SL[3:0] variable.  
At this point, the A4964 will turn off all bridge MOSFETs, allow-  
ing the motor to coast. The LOS bit will be set to 1, indicating a  
loss of synchronization.  
The closed-loop speed controller compares the required reference  
speed to the motor speed. It then adjusts the duty cycle of the  
PWM signal applied to the bridge in a controlled manner until the  
motor speed matches the reference speed.  
fMAX  
If a loss of synchronization occurs and RSC = 0, the bridge MOS-  
FETs will remain in this state until demand input is set to 0 or the  
RUN bit is set to 0.  
Restart operates  
if enabled  
If a loss of synchronization occurs when the RUN = 1 and  
RSC = 1 and when the demand input sets the reference speed  
to greater than SF2, then the start sequencer resets and the start  
sequence is initiated. This cycle will continue until stopped by  
setting the demand input to zero or setting either the RUN bit or  
the RSC bit to 0.  
No restart  
Coast Motor  
SF2  
0
When using closed-loop speed control, the A4964 will continue  
to provide current limiting using the internal fixed-frequency cur-  
rent limiter.  
0
1023  
Demand Input  
Figure 21: Reference Speed versus Demand Input  
SPEED CONTROL DYNAMIC RESPONSE  
The relationship between the demand input and the motor refer-  
ence speed is shown in Figure 21. As the demand input increases  
from 0 the bridge drive will be disabled allowing the motor to  
coast. This output state will remain until the reference speed is  
greater than the start ramp end speed set by SF2, at which point  
the start-up sequence is initiated and the motor is allowed to  
run. Once sensorless operation is achieved the motor speed will  
change to match the reference speed determined by the demand  
input. The speed then continues to match the demand without  
being affected by varying the steady-state supply voltage or load  
up to the torque limit. The torque limit is imposed by either the  
peak current limiter or effective applied voltage limited by the  
motor bemf.  
The dynamic response of the speed controller can be tuned to  
the motor and load dynamics using three variables: SG[3:0],  
SGL[4:0], and DF.  
The speed control loop operates as a sampled system where the  
sampling rate is the bridge PWM frequency. The bridge peak  
duty cycle is altered based on the value of the speed error and  
both are updated each bridge PWM period.  
When the motor speed is close to the reference speed, the control  
loop response is determined by the gain factor set by the SG[3:0]  
variable. This gain multiplies the speed error—the difference  
between the motor speed and the reference speed—to increase  
43  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
or decrease the peak PWM duty cycle applied to the bridge.  
This causes the motor to accelerate or decelerate to minimize  
the speed error. The amount of acceleration or deceleration is  
therefore determined by the product of the speed error and the  
gain determined by SG. In general, the gain setting can be higher  
for low-inertia motor/load combinations with a high dynamic  
response and will be lower for high-inertia motor/load combina-  
tions with a low dynamic response.  
case, this sudden large increase in deceleration torque may cause  
an increase in audible noise, some instability and possibly speed  
undershoot. To avoid this, the maximum deceleration is also  
limited by limiting the maximum speed error using the SGL[4:0]  
variable and SG[3:0] variable. However, in addition to these com-  
mon effects of speed change, deceleration produces an additional  
undesirable outcome. During deceleration, the current will flow  
in the reverse direction back to the bridge supply. This reverse  
current may cause an increase in the bridge voltage depending on  
the ability of the bridge supply to absorb the energy delivered by  
the current. If the energy cannot be absorbed either by the supply  
or by any capacitors connected to the supply then the voltage  
may reach dangerous levels. To limit this effect, the deceleration  
factor variable, DF[1:0], can be used to enforce a lower decelera-  
tion limit in proportion to the acceleration limit. The acceleration  
limit is determined by the value of SGL × SG, and the decelera-  
tion limit by (SGL × SG)/DF. In general, the deceleration factor  
setting can be set to 1 for low-inertia motor/load combinations  
and to a higher value for high-inertia motor/load combinations. In  
cases where the supply is capable of absorbing the motor energy  
from the reverse current, for example high performance battery  
powered systems or systems with large low impedance supply  
capacitors, the value of DF[1:0] can also be set to 1.  
When there is a large difference between the motor speed and the  
reference speed—for example, when a large step change in speed  
is required—the error will be large and this will cause a large  
change to the peak duty cycle applied to the bridge. If the speed  
change is from a low speed to a high speed, then the step change  
in the bridge PWM duty cycle will cause a large increase in cur-  
rent to provide the high acceleration torque to increase the speed  
of the motor. This sudden large increase in acceleration torque  
may cause an increase in audible noise or even some instability  
and speed overshoot. To avoid these undesirable outcomes, the  
maximum acceleration is limited by limiting the maximum speed  
error using the SGL[4:0] variable and SG[3:0] variable. This will  
limit the speed error value that used to determine the peak value  
of the bridge PWM and will in turn limit any step increase in  
the peak duty cycle and the resulting torque and acceleration. As  
for the gain setting variable, the error limit value can be higher  
for low-inertia motor/load combinations with a high dynamic  
response and will be lower for high-inertia motor/load combina-  
tions with a low dynamic response.  
The effect of the acceleration and deceleration limits and  
dynamic limits are shown in Figure 22.  
SUPPLY VOLTAGE COMPENSATION  
Any change in the bridge supply voltage will change the relation-  
ship between applied duty cycle and resulting drive output.  
Speed Loop in  
Control using SG  
The two closed-loop control modes of the A4964 will automati-  
cally compensate for these changes if the rate of change is less than  
the response time of the control loop. However, the rate of change  
is faster than the control loop response time, then there will be a  
transient disturbance in the motor speed or torque output.  
Motor Speed  
Deceleration limited  
by (SGL × SG) / DF  
To overcome these effects, the A4964 includes a duty cycle volt-  
age compensation function for two nominal voltage levels, 12 V  
and 24 V. The nominal voltage is the bridge supply voltage at  
which the bridge duty cycle is unaltered. When the bridge supply  
voltage rises above the nominal voltage, then the bridge duty  
cycle is reduced in proportion. When the bridge supply voltage  
falls below the nominal voltage, then the bridge duty cycle is  
increased in proportion.  
Speed Demand  
Acceleration limited  
by SGL × SG  
Time  
Figure 22: Speed Control Dynamic Response Limits  
If the speed change is from a high speed to a low speed, then the  
resulting step change in the bridge PWM duty cycle will attempt  
to apply a large reverse current to provide the high deceleration  
torque to reduce the speed of the motor. As for the acceleration  
Supply voltage compensation is only applied to the open-loop  
and closed-loop speed modes, and operates continuously when  
enabled. For the closed-loop speed mode, this means that any  
transient disturbance in the motor speed, caused by the change  
44  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
in supply voltage, will be minimized. For the open-loop speed  
mode, it means that the duty cycle applied to the bridge will be  
continuously modulated to maintain the same effective voltage  
applied to the motor.  
Supply voltage compensation is not required for the closed-loop  
current control mode. In this mode, the current is controlled on  
a PWM cycle-by-cycle basis and is therefore unaffected by any  
change in supply voltage.  
The range of bridge supply voltage over which the duty cycle  
compensation is effective is limited in each case. For the 12 V  
nominal selection, the range is 7 V to 19 V. For the 24 V nominal  
selection, the range is 14 V to 38 V.  
The function is enabled and the nominal voltage selected by the  
contents of the DV[1:0] variable. When DV[1:0] = [0,0], the duty  
cycle compensation feature is disabled.  
When DV[1:0] = [0,1] or [1,1], the nominal voltage is 12 V.  
When DV[1:0] = [1,0], the nominal voltage is 24 V.  
45  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
programmable level.  
Diagnostics  
The status and diagnostic registers are described further in the  
serial interface section description below.  
Multiple diagnostic features provide fault monitoring for the  
basic chip status, for the state of the external bridge and for the  
motor control function. Most of the non-critical diagnostics can  
be masked by setting the appropriate bit in the mask register. The  
detectable faults are listed in table 5.The fault status is available  
through the serial interface or through the DIAG output. The  
serial output, SDO, can also be programmed to provide a divided  
version of the system clock that can be used for clock frequency  
verification or system calibration.  
DIAG OUTPUT  
DIAG is a battery-compliant open-drain pull-down output that  
provides the following four optional signals selected by the  
DGS[1:0] variable:  
DGS = 0: An active-low fault flag which will be low when a  
fault is present or a fault state is latched.  
SERIAL STATUS REGISTER  
DGS = 1: An FG speed signal providing a square wave at the  
electrical cycle frequency.  
The serial interface allows detailed diagnostic information to be  
read from the Status register at any time.  
DGS = 2: Time-based pulses to differentiate the fault groups  
as described in table 5 below. DIAG will be inactive when no  
fault is present.  
The first bit (bit 15) of the Status register contains a common  
fault flag, FF, which will be high if any of the fault bits in the  
registers have been set. This allows fault condition to be detected  
using the serial interface by simply taking STRn low. As soon as  
STRn goes low, the first bit in the Status register can be read to  
determine if a fault has been detected at any time since the last  
Status or Diagnostic register reset. In all cases, the fault bits in the  
diagnostic registers are latched and only cleared after the associ-  
ated fault bit is read through the serial interface with DSR = 0.  
DGS = 3: Time-based pulses to differentiate the fault groups  
as described in table 5 below. DIAG will output the FG signal  
when no fault is present.  
When operating in stand-alone mode and DGS = 0 or 2, DIAG  
can be externally connected directly to the LIN terminal or to the  
LTX input to superimpose the fault information onto the PWM  
input. When DGS = 2, the PWM input duty cycle detection will  
ignore the state of the PWM signal when DIAG is low and main-  
tain the last detected demand input.  
DIAGNOSTIC REGISTER  
The diagnostic register provides additional details of any VDS  
overvoltage or bootstrap undervoltage faults. It also provides an  
indication when the reported motor speed is above the maximum  
Further details on using the DIAG output for error reporting are  
provided in the applications section in this datasheet.  
Table 4: DIAG Pulse Definition and Fault Allocation  
DGS[1:0]  
00  
01  
10  
11  
Fault Description  
No Fault  
Fault Group  
No Fault  
DIAG Output  
Priority  
Serial Error  
H
L
L
FG  
FG  
FG  
H
L
FG  
5
4
VBB POR  
Temperature Warning  
System Error  
System  
L
VBB Undervoltage  
VLR Undervoltage  
VREG Undervoltage  
Bootstrap Undervoltage  
Over Temperature  
VDS Overvoltage  
Loss of Synchronization  
Undervoltage  
L: 2.5 s / H: 1 s  
L: 2.5 s / H: 1 s  
Temperature  
Short Detect  
Motor lock  
L
L
L
FG  
FG  
FG  
L: 2 s / H: 1 s  
L: 1 s / H: 1 s  
L: 1.5 s / H: 1 s  
L: 2 s / H: 1 s  
L: 1 s / H: 1 s  
L: 1.5 s / H: 1 s  
3
2
1
46  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
and appendix A. When a fault is detected, a corresponding fault  
state is considered to exist. In some cases, the fault state only  
exists during the time the fault is detected. In other cases, when  
the fault is only detected for a short time, the fault state is latched  
(stored) until reset. The faults that are latched are indicated in  
Table 5. Some latched fault states are reset with specific actions,  
DIAG FAULT WAVEFORMS  
Table 5 lists the output signal on the DIAG terminal for each fault  
and each setting of DGS. The faults are grouped into six groups.  
When DGS = 0, the DIAG output will be low when any fault is  
present. When DGS = 1, the FG speed signal will be present on  
DIAG. The FG signal will remain high when the motor is station-  
ary. When DGS = 2 or 3, the faults are reported in six groups. Each but all fault states are always reset when a power-on-reset state is  
group has a unique timing combination of low (active pull-down)  
and high (passive pull-up). If a fault is present when DGS = 2 or  
3, the fault groups will be identified by the length of time that the  
DIAG output will be low. Except in the case of a system error, the  
DIAG output will be high for 1 second between each identifying  
time, ranging from 1 second to 2.5 seconds. The fault groups are  
each assigned a priority from 1 (low) to 5 (high); when more than  
one fault is present, the highest priority fault is reported. If system  
error is present, the DIAG output will be held low.  
present or when the associated fault bit is read through the serial  
interface with DSR = 0. Any fault bits that have been set in the  
diagnostic registers are only reset when a power-on-reset state is  
present or when the associated fault bit is read through the serial  
interface with DSR = 0.  
The fault conditions VBB POR (power-on-reset) and VREG  
undervoltage are considered critical to the safe operation of the  
A4964 and the system. If these faults are detected, then the gate  
drive outputs are automatically driven low and all MOSFETs in  
the bridge held in the off state. This state will remain until the  
fault is removed.  
FAULT ACTION  
The action taken for each fault is listed in Table 5a, Table 5b,  
Table 5a: Fault Response Actions (ESF = 0, no faults masked)  
Disable  
Outputs  
Fault State  
Latched  
Fault Description  
RSC[7]  
Other Action  
Fault State Reset  
Re-enable Outputs  
No Fault  
System Error  
Serial Error  
No  
Yes [1]  
No  
n/a  
n/a  
n/a  
n/a  
Yes  
No  
None  
RUN = 0  
None  
n/a  
POR, RUN = 1  
POR or SPI [3]  
n/a  
Internal logic  
shutdown and  
reset  
VBB POR  
Yes [1]  
n/a  
No  
Condition removed  
RUN = 1  
Demand input = 0, RUN = 0 or  
SPI [3][4]  
0
1
0
1
0
Yes  
No  
VBB Undervoltage  
No  
None  
n/a  
Condition removed  
First watchdog transition after  
100 ms from MRSTn going high  
Demand input reset [5], RUN reset [6]  
or SPI [3][4]  
,
Yes  
Yes  
Yes  
VLR Undervoltage  
Watchdog Fault  
Yes [1]  
Yes [1]  
MCU reset  
MCU reset  
First watchdog transition after 100 ms from MRSTn going high  
First watchdog transition after  
100 ms from MRSTn going high  
Demand input reset [5], RUN reset [6]  
or SPI [3][4]  
,
1
Yes  
No  
No  
No  
No  
First watchdog transition after 100 ms from MRSTn going high  
VREG Undervoltage  
Bootstrap Undervoltage  
Temperature Warning  
Overtemperature  
Yes [1]  
Yes [2]  
No  
n/a  
n/a  
n/a  
n/a  
None  
None  
None  
None  
Condition removed  
PWM on  
Condition removed  
Condition removed  
n/a  
n/a  
No  
Demand input = 0 or RUN = 0  
Demand input reset [5] or RUN reset [6]  
SPI [3][4]  
0
Yes  
None  
Loss of  
Synchronization  
Yes [1]  
1
No  
No  
Stop and restart  
None  
Condition removed  
PWM on  
VDS Overvoltage  
Yes [2]  
n/a  
[1] All gate drives low, all MOSFETs off.  
[5] Set demand input = 0 then set demand input to a new operating value.  
[6] Set RUN bit = 0 then set RUN bit = 1.  
[7] Restart control bit.  
[2] Gate drive for the affected MOSFET low, only the affected MOSFET off.  
[3] Only when DSR = 0.  
[4] Serial read of Status or Diagnostic register.  
47  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Table 5b: Fault Response Actions (ESF = 1, no faults masked)  
Disable  
Outputs  
Fault State  
Latched  
Fault Description  
RSC[7]  
Other Action  
Fault State Reset  
Re-enable Outputs  
No Fault  
System Error  
Serial Error  
No  
Yes [1]  
No  
n/a  
n/a  
n/a  
n/a  
Yes  
No  
None  
RUN = 0  
None  
n/a  
POR, RUN = 1  
POR or SPI [3]  
n/a  
RUN = 1  
Internal logic  
shutdown and  
reset  
VBB POR  
Yes [1]  
n/a  
0
No  
Condition removed  
Demand input = 0 or RUN = 0  
Demand input reset [5] or RUN reset [6]  
Yes  
VBB Undervoltage  
Yes [1]  
None  
SPI [3][4]  
Condition removed  
1
0
1
0
No  
Yes  
Yes  
Yes  
First watchdog transition after  
100 ms from MRSTn going high  
Demand input reset [5], RUN reset [6]  
or SPI [3][4]  
,
VLR Undervoltage  
Watchdog Fault  
Yes [1]  
Yes [1]  
MCU reset  
MCU reset  
First watchdog transition after 100 ms from MRSTn going high  
First watchdog transition after  
100 ms from MRSTn going high  
Demand input reset [5], RUN reset [6]  
or SPI [3][4]  
1
Yes  
No  
First watchdog transition after 100 ms from MRSTn going high  
Condition removed  
VREG Undervoltage  
Bootstrap Undervoltage  
Temperature Warning  
Yes [1]  
Yes [1]  
No  
n/a  
None  
None  
None  
Demand input = 0 or RUN = 0  
Demand input reset [5] or RUN reset [6]  
SPI [3][4]  
n/a  
Yes  
n/a  
0
No  
Yes  
Yes  
Condition removed  
n/a  
First watchdog transition after  
100 ms from MRSTn going high  
Demand input reset [5], RUN reset [6]  
or SPI [3][4]  
,
VLR regulator  
shutdown and  
MCU reset  
Overtemperature  
Yes [1]  
1
First watchdog transition after 100 ms from MRSTn going high  
Demand input = 0 or RUN = 0  
Demand input reset [5] or RUN reset [6]  
SPI [3][4]  
Demand input reset [5] or RUN reset [6]  
SPI [3][4]  
0
Yes  
None  
Loss of  
Synchronization  
Yes [1]  
Yes [1]  
1
No  
Stop and restart  
None  
Demand input = 0 or RUN = 0  
VDS Overvoltage  
n/a  
Yes  
[1] All gate drives low, all MOSFETs off.  
[5] Set demand input = 0 then set demand input to a new operating value.  
[6] Set RUN bit = 0 then set RUN bit = 1.  
[7] Restart control bit.  
[2] Gate drive for the affected MOSFET low, only the affected MOSFET off.  
[3] Only when DSR = 0.  
[4] Serial read of Status or Diagnostic register.  
VBB undervoltage is not considered critical and the action taken  
The action taken when a short fault, bootstrap undervoltage, or  
depends on the state of the enable stop on fault bit, ESF. If a VBB overtemperature condition is detected is also determined by the  
undervoltage condition exists and ESF = 1, the gate drive outputs  
will be disabled and the motor will coast until the condition is  
removed. If the restart bit, RSC, is set to 1, then the motor will  
restart when the VBB undervoltage condition is removed. If RSC  
= 0, the motor will remain stationary until:  
state of ESF. When ESF = 1, any short fault condition, boot-  
strap undervoltage, or overtemperature condition will disable all  
the gate drive outputs and coast the motor. For short faults and  
bootstrap undervoltage, this fault state is latched and all gate  
drive outputs remain disabled until a demand input reset, a RUN  
bit reset, a serial read of the Diagnostic register with DSR = 0, or  
a power-on-reset occurs. For overtemperature fault conditions,  
the outputs will remain disabled until 10 ms after the condition is  
removed.  
• Demand input is set to 0 and then set to a new operating value  
(demand input reset),  
• RUN bit is set to 0 then RUN bit is set to 1 (RUN reset),  
• Status register is read through the serial interface with DSR = 0,  
or  
When ESF = 0, no action will be taken for an overtemperature  
condition. For any short fault or bootstrap undervoltage condi-  
tion, only the MOSFET associated with the detected fault will be  
• Power-on-reset occurs.  
48  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
disabled. This fault state will be latched until the next PWM-on  
state for the associated phase. In some cases, this will allow the  
A4964 to continue to operate the motor in a reduced functional  
mode depending on the specific fault condition.  
When VBB rises above the VBBR threshold, the A4964 will exit  
the power down state, all serial control registers will be reset to  
their power-on state, and all fault states will be reset. The FF bit  
and the POR bit in the Status register will be set to one to indicate  
that a power-on-reset has taken place. In general, the VSU, VRU,  
and VLU bits may also be set following a power-on-reset as the  
regulators may not have reached their respective rising undervolt-  
age thresholds until after the register reset is completed.  
When a loss of synchronization is detected, all the gate drive  
outputs are disabled and the motor coasts. If the restart bit, RSC,  
is set to 1, the A4964 immediately goes into a startup sequence.  
If RSC = 0, the loss of synchronization fault state is latched and  
all gate drive outputs remain disabled until a demand input reset,  
a RUN bit reset, a serial read of the Status register with DSR = 0,  
or a power-on-reset occurs.  
At power-up, the logic inputs and outputs will remain disabled  
until VLR rises above the rising undervoltage threshold, VLRON. If  
the WD mask bit is saved as 0 in non-volatile EEPROM (NWM),  
the MRSTn output will remain low for 10 ms. If the WD mask  
bit is saved as 1 in NWM, the MRSTn output will remain low for  
10 ms or until the first valid serial transfer (whichever occurs first).  
After the MRSTn output goes high, the gate drive outputs will be  
re-enabled as described in the Fault Action section.  
In all cases, any fault bits that have been set in the diagnostic  
registers are latched and only reset when a power-on-reset state is  
present or when the associated fault bit is read through the serial  
interface with DSR = 0.  
The same power-on-reset sequence occurs for initial power-on  
or for a VBB “brown-out” where VBB only drops below VBBR  
momentarily.  
FAULT MASKS  
Individual diagnostics, except POR and system error, can be dis-  
abled by setting the corresponding bit in the mask register. If a bit  
is set to one in the mask register, then the corresponding diagnos-  
tic will be completely disabled. No fault states for the disabled  
diagnostic will be generated, no fault flags or diagnostic bits will  
be set, and no fault actions will be taken. See the mask register  
definition for bit allocation.  
CHIP FAULT STATE: OVERTEMPERATURE  
Two temperature thresholds are provided. A hot warning and an  
overtemperature shutdown.  
• If the chip temperature rises above the temperature warning  
threshold, TJW, the thermal warning bit, TW, will be set in  
the Status register. No action will be taken by the A4964  
when a thermal warning fault condition is present. When the  
temperature drops below TJW by more than the hysteresis value,  
TJWHys, the fault condition is removed. The thermal warning bit,  
TW, remains latched in the Status register until reset.  
Care must be taken when diagnostics are disabled to avoid poten-  
tially damaging conditions.  
CHIP-LEVEL DIAGNOSTICS  
Parameters, which are critical for safe operation of the A4964  
and the external MOSFETs, are monitored. These include serial  
interface, chip temperature, minimum internal logic supply volt-  
age, and the minimum motor supply voltage. Faults are latched in  
the Status or Diagnostic register when they occur and the register  
is only reset by a Status or Diagnostic register reset.  
• If the chip temperature rises above the over temperature  
threshold, TJF, the over temperature bit, OT, will be set in the  
Status register.  
If ESF = 1, all gate drive outputs will be disabled, the VLR  
regulator is shut down and MRSTn will go low. All A4964 func-  
tions other than the regulator remain active. When TJ drops by  
more than the overtemperature threshold (TJ < TJF – TJHyst), the  
regulator will remain shut down and MRSTn will remain low for  
10 ms. After this timeout, MRSTn goes high and the regulator is  
re-enabled and attempts to restart. The overtemperature bit, OT,  
remains latched in the Status register until reset.  
CHIP FAULT STATE: POWER-ON RESET  
The supply to the logic sections of the A4964 is generated by an  
internal regulator from VBB and is monitored to ensure correct  
logical operation. The internal logic is guaranteed to operate with  
, down to VBBR. When VBB  
the voltage at the VBB terminal, VBB  
drops below the VBBR threshold, then the logical function of the  
A4964 cannot be guaranteed, all outputs will be immediately dis-  
abled and all the logic reset. The A4964 will enter a power-down  
state and all internal activity, other than the logic supply voltage  
monitor will be suspended.  
If ESF = 0, no circuitry will be disabled and action must be taken  
by the user to limit the power dissipation in some way so as to  
prevent overtemperature damage to the chip and unpredictable  
device operation. When the temperature drops below TJF by more  
49  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
than the hysteresis value, TJFHys, the fault condition is removed.  
The overtemperature bit, OT, remains latched in the Status regis-  
ter until reset.  
CHIP FAULT STATE: VLR UNDERVOLTAGE  
The voltage at the VLR terminal, VLR, is monitored to ensure that  
the supply for any external controller is high enough to permit  
correct operation of the controller. If VLR drops below the falling  
undervoltage threshold, VLROFF, the regulator undervoltage bit,  
VLU, will be set in the Status register, the MRSTn output will go  
low to reset the external microcontroller and all gate drive out-  
puts will be disabled. When VLR rises above the rising undervolt-  
age threshold, VLRON, the MRSTn output will remain low. After  
10 ms the MRSTn output will go high and the watchdog timer  
will be reset. The watchdog timer will remain reset for 100 ms  
and during this time the WDOG input will be ignored. The A4964  
will then attempt to restart the motor on the first watchdog transi-  
tion if the RUN and RSC bits are set to 1, and the demand input  
is at a level where starting the motor is permitted. If the RSC  
bit is set to 0, the gate drive outputs will remain disabled until  
the first watchdog transition and a demand input reset, a RUN  
bit reset, a serial read of the Status register with DSR = 0, or a  
power-on-reset occurs. The VLU fault bit remains in the Status  
register until cleared.  
CHIP FAULT STATE: VBB UNDERVOLTAGE  
The VBB undervoltage monitor provides an indication that the  
main power supply has dropped below the desirable operating  
level. This monitor is provided as a system level function to indi-  
cate that the supply voltage has dropped to a voltage level where  
the motor may not be capable of providing full performance.  
When a VBB undervoltage state is present, the VSU bit in the  
Status register will be set, but the A4964 will still be capable of  
operating to the full specification.  
A VBB undervoltage condition will be present when the voltage  
at the VBB terminal, VBB, drops below the VBB undervoltage  
lockout threshold, VBBOFF. The VBB undervoltage condition is  
removed when VBB rises above the VBB undervoltage lockout  
threshold, VBBON  
.
During a VBB undervoltage fault condition, if ESF = 1 all  
gate drive outputs will be disabled. When the fault condition  
is removed, the A4964 will enter the startup sequence if RSC  
= 1. If RSC = 0, the fault state will be latched and remain until  
the demand input is set to 0, the RUN bit is set to 0, the Status  
register is read with DSR = 0 or a power-on-reset occurs. If ESF  
= 0, no action will be taken. In all cases, the VSU bit remains set  
in the Status register until cleared.  
CHIP FAULT STATE: VPP UNDERVOLTAGE  
During a NVM write operation, the voltage at the VPP terminal,  
VPP, is monitored to ensure that the programming supply remains  
high enough to ensure correct programming of the EEPROM  
memory cells. If VPP drops below the programming undervoltage  
level, VPPUV, during the save sequence, then the sequence will  
be terminated immediately and the FF and VPU bits will be set  
in the Status register. The SAV[1:0] bits will also indicate that  
the write was not successful. The VPU bit can only be set during  
a write sequence. For normal operation, the VPP undervoltage  
comparator is disabled.  
The VBB undervoltage monitor and fault action can be disabled  
by setting the VSU bit in the mask register.  
CHIP FAULT STATE: VREG UNDERVOLTAGE  
The internal charge-pump regulator supplies the low-side gate  
driver and the bootstrap charge current. It is critical to ensure that  
the regulated voltage at the VREG terminal, VREG, is sufficiently  
high before enabling any of the outputs.  
CHIP FAULT STATE: SERIAL ERROR  
The data transfer into the A4964 through the serial interface is  
monitored for two fault conditions: transfer length and parity. A  
transfer length fault is detected if there are more than 16 rising  
edges on SCK or if STRn goes high and there are fewer than 16  
rising edges on SCK. A parity fault is detected if the total number  
of logic 1 states in the 16-bit transfer is an even number. In both  
cases, the write will be cancelled without writing data to the  
registers. In addition, the Status register will not be reset and the  
FF bit and SE bit will be set to indicate a data transfer error. No  
further action will be taken. The SE bit will remain in the Status  
register until the next successful serial write with DSR = 0 or a  
power-on reset occurs.  
If VREG goes below the VREG undervoltage threshold, VROFF, the  
VREG undervoltage bit, VRU, will be set in the Status register, all  
gate drive outputs will go low, and the motor drive will coast. When  
VREG rises above VRON, the gate drive outputs are re-enabled. The  
VRU fault bit remains in the Status register until cleared.  
The VREG undervoltage monitor circuit is active during power  
up. All gate drives will remain low until VREG is greater than  
approximately 8 V. Note that this is sufficient to turn on standard  
threshold external power MOSFETs at a battery voltage as low as  
5.5 V, but the on-resistance of the MOSFET may be higher than  
its specified maximum.  
50  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
These thresholds must be set to a suitable level to provide  
CHIP FAULT STATE: SYSTEM ERROR  
appropriate overspeed and underspeed limits for all motor control  
modes.  
If the SE bit is 1 at the same time as the POR bit is 1, then this  
indicates that a fault was detected when reading the NVM and  
the user-defined states have not been loaded into the control and  
configuration registers. In this case, the control and configura-  
tion registers will contain the default states and the RUN bit will  
be set to 0 to prevent any attempt to activate the outputs. The SE  
bit will remain in the Status register until the next successful SPI  
write or a power-on reset occurs. This gives an external micro-  
controller the opportunity to write the user-defined bits to the  
registers and activate the drive.  
The overspeed and underspeed thresholds are shown, in Figure  
23, relative to the reference speed set by DI[9:0] and the actual  
speed reported by DO[9:0].  
The four bits of the underspeed threhold variable, SL[3:0], have  
the same weighting as bits 6:3 of the reference speed variable DI.  
The least significant 3 bits of the overspeed threhold variable,  
SH[3:0], have the same weighting as the most significant 3 bits  
of the reference speed variable DI. The most significant bit of SH  
has twice the weighting of the most significant bit of DI. Relative  
to the reference speed, the overspeed threshold variable can be  
considered as an 11-bit value where the most significant bits are  
set by SH[3:0] and the least significant 7 bits are set to 1.  
If the A4964 is operating without an external microcontroller  
when system error is indicated, then it will be held in this state  
until the power is cycled off then on and another attempt is made  
to transfer the NVM contents into the registers.  
MOTOR FAULT: LOSS OF SYNCHRONIZATION  
The overspeed threshold can therefore be programmed between  
approximately 12% and 200% of the maximum reference speed  
and the underspeed threshold between 0% and 12.4% of the  
maximum reference speed.  
The motor operation is controlled by a closed-loop position esti-  
mator system, so it does not have any direct, immediate means  
of determining whether the motor is synchronized to the rotating  
field generated by the A4964. A loss of synchronization can only  
be detected if the commutation controller attempts to drive the  
motor too fast (overspeed) or too slow (underspeed).  
If the commutation controller attempts to drive the motor at less  
than the underspeed threshold or greater than the overspeed thre-  
hold, then the A4964 will indicate loss of synchronization.  
The underspeed (low-speed) threshold, fSL, is defined as:  
Note that the underspeed threshold, SL, should always be set to  
be lower than the minimum windmill frequency, fWMF, defined  
by WMF[3:0]. If it is set higher, then any use of windmill start  
below the underspeed threshold but above the minimum windmill  
frequency will immediately indicate loss of synchronization.  
fSL = 8 × n × fRES (Hz)  
where n is a positive integer defined by SL[3:0], fSL is the  
underspeed threshold, and fRES is the speed resolution defined by  
SR[2:0].  
In the extreme case when a motor stalls due to excessive load on  
the output, there will be no bemf zero crossing detection and the  
frequency of the commutation sequence will be reduced at each  
expected commutation point to try and regain synchronization.  
The resulting speed will eventually reduce below the underspeed  
threshold after a number of commutation cycles and the A4964  
will set the LOS bit in the Status register to 1 and coast the motor.  
The overspeed (high speed) threshold, fSH, is defined as:  
fSH = [127 + (n × 128)] × fRES (Hz)  
where n is a positive integer defined by SH[3:0], fSH is the  
overspeed threshold, and fRES is the speed resolution defined by  
SR[2:0].  
SH  
LSBs to 0  
3
2
9
1
8
0
In some cases, rather than a complete stall, it is also possible for  
the motor to vibrate at a whole fraction (subharmonic) of the  
commutation frequency produced by the controller. In this case,  
the controller will still detect the bemf zero crossing, but at a rate  
much higher than the motor is capable of running. The commuta-  
tion controller will increase the commutation rate to compensate  
and the resulting speed will increase above the overspeed thresh-  
old and the A4964 will set the LOS bit in the Status register to 1  
and coast the motor.  
DI / DO  
7
6
3
5
2
4
1
3
0
2
1
0
SL MSBs set to 0  
LSBs to 0  
Figure 23: Over- and Underspeed versus  
Reference Speed  
51  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
When loss of synchronization is detected, the controller will  
either stop or attempt to restart the motor depending on the state  
of the RUN bit, the restart control bit, RSC, and the demand  
input.  
Note that the VBRG terminal can withstand a negative voltage up  
to –5 V. This allows the terminal to remain connected directly to  
the top of the power bridge during negative transients where the  
body diodes of the power MOSFETs are used to clamp the nega-  
tive transient. The same applies to the more extreme case where  
the MOSFET body diodes are used to clamp a reverse battery  
connection.  
If the RUN and RSC bits are set to 1, and the demand input  
is greater than the minimum limit for the motor to run in the  
selected motor control mode (see mode descriptions for details),  
then the start sequencer will reset and retry. This cycle will con-  
tinue until stopped by taking the demand input to zero or setting  
either the RUN bit or the RSC bit to 0.  
MOSFET FAULT QUALIFICATION  
The output from each VDS overvoltage comparator is filtered by  
a VDS fault qualifier circuit. This circuit uses a timer to verify  
that the output from the comparator is indicating a valid VDS  
fault. The duration of the VDS fault qualifying timer, tVDQ, is  
determined by the contents of the VQT[5:0] variable as:  
If the RSC bit is set to 0, the motor will continue to coast until a  
demand input reset, a RUN bit reset, a serial read of the Status  
register with DSR = 0, or a power-on-reset occurs.  
The LOS bit will remain in the Status register until reset.  
tVDQ = n × 50 ns  
where n is a positive integer defined by VQT[5:0].  
MOSFET FAULT DETECTION  
The qualifier can operate in one of two ways: debounce mode or  
blanking mode, selected by the VDQ bit.  
Faults on any external MOSFETs are determined by measuring  
the drain-source voltage of the MOSFET and comparing it to the  
drain-source overvoltage threshold, VDST, defined by the VT[5:0]  
variable. These bits provide the input to a 6-bit DAC with a least  
significant bit value of typically 50 mV. The output of the DAC  
produces VDST, approximately defined as:  
In the default, debounce mode, a timer is started each time the  
comparator output indicates a VDS fault detection when the  
corresponding MOSFET is active. This timer is reset when the  
comparator changes back to indicate normal operation. If the  
debounce timer reaches the end of the timeout period, set by  
tVDQ, then the VDS fault is considered valid and the correspond-  
ing VDS fault bit, AH, AL, BH, BL, CH, or CL will be set in the  
Diagnostic register.  
VDST = n × 50 mV  
where n is a positive integer defined by VT[5:0].  
The drain-source voltage for any low-side MOSFET is measured  
between the GND terminal and the appropriate Sx terminal. Any  
low-side current sense voltage should be taken into account when  
setting the VDST level.  
In the optional, blanking mode, a timer is started when a gate  
drive is turned on. All VDS overvoltage comparator outputs are  
ignored (blanked) for the duration of the timeout period, set by  
The drain-source voltage for any high-side MOSFET is measured tVDQ. If the comparator output indicates an overcurrent event  
between the VBRG terminal and the appropriate Sx terminal.  
Using the VBRG terminal rather than VBB avoids adding any  
reverse diode voltage or high-side current sense voltage to the  
real high-side drain-source voltage and avoids false VDS fault  
detection.  
when the MOSFET is switched on and the blanking timer is not  
active, then the VDS fault is considered valid and the correspond-  
ing VDS fault bit, AH, AL, BH, BL, CH, or CL will be set to 1 in  
the Diagnostic register.  
If a valid VDS fault is detected when ESF = 1, then this fault con-  
dition will be latched and all external MOSFETs will be immedi-  
ately switched off and disabled until the fault is reset.  
The VBRG terminal is an independent low-current sense input to  
the top of the MOSFET bridge. It should be connected indepen-  
dently and directly to the common connection point for the drains  
of the power bridge MOSFETs at the positive supply connection  
point in the bridge. The input current to the VBRG terminal is  
proportional to the drain-source threshold voltage, VDST, and is  
approximately:  
If a valid VDS fault is detected when ESF = 0, then the external  
MOSFET where the fault is detected is immediately switched off  
by the A4964 but the remaining MOSFETs continue to operate.  
The MOSFET where the fault is detected will be switched on  
again the next time the internal bridge control switches it from off  
to on.  
IVBRG = 72 × VDST + 52  
where IVBRG is the current into the VBRG terminal in µA and  
VDST is the drain-source threshold voltage described above.  
To limit any damage to the external MOSFETs, when ESF = 0,  
52  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
the A4964 should either be fully disabled by setting the demand  
input to 0 or by setting RUN to 0 through a serial write. Alterna-  
then all gate drive output will be disabled. In this case, the gate  
drive outputs will remain disabled and the bootstrap undervolt-  
tively, setting the ESF bit to 1 will allow the A4964 to completely age fault state will be held until a demand input reset, a RUN bit  
disable the MOSFETs as soon as a fault is detected. Any fault bits reset, a serial read of the Diagnostic register with DSR = 0, or a  
set to 1 in the Diagnostic register remain set until cleared.  
power-on-reset occurs. When ESF = 0, only the high-side gate  
drive for the affected phase will be switched off and only for the  
remainder of the PWM period. At each PWM-on time, an attempt  
will be made to again turn on the high-side MOSFET.  
BOOTSTRAP UNDERVOLTAGE FAULT  
In addition to a monitor on VREG, the A4964 also monitors the  
individual bootstrap capacitor charge voltages to ensure sufficient  
high-side drive. Before a high-side drive can be turned on, the  
bootstrap capacitor voltage must be higher than the turn-on volt-  
age limit. If this is not the case, then the A4964 will attempt to  
charge the bootstrap capacitor by activating the complementary  
low-side drive. Under normal circumstances, this will charge the  
capacitor above the turn-on voltage in a few microseconds and  
the high-side drive will then be enabled. The bootstrap voltage  
monitor remains active while the high-side drive is active and if  
the voltage drops below the turn-off voltage, a charge cycle is  
also initiated. In either case, if there is a fault that prevents the  
bootstrap capacitor charging within typically 200 µs, then the  
charge cycle will timeout, a bootstrap undervoltage condition is  
detected, and the corresponding bootstrap undervoltage fault bit,  
BA, BB, or BC is set to 1 in the Diagnostic register.  
Any fault bits set to 1 in the Diagnostic register remain set until  
cleared.  
SYSTEM CLOCK VERIFICATION  
The SDO output can be set to provide a logic-level square wave  
output at a ratio of the internal clock frequency to allow verifica-  
tion of the system clock frequency and more precise calibration  
of the timing settings if required.  
When the CKS bit is set to 0, the SDO terminal operates as  
described in the serial interface description. When the CKS bit  
is set to 1, the SDO terminal will output the divided clock signal  
when STRn is held high. The division ratio, ND, is defined in the  
electrical characteristics table.  
When CKS = 1 and STRn is low, the serial interface will continue  
to accept data on SDI and output the normal serial data on SDO.  
If a bootstrap undervoltage condition is detected and ESF = 1,  
53  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
SERIAL INTERFACE  
Serial Registers Definition (default values shown below each input register bit)  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
MOD  
0
PMD  
0
PW5  
1
PW4  
0
PW3  
0
PW2  
1
PW1  
1
PW0  
0
0: PWM config  
0
0
0
0
0
WR  
P
0
DP2  
0
DP1  
0
DP0  
0
DD1  
0
DD0  
0
DS3  
0
DS2  
0
DS1  
0
DS0  
0
1: PWM config  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
SA1  
0
SA0  
0
DT5  
1
DT4  
0
DT3  
0
DT2  
0
DT1  
0
DT0  
0
2: Bridge config  
3: Gate drive config  
4: Gate drive config  
5: Gate drive config  
6: Current limit  
0
0
0
0
IR13  
0
IR12  
0
IR11  
0
IR10  
0
IR23  
0
IR22  
0
IR21  
0
IR20  
0
IF13  
0
IF12  
0
IF11  
0
IF10  
0
IF23  
0
IF22  
0
IF21  
0
IF20  
0
TRS3  
0
TRS2  
0
TRS1  
0
TRS0  
0
TFS3  
0
TFS2  
0
TFS1  
0
TFS0  
0
OBT4 OBT3 OBT2 OBT1 OBT0  
VIL3  
1
VIL2  
1
VIL1  
1
VIL0  
1
0
0
1
0
0
0
1
1
MIT1  
0
MIT0  
0
VT5  
0
VT4  
1
VT3  
1
VT2  
1
VT1  
1
VT0  
1
7: VDS monitor  
VDQ  
0
VQT5 VQT4 VQT3 VQT2 VQT1 VQT0  
8: VDS monitor  
0
0
1
1
1
1
1
1
WM4  
0
WM3  
0
WM2  
0
WM1  
0
WM0  
0
9: Watchdog config  
10: Watchdog config  
11: Commutation  
12: Commutation  
13: BEMF config  
14: BEMF config  
15: Startup config  
16: Startup config  
0
0
WC3  
0
WC2  
0
WC1  
0
WC0  
0
WW4  
0
WW3  
0
WW2  
0
WW1  
0
WW0  
0
CP3  
0
CP2  
1
CP1  
1
CP0  
1
CI3  
0
CI2  
1
CI1  
1
CI0  
1
0
0
0
0
CPT3  
0
CPT2  
0
CPT1  
0
CPT0  
0
CIT3  
0
CIT2  
0
CIT1  
0
CIT0  
0
BW4  
0
BW3  
0
BW2  
1
BW1  
0
BW0  
0
0
0
0
BS1  
0
BS0  
0
BF3  
0
BF2  
0
BF1  
0
BF0  
1
0
0
HT3  
0
HT2  
0
HT1  
0
HT0  
1
HD4  
0
HD3  
0
HD2  
1
HD1  
0
HD0  
1
STM  
0
RSC  
0
KM3  
0
KM2  
1
KM1  
1
KM0  
1
HR1  
0
HR0  
0
0
54  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Registers Definition (default values shown below each input register bit)  
15  
14  
13  
12  
11  
10  
9
0
0
0
0
8
7
6
5
4
3
2
1
0
WIN  
0
WMF2 WMF1 WMF0 WBD3 WBD2 WBD1 WBD0  
17: Startup config  
18: Startup config  
19: Startup config  
20: Startup config  
21: Speed loop  
22: Speed loop  
23: Speed loop  
24: NVM Write  
25: System  
1
0
0
0
1
WR  
P
0
1
0
0
1
1
1
SF23  
0
SF22  
1
SF21  
1
SF20  
1
SF13  
0
SF12  
1
SF11  
1
SF10  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
WR  
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
SD23  
0
SD22  
1
SD21  
1
SD20  
1
SD13  
0
SD12  
1
SD11  
1
SD10  
1
STS3  
0
STS2  
1
STS1  
0
STS0  
0
SFS3  
0
SFS2  
1
SFS1  
1
SFS0  
1
SGL4 SGL3 SGL2 SGL1 SGL0  
SG3  
0
SG2  
1
SG1  
0
SG0  
1
0
0
1
0
1
DV1  
0
DV0  
1
DF1  
0
DF0  
0
SR2  
0
SR1  
0
SR0  
0
0
0
SL3  
0
SL2  
1
SL1  
1
SL0  
1
SH3  
0
SH2  
1
SH1  
1
SH0  
1
0
SAV1  
0
SAV0  
0
0
0
0
0
0
0
0
ESF  
1
VLR  
0
VRG  
1
OPM  
0
LWK  
0
IPI  
0
DIL  
0
CM1  
0
CM0  
0
PAM  
0
KIP1  
0
KIP0  
0
PA5  
0
PA4  
0
PA3  
0
PA2  
0
PA1  
0
PA0  
0
26: Phase advance  
27: Motor function  
28: Mask  
LEN  
0
GTS  
0
OVM1 OVM0  
DRM  
0
BRK  
0
DIR  
0
RUN  
0
0
0
0
WD  
1
LOS  
0
OT  
0
TW  
0
VSU  
0
VRU  
0
VLU  
0
BU  
0
VO  
0
DGS1 DGS0  
DSR  
0
LBR  
0
CKS  
0
RBS2 RBS1 RBS0  
29: Readback Select  
30: Write Only  
31: Read Only  
Status  
0
0
0
0
0
0
DI9  
0
DI8  
0
DI7  
0
DI6  
0
DI5  
0
DI4  
0
DI3  
0
DI2  
0
DI1  
0
DI0  
0
DO9  
0
DO8  
0
DO7  
0
DO6  
0
DO5  
0
DO4  
0
DO3  
0
DO2  
0
DO1  
0
DO0  
0
FF  
1
POR  
1
SE  
0
VPU  
0
CLI  
0
WD  
0
LOS  
0
OT  
0
TW  
0
VSU  
0
VRU  
0
VLU  
0
BU  
0
VO  
0
0
55  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
data output on SDO. If WR is set to one, then the Status register  
is output. If WR is set to zero, then the contents of the register  
selected by the first five bits on SDI is output.  
A three-wire synchronous serial interface, compatible with SPI,  
is used to control the features of the A4964. A fourth wire can be  
used to provide diagnostic feedback and readback of the register  
contents. The fourth wire can also be set to provide a logic-level  
square wave output at a ratio of the internal clock frequency as  
described in the Diagnostics section.  
In all cases, the first five bits output on SDO will always include  
the FF bit, the POR bit, the SE bit, and the VPU bit from the  
Status register.  
The serial interface provides full access to all the features of  
the A4964. In addition to full control of the motor activity and  
output demand, it also provides access to all control options and  
programmable parameters.  
The last bit in any serial transfer, D[0], is a parity bit that is set  
to ensure odd parity in the complete 16-bit word. Odd parity  
means that the total number of 1s in any transfer should always  
be an odd number. A parity fault is detected if the total number  
of logic 1 states in the 16-bit transfer is an even number. This  
ensures that there is always at least one bit set to 1 and one bit set  
to 0 and allows detection of stuck-at faults on the serial input and  
output data connections. The parity bit is not stored but generated  
on each transfer.  
The serial interface timing requirements are specified in the  
electrical characteristics table and illustrated in Figure 2. Data is  
received on the SDI terminal and clocked through a shift register  
on the rising edge of the clock signal input on the SCK terminal.  
The STRn terminal is normally held high, and is only brought  
low to initiate a serial transfer. No data is clocked through the  
shift register when STRn is high, allowing multiple slave units to  
use common SDI, SCK, and SDO connections. Each slave then  
requires an independent STRn connection.  
If a parity fault is detected, or there are more than 16 rising edges  
on SCK, or if STRn goes high and there are fewer than 16 rising  
edges on SCK, the write will be cancelled without latching data  
to the registers. In addition, the Status register will not be reset  
and the FF bit and SE bits will be set to indicate a data transfer  
error.  
After 16 data bits have been clocked into the shift register, STRn  
must be taken high to latch the data into the selected register.  
When this occurs, the internal control circuits act on the new data  
and the Status or Diagnostic registers are reset depending on the  
transfer.  
CONFIGURATION AND CONTROL REGISTERS  
The serial data word is 16 bits, input msb first, the first five bits  
are defined as the register address. This provides 32 addressable  
registers, 30 of which are read/write, 1 is read only, and 1 write  
only. The registers are grouped as follows:  
Diagnostic information or the contents of the registers is output  
on the SDO terminal msb first while STRn is low and changes  
to the next bit on each falling edge of SCK. The first bit, which  
is always the FF bit from the Status register, is output as soon as  
STRn goes low.  
• PWM frequency and dither configuration  
• Bridge dead time and MOSFET drive configuration  
• Current limit configuration  
• VDS monitor configuration  
• Watchdog configuration  
The first five bits, D[15:11], in a serial word are the register  
address bits providing 32 addressable registers. In addition to  
these, there is a read-only Status register. Two of the addressable  
registers have special functions. Register address 30 is the write-  
only demand input register and accepts a 10-bit demand input.  
Register address 31 is the read-only measurement output register  
and provides a 10-bit integer output from the internal data acqui-  
sition system.  
• Commutation and bemf configuration  
• Start-up configuration  
• Speed loop configuration  
• System function configuration  
• Motor function control  
The remaining 30 registers provide configuration and control for  
the A4964. Each of these registers has a write bit, WR (bit 10),  
as the first bit after the register address. This bit must be set to  
one to write the subsequent bits into the selected register. If WR  
is zero, then the remaining data bits (bits 9 to 0) are ignored.  
For these registers, the state of the WR bit also determines the  
• Fault mask  
• Readback select and readback  
• Demand input  
56  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Register 0: PWM:  
Register 10: Watchdog:  
• MOD, Selects 2-phase or 3-phase modulation.  
• PMD, Selects the bridge PWM mode.  
• PW[5:0], a 6-bit integer to set the PWM period.  
Register 1: PWM dither:  
• WC[3:0], 4-bit integer to set watchdog cycle count.  
• WW[4:0], 5-bit integer to set the watchdog window time.  
Register 11: Commutation:  
• CP[3:0], 4-bits to set the steady-state phase control  
proportional gain.  
• DP[2:0], 3 bits to select the dither step period.  
• DD[1:0], 2 bits to select the dither dwell time.  
• DS[3:0], 3-bit integer to select the dither steps.  
Register 2: Bridge dead time:  
• CI[3:0], 4-bits to set the steady-state phase controller integral  
gain.  
Register 12: Commutation:  
• CPT[3:0], 4-bits to set the transient phase control proportional  
gain.  
• SA[1:0], 2-bit integer to set sense amp gain.  
• DT[5:0], a 6-bit integer to set the dead time.  
Register 3: Gate drive:  
• CIT[3:0], 4-bits to set the transient phase controller integral  
gain.  
• IR1[3:0], 4 bits to set turn-on current 1.  
• IR2[3:0], 4 bits to set turn-on current 2.  
Register 4: Gate drive:  
Register 13: BEMF:  
• BW[4:0], 5-bit integer to set the BEMF detect window.  
Register 14: BEMF:  
• IF1[3:0], 4 bits to set turn-off current 1.  
• IRF2[3:0], 4 bits to set turn-off current 2.  
Register 5: Gate drive:  
• BS[1:0], 2 bits to select the number of BEMF samples.  
• BF[3:0], 4 bits to select the windmill BEMF filter time.  
Register 15: Startup:  
• TRS[3:0], 4-bit integer to set turn-on time.  
• TFS[3:0], 4-bit integer to set turn-off time.  
Register 6: Current limit:  
• HT[3:0], a 4-bit integer to set the time of the initial alignment.  
• HD[3:0], a 4-bit integer to set the PWM duty cycle applied  
during the alignment time.  
• OBT[4:0], 5-bit integer to set the current limit blank time.  
• VIL[3:0], 4-bit integer to set the current limit scale.  
Register 7: VDS & Current Sense:  
Register 16: Startup:  
• STM, enables the coast function during startup.  
• RSC, enables restart after loss of synchronization.  
• KM[3:0], 4-bit integer to set the motor constant.  
• HR[1:0], 2 bits to select the alignment duty cycle ramp time.  
Register 17: Startup:  
• MIT[1:0], 2-bit integer to set sense amp maximum threshold.  
• VT[5:0], 6-bit integer to set the VDS limit.  
Register 8: VDS:  
• VDQ, selects VDS qualifier mode.  
• VQT[5:0], 6-bit integer to set the VDS qualifier time.  
Register 9: Watchdog:  
• WIN, enables windmill detection at start-up  
• WMF[2:0], 3-bit integer to select the minimum windmill  
detection frequency.  
• WM[4:0], 5-bit integer to set the minimum watchdog time.  
• WBD[3:0], 4-bit integer to select windmill brake duty cycle.  
57  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Register 18: Startup:  
Register 26: Phase advance:  
• SF2[3:0], a 4-bit integer to set final start frequency.  
• SF1[3:0], a 4-bit integer to set initial start frequency.  
Register 19: Startup:  
PAM, selects the phase advance mode.  
• KIP[1:0], sets the auto phase advance control gain.  
PA[5:0], a 6-bit integer to set the phase advance.  
Register 27: Motor function:  
• SD2[3:0], a 4-bit integer to set initial start PWM duty.  
• SD1[3:0], a 4-bit integer to set final start PWM duty.  
Register 20: Startup:  
• LEN, controls LIN standby/active state.  
• GTS, initiates go-to-sleep function.  
• OVM[1:0], selects overmodulation level.  
• DRM, selects drive mode.  
• STS[3:0], a 4-bit integer to set the start time step.  
• SFS[3:0], a 4-bit integer to set the start frequency step.  
Register 21: Speed control loop:  
• BRK, brake control.  
• SGL[5:0], a 5-bit integer to set the speed control loop  
acceleration limit.  
• DIR, direction control.  
• SG[3:0], a 4-bit integer to set the speed control loop  
proportional gain.  
• RUN, enables the motor to start and run.  
Register 28: Fault mask:  
Register 22: Speed control loop:  
• DV[1:0], 2 bits to select the voltage compensation level.  
• DF[1:0], 2 bits to select the deceleration factor.  
• SR[2:0], 3 bits to select the speed control resolution.  
Register 23: Speed control loop:  
The Fault Mask Register contains a fault mask bit for each fault  
bit in the Status register other than FF, POR, and SE. If a bit is set  
to one in the mask register, then the corresponding diagnostic will  
be completely disabled. No fault states for the disabled diagnostic  
will be generated and no fault flags or diagnostic bits will be set.  
• SL[3:0], 4 bits to select the underspeed threshold.  
• SH[3:0], 4 bits to select the overspeed threshold.  
Register 24: NVM:  
Register 29: Readback select:  
• DGS[1:0], 2 bits to select output on the DIAG terminal.  
• DSR, disables reset on serial transfer.  
• SAV[1:0], controls and reports saving the register contents to  
the NVM.  
• LBR, selects select LIN baud rate.  
Register 25: System Functions:  
• CKS, selects divided system clock on SDO terminal.  
• ESF, the enable stop on fault bit that defines the action taken  
when a fault is detected.  
• RBS[2:0], 3 bits to select the data that will be read from  
register 31.  
• VLR, selects logic regulator voltage.  
Register 30 (Write only): Demand input:  
• VRG, selects gate drive regulator voltage.  
• OPM, selects the stand-alone operating mode.  
• LWK, selects the wake-up mode.  
• DI[9:0], 10-bit integer providing the demand input for the  
selected control mode.  
Register 31 (Read only): Data acquisition:  
• IPI, selects the sense of the PWM input.  
• DIL, disables current limit for speed modes.  
• CM[1:0], 2 bits to select the required control mode.  
• DO[9:0], 10 bits providing the internal monitor data selected  
by RBS[2:0].  
58  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Except for the BU and VO bits, bits 2 and 1 respectively, the fault  
flags in the Status register are only reset to 0 on the completion  
of a serial read of the Status register or when a power-on-reset  
occurs. The BU and VO bits are reset to 0 when the correspond-  
ing fault flags in the Diagnostic register are reset. The fault flags  
in the Diagnostic register are only reset to 0 on the completion of  
a serial read of the Diagnostic register or when a power-on-reset  
occurs.  
STATUS AND DIAGNOSTIC REGISTERS  
There is one read-only Status register in addition to the 32  
addressable registers. When any register transfer takes place, the  
first five bits output on SDO are always the most significant five  
bits of the Status register regardless of whether the addressed  
register is being read or written.  
When register 31 is addressed, the remaining eleven bits on SDO  
are always the ten bits of the selected output plus a parity bit. For  
all other registers, the sixth bit will be zero and the content of the  
remaining ten bits will depend on the state of the WR bit input on  
SDI. When WR is 1, the addressed register will be written and the  
remaining ten bits output on SDO will be the least significant nine  
bits of the Status register followed by a parity bit. When WR is 0,  
the addressed register will be read and the remaining ten bits will  
be the contents of the addressed register followed by a parity bit.  
In some systems, it is preferable to be able to read the Status  
or Diagnostic register without causing a reset and allowing the  
A4964 to re-enable the outputs. The DSR (Disable Serial Reset)  
bit provides this functionality. When DSR is set to one, any valid  
read of any of the read-only registers will not result in that regis-  
ter being reset. When DSR = 0, any valid read of any of the read-  
only registers will reset the content of that register. This provides  
a way for the external controller to access the diagnostic informa-  
tion without automatically re-enabling any outputs, but retains a  
way to reset the faults under control of the controller.  
The read-only Status register provides a summary of the chip,  
bridge, and motor status. The most significant three bits of the  
Status register indicate critical system faults. Bit 11 reports the  
state of the current control circuit. Bits 9 through 3 provide fault  
flags for specific individual diagnostic monitors, and bits 2 and 1  
provide indicators for the contents of the Diagnostic register.  
The first most significant bit in the Status register, bit 15, is the  
status register flag, FF. This is high if any fault bits in the Status  
register are set. When STRn goes low to start a serial write, SDO  
comes out of its high-impedance state and outputs the serial  
register fault flag. This allows the main controller to poll the  
A4964 through the serial interface to determine if a fault has been  
detected. If no faults have been detected, then the serial trans-  
fer may be terminated without generating a serial read fault by  
ensuring that SCK remains high while STRn is low. When STRn  
goes high, the transfer will be terminated and SDO will go into its  
high-impedance state.  
The Diagnostic register is an additional register that can be  
selected for readback through register 31. This register contains  
detailed information on bootstrap undervoltage faults and VDS  
overvoltage faults for each MOSFET in the bridge. If a bootstrap  
undervoltage is detected, then bit 2 of the Status register, BU, will  
be set and the specific phase can be determined by reading bits  
BA, BB, and BC in the Diagnostic register. If a VDS overvoltage  
is detected, then bit 1 of the Status register, VO, will be set and  
the specific MOSFET can be determined by reading bits AH, AL,  
BH, BL, CH, and CL in the Diagnostic register.  
The second most significant bit in the Status register, bit 14, is  
the POR bit. At power-up or after a power-on-reset, the FF bit  
and the POR bit are set, indicating to the external controller that a  
power-on-reset has taken place. All other diagnostic bits are reset  
and all other registers are returned to their default state. Note that  
a power-on-reset only occurs when the output of the internal logic  
regulator rises above its undervoltage threshold. Power-on-reset  
is not affected by the state of the VBB supply voltage or VREG  
regulator output voltage. In general, the VSU, VRU, and VLU  
bits may also be set following a power-on-reset as the regulators  
may not have reached their respective rising undervoltage thresh-  
olds until after the register reset is completed.  
When selected for readback, the Diagnostic register contains an  
additional bit, OSR, in position DO9, which indicates if the actual  
motor speed is above the maximum speed reference level. OSR  
can be used as an additional most significant bit with the speed  
readback to double the range of the speed that can be reported.  
OSR will not set any bits in the status register and will be updated  
continuously by the speed monitor.  
Whenever a fault occurs, the corresponding flag bit in the Status  
or Diagnostic register will be set to 1 and latched until reset.  
Resetting the Status or Diagnostic register only affects latched  
faults that are no longer present. For any static faults that are still  
present, for example overtemperature, the fault flag will remain  
set after the register reset.  
Bit 13 in the Status register is the SE bit. If the POR bit is 0, then  
the SE bit indicates if the previous serial transfer was not com-  
pleted successfully. If SE is 1 when POR is 1, then this indicates  
that a fault was detected in the EEPROM and the user-defined  
values have not been loaded into the registers.  
59  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
READBACK REGISTER  
1
t
DO  
=
(ms)  
SEMF fE  
The read-only readback register, register 31, provides access  
to six additional measurements plus the Diagnostic register  
described above. The measurement to be output on SDO when  
register 31 is addressed is selected by the RBS[2:0] variable as  
shown in Table 6:  
where fE is the electrical cycle frequency and SEMF is the number  
of bemf samples per cycle.  
The average supply current measurement is derived from the  
average output of the sense amplifier and represents the average  
supply current into the motor. The average current value, ISAVG  
is defined as:  
,
Table 6: Read-Back Output Select  
RBS  
Register 31 Output  
Diagnostic register  
Motor speed  
1.76 n  
ISAVG  
=
(A)  
0
1
2
3
4
5
6
7
A RSENSE  
V
where n is a positive integer defined by DO[9:0], RSENSE is the  
sense resistor value in mΩ, AV is the gain of the sense amplifier  
as defined by the SA variable.  
Average supply current  
Supply voltage  
Chip temperature  
The supply voltage measurement is a direct measurement of the  
VBRG voltage with a resolution of 53 mV and a range of 54 V.  
The supply voltage, VS, is defined as:  
Demand input  
Applied bridge peak duty cycle  
Applied phase advance  
VS = n × 0.0528 (V)  
where n is a positive integer defined by DO[9:0].  
The first five bits of the readback register are always the most  
significant five bits of the Status register. The 10-bit readback  
value is the next ten bits followed by a parity bit.  
Used together, the average supply current and the supply voltage  
measurements can provide a measurement of the average electri-  
cal power into the motor.  
The motor speed measurement is relative to the speed resolution  
defined by SR[2:0] and therefore has the same range and resolu-  
tion as the speed demand input through register 30. The motor  
speed is also available during windmill detection in the forward  
direction.  
The chip junction temperature measurement is determined by the  
voltage of the internal temperature measurement diodes. The chip  
junction temperature, TJ, is defined as:  
TJ = 367.7 – (n × 0.451) (°C)  
The motor speed, fE,is defined as:  
where n is a positive integer defined by DO[9:0].  
fE = n × fRES (Hz)  
The temperature measurement result range is –93°C to 367°C,  
but the useable measurement range is –50°C to 190°C.  
where n is a positive integer defined by DO[9:0], fRES is the  
speed resolution defined by SR[2:0], and fE is the electrical cycle  
frequency of the controller.  
The average supply current, supply voltage, and chip temperature  
measurements are updated every 2 ms.  
The motor speed, ωM, can be calculated from :  
The remaining three selections provide a readback capability for  
the variables that can be modified internally by the A4964.  
fE 60  
~M  
=
(rpm)  
N
PP  
The demand input can be written directly or can be derived from  
an input PWM duty cycle. The demand input readback simply  
provides the contents of DI[9:0] at the time of readback.  
where ωM is the motor speed in rpm, fE is the electrical cycle  
frequency, and NPP is the number of pole-pairs in the rotor.  
This range can be extended by a factor of two by using the most  
significant bit of the diagnostic register, OSR, as bit 11 of the speed  
measurement. That is, when OSR = 1, the speed is defined as:  
The applied bridge peak duty cycle output provides the peak  
value of the duty cycle as determined by the motor control algo-  
rithm. The bridge duty cycle, DBR, is defined by:  
fE = (n + 1024) × fRES (Hz)  
n
^ h  
D
BR  
=
%
1023  
The update period for the motor speed measurement can be cal-  
culated from:  
where n is a positive integer defined by DO[9:0].  
60  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
The applied phase advance, θADV, when PAM = 0 (manual) is  
defined by:  
Note that the GTS bit (register 27[7]) is not saved. This is to  
avoid a lockout condition where the A4964 is commanded to go  
to sleep as soon as the wake-up sequence is complete.  
θADV = n × 0.7°(elec)  
θADV = 60°(elec)  
|n = 0..62  
|n = 63  
The register save sequence requires a programming voltage, VPP,  
to be applied to the VBB terminal. VPP must be present on the  
VBB terminal for a period of time, tPRS, before the save sequence  
is started. VPP must remain on VBB until the save sequence is  
completed.  
where n is a positive integer defined by DO[9:0].  
The applied phase advance, θADV, when PAM = 1 (automatic) is  
defined by:  
θ
ADV = n × 0.7°(elec)  
During the save sequence, the SPI remains active for read only.  
Any attempt to write to the registers during the save sequence  
will cause the FF and SE bits to be set in the Status register.  
where n is a positive integer defined by DO[9:0].  
The applied bridge peak duty cycle and applied phase advance  
During the save sequence, the A4964 will automatically complete  
all the necessary steps to ensure that the NVM is correctly pro-  
grammed and will complete the sequence by verifying that the con-  
tents of the NVM have been securely programmed. On successful  
completion of a save sequence, the SAV[1:0] bits will be set to 01.  
Register 24 should be read to determine if the save has completed  
successfully. If SAV[1:0] is reset to 00, then the save sequence has  
been terminated and has not completed successfully.  
measurements are updated each bridge PWM period, tPW  
.
Non-Volatile Memory  
The values in the configuration and control registers are held  
in non-volatile EEPROM (NVM), allowing the A4964 to be  
pre-programmed with different user-defined register values for  
each application, thus avoiding the need to program the register  
contents at each power on.  
If VPP drops below the programming undervoltage level, VPPUV  
,
The A4964 provides a simple method to write the contents of  
the registers into the NVM using the serial interface. When the  
SAV[1:0] bits in register 24 are changed from [01] to [10], in  
a single serial write, the present contents of registers 0 to 23,  
25 to 29, except register 27 bit 7, and bits [10:3] of register 30  
(DI[9:2]) are saved (written to NVM) as a single operation. The  
save sequence takes typically 400 ms to complete. It is not pos-  
sible to save single register values. Although the motor may be  
operating during the save sequence, it is recommended that the  
motor drive is disabled before starting a save sequence to avoid  
any corruption caused by the electrical noise or any faults from  
the motor.  
during the save sequence, then the sequence will be terminated  
immediately, the FF and VPU bits set in the Status register, and  
SAV[1:0] will be reset to 00.  
To externally verify the data saved in the NVM, the VBB supply  
must be cycled off then on to cause a power-on reset. Following a  
power-on reset, the contents of the NVM are copied to the serial  
registers which can then be read through the serial interface and  
verified.  
For guaranteed data retention reliability, the NVM in the A4964  
should be written no more than 1000 times.  
61  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
0
13  
0
12  
0
11  
0
10  
9
8
7
6
5
4
3
2
1
0
MOD  
0
PMD PW5 PW4 PW3 PW2 PW1 PW0  
0: PWM config  
0
0
0
WR  
P
0
0
1
0
0
1
1
0
DP2  
0
DP1  
0
DP0  
0
DD1  
0
DD0  
0
DS3  
0
DS2  
0
DS1  
0
DS0  
0
1: PWM config  
2: Bridge config  
0
0
0
0
0
1
1
0
WR  
WR  
P
P
SA1  
0
SA0  
0
DT5  
1
DT4  
0
DT3  
0
DT2  
0
DT1  
0
DT0  
0
0
Register 0: PWM Configuration  
Register 1: PWM Configuration (continued)  
MOD  
Modulation Mode Select  
DD[1:0]  
PWM Dither Dwell Time  
MOD  
Modulation Mode  
3-phase  
Default  
DD1  
DD0  
Dwell Time  
1 ms  
Default  
0
1
D
0
0
1
1
0
1
0
1
D
2-phase  
2 ms  
5 ms  
PMD  
Bridge PWM Mode Select  
10 ms  
PMD  
PWM Mode  
Default  
DS[3:0]  
PWM Dither Step Count  
0
1
Center aligned  
Edge aligned  
D
The number of dither steps is directly defined by the integer  
value of DS[3:0],  
e.g. when DS[3:0] = [0111] then there will be 7 frequency  
steps.  
PW[5:0] Bridge PWM Fixed Period  
tPW = 20.10 μs + (n × 0.8 μs) when PMD = 0  
tPW = 20.05 μs + (n × 0.8 μs) when PMD = 1  
The maximum number of steps is 15.  
where n is a positive integer defined by PW[5:0],  
e.g. when PW[5:0] = [10 0110] and PMD = 0  
then tPW = 50.5 µs.  
Setting DS[3:0] to 0 will disable PWM dither.  
Register 2: Bridge and Sense Amp Configuration  
The range of tPW is 20.1 µs to 70.5 µs when PMD = 0  
and 20.05 µs to 70.45 µs when PMD = 1.  
SA[1:0]  
Sense Amp Gain  
SA1  
SA0  
Gain  
Default  
This is equivalent to 50 kHz to 14.2 kHz.  
0
0
1
1
0
1
0
1
2.5  
5
D
Register 1: PWM Configuration  
10  
20  
DP[2:0]  
PWM Dither Step Period  
t∆PW = –0.2 μs – (n × 0.2 μs)  
DT[5:0]  
Dead Time  
where n is a positive integer defined by DP[2:0],  
e.g. when DP[2:0] = [101] then t∆PW = –1.2 µs.  
tDEAD = n × 50 ns  
where n is a positive integer defined by DT[5:0],  
The range of t∆PW is –0.2 µs to –1.6 µs.  
e.g. when DT[5:0] = [01 0100] then tDEAD = 1 µs.  
The range of tDEAD is 100 ns to 3.15 µs. Selecting a value  
of 0, 1, or 2 will set the dead time to 100 ns.  
62  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
0
13  
0
12  
1
11  
1
10  
9
0
0
8
7
6
5
4
3
2
1
0
IR13 IR12 IR11 IR10 IR23 IR22 IR21 IR20  
3: Gate drive config  
4: Gate drive config  
0
0
WR  
P
0
0
0
0
0
0
0
0
IF13  
0
IF12  
0
IF11  
0
IF10  
0
IF23  
0
IF22  
0
IF21  
0
IF20  
0
0
1
0
0
WR  
P
Register 3: Gate Drive Configuration  
Register 4: Gate Drive Configuration  
IR1[3:0] Turn-On Current 1  
IF1[3:0]  
Turn-Off Current 1  
IR1 = n × –5 mA  
IF1 = n × 5 mA  
where n is a positive integer defined by IR1[3:0],  
where n is a positive integer defined by IF1[3:0],  
e.g. when IR1[3:0] = [1000] then IR1 = –40 mA.  
e.g. when IF1[3:0] = [1100] then IF1 = 60 mA.  
The range of IR1 is –5 mA to –75 mA.  
The range of IF1 is 5 mA to 75 mA.  
Selecting a value of 0 will set the gate drive to switch mode  
to turn on the MOSFET as quickly as possible.  
Selecting a value of 0 will set the gate drive to switch mode  
to turn off the MOSFET as quickly as possible.  
IR2[3:0] Turn-On Current 2  
IF2[3:0]  
Turn-Off Current 2  
IR2 = n × –5 mA  
IF2 = n × 5 mA  
where n is a positive integer defined by IR2[3:0],  
where n is a positive integer defined by IF2[3:0],  
e.g. when IR2[3:0] = [0010] then IR2 = –10 mA.  
e.g. when IF2[3:0] = [0011] then IF2 = 15 mA.  
The range of IR2 is –5 mA to –75 mA.  
The range of IF2 is 5 mA to 75 mA.  
Selecting a value of 0 will set the gate drive to switch mode  
to turn on the MOSFET as quickly as possible.  
Selecting a value of 0 will set the gate drive to switch mode  
to turn off the MOSFET as quickly as possible.  
63  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
0
13  
1
12  
0
11  
1
10  
9
8
7
6
5
4
3
2
1
0
TRS3 TRS2 TRS1 TRS0 TFS3 TFS2 TFS1 TFS0  
5: Gate drive config  
6: Current limit config  
0
0
WR  
P
0
0
0
0
0
0
0
0
0
OBT4 OBT3 OBT2 OBT1 OBT0 VIL3 VIL2 VIL1 VIL0  
0
1
1
0
WR  
P
0
0
1
1
1
1
1
1
1
Register 5: Gate Drive Configuration  
Register 6: Current Limit Configuration  
TRS[3:0] Slew Control Turn-On Time  
OBT[4:0] Current Limit Blank Time  
tRS = n × 50 ns  
tOCB = (n + 2) × 200 ns  
where n is a positive integer defined by TRS[3:0],  
where n is a positive integer defined by OBT[4:0],  
e.g. when TRS[3:0] = [0110] then tRS = 300 ns.  
e.g. when OBT[4:0] = [1 0000] then tOCB = 3.6 µs.  
The range of tRS is 0 ns to 750 ns.  
The range of tOCB is 1 µs to 6.6 µs.  
Setting a value of OBT = 0, 1, 2, and 3 will set the blank  
time to 1 µs.  
TFS[3:0] Slew Control Turn-Off Time  
tFS = n × 50 ns  
VIL[3:0]  
Current Limit Scale  
where n is a positive integer defined by TFS[3:0],  
e.g. when TFS[3:0] = [1100] then tFS = 600 ns.  
VILIM defined by Scale × Maximum Threshold:  
The range of tFS is 0 ns to 750 ns.  
VIL3  
0
VIL2  
0
VIL1  
0
VIL0  
0
Scale  
1/16  
Default  
0
0
0
1
2/16  
0
0
1
0
3/16  
0
0
1
1
4/16  
0
1
0
0
5/16  
0
1
0
1
6/16  
0
1
1
0
7/16  
0
1
1
1
8/16  
1
0
0
0
9/16  
1
0
0
1
10/16  
11/16  
12/16  
13/16  
14/16  
15/16  
16/16  
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
D
64  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
0
13  
1
12  
1
11  
1
10  
9
8
7
0
0
0
6
5
4
3
2
1
0
MIT1 MIT0  
VT5  
0
VT4  
1
VT3  
1
VT2  
1
VT1  
1
VT0  
1
7: VDS monitor  
0
0
0
0
WR  
P
0
0
0
0
VDQ  
0
VQT5 VQT4 VQT3 VQT2 VQT1 VQT0  
8: VDS monitor  
1
1
1
0
0
0
0
0
1
0
1
0
WR  
WR  
WR  
P
P
P
1
1
1
1
1
1
WM4 WM3 WM2 WM1 WM0  
9: Watchdog config  
10: Watchdog config  
0
0
0
0
0
0
0
WC3 WC2 WC1 WC0 WW4 WW3 WW2 WW1 WW0  
0
0
0
0
0
0
0
0
0
Register 7: VDS Monitor and Sense Amp Configuration  
Register 9: Watchdog Configuration  
MIT[1:0] Sense Amp Maximum Threshold  
WM[4:0] Watchdog Minimum Time  
tWM = 1 + (n × 2) ms  
MIT1  
MIT0  
Maximum Threshold  
200 mV  
Default  
where n is a positive integer defined by WM[4:0],  
e.g. when WM[4:0] = [0 1010] then tWM = 21 ms.  
0
0
1
1
0
1
0
1
D
100 mV  
50 mV  
The range of tWM is 1 ms to 63 ms.  
25 mV  
VT[5:0]  
VDS Overvoltage Threshold  
Register 10: Watchdog Configuration  
VDST = n × 50 mV  
WC[3:0] Watchdog Fail Cycle Count Before Sleep  
where n is a positive integer defined by VT[5:0],  
e.g. when VT[5:0] = [01 1000] then VDST = 1.2 V  
CWC = n  
| n > 0  
where n is a positive integer defined by WC[4:0],  
e.g. when WC[3:0] = [1010] then CWC = 10.  
The range of VDST is 0 to 3.15 V.  
Register 8: VDS Monitor Configuration  
The range of CWC is 1 to 15.  
VDQ  
VDS Fault Qualifier Mode  
Setting WC[3:0] to [0000] disables the watchdog cycle  
counter.  
VDQ  
VDS Fault Qualifier  
Debounce  
Default  
WW[4:0] Watchdog Window Time  
0
1
D
Blank  
tWW = 10 + (n × 10) ms  
where n is a positive integer defined by WW[4:0],  
VQT[5:0] VDS Qualify Time  
e.g. when WW[4:0] = [0 1010] then tWW = 110 ms.  
tVDQ = n × 50 ns  
The range of tWW is 10 ms to 320 ms.  
where n is a positive integer defined by VQT[5:0],  
e.g. when VQT[5:0] = [01 1000] then tVDQ = 1.2 µs.  
The useable range of tVDQ is 600 ns to 3.15 µs.  
Setting a value of VQT = 0 may result in false VDS under-  
voltage fault detection.  
65  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
1
13  
0
12  
1
11  
1
10  
9
0
0
8
7
6
5
4
3
2
1
0
CP3  
0
CP2  
1
CP1  
1
CP0  
1
CI3  
0
CI2  
1
CI1  
1
CI0  
1
11: Commutation  
12: Commutation  
0
0
WR  
P
CPT3 CPT2 CPT1 CPT0 CIT3 CIT2 CIT1 CIT0  
1
1
0
0
WR  
P
0
0
0
0
0
0
0
0
Register 11: Commutation Configuration  
Register 12: Commutation Configuration  
CP[3:0]  
Steady-State Commutation Controller Proportional Gain  
CPT[3:0] Transient Commutation Controller Proportional Gain  
Position control proportional gain is KCP defined as:  
Position control proportional gain is KCP defined as:  
KCP = 2(n-7)  
KCP = 2(n-7)  
where n is a positive integer defined by CP[3:0],  
where n is a positive integer defined by CP[3:0],  
e.g., when CP[3:0] = [1000] then KCP = 2.  
e.g., when CP[3:0] = [1000] then KCP = 2.  
The range of KCP is 1/128 to 256.  
The range of KCP is 1/128 to 256.  
CI[3:0]  
Steady-State Commutation Controller Integral Gain  
CIT[3:0] Transient Commutation Controller Integral Gain  
Position control proportional gain is KCI defined as:  
Position control proportional gain is KCI defined as:  
KCI = 2(n-7)  
KCI = 2(n-7)  
where n is a positive integer defined by CI[3:0],  
where n is a positive integer defined by CI[3:0],  
e.g., when CI[3:0] = [1000] then KCI = 2.  
e.g., when CI[3:0] = [1000] then KCI = 2.  
The range of KCI is 1/128 to 256.  
The range of KCI is 1/128 to 256.  
66  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
1
13  
1
12  
0
11  
1
10  
9
0
0
8
0
0
7
0
0
6
5
4
3
2
1
0
BW4 BW3 BW2 BW1 BW0  
13: BEMF config  
14: BEMF config  
0
0
WR  
P
0
0
0
1
0
0
BS1  
0
BS0  
0
BF3  
0
BF2  
0
BF1  
0
BF0  
1
1
1
1
0
WR  
P
Register 13: BEMF Configuration  
Register 14: BEMF Configuration  
BW[4:0] BEMF Detection Window  
BS[1:0]  
BEMF Sampling  
For values up to 30, the window is defined as:  
BS1  
BS0  
Samples per Cycle  
Default  
θBW = (n + 1) × 1.4°(elec)  
|n=0..30  
|n=31  
0
0
1
1
0
1
0
1
1
2
3
6
D
θBW = 60°(elec)  
where n is a positive integer defined by BW[4:0],  
e.g. when BW[4:0] = [0 1010] then θBW = 15.4°(elec)  
.
The range of θBW is 1.4° to 43.4° and 60°.  
BF[3:0]  
Windmill BEMF Filter Time  
Note: all angles refer to the electrical cycle.  
tBF defined by:  
BF3  
0
BF2  
0
BF1  
0
BF0  
0
Filter Time  
0
Default  
0
0
0
1
200 µs  
400 µs  
600 µs  
800 µs  
1 ms  
D
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
2 ms  
0
1
1
1
4 ms  
1
0
0
0
5 ms  
1
0
0
1
6 ms  
1
0
1
0
10 ms  
12 ms  
14 ms  
16 ms  
18 ms  
20 ms  
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
67  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
1
13  
1
12  
1
11  
1
10  
9
8
7
6
5
4
3
2
1
0
HT3  
0
HT2  
0
HT1  
0
HT0  
1
HD4  
0
HD3  
0
HD2  
1
HD1  
0
HD0  
1
15: Startup config  
16: Startup config  
0
1
WR  
P
STM RSC  
KM3 KM2 KM1 KM0  
HR1  
0
HR0  
0
0
0
0
0
WR  
P
0
0
0
0
1
1
1
Register 15: Startup Configuration  
Register 16: Startup Configuration  
HT[3:0]  
Alignment (Hold) Time  
STM  
Start Coast Mode Select  
tHOLD = n × 200 ms  
STM  
Start Coast Mode  
Coast disabled  
Coast enabled  
Default  
where n is a positive integer defined by HT[3:0],  
e.g. when HT[3:0] = [0010] then tHOLD = 400 ms.  
0
1
D
The range of tHOLD is 0 to 3 s.  
RSC  
Restart Control  
RSC  
Restart Mode  
Default  
HD[4:0]  
Peak PWM Duty During Alignment  
0
1
No restart  
D
DH = (n + 1) × 3.125%  
Allow restart after loss of sync  
where n is a positive integer defined by HD[3:0],  
e.g. when HQ[3:0] = [0101] then DH = 18.75%.  
KM[3:0]  
Motor Constant (Ratio Between Speed and BEMF)  
KM = 0.3 + (n × 0.05)  
The range of DH is 3.125% to 100%.  
where n is a positive integer defined by KM[3:0],  
e.g. when KM[3:0] = [0110] then KM = 0.6.  
The range of KM is 0.3 to 1.05.  
HR[1:0]  
Alignment Duty Cycle Ramp Time  
HR1  
HR0  
Time to reach peak D  
0
Default  
0
0
1
1
0
1
0
1
D
25% tHOLD  
50% tHOLD  
100% tHOLD  
68  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
0
13  
0
12  
0
11  
1
10  
9
0
0
8
7
6
5
4
3
2
1
0
WIN WMF2 WMF1 WMF0 WBD3 WBD2 WBD1 WBD0  
17: Startup config  
18: Startup config  
1
1
WR  
P
0
0
1
0
0
1
1
1
SF23 SF22 SF21 SF20 SF13 SF12 SF11 SF10  
0
0
1
0
WR  
P
0
1
1
1
0
1
1
1
Register 17: Startup Configuration  
Register 18: Startup Configuration  
WIN  
Windmill Mode Select  
SF2[3:0] Start Ramp Final Frequency  
fS2 = 10 + (n × 2.5) Hz  
WIN  
Windmill Mode  
Default  
where n is a positive integer defined by SF2[3:0],  
e.g. when SF2[3:0] = [0111] then fS2 = 27.5 Hz.  
0
1
Windmilling disabled  
Windmilling enabled  
D
The range of fS2 is 10 Hz to 47.5 Hz.  
SF1[3:0] Start Ramp Initial Frequency  
fS1 = 0.5 + (n × 0.5) Hz  
WMF[2:0] Minimum Windmill Detection Frequency  
fWM = 0.4 + (n × 3.2) Hz  
where n is a positive integer defined by WMF[3:0],  
where n is a positive integer defined by SF1[3:0],  
e.g. when WMF[2:0] = [010] then fWM = 6.8 Hz.  
e.g. when SF1[3:0] = [0111] then fS1 = 4 Hz.  
The range of fWM is 0.4 Hz to 22.8 Hz.  
WBD[3:0] Duty Cycle During Windmill Braking  
DWB = (n + 1) × 6.25%  
The range of fS1 is 0.5 Hz to 8 Hz.  
where n is a positive integer defined by WBD[3:0],  
e.g. when WBD[3:0] = [0111] then DWB = 50%  
The range of DWB is 6.25% to 100%.  
69  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
0
13  
0
12  
1
11  
1
10  
9
0
0
8
7
6
5
4
3
2
1
0
SD23 SD22 SD21 SD20 SD13 SD12 SD11 SD10  
19: Startup config  
20: Startup config  
1
1
WR  
P
0
1
1
1
0
1
1
1
STS3 STS2 STS1 STS0 SFS3 SFS2 SFS1 SFS0  
0
1
0
0
WR  
P
0
1
0
0
0
1
1
1
Register 19: Startup Configuration  
Register 20: Startup Configuration  
SD2[3:0] Start Ramp Final Duty Cycle  
STS[3:0] Start Ramp Step Time  
DS2 = (n + 1) × 6.25%  
tSS = 10 ms  
|n=0  
where n is a positive integer defined by SD2[3:0],  
e.g. when SD2[3:0] = [0111] then DS2 = 50%.  
tSS = n × 20 ms  
|n=1..15  
where n is a positive integer defined by STS[3:0],  
The range of DS2 is 6.25% to 100%.  
SD1[3:0] Start Ramp Initial Duty Cycle  
DS1 = (n + 1) × 6.25%  
e.g. when STS[3:0] = [0100] then tSTS = 80 ms.  
The range of tSTS is 10 ms to 300 ms.  
SFS[3:0] Start Ramp Frequency Step  
where n is a positive integer defined by SD1[3:0],  
e.g. when SD1[3:0] = [0100] then DS1 = 31.25%  
fSS defined by:  
The range of DS1 is 6.25% to 100%.  
Frequency  
SFS3  
SFS 2  
SFS 1  
SFS 0  
Default  
Step  
0.0125 Hz  
0.025 Hz  
0.05 Hz  
0.1 Hz  
0.2 Hz  
0.4 Hz  
0.8 Hz  
1 Hz  
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
D
1.5 Hz  
2 Hz  
2.5 Hz  
3 Hz  
5 Hz  
8 Hz  
10 Hz  
15 Hz  
70  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
0
13  
1
12  
0
11  
1
10  
9
8
7
6
5
4
3
2
1
0
SGL4 SGL3 SGL2 SGL1 SGL0 SG3  
SG2  
1
SG1  
0
SG0  
1
21: Speed loop  
22: Speed loop  
23: Speed loop  
1
1
1
WR  
P
0
0
1
0
1
0
DV1  
0
DV0  
1
DF1  
0
DF0  
0
SR2  
0
SR1  
0
SR0  
0
0
0
1
1
1
1
0
1
WR  
WR  
P
P
0
0
SL3  
0
SL2  
1
SL1  
1
SL0  
1
SH3  
0
SH2  
1
SH1  
1
SH0  
1
0
Register 21: Speed Control Loop Configuration  
Register 22: Speed Control Loop Configuration (continued)  
SGL[4:0] Speed Control Acceleration Limit  
SR[2:0]  
Speed Control Resolution  
KSL = 6.3 + (n × 6.4) Hz  
SR2  
0
SR1  
0
SR0  
0
Speed Resolution  
0.1 Hz  
Default  
where n is a positive integer defined by SGL[4:0],  
D
e.g. when SGL[4:0] = [0 0111] then KSL = 51.5 Hz.  
0
0
1
0.2 Hz  
0
1
0
0.4 Hz  
The range of KSL is 6.3 Hz to 204.7 Hz.  
0
1
1
0.8 Hz  
SG[3:0]  
Speed Control Gain  
1
0
0
1.6 Hz  
KS = 1 + (n × 2)  
1
0
1
3.2 Hz  
where n is a positive integer defined by SG[3:0],  
e.g., when SG[3:0] = [1000] then KS = 9.  
1
1
0
3.2 Hz  
1
1
1
3.2 Hz  
The range of KS is 1 to 31.  
Register 23: Speed Control Loop Configuration  
Register 22: Speed Control Loop Configuration  
SL[3:0]  
Underspeed (Low-Speed) Threshold  
DV[1:0]  
Duty Cycle Compensation  
fSL = 8 × n × fRES (Hz)  
DV1  
DV0  
Nominal supply voltage  
Default  
where n is a positive integer defined by SL[3:0],  
SL is the underspeed threshold, and  
fRES is the speed resolution defined by SR[2:0].  
0
0
1
1
0
1
0
1
Disabled  
12 V  
f
D
24 V  
SH[3:0]  
Underspeed (High-Speed) Threshold  
12 V  
fSH = [127 + (n × 128)] × fRES (Hz)  
where n is a positive integer defined by SH[3:0],  
DF[1:0]  
Deceleration Factor  
fSH is the underspeed threshold, and  
fRES is the speed resolution defined by SR[2:0].  
DF1  
0
DF0  
0
Deceleration factor  
Default  
1
D
0
1
2
1
0
5
1
1
10  
71  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
1
13  
0
12  
0
11  
0
10  
9
8
7
6
5
4
3
2
1
0
SAV1 SAV0  
24: NVM Write  
25: System  
1
1
WR  
P
0
0
0
0
0
0
0
0
0
ESF  
1
VLR VRG OPM LWK  
IPI  
0
DIL  
0
CM1 CM0  
1
0
0
1
WR  
P
0
1
0
0
0
0
Register 24: Write NVM Control  
Register 25: System Configuration (continued)  
SAV[1:0] Save Parameters to Non-Volatile Memory (NVM)  
OPM  
LWK  
IPI  
Operating Mode Select  
When SAV[1:0] is changed from 01 to 10, the present con-  
tents of registers 0 to 23, 25 to 29, and bits [10:3] of register  
30 (DI[9:2]) will be written to NVM.  
OPM  
Operating Mode  
SPI only  
Default  
0
1
D
Stand-alone with SPI  
When the NVM save has completed successfully, SAV[1:0]  
will be set to 01 and can be read to verify completion of the  
write. If SAV[1:0] is reset to 00, the save has not completed  
successfully.  
Wake Mode Select  
LWK  
Wake Mode  
Default  
0
1
PWM Wake Mode  
LIN Wake Mode  
D
Register 25: System Configuration  
ESF  
VLR  
VRG  
Enable Stop On Fail Select  
PWM Input Sense (when OPM = 1)  
ESF  
Stop on Fail  
No stop on fail  
Stop on fail  
Default  
0
1
IPI  
PWM Sense  
Default  
D
0
1
True, Active high  
Inverted, Active low  
D
Logic Regulator Voltage  
VLR Logic Regulator Voltage  
DIL  
Disable Current Limit (Speed Modes)  
Default  
0
1
3.3 V  
5 V  
D
DIL  
Current Limit  
Enabled  
Default  
0
1
D
Disabled  
Gate Drive Regulator Voltage  
CM[1:0] Selects Motor Control Mode  
VRG  
Gate Drive Regulator Voltage  
Default  
0
1
8 V  
CM1  
CM0  
Motor Control Mode  
Closed-loop speed  
Closed-loop speed  
Closed-loop current  
Open-loop speed  
Default  
11 V  
D
0
0
1
1
0
1
0
1
D
72  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
1
13  
0
12  
1
11  
0
10  
9
8
7
6
5
4
3
2
1
0
PAM KIP1 KIP0  
PA5  
0
PA4  
0
PA3  
0
PA2  
0
PA1  
0
PA0  
0
26: Phase advance  
27: Motor function  
1
1
WR  
P
0
0
0
LEN  
0
GTS OVM1 OVM0 DRM BRK  
DIR  
0
RUN  
0
1
0
1
1
WR  
P
0
0
0
0
0
0
Register 26: Phase Advance Select  
Register 27: Motor Function Control (continued)  
PAM  
Phase Advance Mode  
PAM Phase Advance Mode  
GTS  
Go to Sleep Command  
Default  
GTS  
Sleep transition  
Default  
0
1
Manual  
D
0
No change in state  
No change in state  
No change in state  
Enter sleep state if enabled  
D
Automatic  
1
1 → 0  
0 → 1  
KIP[1:0] Auto Phase Advance Control Gain  
KIP1  
KIP0  
Gain  
Default  
OVM[1:0] Overmodulation Select  
0
0
1
1
0
1
0
1
1
2
4
8
D
OVM1  
OVM0  
Overmodulation  
None (100%)  
112.5%  
Default  
0
0
1
1
0
1
0
1
D
125%  
150%  
PA[5:0]  
Phase Advance  
θADV = n × 0.7°(elec)  
θADV = 60°(elec)  
|n=0..62  
|n=63  
DRM  
BRK  
DIR  
Drive Mode Select  
DRM Drive mode  
Default  
0
1
Sinusoidal  
D
where n is a positive integer defined by PA[5:0],  
e.g. when PA[5:0] = [00 1000] then θADV = 5.6°.  
Trapezoidal  
The range of θADV is 0 to 43.4° and 60°.  
Note: All angles refer to the electrical cycle.  
Register 27: Motor Function Control  
Brake Function Select  
BRK  
Brake Mode  
Default  
0
1
Brake disabled  
Brake enabled  
D
LEN  
Lin Enable  
Rotation Direction Select  
LEN  
LIN State  
Standby  
Active  
Default  
0
1
D
DIR  
Direction  
Default  
0
1
Forward (Figure 6, Figure 7, and Table 1)  
Reverse (Figure 6, Figure 7, and Table 1)  
D
RUN  
Run enable  
RUN  
Motor running status  
Disable outputs, coast motor  
Start and run motor  
Default  
0
1
D
73  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
1
13  
1
12  
0
11  
0
10  
9
8
7
6
5
4
3
2
1
0
WD  
1
LOS  
0
OT  
0
TW  
0
VSU VRU  
VLU  
0
BU  
0
VO  
0
28: Mask  
Status  
1
WR  
P
0
0
WD  
0
LOS  
0
OT  
0
TW  
0
VSU VRU  
VLU  
0
BU  
0
VO  
0
FF  
POR  
SE  
VPU  
CLI  
P
0
0
Register 28: Mask Register  
Status Register  
WD  
LOS  
OT  
Watchdog  
FF  
Status register flag (not including CLI)  
Power-on-reset  
Loss of bemf synchronization  
Overtemperature  
POR  
SE  
Serial transfer error  
VPP undervoltage  
Current limit*  
TW  
Temperature warning  
VBB undervoltage  
VPU  
CLI  
WD  
LOS  
OT  
VSU  
VRU  
VLU  
BU  
VREG undervoltage  
VLR undervoltage  
Watchdog  
Loss of bemf synchronization  
Overtemperature  
Bootstrap undervoltage  
VDS overvoltage  
VO  
TW  
VSU  
VRU  
VLU  
BU  
Temperature warning  
VBB undervoltage  
VREG undervoltage  
VLR undervoltage  
Bootstrap undervoltage  
VDS fault  
xx  
0
Fault Mask  
Default  
Fault detection permitted  
Fault detection disabled  
D
1
VO  
xx  
0
Fault  
No fault detected  
Fault detected  
1
*The state of the CLI bit is not reported by the Status register flag. CLI  
reporting is described in the Current Limit section  
74  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
1
13  
1
12  
0
11  
1
10  
9
8
7
6
5
4
3
2
1
0
DGS1 DGS0 DSR  
LBR  
0
CKS RBS2 RBS1 RBS0  
29: Readback Select  
1
WR  
P
0
0
0
0
0
0
0
0
Register 29: Readback Select  
Register 29: Readback Select (continued)  
DGS[1:0] Selects output DIAG terminal.  
RBS[2:0] Selects data output on register 31  
DGS1  
DGS0  
DIAG Output  
Active low fault flag  
Default  
RBS2 RBS1 RBS0  
Register 31 contents  
Diagnostic register  
Motor speed  
Default  
0
0
0
1
D
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
D
FG; high when motor is  
stationary  
Average supply current  
Supply voltage  
1
1
0
1
Pulse output; high when no  
fault present  
Chip temperature  
Demand input  
Pulse output; FG when no  
fault present  
Applied bridge peak duty cycle  
Applied phase advance  
DSR  
LBR  
CKS  
Serial reset of fault state and fault bit  
DSR  
Reset on serial read  
Enabled  
Default  
0
1
D
Disabled  
Selects LIN baud rate  
LBR  
LIN Baud Rate  
10 kHz  
Default  
0
1
D
20 kHz  
Selects output on SDO when STRn = 1  
CKS  
SDO Output (STRn = 1)  
High impedance  
Default  
0
1
D
Divided system clock  
75  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
1
13  
1
12  
1
11  
0
10  
9
8
7
6
5
4
3
2
1
0
DI9  
0
DI8  
0
DI7  
0
DI6  
0
DI5  
0
DI4  
0
DI3  
0
DI2  
0
DI1  
0
DI0  
0
30: Write Only  
1
P
Register 30: Demand input (Write Only)  
DI[9:0]  
(CM=0,1)  
Speed Reference  
fREF = n × fRES (Hz)  
where n is a positive integer defined by DI[9:0],  
REF is the reference speed for the control loop,  
fRES is the speed resolution defined by SR[2:0].  
f
DI[9:0]  
(CM=2)  
Current Limit  
n.OR.0h01F  
VILIM  
=
VMIT  
1023  
where n is a positive integer defined by DI[9:0],  
(note: n is logically OR’d with 0h01F to restrict selection to  
the most significant 5 bits), and  
VMIT is the maximum threshold voltage of the sense ampli-  
fier as defined by the MIT variable.  
DI[9:0]  
(CM=3)  
Bridge PWM Duty Cycle  
n
1023  
D
PK  
=
%
where n is a positive integer defined by DI[9:0], and  
DPK is the bridge peak duty cycle.  
In sinsoidal drive mode, DPK is modulated by the sine  
generator to produce the actual bridge PWM duty cycle for  
each PWM period.  
In trapezoidal drive mode, DPK is the duty cycle applied to  
the bridge.  
76  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Serial Register Reference  
15  
14  
1
13  
1
12  
1
11  
1
10  
9
8
7
6
5
4
3
2
1
0
DO9 DO8 DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0  
31: Read Only  
1
P
0
0
0
0
0
0
0
0
0
0
Register 31: Readback Register (Read Only)  
Register 31: Readback Register (Read Only) (continued)  
Bits 15 - 13  
DO[9:0]  
(RBS=1)  
Motor Speed (continued)  
FF  
Status register flag  
Power-on-reset  
The OSR bit can be used as an additional 11th bit with  
twice the significance of bit DO9.  
POR  
SE  
Serial transfer error  
The motor speed is also available during windmill detection  
in the forward direction.  
The contents of DO[9:0] are selected by the RBS[2:0] variable as follows:  
DO[9:0] Diagnostic register  
(RBS=0)  
DO[9:0]  
(RBS=2)  
Average Supply Current  
DO9  
OSR  
BA  
BB  
BC  
AH  
AL  
Over speed range  
n
I
SAVG = 1.76 �  
(A)  
DO8  
DO7  
DO6  
DO5  
DO4  
DO3  
DO2  
DO1  
DO0  
Bootstrap fault detected on Phase A high-side  
Bootstrap fault detected on Phase B high-side  
Bootstrap fault detected on Phase C high-side  
VDS fault detected on Phase A high-side  
VDS fault detected on Phase A low-side  
VDS fault detected on Phase B high-side  
VDS fault detected on Phase B low-side  
VDS fault detected on Phase C high-side  
VDS fault detected on Phase C low-side  
A
V
RSENSE  
where n is a positive integer defined by DO[9:0],  
RSENSE is the sense resistor value in mΩ, and  
AV is the gain of the sense amplifier as defined by the SA  
variable.  
BH  
BL  
DO[9:0]  
(RBS=3)  
Supply Voltage  
VS = n × 0.0528 (V)  
CH  
CL  
where n is a positive integer defined by by DO[9:0].  
The measurement range is 0 to 50.4 V.  
xx  
0
Fault  
No fault detected  
Fault detected  
DO[9:0]  
Chip Temperature  
1
(RBS=4)  
TJ = 367.7 – (n × 0.451) (°C)  
D0[9:0]  
(RBS=1)  
Motor Speed  
where n is a positive integer defined by by DO[9:0].  
fE = n × fRES (Hz)  
The result range is –93°C to 367°C, but the useable mea-  
surement range is –50°C to 190°C.  
where n is a positive integer defined by DO[9:0],  
RES is the speed resolution defined by SR[2:0], and  
f
DO[9:0]  
Demand Input  
fE is the electrical cycle frequency of the controller.  
The motor speed can be calculated from:  
fE 60  
(RBS=5)  
Readback contents of DI[9:0].  
~M  
=
(rpm)  
DO[9:0]  
(RBS=6)  
Applied Bridge Peak Duty Cycle  
NPP  
where ωM is the motor speed in rpm,  
fE is the electrical cycle frequency, and  
NPP is the number of pole-pairs in the rotor.  
n
D
BR  
=
(%)  
1023  
where n is a positive integer defined by DO[9:0].  
77  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Register 31: Readback Register (Read Only) (continued)  
DO[9:0]  
(RBS=7)  
Applied Phase Advance  
The applied phase advance, θADV, when PAM = 0 (manual)  
is defined by:  
θ
ADV = n ×0.7°(elec)  
|n = 0..62  
|n = 63  
θADV = 60°(elec)  
where n is a positive integer defined by DO[9:0].  
The applied phase advance, θADV, when PAM = 1 (auto-  
matic) is defined by:  
θADV = n × 0.7°(elec)  
where n is a positive integer defined by DO[9:0].  
78  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
APPLICATIONS INFORMATION  
is transferred from CBOOT to the MOSFET gate.  
Dead Time Selection  
To keep the voltage drop due to charge sharing small, the charge  
in the bootstrap capacitor, QBOOT, should be much larger than  
The choice of power MOSFET and external series gate resistance  
determines the selection of the dead time. The dead time, tDEAD  
should be made long enough to ensure that one MOSFET has  
stopped conducting before the complementary MOSFET starts  
,
Q
GATE, the charge required by the gate:  
BOOT QGATE  
A factor of 20 is a reasonable value.  
Q
conducting. This should also account for the tolerance and varia-  
tion of the MOSFET gate capacitance, the series gate resistance  
and the on-resistance of the driver in the A4964.  
QBOOT = CBOOT × VBOOT = QGATE × 20  
VGHA-VSA  
VGLA  
CBOOT = (QGATE × 20) / VBOOT  
where VBOOT is the voltage across the bootstrap capacitor.  
The voltage drop, ∆V, across the bootstrap capacitor as the MOS-  
FET is being turned on can be approximated by:  
tdead  
VGSL  
∆V = QGATE / CBOOT  
so for a factor of 20, ∆V will be 5% of VBOOT  
.
Vt0  
VGSH  
The maximum voltage across the bootstrap capacitor under nor-  
mal operating conditions is VREG max. However, in some circum-  
stances the voltage may transiently reach a maximum of 18 V,  
which is the clamp voltage of the Zener diode between the Cx  
terminal and the Sx terminal. In most applications, with a good  
ceramic capacitor the working voltage can be limited to 16 V.  
Figure 24: Minimum Dead Time  
Figure 24 shows the typical switching characteristics of a pair of  
complementary MOSFETs. Ideally, one MOSFET should start to  
turn on just after the other has completely turned off. The point at  
which a MOSFET starts to conduct is the threshold voltage Vt0.  
The dead time should be long enough to ensure that the gate-  
source voltage of the MOSFET that is switching off is just below  
Vt0 before the gate-source voltage of the MOSFET that is switch-  
ing on rises to Vt0. This will be the minimum theoretical dead  
time, but in practice the dead time will have to be longer than this  
to accommodate variations in MOSFET and driver parameters for  
process variations and over temperature.  
Bootstrap Charging  
It is good practice to ensure the high-side bootstrap capacitor is  
completely charged before a high-side PWM cycle is requested.  
The time required to charge the capacitor, tCHARGE, in µs, is  
approximated by:  
tCHARGE = (CBOOT × ∆V) / IDBOOT  
where CBOOT is the value of the bootstrap capacitor in nF, ∆V is  
the required voltage of the bootstrap capacitor, and IDBOOT is the  
bootstrap diode current limit, typically 500 mA.  
Bootstrap Capacitor Selection  
The A4964 requires three bootstrap capacitors: CA, CB, and CC.  
To simplify this description of the bootstrap capacitor selection  
criteria, generic naming is used here. So, for example, CBOOT  
At power up and when the drivers have been disabled for a long  
time, the bootstrap capacitor can be completely discharged. In  
this case, ∆V can be considered to be the full high-side drive  
voltage. Otherwise, ∆V is the amount of voltage dropped during  
the charge transfer, which should be 400 mV or less. The capaci-  
tor is charged whenever the Sx terminal is pulled low and current  
flows from CREG, the capacitor connected to the VREG terminal  
,
Q
BOOT, and VBOOT refer to any of the three capacitors, and  
QGATE refers to any of the six associated MOSFETs. CBOOT must  
be correctly selected to ensure proper operation of the device: too  
large and time will be wasted charging the capacitor, resulting  
in a limit on the maximum duty cycle and PWM frequency; too  
small and there can be a large voltage drop at the time the charge  
through the internal bootstrap diode circuit to CBOOT  
.
79  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
resistance of the phase winding. Care must be taken during brak-  
ing to ensure that the power MOSFETs’ maximum ratings are  
not exceeded. Dynamic braking is equivalent to slow decay with  
synchronous rectification and all phases enabled.  
VREG Capacitor Selection  
The internal reference, VREG, supplies current for the low-side  
gate-drive circuits and the charging current for the bootstrap  
capacitors. When a low-side MOSFET is turned on, the gate-  
drive circuit will provide the high transient current to the gate that  
is necessary to turn the MOSFET on quickly. This current, which  
can be several hundred milliamperes, cannot be provided directly  
by the limited output of the VREG regulator but must be supplied  
by an external capacitor, CREG, connected between the VREG  
terminal and GND.  
The A4964 can also be used to perform regenerative braking.  
This is equivalent to using fast decay with synchronous recti-  
fication. Note that the supply must be capable of managing the  
reverse current, for example, by connecting a resistive load or  
dumping the current to a battery or capacitor.  
Current Sense Amplifier  
The turn-on current for the high-side MOSFET is similar in value  
but is mainly supplied by the bootstrap capacitor. However, the  
bootstrap capacitor must then be recharged from CREG through  
the VREG terminal. Unfortunately, the bootstrap recharge can  
occur a very short time after the low-side turn-on occurs. This  
means that the value of CREG between VREG and GND should  
be high enough to minimize the transient voltage drop on  
VREG for the combination of a low-side MOSFET turn-on and  
a bootstrap capacitor recharge. For block commutation control  
(trapezoidal drive),where only one high-side and one low-side are  
switching during each PWM period, a minimum value of 20 ×  
The output of the sense amplifier takes two paths. One path is to  
a comparator to set the current limit, and the other is to a filter an  
analog-to-digital converter (ADC) to provide a digital average  
current measurement.  
The current limit comparator operates on the output of the sense  
amplifier. This output is compared to current limit threshold  
voltage, VILIM, to indicate to the PWM control circuit when the  
bridge current is greater than the current limit threshold.  
The value of VILIM can be set in two ways, depending on the  
motor control method selected.  
CBOOT is reasonable. For sinusoidal control schemes, a minimum  
value of 40 × CBOOT is recommended.  
When either of the speed control modes are selected, the value of  
V
ILIM is determined by:  
As the maximum working voltage of CREG will never exceed  
V
REG, the part’s voltage rating can be as low as 15 V. However,  
V
ILIM = VMIT × VISC  
it is recommended that a capacitor rated to at least twice the  
maximum working voltage should be used to reduce any impact  
operating voltage may have on capacitance value. For best per-  
formance, CREG should be ceramic rather than electrolytic. If the  
required value of CREG is too large for a single ceramic capaci-  
tor, then a low ESR electrolytic capacitor may be used, with a  
ceramic capacitor greater than 100 nF in parallel to provide the  
initial current peak. CREG should be mounted as close to the  
VREG terminal as possible.  
where VMIT is the maximum threshold of the sense amplifier as  
defined by the MIT variable, and VISC is the current limit scale as  
defined by the VIL variable.  
When the closed-loop current control mode is selected, VILIM  
is determined by demand input. This sets the required value of  
VILIM as a ratio of the maximum threshold (VMIT). For example,  
when the demand input is 256 and VMIT is 200 mV, then VILIM  
will be 50 mV. In this mode, only the 5 most significant bits of  
the 10-bit demand input are used to set the value of VILIM  
.
Braking  
The relationship between the threshold voltage and the threshold  
current is defined as:  
In the A4964, setting the BRK bit to 1 when RUN = 1 will enable  
dynamic braking by forcing all low-side MOSFETs on and all  
high-side MOSFETs off. This will effectively short-circuit the  
back-emf of the motor, creating a braking torque. During braking,  
the load current, IBRAKE, can be approximated by:  
ILIM = VILIM / RSENSE  
where RSENSE is the value of the sense resistor.  
As the average current filter and ADC also operates on the output  
of the sense amplifier, the average current value calculation is  
also dependent on the sense resistor value, and the amplifier gain  
I
BRAKE = VBEMF / RL  
where VBEMF is the voltage generated by the motor and RL is the  
80  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
and is defined as:  
Systems with Low-Level Input Requirements  
n
I
SAVG = 1.76 �  
(A)  
In systems where the PWM input does not require negative  
voltage protection and the ECU requires a lower voltage level  
on the PWM signal before an error feedback is recognised, then  
the pull-down on the PWM signal can be driven directly by the  
DIAG output, as shown in Figure 25d, or by an additional pull-  
down transistor, as shown in Figure 25b.  
A
V
RSENSE  
where n is a positive integer defined by DO[9:0], RSENSE is the  
sense resistor value in mΩ, and AV is the gain of the sense ampli-  
fier as defined by the SA variable.  
Single-Wire PWM Diagnostic Feedback  
The DIAG output is capable of sinking 4 mA at an output voltage  
of 0.4 V. To ensure the output low level on the DIAG output does  
not exceed the maximum voltage, the total pull-up resistance con-  
nected to the PSM signal node must have a high enough value  
to ensure that the current into the DIAG output does not exceed  
4 mA during normal operation. For example, if the maximum  
bus voltage during operation is 16 V, then the resistance must be  
greater than 3.9 kΩ. If the bus must operate at 28 V, then then the  
resistance must be greater than 6.9 kΩ. The DIAG output is also  
capable of surviving a voltage up to 50 V without damage and so  
will not be damaged should the PWM signal reach these levels  
during a load-dump event.  
When operating in LIN mode, the diagnostic information will  
usually be transmitted to the ECU (central electronic control unit)  
through the LIN protocol message. When operating in single-wire  
PWM mode, any diagnostic or error information can be transmit-  
ted to the ECU by pulling the incoming PWM signal line to a low  
level. The PWM source at the ECU must be a passive (resistor)  
pull-up with active pull-down for this to be possible. The specific  
method employed for this function will depend on the source of  
the error information and the requirements of the PWM interface  
to the ECU.  
Systems with Negative Voltage Requirements  
In systems where the PWM input must be able to withstand a  
significant negative voltage with respect to ground, then the  
circuit used to pull down the PWM signal must include reverse  
voltage protection. In these cases, the pull-down output of the  
LIN terminal on the A4964 can be used to pull the PWM input  
down to the LIN dominant output voltage level. The PWM source  
in the ECU must be able to recognise this level (max 2 V) as a  
valid low level on the PWM signal, indicating and error feedback  
signal is present.  
As described above, for the case where the DIAG output is used,  
any additional external pull-down transistor must also be capable  
of pulling the PWM signal to the required level and may also  
have to survive any load-dump voltage on the PWM signal.  
A4964  
LIN  
A4964  
LIN  
PWM Signal  
PWM Signal  
Error Signal  
LTX  
LTX  
The pull-down output of the LIN terminal on the A4964 is  
controlled by the LTX input. When the LTX input is low, the  
LIN output pull-down will be active. When LTX is high, the LIN  
output pull-down will be off.  
LRX  
LRX  
MCU  
MCU  
DIAG  
DIAG  
a: MCU using LTX  
b: MCU using Transistor  
The LTX input can be driven directly by the DIAG output when  
the A4964 is used without an external MCU, as shown in Figure  
25c. In this case, the internal pull-up in the LTX input will pro-  
vide the logic high level input. If a faster response is required,  
this pull-up resistor can be supplemented by an external pull-up  
resistor connected to the logic regulator output, VLR.  
A4964  
LIN  
A4964  
LIN  
PWM Signal  
PWM Signal  
LTX  
LTX  
Alternatively, when an external MCU is used to manage the  
interface to the ECU, a logic output from the MCU can be used to  
drive the LTX input directly, as shown in Figure 25a.  
LRX  
LRX  
VLR  
Optional  
DIAG  
DIAG  
c: DIAG using LTX  
b: DIAG to PWM  
Figure 25: Error Signal Feedback Options  
81  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
LAYOUT RECOMMENDATIONS  
Careful consideration must be given to PCB layout when design-  
ing high-frequency, fast-switching, high-current circuits:  
• Decoupling for the supply should be provided by typically  
a 10 µF low ESR electrolytic capacitor and 100 nF ceramic  
capacitor in parallel. These should be connected between  
VBB and GND. The ceramic capacitor in particular should be  
mounted as close to the A4964 terminals as possible.  
• The two ground terminals of the QFN (EV) package, both  
designated GND, are internally connected, but must also be  
connected together on the PCB close to the device for correct  
operation. This common point should return separately to the  
negative side of the motor supply filtering capacitor. This will  
minimize the effect of switching noise on the device logic and  
analog reference.  
• The VREG capacitor should be connected between VREG and  
GND as close to the A4964 terminals as possible. For larger  
values of capacitance, a low ESR electrolytic capacitor may be  
used with a ceramic capacitor greater than 100 nF in parallel.  
In this case, the ceramic capacitor in particular should be  
mounted as close to the A4964 terminals as possible.  
• The ground terminal of the QFP (JP) package should return  
separately to the negative side of the motor supply filtering  
capacitor.  
• The bootstrap capacitors should be mounted close to the  
associated terminals of the A4964.  
• The exposed thermal pad should be connected to the GND  
terminals.  
• Gate charge drive paths and gate discharge return paths may  
carry a large transient current pulse. Therefore the traces from  
GHx, GLx, and Sx (x = A, B or C) should be as short and wide  
as possible to reduce the track inductance.  
• Minimize stray inductance by using short, wide copper tracks  
at the drain and source terminals of all power MOSFETs and  
the input power bus. Particular care should be taken around  
the common source of the low-side power MOSFETs and the  
sense resistor. This will minimize voltages induced by fast  
switching of large load currents.  
• The inputs to the sense amplifier, CSP and CSM, should take  
the form of independent tracks directly to the terminals of the  
sense resistor, and for best results should be matched in length  
and route.  
• Consider the addition of small (100 nF) ceramic decoupling  
capacitors across the source and drain of the power MOSFETs  
to limit fast transient voltage spikes caused by track inductance.  
• A low-cost diode can be placed in the connection to VBB  
to provide reverse battery protection. In reverse battery  
conditions, it is possible to use the body diodes of the power  
MOSFETs to clamp the reverse voltage to approximately  
4 V. In this case, the additional diode in the VBB connection  
will prevent damage to the A4964 and the VBRG input will  
survive the reverse voltage.  
• Keep the gate discharge return connections Sx as short as  
possible. Any inductance on these tracks will cause negative  
transitions on the corresponding A4964 terminals, which may  
exceed the absolute maximum ratings. If this is likely, consider  
the use of clamping diodes to limit the negative excursion on  
these terminals with respect to the GND terminals.  
Optional reverse  
battery protection  
+Supply  
VBB VBRG  
CA  
CB  
CC  
Motor  
SA  
SB  
SC  
A4964  
CSP  
CSM  
PAD GND GND  
RSENSE  
Supply  
Common  
Controller Supply Ground  
Power Ground  
Figure 26: Supply Routing Suggestions  
82  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
INPUT / OUTPUT STRUCTURES  
C
VBB  
16 V  
GH  
56 V  
CP1  
CP2  
VREG  
VBRG  
VBB  
VLR  
30 kΩ  
25 Ω  
S
6 V  
VREG  
HV Clamp  
7.5 V  
LIN  
16 V  
40 V  
16 V  
20 V  
56 V  
7.5 V  
56 V  
GL  
50 V  
Figure 27a: Gate Drive Outputs  
Figure 27b: Supplies  
Figure 27c: LIN Bus I/O  
VLR  
VLR  
VBIAS  
100 kΩ  
VBIAS  
50 kΩ  
SDI  
SCK  
WDOG  
1 kΩ  
1 kΩ  
115 kΩ  
STRn  
IG  
125 kΩ  
125 kΩ  
HV Clamp  
7.5 V  
6 V  
7.5 V  
6 V  
50 kΩ  
56 V  
Figure 27d: Logic Inputs with Pull-Down  
Figure 27e: Logic Inputs with Pull-Up  
Figure 27f: HV Compliant Logic Inputs  
VLR  
25 Ω  
DIAG  
50 Ω  
CSM  
CSP  
6 V  
SDO  
MRSTn  
HV Clamp  
7.5 V  
56 V  
7.5 V  
Figure 27g: Logic Output  
Figure 27h: Current Sense Amp Inputs  
Figure 27i: HV Compliant Output  
83  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
PACKAGE OUTLINE DRAWINGS  
0.55  
0.80  
9.00 ±0.20  
7.00 ±0.20  
1.65  
3.5° ±3.5  
+0.05  
0.15  
–0.06  
B
9.00 ±0.20 7.00 ±0.20  
5.00  
8.60  
5.00±0.04  
0.60 ±0.15  
1.00  
REF  
32  
32  
A
1
2
0.25 BSC  
1
2
5.00±0.04  
SEATING PLANE  
GAUGE PLANE  
5.00  
8.60  
Branded Face  
PCB Layout Reference View  
C
32X  
0.10  
C
SEATING  
PLANE  
C
For Reference Only; not for tooling use (reference MS-026 BBAHD)  
Dimensions in millimeters  
Dimensions exclusive of mold flash, gate burrs, and dambar protrusions  
Exact case and lead configuration at supplier discretion within limits shown  
+0.08  
–0.07  
0.37  
0.80 BSC  
1.60 MAX  
1.40 ±0.05  
0.15  
Terminal #1 mark area  
A
B
C
0.05  
Exposed thermal pad (bottom surface); exact dimensions may vary with device  
Reference land pattern layout (reference IPC7351  
QFP80P900X900X160-32BM); adjust as 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 EIA/JEDEC Standard JESD51-5)  
Figure 28: JP Package, 32 Pin QFP with Exposed Thermal Pad  
84  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
For Reference Only – Not for Tooling Use  
(Reference JEDEC MO-220VJJD-3, except pin count)  
Dimensions in millimeters – NOT TO SCALE  
Exact case and lead configuration at supplier discretion within limits shown  
0.50  
0.30  
6.00 0.ꢀ5  
36  
36  
ꢀ.ꢀ5  
2
2
A
4.ꢀ5  
5.80  
6.00 0.ꢀ5  
C
D
4.ꢀ5  
5.80  
37X  
0.90 0.ꢀ0  
0.08  
C
SEATING  
PLANE  
+0.05  
–0.07  
C PCB Layout Reference View  
0.25  
0.50  
0.55 0.20  
B
A
B
Terminal #ꢀ mark area  
4.ꢀ5  
Exposed thermal pad (reference only, terminal #ꢀ identifier appearance at supplier discretion)  
2
C
Reference land pattern layout (reference IPC735ꢀ QFN50P600X600Xꢀ00-37VꢀM); All pads a  
minimum of 0.20 mm from all adjacent pads; adjust as 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 EIA/JEDEC Standard  
JESD5ꢀ-5)  
36  
4.ꢀ5  
D
Coplanarity includes exposed thermal pad and terminals  
Figure 29: EV Package, 36 Pin QFN with Exposed Thermal Pad  
85  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
APPENDIX A: FAULT RESPONSE ACTIONS  
Table A1a: Fault Response Actions (ESF = 0, VLU masked)  
Disable  
Outputs  
Fault State  
Latched  
Fault Description  
No Fault  
RSC [7]  
Other Action  
Fault State Reset  
Re-Enable Outputs  
No  
Yes [1]  
No  
n/a  
n/a  
n/a  
n/a  
Yes  
No  
None  
RUN = 0  
None  
n/a  
POR, RUN = 1  
System Error  
Serial Error  
POR or SPI [3]  
n/a  
Internal logic  
shutdown & reset  
VBB POR  
Yes [1]  
n/a  
No  
Condition removed  
RUN = 1  
Demand input = 0, RUN = 0,  
or SPI [3][4]  
0
1
0
Yes  
No  
VBB Undervoltage  
No  
None  
n/a  
Condition removed  
First watchdog transition after  
100 ms from MRSTn going high  
Demand input reset [5]  
,
RUN reset [6], or SPI [3][4]  
Yes  
Watchdog Fault  
Yes [1]  
MCU reset  
1
Yes  
No  
No  
No  
No  
First watchdog transition after 100 ms from MRSTn going high  
VREG Undervoltage  
Bootstrap Undervoltage  
Temperature Warning  
Overtemperature  
Yes [1]  
Yes [2]  
No  
n/a  
n/a  
n/a  
n/a  
None  
None  
None  
None  
Condition removed  
PWM on  
Condition removed  
Condition removed  
n/a  
n/a  
No  
Demand input reset [5]  
or RUN reset [6]  
Demand input = 0 or RUN = 0  
0
Yes  
None  
Loss of Synchronization  
VDS Overvoltage  
Yes [1]  
Yes [2]  
SPI [3][4]  
1
No  
No  
Stop and restart  
None  
Condition removed  
PWM on  
n/a  
[1] All gate drives low, all MOSFETs off.  
[5] Set demand input = 0 then set demand input to a new operating value.  
[6] Set RUN bit = 0 then set RUN bit = 1.  
[7] Restart control bit.  
[2] Gate drive for the affected MOSFET low, only the affected MOSFET off.  
[3] Only when DSR = 0.  
[4] Serial read of Status or Diagnostic register.  
86  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Table A1b: Fault Response Actions (ESF = 1, VLU masked)  
Disable  
Outputs  
Fault State  
Latched  
Fault Description  
No Fault  
RSC [7]  
Other Action  
Fault State Reset  
Re-Enable Outputs  
No  
Yes [1]  
No  
n/a  
n/a  
n/a  
n/a  
Yes  
No  
None  
RUN = 0  
None  
n/a  
POR, RUN = 1  
System Error  
Serial Error  
POR or SPI [3]  
n/a  
Internal logic  
shutdown & reset  
VBB POR  
Yes [1]  
n/a  
No  
Condition removed  
RUN = 1  
Demand input reset [5]  
or RUN reset [6]  
Demand input = 0 or RUN = 0  
0
Yes  
VBB Undervoltage  
Yes [1]  
None  
SPI [3][4]  
Condition removed  
First watchdog transition after  
Demand input reset [5]  
100 ms from MRSTn going high  
RUN reset [6], or SPI [3][4]  
1
0
No  
,
Yes  
Watchdog Fault  
Yes [1]  
Yes [1]  
Yes [1]  
MCU reset  
None  
1
Yes  
No  
First watchdog transition after 100 ms from MRSTn going high  
Condition removed  
VREG Undervoltage  
Bootstrap Undervoltage  
n/a  
Demand input reset [5]  
Demand input = 0 or RUN = 0  
or RUN reset [6]  
n/a  
Yes  
None  
SPI [3][4]  
Temperature Warning  
Overtemperature  
No  
n/a  
n/a  
No  
None  
Condition removed  
n/a  
VLR regulator  
shutdown & MCU  
reset  
Yes [1]  
Yes  
First watchdog transition after 100 ms from MRSTn going high  
Demand input reset [5]  
Demand input = 0 or RUN = 0  
or RUN reset [6]  
0
1
Yes  
No  
None  
Stop and restart  
None  
Loss of Synchronization  
VDS Overvoltage  
Yes [1]  
Yes [1]  
SPI [3][4]  
Condition removed  
Demand input reset [5]  
Demand input = 0 or RUN = 0  
or RUN reset [6]  
n/a  
Yes  
SPI [3][4]  
[1] All gate drives low, all MOSFETs off.  
[5] Set demand input = 0 then set demand input to a new operating value.  
[6] Set RUN bit = 0 then set RUN bit = 1.  
[7] Restart control bit.  
[2] Gate drive for the affected MOSFET low, only the affected MOSFET off.  
[3] Only when DSR = 0.  
[4] Serial read of Status or Diagnostic register.  
87  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Table A2a: Fault Response Actions (ESF = 0, WD masked)  
Disable  
Outputs  
Fault State  
Latched  
Fault Description  
No Fault  
RSC [7]  
Other Action  
Fault State Reset  
Re-Enable Outputs  
No  
Yes [1]  
No  
n/a  
n/a  
n/a  
n/a  
Yes  
No  
None  
RUN = 0  
None  
n/a  
POR, RUN = 1  
System Error  
Serial Error  
POR or SPI [3]  
n/a  
Internal logic  
shutdown & reset  
VBB POR  
Yes [1]  
n/a  
No  
Condition removed  
RUN = 1  
Demand input = 0, RUN = 0,  
or SPI [3][4]  
0
1
0
Yes  
No  
VBB Undervoltage  
No  
None  
n/a  
Condition removed  
10 ms after condition removed  
when MRSTn goes high  
Demand input reset [5]  
,
RUN reset [6], or SPI [3][4]  
Yes  
VLR Undervoltage  
Yes [1]  
MCU reset  
1
Yes  
No  
No  
No  
No  
10 ms after condition removed when MRSTn goes high  
VREG Undervoltage  
Bootstrap Undervoltage  
Temperature Warning  
Overtemperature  
Yes [1]  
Yes [2]  
No  
n/a  
n/a  
n/a  
n/a  
None  
None  
None  
None  
Condition removed  
PWM on  
Condition removed  
Condition removed  
n/a  
n/a  
No  
Demand input reset [5]  
or RUN reset [6]  
Demand input = 0 or RUN = 0  
0
Yes  
None  
Loss of Synchronization  
VDS Overvoltage  
Yes [1]  
Yes [2]  
SPI [3][4]  
1
No  
No  
Stop and restart  
None  
Condition removed  
PWM on  
n/a  
[1] All gate drives low, all MOSFETs off.  
[5] Set demand input = 0 then set demand input to a new operating value.  
[6] Set RUN bit = 0 then set RUN bit = 1.  
[7] Restart control bit.  
[2] Gate drive for the affected MOSFET low, only the affected MOSFET off.  
[3] Only when DSR = 0.  
[4] Serial read of Status or Diagnostic register.  
88  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Table A2b: Fault Response Actions (ESF = 1, WD masked)  
Disable  
Outputs  
Fault State  
Latched  
Fault Description  
No Fault  
RSC [7]  
Other Action  
Fault State Reset  
Re-Enable Outputs  
No  
Yes [1]  
No  
n/a  
n/a  
n/a  
n/a  
Yes  
No  
None  
RUN = 0  
None  
n/a  
POR, RUN = 1  
System Error  
Serial Error  
POR or SPI [3]  
n/a  
Internal logic  
shutdown & reset  
VBB POR  
Yes [1]  
n/a  
No  
Condition removed  
RUN = 1  
Demand input reset [5]  
or RUN reset [6]  
Demand input = 0 or RUN = 0  
0
Yes  
VBB Undervoltage  
Yes [1]  
None  
SPI [3][4]  
Condition removed  
10 ms after condition removed  
Demand input reset [5]  
when MRSTn goes high  
RUN reset [6], or SPI [3][4]  
1
0
No  
,
Yes  
VLR Undervoltage  
Yes [1]  
Yes [1]  
Yes [1]  
No  
MCU reset  
None  
1
Yes  
No  
10 ms after condition removed when MRSTn goes high  
Condition removed  
VREG Undervoltage  
Bootstrap Undervoltage  
Temperature Warning  
n/a  
Demand input reset [5]  
Demand input = 0 or RUN = 0  
or RUN reset [6]  
n/a  
n/a  
Yes  
No  
None  
SPI [3][4]  
None  
Condition removed  
n/a  
10 ms after condition removed  
when MRSTn goes high  
Demand input reset [5]  
,
VLR regulator  
shutdown & MCU  
reset  
RUN reset [6], or SPI [3][4]  
Overtemperature  
Yes [1]  
n/a  
Yes  
10 ms after condition removed when MRSTn goes high  
Demand input reset [5]  
Demand input = 0 or RUN = 0  
or RUN reset [6]  
0
1
Yes  
No  
None  
Stop and restart  
None  
Loss of Synchronization  
VDS Overvoltage  
Yes [1]  
Yes [1]  
SPI [3][4]  
Condition removed  
Demand input reset [5]  
Demand input = 0 or RUN = 0  
or RUN reset [6]  
n/a  
Yes  
SPI [3][4]  
[1] All gate drives low, all MOSFETs off.  
[5] Set demand input = 0 then set demand input to a new operating value.  
[6] Set RUN bit = 0 then set RUN bit = 1.  
[7] Restart control bit.  
[2] Gate drive for the affected MOSFET low, only the affected MOSFET off.  
[3] Only when DSR = 0.  
[4] Serial read of Status or Diagnostic register.  
89  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Table A3a: Fault Response Actions (ESF = 0, VLR and WD masked)  
Disable  
Outputs  
Fault State  
Latched  
Fault Description  
No Fault  
RSC [7]  
Other Action  
Fault State Reset  
Re-Enable Outputs  
No  
Yes [1]  
No  
n/a  
n/a  
n/a  
n/a  
Yes  
No  
None  
RUN = 0  
None  
n/a  
POR, RUN = 1  
System Error  
Serial Error  
POR or SPI [3]  
n/a  
Internal logic  
shutdown & reset  
VBB POR  
Yes [1]  
n/a  
0
No  
Condition removed  
RUN = 1  
Demand input = 0, RUN = 0,  
or SPI [3][4]  
Yes  
VBB Undervoltage  
No  
None  
n/a  
1
No  
No  
No  
No  
No  
Condition removed  
VREG Undervoltage  
Bootstrap Undervoltage  
Temperature Warning  
Overtemperature  
Yes [1]  
Yes [2]  
No  
n/a  
n/a  
n/a  
n/a  
None  
None  
None  
None  
Condition removed  
PWM on  
Condition removed  
Condition removed  
n/a  
n/a  
No  
Demand input reset [5]  
or RUN reset [6]  
Demand input = 0 or RUN = 0  
SPI [3][4]  
0
Yes  
None  
Loss of Synchronization  
VDS Overvoltage  
Yes [1]  
Yes [2]  
1
No  
No  
Stop and restart  
None  
Condition removed  
PWM on  
n/a  
[1] All gate drives low, all MOSFETs off.  
[5] Set demand input = 0 then set demand input to a new operating value.  
[6] Set RUN bit = 0 then set RUN bit = 1.  
[7] Restart control bit.  
[2] Gate drive for the affected MOSFET low, only the affected MOSFET off.  
[3] Only when DSR = 0.  
[4] Serial read of Status or Diagnostic register.  
90  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Table A3b: Fault Response Actions (ESF = 1, VLR and WD masked)  
Disable  
Outputs  
Fault State  
Latched  
Fault Description  
No Fault  
RSC [7]  
Other Action  
Fault State Reset  
Re-Enable Outputs  
No  
Yes [1]  
No  
n/a  
n/a  
n/a  
n/a  
Yes  
No  
None  
RUN = 0  
None  
n/a  
POR, RUN = 1  
System Error  
Serial Error  
POR or SPI [3]  
n/a  
Internal logic  
shutdown & reset  
VBB POR  
Yes [1]  
n/a  
No  
Condition removed  
RUN = 1  
Demand input reset [5]  
or RUN reset [6]  
Demand input = 0 or RUN = 0  
0
Yes  
VBB Undervoltage  
Yes [1]  
None  
SPI [3][4]  
1
No  
No  
Condition removed  
Condition removed  
VREG Undervoltage  
Yes [1]  
Yes [1]  
n/a  
None  
None  
None  
Demand input reset [5]  
Demand input = 0 or RUN = 0  
SPI [3][4]  
or RUN reset [6]  
Bootstrap Undervoltage  
n/a  
Yes  
Temperature Warning  
Overtemperature  
No  
n/a  
n/a  
No  
Condition removed  
n/a  
VLR regulator  
shutdown & MCU  
reset  
Yes [1]  
Yes  
10 ms after condition removed when MRSTn goes high  
Demand input reset [5]  
Demand input = 0 or RUN = 0  
or RUN reset [6]  
0
1
Yes  
No  
None  
Stop and restart  
None  
Loss of Synchronization  
VDS Overvoltage  
Yes [1]  
Yes [1]  
SPI [3][4]  
Condition removed  
Demand input reset [5]  
Demand input = 0 or RUN = 0  
or RUN reset [6]  
n/a  
Yes  
SPI [3][4]  
[1] All gate drives low, all MOSFETs off.  
[5] Set demand input = 0 then set demand input to a new operating value.  
[6] Set RUN bit = 0 then set RUN bit = 1.  
[7] Restart control bit.  
[2] Gate drive for the affected MOSFET low, only the affected MOSFET off.  
[3] Only when DSR = 0.  
[4] Serial read of Status or Diagnostic register.  
91  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
A4964  
Sensorless Sinusoidal Drive BLDC Controller  
Revision History  
Number  
Date  
Description  
June 8, 2017  
Initial release  
Updated Speed Error values (p. 14), Figure 12 (p. 27), Peak Duty Cycle equation (p. 39), and Chip  
Fault State: VLR Undervoltage description (p. 50).  
1
September 15, 2017  
Updated VLR Regulator section (p. 23), Current Limit section (p. 34), Figure 20 (p. 42), and  
Readback Register section (p. 60).  
2
3
December 4, 2017  
December 20, 2018  
Minor editorial updates  
Copyright ©2018, Allegro MicroSystems, LLC  
Allegro MicroSystems, LLC reserves the right to make, from time to time, such departures from the detail specifications as may be required to  
permit improvements in the performance, reliability, or manufacturability of its products. Before placing an order, the user is cautioned to verify that  
the information being relied upon is current.  
Allegro’s products are not to be used in any devices or systems, including but not limited to life support devices or systems, in which a failure of  
Allegro’s product can reasonably be expected to cause bodily harm.  
The information included herein is believed to be accurate and reliable. However, Allegro MicroSystems, LLC assumes no responsibility for its  
use; nor for any infringement of patents or other rights of third parties which may result from its use.  
Copies of this document are considered uncontrolled documents.  
For the latest version of this document, visit our website:  
www.allegromicro.com  
92  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  

相关型号:

A497-0005-A3

TRIPLE LINE LEADING EDGE CONTROL PRECISE DELAY MODULES
BEL

A497-0010-06

1 TAP LEADING EDGE CONTROL PRECISE DELAY MODULES
BEL

A497-0010-10

Active Delay Line, 1-Func, 10-Tap, True Output, TTL, PDIP14
BEL

A497-0010-A3

TRIPLE LINE LEADING EDGE CONTROL PRECISE DELAY MODULES
BEL

A497-0015-A3

TRIPLE LINE LEADING EDGE CONTROL PRECISE DELAY MODULES
BEL

A497-0020-06

1 TAP LEADING EDGE CONTROL PRECISE DELAY MODULES
BEL

A497-0020-10

Active Delay Line, 1-Func, 10-Tap, True Output, TTL, PDIP14
BEL

A497-0020-A3

TRIPLE LINE LEADING EDGE CONTROL PRECISE DELAY MODULES
BEL

A497-0025-02

5 TAP LEADING EDGE CONTROL PRECISE DELAY MODULES
BEL

A497-0025-10

Active Delay Line, 1-Func, 10-Tap, True Output, TTL, PDIP14
BEL

A497-0025-A3

TRIPLE LINE LEADING EDGE CONTROL PRECISE DELAY MODULES
BEL

A497-0030-02

5 TAP LEADING EDGE CONTROL PRECISE DELAY MODULES
BEL