A4963 Datasheet

A4963
Sensorless BLDC Controller
FEATURES AND BENEFITS
•
•
•
•
•
•
•
•
•
•
•
•
Three phase sensorless BLDC motor control FET driver
Logic level P-N gate drive (P high-side, N low-side)
4.2 V to 50 V supply range
Simple block commutation for maximum torque
Sensorless (bemf sensing) start-up and commutation
Programmable operating modes:
□□ Integrated Speed Control
□□ PWM Duty Cycle Control
□□ Current mode control
Cross-conduction prevention
Wide speed range capability
Peak current limiting
Single low frequency PWM control input
Single Open Drain Fault output
SPI compatible interface providing:
□□ Configuration and control
□□ Programmable dead time
□□ Programmable phase advance
□□ Detailed diagnostic reporting
APPLICATIONS
• Pumps
• Blowers
• Fans
Package: 20-Pin eTSSOP with Exposed
Thermal Pad (suffix LP)
DESCRIPTION
The A4963 is a three-phase, sensorless, brushless DC (BLDC)
motor controller for use with external complementary P-channel
and N-channel power MOSFETs.
The A4963 can be used as a stand-alone controller
communicating directly with an electronic control unit (ECU)
or it can be used in a close coupled system with a local
microcontroller (MCU).
The motor is driven using block commutation (trapezoidal drive)
where phase commutation is determined, without the need for
independent position sensors, by monitoring the motor backEMF (bemf). The sensorless start-up scheme allows the A4963
to operate over a wide range of motor and load combinations.
Dedicated circuits allow the A4963 to operate over a wide range
of motor speeds, from less than 100 rpm to in excess of 30,000
rpm, depending on the supply voltage and motor capability.
Several operational modes are available including duty-cycle
(voltage) control, current (torque limit) control and closed loop
speed control. Operating mode and control parameters can be
altered through an SPI compatible serial interface.
Motor operation is controlled by a programmable PWM input
that can be used to define the motor operating state and provide
the proportional input for the selected operating mode.
Integrated diagnostics provide indication of under voltage,
over temperature and power bridge faults and can protect the
power switches under most short circuit conditions. Faults are
indicated by a single open drain output than can be used to
pull the PWM input low.
The A4963 is provided in a small, thermally enhanced 20-pin
TSSOP with exposed thermal pad.
Not to scale
VBAT
VBAT
PWM
PWM
P
P
FAULTn
ECU
COMMS
P
FAULTn
P
P
P
3-Phase
Motor
A4963
MCU
ECU
N
N
N
N
SPD
N
Typical Application - Functional Block Diagrams
A4963-DS
3-Phase
Motor
A4963
N
A4963
Selection Guide
Sensorless BLDC Controller
Part Number
Packing
A4963GLPTR-T
4000 pieces per reel
Specifications3
Absolute Maximum Values
Thermal Cahracteristics
Pin-out Diagram and Terminal List Table
Functional Block Diagram
Electrical Characteristics Table
Serial Interface Timing Diagram
Gate Drive TIming Diagram
Typical Low-Side Gate Drive vs. VBB
Typical High-Side Gate Drive vs. VBB
VDS Fault Monitor Timing Diagrams
Closed-Loop Control Diagrams
Functional Description
3
3
4
5
6
9
9
9
9
10
11
12
Input & Output Terminal Functions
12
Motor Drive System
13
Rotor Position Sensing Using Motor bemf
14
Start-up15
Motor Control
16
PWM Control Input
16
Direct Open-Loop Speed (Voltage) Control
16
Indirect Open-Loop Speed (Voltage) Control
17
Closed-Loop Torque (Current) Control
18
Closed-Loop Speed Control
19
Power Supplies
21
Gate Drive and Bridge PWM
21
Gate Drive Voltage Regulation
21
Low-Side Gate Drive
21
High-Side Gate Drive
21
Dead Time
22
Synchronous Rectification
22
Non-Synchronous Rectification
22
Recirculation Mode Selection to Improve bemf
Detection
22
Degauss Compensation
24
Package
6.5 mm x 4.4 mm, 1.2 mm nominal height
20-pin TSSOP with exposed thermal pad
Table of Contents
Current Limit
Fixed-Off Time
Fixed Frequency
Blank Time
24
25
25
25
FAULTn Output
Serial Diagnostic Output
Fault Action
Fault Masks
Chip-Level Diagnostics
Chip Fault State: Over Temperature
Chip Fault State: VBB Undervoltage
Chip Fault State: Power-On Reset
Chip Fault State: Serial Transmission Error
Loss of Synchronization
MOSFET Fault Detection
Fault Qualification
27
27
27
29
29
29
29
30
30
30
31
31
Diagnostics27
Serial Interface
32
Serial Register Reference
35
Input/Output Structures
Package Outline Drawing
40
41
Serial Registers Definition
Configuration and Control Registers
Diagnostic Registers
Configuration Register 0
Configuration Register 1
Configuration Register 2
Configuration Register 3
Configuration Register 4
Configuration Register 5
RUN Register
MASK Register
Diagnostic Register
32
33
34
35
35
36
36
37
37
38
39
39
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
2
A4963
Sensorless BLDC Controller
SPECIFICATIONS
Absolute Maximum Ratings*
Characteristic
Supply Voltage
Symbol
Notes
VBB
Rating
Unit
–0.3 to 50
V
Battery Compliant Inputs
PWM
–0.3 to 50
V
Battery Compliant Outputs
FAULTn, SPD
–0.3 to 50
V
Logic Inputs
STRn, SCK, SDI
–0.3 to 6.5
V
Logic Outputs
SDO
–0.3 to 6.5
V
VBB – 18 to VBB
+ 0.3
V
–4 to 51
V
Pins GHA, GHB, GHC
Pins SA, SB, SC
Pins GLA, GLB, GLC
Sense Amplifier Inputs
VCSI
CSP, CSM
–0.3 to 18
V
–4 to 6.5
V
Ambient Operating Temperature
Range
TA
–25 to 150
ºC
Maximum Continuous Junction
Temperature
TJ(max)
165
ºC
Tstg
–55 to 150
ºC
Storage Temperature Range
*With respect to GND
Thermal Characteristics (may require derating at maximum conditions, see application information)
Characteristic
Package Thermal Resistance
Symbol
RθJA
RθJT
Test Conditions*
Value
Unit
4-layer PCB based on JEDEC standard
23*
ºC/W
2-layer PCB with 3in2 Copper each side
44*
ºC/W
2*
ºC/W
*Additional thermal information available on the Allegro website.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
3
A4963
Sensorless BLDC Controller
Pin-out Diagram and Terminal List Table
VBB
1
20
SA
FAULTn
2
19
SB
SPD
3
18
SC
PWM
4
17
GHA
SDO
5
16
GHB
PAD
SCK
6
15
GHC
STRn
7
14
GLA
SDI
8
13
GLB
GND
9
12
GLC
CSM
10
11
CSP
Package LP, 20-Pin eTSSOP with Exposed Thermal
Pad
Terminal List
Name
Number
Function
Name
Number
Function
CSM
10
CSP
11
Sense amp negative input
SA
20
Phase A motor phase
Sense amp positive input
SB
19
Phase B motor phase
FAULTn
2
Fault output open drain
GHA
17
Phase A HS FET gate drive
SC
18
Phase C motor phase
SCK
6
Serial clock
GHB
16
Phase B HS FET gate drive
SDI
8
Serial data input
GHC
15
Phase C HS FET gate drive
SDO
5
Serial data output
Speed Output
GLA
14
Phase A LS FET gate drive
SPD
3
GLB
13
Phase B LS FET gate drive
STRn
7
Serial strobe (chip select) input
1
Main supply
–
Connect to Ground
GLA
12
Phase C LS FET gate drive
VBB
GND
9
Ground
Pad
PWM
4
PWM input, pulled low for fault
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
4
A4963
STRn
SDI
SDO
SCK
Sensorless BLDC Controller
Battery +
Diagnostics &
Protection
Serial Interface
DAC
FAULTn
PWM
PWM
Detect
Start Sequence
& Run Control
VBB
Logic
Supply
Regulator
VREF
Ref
VRI
Dead
Time
Phase A shown
(repeated for B & C)
VBB
GHA
High-Side
Drive
Speed
Control
Phase B
GND
SA
Motor
State
Seq
Gate
Bridge
Drive
Control
Control
x3
VBB
Phase C
GLA
Low-Side
Drive
SPD
GND
Position
Estimator
Blank
Time
+
+
Zero X Detect
–
–
CSP
CSM
VRI
GND
Functional Block Diagram
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
5
A4963
Sensorless BLDC Controller
ELECTRICAL CHARACTERISTICS: valid at TA= 25°C, VBB = 4.2 V to 28 V (unless noted otherwise)
Characteristics
Symbol
Test Conditions
Min.
Typ.
Max.
Unit
Supply & Reference
VBB Functional Operating Range1
V
VBB Quiescent Current
IBBQ
System Clock Period
tOSC
BB
Operating. Outputs active.
4.2
–
50
V
Operating. Outputs disabled.
4.0
–
50
V
No unsafe states.
0
–
50
V
PWM = inactive, VBB = 12 V
–
12
18
mA
47.5
50
52.5
ns
Gate Output Drive
Turn-on Time
tr
CLOAD = 500 pF, 20% to 80%, VBB = 12 V
–
200
–
ns
Turn-off Time
tf
CLOAD = 500 pF, 20% to 80%, VBB = 12 V
–
200
–
ns
12
17
26
–
26
–
–
300
–
GHx Pull-up On Resistance
GHx Pull-up Current Limit
GHx Pull-down On Resistance
RGHUP
TJ = 25°C, IGHx = -40
mA2
TJ = 150°C, IGHx = -40 mA2
IGHLIMUP
RGHDN
GHx Pull-down Current Limit
IGHLIMDN
GHx Output Voltage High (off)
VGHH
GLx Pull-up On Resistance
GLx Pull-up Current Limit
GLx Pull-down On Resistance
GLx Pull-down Current Limit
VGHL
RGLUP
23
28
33
TJ = 150°C, IGHx = 40 mA, VBB = 10 V
–
40
–
–
100
–
mA
VBB–0.2
–
–
V
-10 µA < IGH < 10 µA
-10 µA < IGH < 10 µA, VBB ≥ 14.1 V
GLx Output Voltage Low (off)
VGLL
–
2.6
V
–
VBB–11.3
V
0
–
VBB–9.4
V
0
–
0.2
V
TJ = 25°C, IGLx = -40
mA2,
17
24
31
TJ = 150°C, IGLx = -40 mA2, VBB = 10 V
VBB = 10 V
–
38
–
–
140
–
TJ = 25°C, IGLx = 40 mA
15
20
25
TJ = 150°C, IGLx = 40 mA
30
40
50
Ω
mA
Ω
–
160
–
mA
VBB–0.2
–
VBB
V
-10 µA < IGL < 10 µA, 8.6 ≤ VBB < 13.7 V
8.4
–
VBB
V
-10 µA < IGL < 10 µA, VBB ≥ 13.7 V
11.2
–
13.7
V
IGL = -10 mA, VBB = 14.5 V
10.7
–
13.5
V
–
–
0.2
V
-10 µA < IGL < 10 µA, VBB < 8.6 V
VGLH
0.9
VBB–14.1
-10 µA < IGH < 10 µA, 9.6 ≤ VBB < 14.1 V
IGLLIMDN
GLx Output Voltage High (active)
Ω
-10 µA < IGH < 10 µA, VBB < 9.6 V
IGLLIMUP
RGLDN
mA
TJ = 25°C, IGHx = 40 mA, VBB = 10 V
IGH = 10 mA, VBB = 14.5 V
GHx Output Voltage Low (active)
Ω
-10 µA < IGL < 10 µA
GHx Passive Pull-up
RGHPD
VBB = 0 V, VGH > -0.1 V
–
500
–
kΩ
GLx Passive Pull-down
RGLPD
VBB = 0 V, VGL < 0.1 V
–
500
–
kΩ
Turn-off Propagation Delay3
tP(off)
Input Change to unloaded Gate output change.
Direct mode.
200
250
400
ns
Turn-on Propagation Delay3
tP(on)
Input Change to unloaded Gate output change.
Direct mode.
200
250
400
ns
Dead Time (turn-off to turn-on delay)3
tDEAD
Default power-up value
0.9
1.0
1.1
µs
Contiued on next page...
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
6
A4963
Sensorless BLDC Controller
ELECTRICAL CHARACTERISTICS (continued): valid at TA= 25°C, VBB = 4.2 V to 28 V (unless noted otherwise)
Characteristics
Symbol
Test Conditions
Min.
Typ.
Max.
Unit
Logic Inputs & Outputs
Input Low Voltage
VIL
–
–
0.8
V
Input High Voltage
VIH
2.0
–
–
V
Input Hysteresis
VIhys
150
550
–
mV
Input Pull-down Resistor (PWM, SDI,
SCK)
RPD
30
50
70
kΩ
Input Pull-down Resistor (STRn)
RPU
30
50
70
kΩ
Output Low Voltage (SDO)
VOL
IOL = 1 mA
–
0.2
0.4
V
Output High Voltage (SDO)
VOH
IOL = 1 mA2
2.4
3.0
–
V
IO
0 V < VO < 3.3 V, STRn = 1
–1
–
1
µA
VOL
IOL = 4 mA. FAULTn active
–
0.2
0.4
V
0 V < VO < 15 V, FAULTn active
–
10
15
mA
Output
Leakage2
(SDO)
Output Low Voltage (FAULTn, SPD)
Output Current Limit (FAULTn, SPD)
Output Leakage2 (FAULTn, SPD)
IOLIM
IO
15 V ≤ VO < 50 V, FAULTn active
–
–
2
mA
0 V < VO < 12 V, FAULTn inactive
–1
–
1
µA
12 V ≤ VO < 50 V, FAULTn inactive
–
–
1.7
mA
Logic I/O – Timing Parameters
PWM Duty Detect Frequency Range
fPWD
5
–
1k
Hz
PWM Brake Time
tBRK
500
–
–
µs
Serial Interface – Timing Parameters
Clock High Time
tSCKH
A in Figure 1
50
–
–
ns
Clock Low Time
tSCKL
B in Figure 1
50
–
–
ns
Strobe Lead Time
tSTLD
C in Figure 1
30
–
–
ns
Strobe Lag Time
tSTLG
D in Figure 1
30
–
–
ns
Strobe High Time
tSTRH
E in Figure 1
300
–
–
ns
Data Out Enable Time
tSDOE
F in Figure 1
–
–
40
ns
Data Out Disable Time
tSDOD
G in Figure 1
–
–
30
ns
Data Out Valid Time from Clock
Falling
tSDOV
H in Figure 1
–
–
40
ns
Data Out Hold Time from Clock
Falling
tSDOH
I in Figure 1
5
–
–
ns
Data In Set-up Time to Clock Rising
tSDIS
J in Figure 1
15
–
–
ns
Data In Hold Time from Clock Rising
tSDIH
K in Figure 1
10
–
–
ns
Motor Start-up Parameters
Hold Duty Cycle
Hold Time
DH
Default power-up value
35.5
37.5
39.5
%
tHOLD
Default power-up value
15.2
16
16.8
ms
Start Speed
fST
Default power-up value
7.6
8
8.4
Hz
Start Duty Cycle
DST
Default power-up value
47.5
50
52.5
%
Contiued on next page...
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
7
A4963
Sensorless BLDC Controller
ELECTRICAL CHARACTERISTICS (continued): valid at TA= 25°C, VBB = 4.2 V to 28 V (unless noted otherwise)
Characteristics
Symbol
Test Conditions
Min.
Typ.
Max.
Unit
Motor Run Parameters
Phase Advance (in electrical degrees)
θADV
Default power-up value
14
15
16
º
Position Control Proportional Gain
KCP
Default power-up value
–
1
–
–
Position Control Integral Gain
KCI
Default power-up value
–
1
–
–
Speed Control Proportional Gain
KSP
Default power-up value
–
1
–
–
Speed Control Integral Gain
KSI
Default power-up value
–
1
–
–
Maximum Control Speed
fMX
Default power-up value
3112.9
3276.7
3440.5
Hz
–5
–
5
%
12.5
–
200
mV
Speed Error
EfCCMX
Current Limiting
Current Limit Threshold Voltage
Range
VILIM
VILIM = VCSP – VCSM.
Current Limit Threshold Voltage
VILIM
Default power-up value
–
200
–
mV
Current Limit Threshold Voltage Error7
EILIM
VIL = 1111
–5%
–
5%
%FS
Fixed Off Time
tPW
Default power-up value
47.9
50.4
52.9
µs
Blank Time
tBL
Default power-up value
3.04
3.2
3.36
µs
Protection
VBB Undervoltage Lockout
VBB POR Voltage
VBB POR Voltage Hysteresis
VDS Threshold
VBBON
VBB rising
4.2
4.4
4.6
V
VBBOFF
VBB falling
3.8
4.0
4.2
V
VBBR
VBB falling
–
3.2
3.5
V
–
100
–
mV
1325
1550
1705
mV
–
–
1705
mV
VBBRHys
VDST
VDS Threshold Max – High Side
VDST
VDS Threshold Max – Low Side
VDST
VDS Threshold Offset4,5
VDSTO
Temperature Warning Threshold
TJWH
Temperature Warning Hysteresis
TJWHhys
Default power-up value
VBB ≥ 6 V
5 V ≤ VBB < 6 V
–
–
500
mV
VBB ≥ 4.2 V
–
–
1705
mV
VDST ≥ 1 V
–
±100
–
mV
VDST ≤ 1 V
–150
±50
150
mV
Temperature increasing
125
135
145
ºC
–
15
–
ºC
Over-temperature Threshold
TJF
Temperature increasing
170
175
180
ºC
Over-temperature Hysteresis
TJHyst
Recovery = TJF – TJHyst
–
15
–
ºC
Function is correct but parameters are not guaranteed above or below the general limits (6-28 V).
2 For input and output current specifications, negative current is defined as coming out of (sourcing) the specified device terminal.
3 See Figure 2 for gate drive output timing.
4 As V
SX decreases, high-side fault occurs if (VBAT - VSX) > (VDST + VDSTO)
5 As V
SX increases, low-side fault occurs if (VSX) > (VDST + VDSTO)
6 See Figures 4 & 5 for V
DS monitor timing.
7 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)
1
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
8
A4963
Sensorless BLDC Controller
STRn
A
C
E
D
B
SCK
J
SDI
K
D15
X
X
F
SDO
X
D14
X
D0
X
G
I
Z
D14’
D15’
Z
D0’
H
X = don’t care; Z = high impedance (tri-state)
Figure 1: Serial Interface Timing
PWM
tDEAD
tP(off)
GHX
GLX
tP(off)
tDEAD
Figure 2: Gate Drive Timing
VBB (V)
2
14
0
12
-2
10
-4
4
6
8
10
12
VGS(HS) Spec Max
VGS(HS) Typical
VGS(HS) Spec Min
14
16
18
20
VBB
VGS(HS)
VGS(HS) (V)
VGS(LS) (V)
GHA
8
VBB
6
GHA
-6
GLA
-8
-10
4
GLA
VGS(LS) Spec Max
VGS(LS) Typical
VGS(LS) Spec Min
2
-12
VGS(LS)
-14
0
2
4
6
8
10
12
14
16
18
20
VBB (V)
Figure 3: Typical Low-Side Gate Drive vs. VBB
Figure 4: Typical High-Side Gate Drive vs. VBB
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
9
A4963
Sensorless BLDC Controller
VDS Fault Monitor Timing Diagrams
Bridge
PWM
tDEAD
tP(off)
GHX
tBL
High-side VDS monitor active
HS monitor disabled
High-side VDS monitor disabled
tP(off)
tDEAD
GLX
tBL
Low-side VDS monitor disabled
Low-side VDS monitor active
disabled
Figure 5: VDS Fault Monitor – Blank Mode Timing (VDQ = 1)
MOSFET turn on
No fault present
MOSFET turn on
Fault present
MOSFET on
Transient disturbance
Fault present
MOSFET on
Fault occurs
Gate
Active
VDS
tVDQ
tVDQ
Fault Bit
Figure 6: VDS Fault Monitor – 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 7: VDS Fault Monitor – Debounce Mode Timing (VDQ = 0)
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
10
A4963
Sensorless BLDC Controller
Closed-Loop Control Diagrams
VBAT
PWM
Communication Bus
P
FAULTn
P
P
ECU
3-Phase
Motor
A4963
MCU
N
N
SPD
N
Figure 8: Local Closed-Loop Control with High Level ECU Communications
VBAT
Low Frequency PWM Speed or Current Demand
PWM
P
FAULTn
P
P
3-Phase
Motor
A4963
ECU
N
Low Frequency SpeedFeedback
N
SPD
N
Figure 9: Remote Closed-Loop Control
VBAT
Low Frequency PWM Speed or Current Demand
PWM
P
FAULTn
P
P
3-Phase
Motor
A4963
ECU
N
SPD
N
N
Figure 10: Remote Single-Wire Command with Integrated Closed-Loop Control
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
11
A4963
Sensorless BLDC Controller
FUNCTIONAL DESCRIPTION
The A4963 is a three-phase, sensorless, brushless DC (BLDC)
motor controller for use with external complementary P-channel
and N-channel power MOSFETs. The motor is driven using
block commutation (trapezoidal 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 independent position sensors.
An integrated sensorless start-up scheme allows a wide range of
motor and load combinations.
Input & Output Terminal Functions
Motor current is provided by six external power MOSFETs
arranged as a three phase bridge with three n-channel low-side
MOSFETs and three p-channel high-side MOSFETS. The A4963
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 minimum MOSFET drive voltage is determined by
the supply voltage allowing operation at very low voltage by
using “logic level” MOSFETs.
GHA, GHB, GHC: High-side, gate-drive outputs for external
p-channel MOSFETs.
Three basic operational modes are available: open loop speed
(voltage) control; closed loop torque (current) control; and
closed loop speed control. Operating mode and control parameters can be altered through an SPI compatible serial interface.
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.
GND: Analog reference, Digital and power ground. Connect to
supply ground – see layout recommendations.
SA, SB, SC: Motor phase connections. These terminals sense
the voltages switched across the load.
GLA, GLB, GLC: Low-side, gate-drive outputs for external
n-channel MOSFETs.
CSP, CSM: Differential current sense amplifier inputs. Connect
directly to each end of the sense resistor using separate pcb
traces.
PWM: Programmable PWM input to control the motor operating mode and the proportional duty-cycle input for the selected
control mode. Can be shorted to ground or VBB without
damage.
Motor operation is controlled by a single, low-frequency PWM
input that determines the motor operating state and provides
proportional input for the selected operating mode.
SPD: Open drain speed output indicator. Output frequency is
programmable. It can be the commutation frequency (TACHO)
or the electrical cycle frequency (FG). Can be shorted to ground
or VBB without damage.
Start-up (inrush) current and peak motor current are limited by
an integrated fixed off time 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.
FAULTn: Open drain low-active fault indicator. Can be
connected to PWM input to provide single wire interface to a
controlling ECU. Can be shorted to ground or VBB without
damage.
Integrated diagnostics provide indication of undervoltage,
overtemperature, and power bridge faults and can be configured
to protect the power FETs under most short circuit conditions.
A single FAULT flag is provided, and detailed diagnostics are
available through the serial interface.
SDI: Serial data input. 16-bit serial word input msb first.
Specific functions are described more fully in following sections.
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. 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.
STRn: Serial data strobe and serial access enable. 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.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
12
A4963
Sensorless BLDC Controller
Motor Drive System
The motor drive system consists of three half-bridge gate drive
outputs each driving one leg of an external 3-phase MOSFET
power bridge. The state of the gate drive outputs is determined
by a state sequencer with six possible states. These states are
shown in Table 1 and change in a set sequence. The effect of
these states on the motor phase voltage is illustrated in Figure
11. This sequence creates a moving magnetic field in the poles of
the stator, against which the permanent magnets in the rotor can
react to produce torque at the motor output shaft.
Seq
1
2
3
5
4
6
1
2
3
4
5
6
SA
SB
The point at which the state of the gate outputs change is
defined as the commutation point and must occur each time the
magnetic poles of the rotor reach a specific point in relation to
the poles of the stator. This point 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 adjust the estimated position and commutation frequency to synchronize with the rotor poles in the motor.
SC
CHO
FG
Figure 11: Motor Phase State Sequence
The motor speed can be determined by monitoring the SPD
output. There are two options for the signal available at the SPD
terminal selected via the serial interface. The default is a signal,
defined as FG, at the frequency of the complete electrical cycle
(the 6-state sequence in Table 1). FG goes high on entering state
1 and goes low on entering state 4. The alternative is a square
wave signal, defined as TACHO, at the commutation frequency
with the falling edge synchronized to the commutation point. FG
and TACHO are shown in Figure 11.
In the A4963, motor speed is always defined as the frequency
of the electrical cycle, fS. This is the same frequency as the FG
signal, if selected, on the SPD output.
The actual mechanical speed of the motor, ω, will depend on the
number of pole pairs, NPP, and is determined by:
60 × fs
=
NPP
Where fS is in Hz and ω is in rpm (mechanical revolutions per
minute).
Table 1: Control and Phase Sequence
Control Bits
RUN
BRK
DIR=1
DIR0
State
Motor Phase
SA
SB
Gate Drive Outputs
SC
GHA
GLA
GHB
GLB
GHC
GLC
1
0
1
HI
Z
LO
ON
OFF
OFF
OFF
OFF
ON
1
0
2
Z
HI
LO
OFF
OFF
ON
OFF
OFF
ON
1
0
3
LO
HI
Z
OFF
ON
ON
OFF
OFF
OFF
1
0
4
LO
Z
HI
OFF
ON
OFF
OFF
ON
OFF
1
0
5
Z
LO
HI
OFF
OFF
OFF
ON
ON
OFF
1
0
6
HI
LO
Z
ON
OFF
OFF
ON
OFF
OFF
Mode
Run
0
x
x
x
x
Z
Z
Z
OFF
OFF
OFF
OFF
OFF
OFF
Coast
1
1
x
x
x
LO
LO
LO
OFF
ON
OFF
ON
OFF
ON
Brake
x ≡ don’t care, HI ≡ high-side FET active, LO ≡ low-side FET active, Z ≡ high impedance, both FETs off
ON ≡ high-side output (GHx) low, low-side output (GLx) high
OFF ≡ high-side output (GHx) high, low-side output (GLx) low
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
13
A4963
Sensorless BLDC Controller
Rotor Position Sensing Using Motor bemf
A key element of the controller is the back-emf zero crossing
detector. Determining the rotor position using direct bemf
sensing relies on the accurate comparison of the voltage on the
undriven (tri-state) motor phase (indicated by Z in Table 1) to
the voltage at the center tap of the motor, approximated using an
internally generated reference voltage. The bemf zero crossing – 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.
The internally generated zero crossing reference voltage follows
the bridge drive voltage levels to allow bemf crossing detection
during both PWM-on and PWM-off states. The comparator
adds hysteresis to the reference voltage in order to reduce the
effect of low-level noise on the comparison. The effects of large
signal noise, such as switching transients, are removed by digital
filtering.
When the motor is running at a constant speed, with no phase
advance, this zero crossing should occur approximately halfway
through one commutation period. 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 commutation timer to minimize the difference
between the expected and actual crossing points over a number
of commutation periods.
The controller also allows the commutated magnetic field of
the stator to be out of phase with the rotor. The expected zero
crossing point is adjusted to be later in the commutation period,
and the controller modifies the commutation timing to minimize
the difference between the estimated and measured bemf zerocrossing points. This is known as phase advance, and the amount
of phase advance in electrical degrees is set (up to 28°) by the
contents of the PA[3:0] variable.
In any electric motor, a force is produced by the interaction of
rotor magnetic poles and stator magnetic field. The motor and
the commutation system are designed such that a portion of
this force is tangential to the rotor and will produce a rotational
torque. Applying phase advance will have the effect of changing the direction of force vector relative to the rotor and will
increase the tangential component of the force. This will increase
the effectiveness of the torque produced by the stator field and
permit a higher motor speed than for no phase advance at the
same input demand.
The controller uses proportional and integral feedback (PI
control) to provide a fast response with good long-term
accuracy. The amount of proportional and integral feedback can
be adjusted independently by setting the CP[3:0] and CI[3:0]
variables respectively, through the serial interface. This allows
the dynamic response to be tuned to different system conditions
if required; however, the default values for CP and CI will
achieve optimum results in most applications.
The control method used is tolerant to missing bemf zero crossing detections and will simply change the speed of the applied
commutation sequence by an amount determined by the proportional 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 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
each commutation point to try and regain synchronization. If the
resulting speed reduces below the low speed threshold, then the
controller will enter the loss of synchronization state and either
stop or attempt to restart the motor. The low speed threshold
will be 25% of the start speed set by the value of the SS[3:0]
variable.
In some cases, rather than a complete stall, it is also possible
for the motor to vibrate at a whole fraction (sub-harmonic) 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. If the
resulting speed increases above the overspeed threshold, then the
controller will enter the loss of synchronization state and either
stop or attempt to restart the motor. The overspeed threshold is
determined by the product of the maximum limit ratio and the
maximum speed. The maximum limit ratio is set by the value of
the SH[1:0] variable, and the maximum speed is by set the value
of the SMX[2:0] variable.
The maximum speed, defined by SMX, determines the motor
speed for 100% input when operating in the closed-loop speed
control mode. However, it must still be set to a suitable level to
provide an appropriate overspeed threshold for all other operating modes.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
14
A4963
Sensorless BLDC Controller
Start-up
In order to correctly detect the zero crossing, the changing motor
bemf on any phase must be detectable when that phase is not
being driven. When the motor is running at a relatively constant
speed, this is ensured by the commutation scheme used. However, during start up, the motor must be accelerated from rest in
such a way that the bemf zero crossing can be detected. Initially,
as the motor is started, there is no rotor position information
from the bemf sensor circuits, and the motor must be driven
using forced commutation.
mode used during running will not be able to maintain control
of the motor current during the PWM-off time, and the current
may rise uncontrollably. To overcome this effect, the A4963
uses a mixed decay mode PWM during start-up in order to keep
the current under control. Mixed decay is where the bridge is
first switched into fast decay mode then into slow decay after a
portion of the PWM period. This applies a reverse voltage to the
motor phase winding and counteracts the effect of the out-ofphase bemf voltage.
To ensure that the motor start-up and sensorless bemf capture
is consistent, the start sequencer always forces the motor to
a known hold position and for a programmable hold time by
driving phase C low and applying a programmable duty cycle
PWM signal to phase A. The hold time is defined by the contents
of the HT[3:0] variable and the hold duty cycle by the contents
of the HD[3:0] variable.
The portion of the PWM period during which fast decay is used
is called percent fast decay (PFD). Two values of PFD – 12.5%
or 25% – can be selected by the PFD variable in configuration
register 1. Mixed decay is applied automatically for the first
sixteen full electrical cycles (96 commutation periods).
Following the hold time, the motor phases are commutated to
the next state to force the motor to start in the required direction,
and the PWM duty cycle is changed to the start-up duty cycle
set by the contents of the SD[3:0] variable. For the forwards
direction when DIR=0, phase C will be held low, and the start-up
duty cycle is applied to phase B. For the reverse direction when
DIR=1, phase B will be held low, and the start-up duty cycle is
applied to phase A. The duration of the first commutation period
is determined by the start speed set by the value of the SS[3:0]
variable. This value is also used as the starting speed for the
closed-loop commutation controller and for the speed controller
if selected.
At the end of the second commutation period, control is
passed to the closed-loop commutation controller, and the start
sequencer is reset. The SPD terminal will immediately output
FG or TACHO as selected by the SPO variable.
During the start sequence, it is possible for the motor to be
rotating out of synchronization with the commutated field,
as sequenced by the A4963. In some cases, it is possible for
the motor bemf produce a voltage that reinforces, rather than
opposes, the supply voltage. If this occurs, then the slow decay
Following the start sequence, the commutation controller is
expected to attain synchronization with the motor and stabilize
at a running frequency to match the control input demand. If
synchronization is not achieved, the commutation controller will
either reduce the resulting motor frequency below the low speed
limit or increase it above the overspeed limit. If this happens,
the A4963 will indicate a loss of synchronization condition by
repeatedly pulling the FAULTn output active low for three PWM
periods and inactive for three periods.
If a loss of synchronization occurs, the RUN and RSC bits
are set to 1, and the PWM signal applied to the PWM input
terminal is not 0% (or is not less than 25% for closed-loop
speed control mode) then the FAULTn output will go active low
for three PWM periods, inactive for three periods, then repeat
this sequence before the start sequencer is reset and the start
sequence initiated as shown in Figure 4. This cycle will continue
until stopped by holding the PWM terminal in the inactive state
or setting either RUN bit or the RSC bit to 0.
If a loss of synchronization occurs and RSC=0, the FAULTn
output will continue to indicate loss of synchronization until the
PWM signal applied to the PWM input terminal is 0% (or <25%
for closed-loop speed control mode) or the RUN bit is set to 0.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
15
A4963
Sensorless BLDC Controller
Motor Control
The running state, direction, and speed of the motor are
controlled by a combination of commands through the serial
interface and by the signal on the PWM terminal.
The serial interface provides three control bits: RUN, DIR, and
BRK.
When RUN=1, the A4963 is allowed to run the motor or to
commence the start-up 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, and the phase state sequence increments as
defined in Table 1. Reverse is when DIR=1, and the phase state
sequence decrements.The BRK bit can be set to apply an electrodynamic brake which will decelerate a rotating motor. It will
also provide some holding torque for a stationary motor. When
RUN=1, BRK=1, and the PWM is inactive for longer than the
PWM brake time, 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 voltage
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.
There are three motor control methods included in the A4963.
These are:
• open-loop speed (voltage) control
• closed-loop torque (current) control
• closed-loop speed control.
In addition, the open-loop speed control can be regulated using
direct or indirect PWM duty cycle control.
PWM Control Input
The PWM control input can be used to provide a proportional
demand input to the A4963 for the selected control mode. 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 changed from active high to
active low by changing the IPI variable in configuration register
1. When IPI is 0, the default value, then the PWM input is active
high. When IPI is 1, then the PWM input is inverted and active
low. This applies to all operating modes and input modes.
In the direct open-loop speed control mode, when IPI is 0, the
signal on the PWM terminal is applied directly to the power
bridge. When IPI is 1 in direct mode, the the signal on the PWM
terminal is inverted before being applied directly to the power
bridge.
In indirect mode, a low frequency signal between 5 Hz and 1
kHz is applied to the PWM terminal. The duty cycle of this
signal is measured with an 8-bit counter system giving better
than 0.5% resolution in duty cycle. When IPI is 0, the duty
cycle is the ratio of the PWM high duration to the PWM period
measured between falling edges of the PWM input signal. When
IPI is 1, the duty cycle is the ratio of the PWM low duration to
the PWM period measured between rising edges of the PWM
input signal. The measured duty cycle is then used to set the
bridge PWM duty cycle for the open-loop speed control mode or
to provide the torque (current) reference or speed reference for
the closed-loop control modes.
For systems where the operation of the A4963 is managed by
a remote ECU using a single wire interface, it is also possible
to connect the FAULTn terminal directly to the PWM terminal.
This can be used to indicate to the ECU that a critical fault
is present that has stopped the operation of the motor by the
FAULTn output pulling the PWM input to ground continuously
or with a variable width pulse sequence.
Direct Open-Loop Speed (Voltage) Control
Direct access to the power bridge PWM control allows an
external local microcontroller to provide application specific
speed control and more advanced communications such as CAN
bus or LIN bus. In this case, the microcontroller will be closely
coupled to the A4963 and will vary the duty cycle of the PWM
signal applied directly to the bridge in order to control the motor.
The motor speed will be proportional to the duty cycle of this
signal but will also vary with the mechanical load and the supply
voltage.
The A4963 will only provide current limiting using the
internal closed-loop current regulator. The motor speed can be
determined by monitoring the SPD output terminal. This output
can be configured to provide a square wave at the commutation
frequency or at the electrical cycle frequency.
The signal input to the PWM terminal must be at the required
PWM frequency for the motor and operating parameters. Typically this will be between 10 kHz and 20 kHz for most motors.
For some very high speed motors, this may have to be increased
significantly.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
16
A4963
Sensorless BLDC Controller
When the PWM input is in the inactive state (low when IPI=0,
high when IPI=1), the three-phase bridge is switched to one of
three current decay recirculation modes depending on the value
of the RM[2:0] variable. Slow decay synchronous recirculation
can be high-side, low-side, or auto, which is combination of the
two controlled by the commutation state. The bridge can also
be driven in fast decay mode without synchronous rectification.
These modes are described further in the Gate Drive and Bridge
PWM section below. During start-up, mixed decay is always
used as described in the Start-up section above.
To avoid undesirable interaction between the external PWM
signal applied to the PWM terminal and the internal current
regulator PWM, it is necessary to set the internal PWM-off time,
defined by the value of PW[4:0], to be longer than the external
PWM period. This will ensure that the internal current reguator
can only ever switch to PWM-off and will avoid additional
bridge switching and current ripple.
PWM
PWM Off
If the motor speed drops below the low speed threshold ( 25%
of the start speed set by SS), then the A4963 will indicate the
loss of synchronization condition by pulling the FAULTn output
active low.
If the RUN and RSC bits are set to 1 and the PWM signal
applied to the PWM input terminal is not 0%, then the start
sequencer will reset and retry, and the FAULTn output will
remain low until the completion of six full commutation periods
following the hold time. This cycle will continue until stopped
by holding the PWM terminal inactive or by setting RUN to 0 or
RSC to 0.
If RSC=0, the FAULTn output will continue to indicate loss of
synchronization until the PWM signal applied to the PWM input
terminal is 0% or RUN is set to 0.
tBRK
RUN
Once enabled, the brake condition will be held until the PWM
terminal is changed to its active state. At this point, if the motor
operation is enabled, with RUN=1 and BRK=0, then the A4963
will initiate a start sequence. During the start sequence, the duty
cycle of the signal on the PWM terminal is ignored, unless it is
held inactive for longer than tBRK. If this happens, then the start
sequence will terminate, and the brake condition will be enabled
as above.
Brake
Figure 12: PWM Brake Timing – Direct Mode PWM
When operating in the direct mode, holding the PWM terminal
inactive for longer than the PWM brake time (tBRK), as shown,
for IPI=0 in Figure 12, will force a brake condition if BRK=1
and RUN=1.
In most cases, when PWM terminal is held inactive, the motor
current will decay to zero before the end of the brake time, and
the motor will coast with no drive or brake torque present before
the brake condition is enabled. Once the brake condition is
enabled, all low side MOSFETs in the bridge will be switched on
to short the motor phase windings to each other. If the motor is
still running at high speed, this will produce a very high braking
current in the windings and in the MOSFETs. It is critical that
the MOSFETs are selected to be able to handle this current
without damage.
In cases where there is a high inertial load, and the motor cannot
be allowed to coast to a stop, it is advisable to first reduce the
motor speed by decreasing the demand to the A4963 by reducing
the PWM input duty cycle. This will slow the motor faster than
coasting but not as fast as a brake condition. Once the motor
speed has be reduced to a safe level, then the brake condition can
be applied.
Indirect Open-Loop Speed (Voltage) Control
In some motor control systems, the central ECU is used to
provide application specific speed control. In these systems,
the ECU may be remote from the motor driver. It is, therefore,
desirable in these systems to use a low frequency PWM signal
between the ECU and the motor controller in order to minimize
EMC issues with the control signal. This is particularly relevant
to systems where a brush DC motor is being replaced by a
BLDC motor. The A4963 includes an indirect open-loop control
option that will accept a low-frequency PWM input and provide
all the detailed motor commutation and control idependently
from the ECU.
When operating in the indirect mode, the A4963 measures the
duty cycle of the low-frequency signal (5 Hz to 1 kHz) applied
to the PWM terminal and applies the same duty cycle to the
power bridge at a higher fixed-frequency, as shown in Figure 13.
The frequency of the PWM signal applied to the power bridge
is determined by the value of the PW[4:0] variable. The A4963
will also provide current limiting using the internal fixed-off
time closed-loop current regulator synchronized with the bridge
PWM control signal. The fixed-off time of the current control
circuit will be the same as the programmed bridge PWM period
defined by the value of PW[4:0]. This will ensure that the
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
17
A4963
Sensorless BLDC Controller
currrent control circuit does not cause excessive PWM switching
and can only switch the bridge into the PWM-on state when
100% duty cycle is required and the motor torque is at the limit.
LOS Detected
FAULTn
PWM
Bridge PWM Duty Cycle (%)
100
Coast
RUN
Start
Figure 14: LOS Fault Reporting - Indirect Mode PWM
0
0
100
Input PWM Duty Cycle (%)
Figure 13: Bridge PWM vs. Input PWM
The A4963 does not limit the minimum or maximum duty cycle
applied to the bridge. The PWM signal applied to the PWM
terminal can have any value between 0 and 100%. At 100% ,the
motor will be runnung at full speed as determined by the load
and the applied voltage. At very low duty cycles, there may not
be sufficient current flowing in the motor to maintain sufficient
speed for sensorless operation; however, the A4963 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 low speed threshold ( 25% of
the start speed set by SS), then the A4963 will indicate the loss
of synchronization condition by repeatedly pulling the FAULTn
output active low for three PWM periods and inactive for three
periods.
If a loss of synchronization occurs, the RUN and RSC bits
are set to 1, and the PWM signal applied to the PWM input
terminal is not 0%, then the FAULTn output will go active
low for three PWM periods, inactive for three periods, then
repeat this sequence before the start sequencer is reset and the
start sequence initiated as shown in Figure 14. This cycle will
continue until stopped by holding the PWM terminal inactive or
setting either the RUN bit or the RSC bit to 0.
If a loss of synchronization occurs and RSC =0, the FAULTn
output will continue to indicate loss of synchronization until
the PWM signal applied to the PWM input terminal is 0% or
the RUN bit is set to 0. The A4963 is capable of measuring the
duty cycle of any PWM signal from 5 Hz to 1 kHz. It can also
accept slight variation in the PWM frequency from cycle to
cycle. However any variation will be translated to a duty cycle
error. If the PWM signal remains in the inactive state for more
than twice the length of time of the last measured period then the
A4963 will put the bridge into the PWM-off state permanently
and allow the motor current to decay. Holding the PWM signal
inactive for a further PWM period, as shown in Figure 15, will
force a brake brake condition if BRK=1 and RUN=1.
tPWM
tPWM
tPWM
tPWM
PWM
RUN
Coast
Brake
Figure 15: PWM Brake Timing - Indirect Mode PWM
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 and BRK=0, then the A4963 will initiate
a start sequence. Once the start sequence is initiated the duty
cycle of the signal on the PWM terminal is monitored as above
but not passed to the bridge drive circuits until the completion
of six full commutation periods (one electrical cycle) following
the hold time. During the start sequence, if the PWM signal is
held inactive as described above then the start sequence will be
terminated and the brake condition will be forced.
Closed-Loop Torque (Current) Control
The A4963 provides a fixed-off time current limiting system that
can operate with an applied PWM or in a standalone mode. By
disabling all other control modes this current limit can be used to
provide closed-loop torque limited motor control.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
18
A4963
Sensorless BLDC Controller
At the start of the cycle, the bridge is enabled to force current
from the supply through the load to ground. This is the PWM-on
state. The current flows through a ground referenced sense
resistor which provides a voltage proportional to the current.
This voltage is monitored using a differential sense amplifier,
where the output is compared to a threshold voltage (VILIM)
representing the peak current limit in the load. When the sensed
current exceeds the limit, the bridge is switched to the PWM-off
state. The PWM-off state is held for the duration of the fixed-off
time defined by the value stored in PW[4:0]. This allows the
current in the load to decay below the reference limit. At the end
of the fixed-off time, the bridge is switched back to the PWM-on
state to force the current to rise again. This sequence repeats and
produces a ripple current, where the peak current is limited to a
controlled level, and the amplitude of the ripple is determined by
the motor parameters and the fixed-off time.
Current Limit Threshold (mV)
200
1 kHz. It can also accept slight variation in the PWM frequency
from cycle to cycle; however, any variation will be translated to
a duty cycle error which will cause a disturbance in the current
reference. If the PWM signal remains in the inactive state for
more than twice the length of time of the last measured period,
then the A4963 will put the bridge into the PWM-off state
permanently and allow the motor current to decay. Holding the
PWM signal inactive for a further PWM period will force a
brake condition if BRK=1 and RUN=1.
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 and BRK=0, then the A4963 will initiate a
start sequence.
After the start sequence is initiated, the duty cycle of the signal
on the PWM terminal is monitored as above, but the resulting
current reference level is ignored until the completion of six
full commutation periods (one electrical cycle) following the
hold time. During the start sequence, if the PWM signal is held
inactive as described above, then the start sequence will be
terminated and the brake condition will be forced.
If the motor speed drops below the low speed threshold ( 25% of
the start speed set by SS), then the A4963 will indicate the loss
of synchronization condition by repeatedly pulling the FAULTn
output active low for three PWM periods and inactive for three
periods.
0
0
100
Input PWM Duty Cycle (%)
Figure 16: Current Demand vs. Input PWM
In the closed-loop torque control mode, the current limit threshold voltage is adjusted using a PWM signal or optionally via the
serial interface. As in the indirect open-loop speed control mode,
the PWM signal applied to the PWM terminal is monitored.
In this case the duty cycle ratio of the applied PWM signal is
translated to the current limit threshold voltage (VILIM) which is
proportional to the PWM duty cycle. The duty cycle of the signal
on the PWM input terminal is measured to 8-bit resolution, and
the most significant 4 bits are used to set the value of VILIM. The
relationship between the input duty cycle and VILIM is shown in
Figure 15.
The applied PWM signal can have a frequency from 5 Hz to
If a loss of synchronization occurs, the RUN and RSC bits
are set to 1, and the PWM signal applied to the PWM input
terminal is not 0%, then the FAULTn output will go active
low for three PWM periods, inactive for three periods, then
repeat this sequence before the start sequencer is reset and the
start sequence initiated as shown in Figure 14. This cycle will
continue until stopped by holding the PWM terminal inactive or
setting either the RUN bit or the RSC bit to 0.
If a loss of synchronization occurs, and RSC =0, the FAULTn
output will continue to indicate loss of synchronization until the
PWM signal applied to the PWM input terminal is 0% or the
RUN bit is set to 0.
Closed-Loop Speed Control
For systems where closed-loop speed control is required and
no external controller is available, the A4963 includes a full
PI (proportional/integral) speed control loop. The motor state
and speed are determined by the duty cycle input to the PWM
terminal or optionally via the serial interface. The speed demand
reference to the PI control loop is determined by the duty cycle
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
19
A4963
Sensorless BLDC Controller
fMAX = 0.1 × (2(SMX + 8) – 1) Hz
fMAX for each value of SMX is listed in Table 2. This also shows
the equivalent motor speed (in rpm) for several motor pole-pair
options.
Table 2: Max Speed
Motor Pole Pairs (Speed in rpm)
SMX
fMAX
(Hz)
1
2
3
4
6
0
225.
1530
765
510
383
255
1
52.1
3066
1533
1022
767
511
2
102.3
6138
3069
2046
1535
1023
3
204.7
12282
6141
4094
3071
2047
4
409.5
24570
12285
8190
6143
4095
5
819.1
49146
24573
16382
12287
8191
6
1638.3
98298
49149
32766
24575
16383
7
3276.7
196602
98301
65534
49151
32767
The closed-loop speed controller compares the speed demand,
represented by the duty cycle of signal applied to the PWM
input terminal, to the motor speed represented by the electrical
cycle frequency. It then sets the duty cycle of the internal,
higher-frequency bridge PWM signal to adjust the motor speed.
The frequency of the PWM signal applied to the power bridge is
determined by the value of the PW[4:0] variable. The A4963 will
also provide current limiting using the internal fixed-off time
closed-loop current regulator synchronized with the bridge PWM
control signal. The fixed-off time of the current control circuit
will be the same as the programmed bridge PWM period defined
by the value of PW[4:0]. This will ensure that the current control
circuit does not cause excessive PWM switching and can only
switch the bridge into the PWM-on state when 100% duty cycle
is required and the motor torque is at the limit.
The dynamic response of the speed controler can be tuned to
the motor and load dynamics by independently setting the gains
for the proportional and the integral paths in the closed-loop
speed controller. The proportional gain is set by the contents of
the SP[2:0] variable and the integral gain by the contents of the
SI[2:0] variable.
100
Reference Speed (%fMAX)
of the PWM input signal as a percentage of the maximum speed
(fMAX). This is set by the value in the SMX[2:0] variable as:
Restart operates
if enabled
No restart
Coast Motor
0
0
10
Brake
25
Input PWM Duty Cycle (%)
100
Figure 17: Speed vs. Input PWM
The PWM signal applied to the PWM terminal can have a
frequency from 5 Hz to 1 kHz. It can also accept slight variation in the PWM frequency from cycle to cycle; however, any
variation will be translated to a duty cycle error which will cause
a disturbance in the speed reference.
If the PWM signal remains in the the inactive state for more
than twice the length of time of the last measured period, then
the A4963 will put the bridge into the PWM-off state and allow
the motor current to decay. Holding the PWM signal inactive
for a further PWM period will force a brake brake condition if
BRK=1 and RUN=1.
Once enabled, or following a power-on-reset, the brake condition will be held, if BRK=1 and RUN=1, until the duty cycle
of the PWM signal is greater than 10%. When BRK=0, braking
is disabled regardless of the PWM input. The brake condition
can only be applied when the PWM signal rises from 0% and
remains under 10%. The brake condition is not applied if the
motor has been running and the PWM signal remains greater
than 0% even if it is less than 10%.
Following a brake condition, when the motor is not running, a
duty cycle between 10% and 25% on the PWM signal disables
the bridge drive and allows the motor to coast. When the duty
cycle of the PWM signal exceeds 25%, the A4963 initiates a
start sequence, and the motor is allowed to run.
After the start sequence is initiated, the duty cycle of the signal
on the PWM terminal is monitored, but the resulting speed
demand reference level is ignored until the completion of two
commutation periods following the hold time. During the start
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
20
A4963
sequence, if the PWM signal is held inactive as described above
then the start sequence will be terminated, and the brake condition will be forced.
Once sensorless operation is achieved, the motor speed will
change to match the speed demand reference determined by the
duty cycle of the input PWM signal. The speed then continues
to match the demand without being affected by varying supply
voltage or load up to the torque limit imposed by either the peak
current limiter or effective applied voltage limited by the motor
bemf.
Sensorless BLDC Controller
allow correct operation, and there may be insufficient torque to
allow correct start-up. In this case, assuming the control conditions allow motor start, the A4963 will continue to force the
motor phases to commutate in a repeating start sequence.
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. The supply to the MOSFET bridge should include
large electrolytic capacitors that are rated to provide the motor
ripple current.
As the duty cycle of the PWM signal reduces, the motor
speed will follow until the speed is either too low to maintain
sensorless operation or the demand is less than the low speed
threshold. The low speed threshold is 25% of the start speed set
by SS. At this point, the A4963 will turn off all bridge MOSFETs
allowing the motor to coast. The A4963 will then indicate a loss
of synchronization condition by repeatedly pulling the FAULTn
output active low for three PWM periods and inactive for three
periods.
Gate Drive and Bridge PWM
If a loss of synchronization occurs, the RUN and RSC bits are
set to 1, and the PWM signal applied to the PWM input terminal
is greater than 25%, then the FAULTn output will go active
low for three PWM periods, inactive for three periods, then
repeat this sequence before the start sequencer is reset and the
start sequence initiated as shown in Figure 14. This cycle will
continue until stopped by holding the PWM terminal inactive or
setting either the RUN bit or the RSC bit to 0.
Gate Drive Voltage Regulation
If a loss of synchronization occurs and RSC =0, the FAULTn
output will continue to indicate loss of synchronization until the
PWM signal applied to the PWM input terminal is less than 25%
or the RUN bit is set to 0.
Power Supplies
A single power supply voltage is required. This directly supplies
the analog and output drive sections. An internal regulator
provides a lower fixed logic supply. TTL threshold logic inputs
allow the inputs to be driven from a 3.3 V or 5 V logic interface.
The A4963 can operate over a wide supply voltage range. Electrical parameters are fully defined from 6 V to 28 V; however, it
will function correctly up to 50 V during load dump conditions
and will achieve full operation down to 4.2 V during cold crank
conditions. Below 6 V and above 28 V, some parameters may
marginally exceed the limits specified for the normal supply
voltage range. The A4963 will function correctly with a VBB
supply down to 4.2 V; however, full sensorless start-up may not
be possible below 5 V, as the motor bemf may be too low to
The A4963 is designed to drive external, low on-resistance,
power n-channel (low-side) and p-channel (high-side) MOSFETs. It supplies the large transient currents necessary to quickly
charge and discharge the external FET gate capacitance in order
to reduce dissipation in the FET during switching. The charge
and discharge rate can be controlled using an external resistor in
series with the connection to the gate of the FET.
The gate drives are powered directly from the VBB supply, but
each drive output incorporates an internal regulator which limits
the voltage to the drive outputs and therefore the maximum
gate-source voltage applied to the external MOSFETs.
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. External resistors
between the gate drive output and the gate connection to the
MOSFET (as close as possible to the MOSFET) can be used to
control the slew rate seen at the gate, thereby providing some
control of the di/dt and dv/dt of the voltage at the SA/SB/SC
terminals.
GLx=ON 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 means that the lower half of the driver is turned on,
and it will sink current from the gate of the external MOSFET
turning it off.
High-Side Gate Drive
The high-side, gate-drive outputs on GHA, GHB, and GHC are
referenced to the VBB terminal. These outputs are designed to
drive external p-channel power MOSFETs. External resistors
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
21
A4963
Sensorless BLDC Controller
between the gate drive output and the gate connection to the
MOSFET (as close as possible to the MOSFET) can be used to
control the slew rate seen at the gate, thereby controlling the di/
dt and dv/dt of the voltage at the SA/SB/SC terminals.
decay of the phase current during the PWM-off time and helps
to minimize the power dissipation by passing the recirculating
load current through an active MOSFET channel rather than the
higher resistance of the MOSFET body diode.
GHx=ON (or “low”) means that the lower half of the driver is
turned on, and it will sink current from the gate of high-side
external MOSFET turning it on.
Non-Synchronous Rextification
GHx=OFF (or “high”) means that the upper half of the driver is
turned on, and it will source current to the gate of the high-side
MOSFET turning it off.
The SA, SB, and SC terminals are connected directly to the
motor phase connections. These terminals sense the voltages
switched across the load. These inputs are referred to elsewhere
as the Sx inputs where x is replaced by A, B, or C depending
on the phase. These terminals also provide the phase voltage
feedback used to determine the rotor position.
Dead Time
To prevent cross conduction (shoot through) 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 complimentary high-side and low-side pair of MOSFETs
is switched at the same time, for example, at the PWM switch
point. In the A4963, the dead time for all three phases is set by
the contents of the DT[5:0] bits in configuration register 0. These
six bits contain a positive integer that determines the dead time
by division from the system clock.
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 system 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.
Synchronous Rectification
The default operation of the bridge PWM mode is to use
synchronous rectification, where the MOSFETs in the phase of
the bridge to which PWM is applied are switched in anti-phase
as described in the dead time section above. This provides slow
In some cases it may be desirable to switch off the synchronous
rectification operation and allow diode conduction in order to
reduce the number of switching events in each PWM period. The
A4963 can be configured to use non-synchronous rectification
where all MOSFETs are switched off during the PWM-off time.
This produces fast decay of the phase current during the PWMoff time and can result in higher phase current ripple.
Recirculation Mode Selection to Improve bemf
Detection
The bemf zero crossing detection can be affected by the recirculation path used during the PWM-off time. The bemf voltage
that is generated in the undriven phase is measured at the phase
connection but is referenced to the common point, or centre tap,
of the three motor phases, inside the motor. The bemf voltage
will swing from negative to positive or from positive to negative
with respect to the centre tap voltage. The point of interest for
the commutation controller is when this voltage crosses zero and
changes polarity. Therefore, the centre-tap voltage used is the
reference input to the zero-crossing comparator.
Although the centre-tap voltage is not usually available, the
A4963 develops an approximation to this voltage using an
internal resistor network connected to the motor phase terminals,
SA, SB and SC. During the PWM-on time, the phase voltage
of one of the two active phases will be at the supply voltage
(VBB) and the other will be at ground. The resulting centre tap
voltage will be approximately half of the supply voltage. During
the PWM-off time, the phase voltage of the two active phases
and the resulting centre tap voltage will be close to ground, if
low-side recirculation is selected or close to VBB if high-side
recirculation is selected.
This means that if low side recirculation is selected
(RM[1:0]=10) and the bemf voltage is negative, then the voltage
at the undriven phase terminal, during the PWM-off time should
be negative with respect to ground. However, the undriven
phase is connected to an inactive low-side MOSFET and will
be clamped to ground by the bode diode of that MOSFET. The
resulting voltage will therefore only be below ground by the
forward voltage of the body diode of the low-side MOSFET
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
22
A4963
and will not start to rise until close to the zero crossing point as
shown in Figure 18a. During the PWM-off time, the differential
input voltage to the bemf comparator used for bemf zero crossing will be limited to the forward voltage of the MOSFET body
diode, and the common mode of the input will be below ground
until the bemf voltage is positive. This low differential voltage
and negative common mode voltage will make the comparator
more susceptible to noise and can result in false zero-crossing
detection. Although the output of the comparator is digitally
filtered, the additional noise can reduce the precision of the zero
crossing detection and the accuracy of the commutation controller.
A similar situation arises, as shown in Figure 18c, after zerocrossing detection, if low-side recirculation is used and the bemf
voltage is falling.
A complementary situation also arises when high-side recirculation is used (RM[1:0]=01) as shown in Figure 18b. In this
case the bemf voltage generated in the undriven phase will be
clamped to the positive supply voltage by the body diode of the
undriven high side MOSFET. The differential input voltage to
the bemf comparator will be limited to the forward voltage of the
body diode of the high-side MOSFET and the common mode of
the differential input to the bemf comparator will be above the
positive supply voltage.
To overcome this effect and reduce the number of false zero
crossing detections due to noise, the A4963 provides an
additional automatic mixed recirculation mode (RM[1:0]=00) as
shown in Figure 18d. In this mode, the recirculation is switched
between high-side and low side depending on the expected bemf
voltage. If the bemf voltage in the undriven phase is expected to
be falling, then low-side recirculation is used for the start of the
commutation period and high-side recirculation is used after the
zero-crossing point. If the bemf voltage in the undriven phase
is expected to be rising, then high-side recirculation is used for
the start of the commutation period and low-side recirculation is
used after the zero-crossing point. This ensures that the zerocrossing comparator is driven with the optimum conditions to
minimize the effects of noise on the performance of the A4963.
If non-synchronous rectification is selected (RM[1:0]=11), then,
during the PWM-off time, one phase voltage will be above
VBB by the forward voltage of the body diode of the high-side
MOSFET and the other will be below ground by the forward
voltage of the body diode of the low-side MOSFET. During the
PWM-on time, one phase will be close to ground and the other
close to VBB. The resulting centre tap voltage will remain at half
the supply voltage during both PWM-on and PWM-off times,
and the comparator will perform as well as in the automatic
mixed recirculation mode.
Sensorless BLDC Controller
Commutation
Point
Bemf Zero
Crossing
Commutation
Point
VBB
VBB/2
GND
Figure 18a: Low-Side Recirculation, bemf Rising
VBB
VBB/2
GND
Figure 18b: High-Side Recirculation, bemf Rising
VBB
VBB/2
GND
Figure 18c: Low-Side Recirculation, bemf Falling
VBB
VBB/2
GND
Figure 18d: Auto Mixed Recirculation, bemf Falling
VBB
VBB/2
GND
Figure 18e: Non-Synchronous Fast Decay
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
23
A4963
Sensorless BLDC Controller
Commutation
Point
VBB
The degauss time will be seen as a period when the voltage on
the undriven phase is clamped high or low as shown in Figure
19.
From the equation above, it is clear that the degauss time will
increase as the current or winding inductance increases and as
the applied voltage decreases. For most motors with normal
dynamic response, the phase inductance is small, and the
degauss time is correspondingly small, as shown in Figure 19a.
In fact, the motor inductance is usually inversely proportional to
the peak motor current.
Degauss
Time
GND
Figure 19a: Short Degauss Time
VBB
Degauss
Time
GND
Figure 19b: Long Degauss Time
Degauss Compensation
At the end of a commutation period, the current in one phase
winding will be reduced to zero. As the phase winding is an
inductor, the current in the winding cannot be reduced to zero
immediately but will reduce at a rate defined approximately by:
V
dI
=–
L
dt
where dI/dt is the rate of change of current, V is the voltage
applied to reduce the current, and L is the inductance of the
winding. Rearranging this gives the time required to reduce the
current in the winding to zero as approximately:
L×I
t=
V
where I is the initial current in the winding and t is the time for
that current to reach zero. This is commonly referred to as the
degauss time or the denergization time for the phase switching
to zero current. This is the time that the voltage must be aplied
to the winding in order to redue the current to zero. The applied
voltage is usually defined by the supply voltage plus the forward
voltage of either the high-side or the low-side MOSFET depending on the current direction.
There are, however, some low-noise motors with low dynamic
performance requirements where the phase inductance is
disproportionately high to ensure very low current ripple.
These motors will exhibit an extended degauss time as shown in
Figure 19b.
An extended degauss time can adversely effect the digital filter
that is applied to the zero-crossing comparator output and can
cause the zero-crossing point to be detected in a false position.
The commutation controller will continue to operate, but this
effect will uaually appear as a phase shift between the motor and
the A4963 controller. To overcome this effect, if it presents a
problem, the A4963 can provide automatic compensation for the
degauss time by setting the degauss compensation bit, DGC, to
1.
Current Limit
An integrated fixed-off time 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 circuit in the closed-loop current
control mode.
When using indirect voltage-mode control or closed-loop speed
control, off time of the current control circuit is set to be the
same as the programmed bridge PWM period defined by the
value of PW[4:0].
For direct voltage-mode control, the PWM frequency is
determined by the applied PWM signal, and the fixed-off time
is defined directly by the value of PW. In this case, the fixed-off
time should be set to the same or longer than the period of the
externally applied PWM signal.
When the closed-loop current control mode is selected, then the
fixed-off time alone will determine the PWM frequency when
the A4963 is operating in current limit. The fixed off time is
defined directly by the value of PW.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
24
A4963
Sensorless BLDC Controller
The phase current is measured as a voltage (VSENSE) across a
sense resistor (RSENSE) placed between the supply ground and
the common connection to the sources of the low-side MOSFETs
in the three-phase power bridge. A sense amplifier with high
common mode rejection and a fast response time is provided to
convert the differential current sense voltage, directly across the
sense resistor, to a ground referenced voltage and remove any
common mode noise.
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 current limit threshold is therefore defined by:
VILIM
ILIM =
RSENSE
where VILIM is the current limit threshold voltage and RSENSE is
the value of the sense resistor.
The value of VILIM can be set in two ways depending on the
motor control method selected
When the closed-loop current control mode is selected, VILIM
is determined by the duty cycle of the signal on the PWM input
terminal. The duty cycle ratio of the PWM signal is used to set
the required value of VILIM as a ratio of the maximum value of
VILIM, typically 200 mV. For example, when the duty cycle ratio
of the signal on the PWM input terminal is 40%, then VILIM will
be 80 mV.
drive configuration, where the current is forced to increase, into
a recirculation configuration, where the motor inductance causes
the current to recirculate for a fixed duration, defined as the
off-time. The recirculation configuration mode is determined by
the value in the RM[1:0] variable.
When RM[1:0]=01, the recirculation will always be high-side
with slow decay. When RM=10, the recirculation will always be
low-side with slow decay. When RM=00, the default value, then
the current decay will be slow, but the recirculation path will be
determined by the A4963 commutation controller depending on
the expected direction of the back emf voltage in the undriven
phase. When RM=11, no synchronous rectification takes place,
and fast current decay will take place.
Fixed-Off Time
In the direct duty-cycle control mode and the closed-loop current
control mode, the length of the fixed-off time is set by the
user-programmed contents of the PW[4:0] bits in configuration
register 2. The five bits of PW contain a positive integer that
determines the off time derived by division from the system
clock.
The off time is defined as:
tPW = 20 µs + (n × 1.6 µs)
where n is a positive integer defined by PW[4:0].
For example, when PW[4:0] contains [1 0011] (= 19 in decimal),
then tPW = 50.4 µs, typically.
In all other motor control modes, the value of VILIM is determined by the contents of the VIL[3:0] variable. This allows
control of the maximum current limit via the serial interface.
The accuracy of tPW is determined by the accuracy of the system
clock as defined in the Electrical Characteristics table. A value of
0 in PW will set the minimum off time of 20 µs.
When programmed through the serial interface, VILIM can have a
value between 12.5 mV and 200 mV defined as:
Fixed Frequency
VILIM = (n + 1) × 12.5 mV
For example, when VIL[3:0] contains [1011] (= 11 in decimal),
then VILIM =150 mV.
In closed-loop current-control mode, the duty cycle of the signal
on the PWM input terminal is measured to 8-bit resolution, and
the most significant 4 bits are used in place of VIL to set the
value of VILIM.
At the start of a PWM cycle, the MOSFETs in the bridge are
turned on, such that current increases in a motor winding and
in the sense resistor until the voltage across the sense resistor
(VSENSE) reaches the current limit threshold voltage (VILIM).
When VSENSE rises above VILIM, the bridge switches from a
In the indirect duty-cycle control mode and the closed-loop
speed control mode, tPW is used as the fixed PWM period to set
the fixed frequency of the bridge PWM signal. In these modes,
the fixed off time used for current limiting is automatically set to
be the same as the resulting PWM period.
For example, when PW[4:0] contains [1 0110] (= 22 in decimal),
then tPW = 55.2 µs and the PWM frequency is 18.1 kHz.
Blank Time
When the bridge is switched into the drive configuration, a
current spike occurs due to the reverse-recovery currents of
the clamp diodes and switching transients related to distributed
capacitance in the load. To prevent this current spike from being
detected as a current limit trip, the current-control comparator
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
25
A4963
Sensorless BLDC Controller
output is blanked for a short period of time when the source
driver is turned on. The length of the blanking time is set by the
contents of the BT[3:0] bits in configuration register 0. These
four bits contain a positive integer that determines the blank time
derived by division from the system clock.
The blank time is defined as:
tBL = n × 400 ns
where n is a positive integer defined by BT[3:0].
For example, when BT[3:0] contains [1011] (= 11 in decimal),
then tBL = 4.4 µs, typically.
The blank time is also used with the MOSFET drain-source
monitors, which are used to determine MOSFET short faults.
The blank time is used in these circuits, as shown in Figures 5
through 7, to mask the effect of any voltage or current transients
caused by any PWM switching action.
The user must ensure that blank time is long enough to mask any
current transient seen by the internal sense amplifier and mask
any voltage transients seen by the drain-source monitors.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
26
A4963
Sensorless BLDC Controller
DIAGNOSTICS
Diagnostics Several diagnostic features are integrated into the
A4963 to provide indication of fault conditions. In addition to
system wide faults such as under voltage and over temperature,
the A4963 integrates individual drain-source monitors for
each external MOSFET, to provide short circuit detection. The
fault status is available from two sources, the FAULTn output
terminal and the serial interface.
FAULTn Output
The FAULTn terminal is an active low open-drain output, which
is high impedance when no faults are present and either pulls
low or pulses low when faults are detected. The status of the
FAULTn output during a fault condition or once a fault has been
detected is shown in Table 3 and Figures 20 to 22.
In the direct duty-cycle mode, the FAULTn output will be low
when a fault is present or when a fault has been latched.
In all three indirect control modes, the action of the FAULTn
output depends on the specific fault condition and the status
of the enable stop on fault bit (ESF) in the run register. The
FAULTn output will only remain low when a fault is present
that stops the motor from being able to run. For transient fault
conditions, including loss of synchronization and short faults,
the FAULTn output produces a low pulse, which is low for a
duration determined by the period of the controlling PWM input
signal and the specific fault. This allows the FAULTn terminal
to be connected directly to the PWM terminal to provide a single
wire control with fault feedback.
There are three pulse durations indicating three different fault
groups. In each case the FAULTn output will go active low as
soon as the fault is detected and remain low for the remainder of
the period of the PWM signal applied to the PWM input terminal. It will then remain active for a further two, three, or four
periods depending on the fault condition. In Table 3 and Figures
20 to 22, these are referred to as Pulse2, Pulse3, and Pulse4
respectively. The FAULTn output will then return to the inactive
(high impedance) state. Some fault conditions require that the
fault signal is repeated for the duration of the fault condition
or latched fault state. This is indicated by an R at the end of
the pulse description: Pulse2R, Pulse3R or Pulse4R. In these
cases, following the active state, the FAULTn output returns to
the inactive state for the same number of PWM periods before
repeating the sequence.
This pulse mode of fault reporting allows the signal applied
to the combined PWM and FAULTn connection to continue
controlling the action of the A4963 in the presence of a fault
condition or latched fault state. In some cases, this will allow the
motor to continue running under control. It also allows a latched
fault state to be reset by the control PWM signal.
Serial Diagnostic Output
The serial interface allows detailed diagnostic information to be
read from the diagnostic register at any time.
The first bit (bit 15) of the diagnostic 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 fist bit in the diagnostic register
can be read to determine if a fault has been detected at any time
since the last diagnostic register reset. In all cases, the fault bits
in the diagnostic registers are latched and only cleared after a
diagnostic register reset.
Note that FF (bit 15) does not provide the same function as the
fault output on the FAULTn terminal. The fault output on the
FAULTn terminal provides an indication that either a fault is
present or the outputs have been disabled due to a short fault.
FF provides an indication that a fault has occurred since the last
fault reset and the respective fault flag has been latched. The
diagnostic register is described further in the serial interface
section description below.
Fault Action
The action taken when a short fault or over temperature condition is detected is determined by the state of the enable stop on
fault bit (ESF) in the run register as defined in Table 3. When
ESF=1, any short fault condition, loss of synchronization, or
over temperature condition will disable all the gate drive outputs
and coast the motor. For short faults, this disabled state will be
latched until the PWM input is at 0%, a serial read is completed,
or a power-on-reset occurs. For undervoltage fault conditions,
the outputs will always be disabled until the condition is
removed.
When ESF=0, any short fault condition or over temperature
condition will be indicated by the FAULTn output, but the
A4963 will not disrupt continued operation and will therefore
not protect the motor or the drive circuit from damage. When a
fault occurs, it is imperative that the master control circuit or an
external circuit takes any necessary action to prevent damage to
components.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
27
A4963
Sensorless BLDC Controller
Table 3: Fault Response Actions
FAULTn Output
Disable Outputs
Fault Description
No Fault
Serial Transmission Error
ESF=0
ESF=1
No
No
Direct
Indirect
ESF=0
ESF=1
Z
Z
Z
Latched
Reset
N/A
N/A
No
No
Z
Z
Z
No
Condition Removed
VBB Power-On Reset
Yes1
Yes1
Low
Low
Low
No
Condition Removed
VBB Undervoltge
Yes1
Yes1
Low
Low
Low
No
Condition Removed
Temperature Warning
No
No
Low
Z
Pulse42
No
Condition Removed
Over Temperature
No
Yes1
Low
Pulse4R2
Low
No
Condition Removed
Lost Synchronization
Yes1
Yes1
Low
Pulse3R2
Pulse3R2
If RSC=0
Stop or Restart
Short to Ground
Yes3
Yes1
Low
Pulse22
Pulse2R2
Short to Supply
Yes1
Low
Pulse22
Pulse2R2
Only when
ESF=1
Stop or SPI
Yes3
Stop or SPI
1All
gate drives low, all MOSFETs off
2For pulse sequence see Figures 10 to 12
3Gate drive to the affected MOSFET low, only the affected MOSFET off
Z = Open Drain High Impedance
tPWM
tPWM
tPWM
tPWM Repeated
PWM
FAULTn connected to PWM
Z
FAULTn
Z
Z
Z
For Pulse2 FAULTn remains Z from here
Figure 20: Indirect Mode PWM - MOSFET Short Fault Output Timing (Pulse2R) (IPI=0)
tPWM
tPWM
tPWM
tPWM Repeated
PWM
FAULTn connected to PWM
Z
FAULTn
Z
Z
Figure 21: Indirect Mode PWM - Loss of Synchronization Fault Output Timing (Pulse3R) (IPI=0)
tPWM
tPWM
tPWM
tPWM Repeated
PWM
FAULTn connected to PWM
FAULTn
Z
Z
For Pulse4 FAULTn remains Z from here
Figure 22: Indirect Mode PWM - Over Temperature Fault Output Timing (Pulse4R) (IPI=0)
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
28
A4963
Sensorless BLDC Controller
Fault Masks
Individual diagnostics, except VDD undervoltage and serial
transmission error, can be disabled by setting the corresponding
bit in the mask register. VDD undervoltage detection cannot be
disabled, because the diagnostics and the output control depend
on VDD to operate correctly. 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. See
the mask register definition for bit allocation.
Care must be taken when diagnostics are disabled to avoid
potentially damaging conditions.
Chip-Level Diagnostics
Parameters, which are critical for safe operation of the A4963
and the external MOSFETs, are monitored. These include serial
interface, maximum chip temperature, minimum internal logic
supply voltage (VDD), and the minimum motor supply voltage
(VBB). Faults are indicated by an active low level or pulse on
the FAULTn output terminal. Faults are latched in the diagnostic
register when they occur, and the diagnostic register is only reset
by a complete read of the diagnostic register or a power-on-reset.
(see section below on diagnostic register serial access)
Chip Fault State: Over Temperature
Two temperature thresholds are provided: a hot warning and an
over temperature shutdown.
• If the chip temperature rises above the temperature warning
threshold, TJW, the thermal warning bit (TW) will be set
in the diagnostic register. The state of the FAULTn output
during a thermal warning fault condition will depend on the
control mode and the state of the ESF bit. If direct control
is in use, then FAULTn will be active. If one of the indirect
control modes are in use and ESF=1, then FAULTn will be
repeatedly active low for four PWM periods and inactive for
four periods. If one of the indirect control modes are in use
and ESF=0, then FAULTn will remain inactive, and the fault
condition will not be detected. In all cases, no action will be
taken by the A4963 when a thermal warning fault condition
is present. When the temperature drops below TJW by more
than the hysteresis value (TJWHys), the fault condition and any
active low level on FAULTn is either removed immediately,
if in a permanent low state, or terminated at the end of the
pulse. The thermal warning bit (TW) remains latched in the
diagnostic register until reset.
• If the chip temperature rises above the over temperature
threshold (TJF), the over temperature bit (OT) will be set
in the diagnostic register. The state of the FAULTn output
during an over temperature fault condition will depend on the
control mode and the state of the ESF bit. If direct control
is in use or if ESF=1, then FAULTn will be permanently
active until the fault condition is removed and all gate drive
outputs will be off. If one of the indirect control modes are
in use and ESF=0, then FAULTn will be repeatedly active
low for four PWM periods and inactive for four periods. In
all control modes, if ESF=0 then no circuitry will be disabled
during an over temperature fault condition, and action must
be taken by the user to limit the power dissipation in some
way so as to prevent over-temperature damage to the chip
and unpredictable device operation. When the temperature
drops below TJF by more than the hysteresis value (TJFHys),
the fault condition and any active low level on FAULTn is
either removed immediately, if in a permanent low state, or
terminated at the end of the pulse. The over temperature bit
(OT) remains latched in the diagnostic register until reset.
Chip Fault State: VBB Undervoltage
The main power supply to the A4963 (VBB) is applied to the
VBB terminal. This supply is used to provide the gate drive
output voltage. It is critical to ensure that VBB is sufficiently
high before enabling any of the outputs, so VBB is monitored by
an undervoltage detection circuit.
There are two undervoltage thresholds: VBBON and VBBOFF .
After power is applied to the VBB terminal, and following a
VBB undervoltage vault condition, VBB must exceed VBBON
before the gate drive outputs can be enabled. When the supply
voltage falls, the gate drive outputs can remain enabled until VBB
drops below VBBOFF , at which point a VBB undervoltage fault
condition will then exist. FAULTn will go active low, and the VS
bit in the diagnostic register will be set.
FAULTn is always active low when a VBB undervoltage fault
condition is present. The FAULTn output will remain active until
the condition is removed. The motor cannot be run during an
undervoltage condition so the signal on the PWM input terminal
will be ignored.
When the VBB undervoltage fault condition is removed, the
gate drive outputs can be re-enabled, and the FAULTn output
goes high impedance. The VS fault bit remains in the diagnostic
register until reset.
The VBB undervoltage monitor can be disabled by setting the
VS bit in the mask register. Although not recommended, this can
allow the A4963 to operate below its minimum specified supply
voltage level with a severely impaired gate drive. The specified
electrical parameters will not be valid in this condition.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
29
A4963
Chip Fault State: Power-On Reset
The supply to the logic sections of the A4963 is generated by an
internal regulator from VBB and is monitored to ensure correct
logical operation. The internal logic is guaranteed to operate
with the voltage at the VBB terminal (VBB) down to VBBR.
When VBB drops below the VBBR, then the logical function of
the A4963 cannot be guaranteed, the outputs will be immediately
disabled, and all the logic reset. The A4963 will enter a powerdown state, and all internal activity, other than the logic supply
voltage monitor, will be suspended. When the VBB rises above
the rising undervoltage threshold (VBBR+VBBRHys), the A4963
will exit the power down state. All serial control registers will
be reset to their power-on state, and all fault states and the
general fault flag will be reset. The FF bit and the POR bit in the
diagnostic register will be set to 1 to indicate that a power-onreset has taken place. The same power-on-reset sequence occurs
for initial power-on or for a VBB “brown-out”, where VBB only
drops below VBBR momentarily.
Chip Fault State: Serial Transmission Error
The data transfer into the A4963 through the serial interface is
monitored. 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, the write will be cancelled without writing data to the
registers. In addition, the diagnostic register will not be reset,
and the FF and SE bits will be set to indicate a data transfer
error.
Loss of Synchronization
The motor operation is controlled by a closed-loop position
estimator system, so it does not have any direct, immediate
means of determining whether the motor is synchronized to the
rotating field generated bye the A4963. A loss of synchronization
can only be detected if the commutation controller attempts to
drive the motor too fast or too slow.
The low speed threshold is defined as 25% of the start speed set
by the value of the SS[3:0] variable. For example, if the start
speed is set to 32 Hz by setting SS to 15, then the low speed
threshold will be set to 8 Hz.
The high speed (overspeed) threshold is determined by the product of the maximum limit ratio and the maximum speed. The
maximum limit ratio is set by the value of the SH[1:0] variable,
and the maximum speed is by set the value of the SMX[2:0]
Sensorless BLDC Controller
variable. For example, if the maximum speed is set to 1638.3
Hz by setting if SMX to 6, and the limit ratio is set to 150% by
setting SH to 4, then the overspeed threshold will be 2457.45 Hz.
If the commutation controller attempts to drive the motor at
less than the low speed threshold or greater than the overspeed
threhold, then the A4963 will indicate loss of synchronization.
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 low speed
threshold after a number of commutation cycles, and the A4963
will indicate loss of synchronization.
In some cases, rather than a complete stall, it is also possible for
the motor to vibrate at a whole fraction (sub-harmonic) 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 commutation controller will increase the commutation rate to compensate,
the resulting speed will increase above the overspeed threshold,
and the A4963 will will indicate loss of synchronization.
In the direct control mode, loss of synchronization is indicated
by an active low state on the FAULTn output. When using one
of the indirect modes, loss of synchronization is indicated by
repeatedly pulling the FAULTn output active low for three
PWM periods and inactive for three periods. In both cases,
the LOS bit will be set in the diagnostic register. 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) in the run register, and the
input demand. If the RUN and RSC bits are set to 1, and the
input demand is greater than the minimum limit for the mode
(see mode descriptions for detail), then the start sequencer will
reset and retry, and the FAULTn output will remain low or
continue the fault pulse sequence until the completion of six full
commutation periods following the hold time. This cycle will
continue until stopped by taking the input demand lower than the
minimum limit for the mode or setting either the RUN bit or the
RSC bit to 0.
If RSC=0, the FAULTn output will continue to indicate loss
of synchronization until the input demand is lower than the
minimum limit for the mode or the RUN bit is set to 0
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
30
A4963
Sensorless BLDC Controller
MOSFET Fault Detection
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[4:0] bits in configuration register 1. These bits provide the
input to a 5-bit DAC with a least significant bit value of typically
50 mV. The output of the DAC produces VDST approximately
defined as:
VDST = n × 50 mV
where n is a positive integer defined by VT[4: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. The drain-source voltage for any
high-side MOSFET is measured between the VBB terminal
and the appropriate Sx terminal. Any voltage drop between the
bridge supply to the common drain connection of the MOSFETs
and the VBB terminal must be taken into account when setting
the VDST level.
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 is the same
as the blank time (tBLANK) used by the current limit circuit, and
determined by the contents of the BT[3:0] variable. tBLANK is
approximately defined as:
tBLANK = n × 400 ns
where n is a positive integer defined by BT[3:0].
The qualifier can operate in one of two ways: debounce mode or
blanking mode, selected by the VDQ bit.
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 tBLANK, then the VDS fault is considered valid and the
corresponding VDS fault bit (AH, AL, BH, BL, CH, or CL) will
be set in the diagnostic register and action taken to protect the
MOSFET.
In the optional blanking mode, a timer is started when a gate
drive is turned on. The output from the VDS overvoltage
comparator for the MOSFET being switched on is ignored
(blanked) for the duration of the timeout period, set by tBLANK.
If the comparator output indicates an overvoltage event when the
MOSFET is in the on state, and the blanking timer is not active,
then the VDS fault is considered valid, and the corresponding
VDS fault bit (AH, AL, BH, BL, CH, or CL) will be set in the
diagnostic register and action taken to protect the MOSFET.
If a valid VDS fault is detected when ESF=1, then this fault
condition will be latched, and all MOSFETs will be immediately
switched off and disabled until the fault is reset.
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 A4963, 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.
To limit any damage to the external MOSFETs, when ESF=0,
the A4963 should either be fully disabled by setting the PWM
input to 0% or by setting RUN to 0 through a serial write.
Alternatively, setting the ESF bit to 1will allow the A4963 to
completely disable the MOSFETs as soon as a fault is detected.
The FAULTn output reports a VDS fault in different ways
depending on the state of the ESF bit and the selected control
mode.
When using the direct control mode, the FAULTn output will
be active low for the duration of the fault detection. In addition,
when ESF=1, FAULTn output will be active low during the time
when a VDS fault condition is latched.
When using any of the three indirect control modes with ESF=0,
the FAULTn output will be active low for two PWM periods
each time a VDS fault is detected. When using indirect control
with ESF=1, the FAULTn output will be repeatedly active low
for two PWM periods and inactive for two periods during the
time when a VDS fault condition is latched.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
31
A4963
Sensorless BLDC Controller
SERIAL INTERFACE
Serial Registers Definition
Table 4: Serial Registers Definition*
15
Config 0 (Blank, Dead)
Config 1 (VREF, VDST)
Config 2 (PWM)
Config 3 (Hold)
Config 4 (Start)
0
0
0
0
1
14
0
0
1
1
0
13
0
1
0
1
0
12
WR
WR
WR
WR
WR
Config 5
1
0
1
WR
Mask
1
1
0
WR
Run
1
1
1
WR
FF
POR
SE
1
1
0
Diagnostic
0
11
10
9
8
7
6
5
4
3
2
1
0
RM1
RM0
BT3
BT2
BT1
BT0
DT5
DT4
DT3
DT2
DT1
DT0
0
0
1
0
0
0
0
1
0
1
0
0
PFD
IPI
VIL3
VIL2
VIL1
VIL0
VDQ
VT4
VT3
VT2
VT1
VT0
0
0
1
1
1
1
0
1
1
1
1
1
CP3
CP2
CP1
CP0
SH1
SH0
DGC
PW4
PW3
PW2
PW1
PW0
0
1
1
1
1
0
0
1
0
0
1
1
CI3
CI2
CI1
CI0
HD3
HD2
HD1
HD0
HT3
HT2
HT1
HT0
0
1
1
1
0
1
0
1
0
0
1
0
SP3
SP2
SP1
SP0
SD3
SD2
SD1
SD0
SS3
SS2
SS1
SS0
0
1
11
1
0
1
1
1
0
0
1
1
SI3
SI2
SI1
SI0
SPO
SMX2
SMX1
SMX0
PA3
PA2
PA1
PA0
0
1
1
1
0
1
1
1
1
0
0
0
TW
OT
LOS
AH
AL
BH
BL
CH
CL
0
0
0
0
0
0
0
0
0
0
0
0
CM1
CM0
ESF
DI4
DI3
DI2
DI1
DI0
RSC
BRK
DIR
RUN
0
0
0
0
0
0
0
0
1
0
0
1
TW
OT
LOS
AH
AL
BH
BL
CH
CL
0
0
0
0
0
0
0
0
0
VS
VS
0
0
0
*Power on reset value shown below each input register bit.
A three wire synchronous serial interface, compatible with SPI,
is used to control the features of the A4963. A fourth wire can be
used to provide diagnostic feedback and read back of the register
contents.
The A4963 can be fully controlled by the PWM input or via the
serial interface. The serial interface provides access to additional
control options and several programmable parameters. Application specific settings are configured by setting the appropriate
register bits through the serial interface.
The serial interface timing requirements are specified in the
Electrical Characteristics table and illustrated in the Serial
Interface TIming figure on page 9. 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. STRn 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.
When 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 diagnostic register is reset.
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, the
write will be cancelled without writing data to the registers. In
addition, the diagnostic register will not be reset, and the FF and
SE bits will be set to indicate a data transfer error.
Diagnostic information or the contents of the configuration and
control 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 diagnostic register, is output as soon as STRn goes low.
Each of the four configuration and control registers has a write
bit (WR, bit 12) 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 11 to
0) are ignored. The state of the WR bit also determines the data
output on SDO. If WR is set to one, then the diagnostic register
is output. If WR is set to zero, then the contents of the register
selected by the first three bits is output. In all cases, the first
three bits output on SDO will always be the FF bit, the POR bit,
and the SE bit from the diagnostic register.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
32
A4963
Configuration and Control Registers
Sensorless BLDC Controller
The serial data word is 16 bits, input msb first, the first three bits
are defined as the register address. This provides eight writeable
registers:
• HD[3:0], a 4-bit integer to set the PWM duty cycle to produce
the hold torque for the initial start position in increments of
6.25%.
• Six registers are used for configuration, including blank
time and dead time programming, current and voltage limits,
PWM set-up parameters, and motor start-up and control
parameters.
• HT[3:0], a 4-bit integer to set the hold time of the initial start
position in increments of 8 ms from 0 ms.
• The seventh register is the fault mask register providing the
ability to disable individual diagnostics.
• The eighth register is the run register containing motor
control inputs.
Writing to the any register when the WR bit is set to one will
allow the diagnostic register to be read at the SDO output.
Configuration Register 4:
• SP[3:0], 4-bits to set the speed controller proportional gain.
• SD[3:0], a 4-bit integer to set the PWM duty cycle during
forced commutation at start-up in increments of 6.25%.
• SS[3:0], a 4-bit integer to set the start speed as electrical cycle
frequency in increments of 8 Hz from 8 Hz.
Configuration Register 5:
Configuration Register 0 contains basic timing settings:
• SI[3:0], 4-bits to set the speed controller integral gain.
• RM[1:0], 2-bits to select the recirculation mode.
• SPO, to select the signal output on the SPD terminal.
• BT[3:0], a 4-bit integer to set the blank time, tBL, in 400 ns
increments
• SMX[2:0], a 3-bit integer to set the maximum (100% input)
controlled speed as electrical cycle frequency.
• DT[5:0], a 6-bit integer to set the dead time, tDEAD, in 50 ns
increments
• PA[3:0], a 4-bit integer to set the phase advance in increments
of 1.875° (electrical)
Configuration Register 1 contains basic voltage settings:
The Mask Register contains a fault mask bit for each fault bit in
the diagnostic register. 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.
• PFD, 1-bit to select amount of fast decay at start.
• IPI, 1-bit invert the sense of the PWM input
• VIL[3:0], a 4-bit integer to set the current limit reference
voltage, VILIM.
The Run Register contains various bits to set running conditions:
• VDQ, to select timing qualifier for the VDS monitor
• CM[1:0], to select the required control mode.
• VT[4:0], a 5-bit integer to set the drain-source threshold
voltage, VDST, in 50 mV increments.
• ESF, the enable stop on fault bit that defines the action taken
when a short is detected. See diagnostics section for details of
fault actions.
Configuration Register 2:
• CP[3:0], 4-bits to set the position controller proportional gain.
• SH[1:0], 2-bits to select the overspeed limit ratio.
• DGC, 1-bit to enable degauss compensation.
• PW[4:0], a 5-bit integer to set the off time for PWM current
control used to limit the motor current during start-up and
normal running, or to set the PWM period for the fixed
frequency control options.
Configuration Register 3:
• CI[3:0], 4-bits to set the position controller integral gain.
• DI[4:0], a 5-bit integer to allow control of the motor via the
serial interface.
• RSC, the restart control bit. When set to 1, allows restart
after loss of bemf synchronization of RUN is 1 and BRK is
0. When set to 0, the motor will coast to a stop when bemf
synchronization is lost.
• BRK, enable brake function.
• DIR, direction control.
• RUN, enables the A4963 to start and run the motor.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
33
A4963
Sensorless BLDC Controller
Diagnostic Register
There is one diagnostic register in addition to the eight writeable
registers. Each time a register is written, the diagnostic register
can be read, msb first, on the serial output terminal (SDO), as
illustrated in the serial timing diagram. The diagnostic register
contains fault flags for each fault condition, a general fault
flag, and an overcurrent indicator. Whenever a fault occurs, the
corresponding flag bit in the diagnostic register will be set and
latched. The fault flags in the diagnostic register are only reset
on the completion of a serial access or when a power-on-reset
occurs. Resetting the diagnostic register only affects latched
faults that are no longer present. For any static faults that are still
present (e.g. overtemperature), the fault flag will remain set after
the register reset.
At power-up or after a power-on-reset, the FF and POR bits are
set, and all other bits are reset. This indicates to the external
controller that a power-on-reset has taken place and all registers
have been reset. Note that a power-on-reset only occurs when the
VDD supply rises above its undervoltage threshold. Power-onreset is not directly affected by the state of the VBB.
The first bit in the register is the diagnostic register flag (FF).
This is high if any bits in the diagnostic 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 A4963 through the
serial interface to determine if a fault has been detected. If
no faults have been detected, then the serial transfer 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.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
34
A4963
Sensorless BLDC Controller
SERIAL REGISTER REFERENCE
Table 5: Serial Register Reference*
15
Config 0
0
Config 1
0
14
0
0
13
0
1
12
WR
WR
11
10
9
8
7
6
5
4
3
2
1
0
RM1
RM0
BT3
BT2
BT1
BT0
DT5
DT4
DT3
DT2
DT1
DT0
0
0
1
0
0
0
0
1
0
1
0
0
PFD
IPI
VIL3
VIL2
VIL1
VIL0
VDQ
VT4
VT3
VT2
VT1
VT0
0
0
1
1
1
1
0
1
1
1
1
1
*Power on reset value shown below each input register bit.
Configuration Register 0
Configuration Register 1
RM[0:1] Recirculation Mode
RM1
RM0
Recirculation Mode
0
0
Auto
0
1
High
1
0
Low
1
1
Off – Non-sync Rectification
PFD
Percent Fast Decay
Default
PFD
D
0
12.5%
1
25%
BT[3:0] Blank Time
tBLANK = n × 400 ns
where n is a positive integer defined by BT[3:0].
For example, for the power-on-reset condition BT[3:0] = [1000],
then tBL=3.2 μs.
IPI
DT[5:0] Dead TIme time
tDEAD = n × 50 ns
where n is a positive integer defined by DT[5:0].
For example, for the power-on-reset condition 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.
The accuracy of tDEAD is determined by the system clock
frequency as defined in the electrical characteristics table.
Default
D
Invert PWM Input
IPI
PWM Input Stat
0
Normal True Logic
1
Inverter Logic
Default
D
VIL[3:0] Current Sense Threshold Voltage for Normal
Running Conditions
Typically:
The range of tBL is 0 to 6 μs.
The accuracy of tBL is determined by the system clock frequency
as defined in the electrical characteristics table.
Percent Fast Decay (at Start)
VILIM = (n + 1) × 12.5 mV
where n is a positive integer defined by VIL[3:0].
For example, for the power-on-reset condition VIL[3:0] = [1111]
then VILIM = 200 mV.
The range of VILIM is 12.5 mV to 200 mV.
VDQ
VDQ
bemf Time Qualifier
VDS Comparator Time Qualifier
0
Debounce Timer
1
Window Timer
Default
D
VT[4:0] VDS Threshold
Typically:
VDST = n × 50 mV
where n is a positive integer defined by VT[4:0].
For example, for the power-on-reset condition VT[4:0] = [1
1111], then VDST = 1.55 V.
The range of VDST is 0 to 1.55V.
The accuracy of VDST is defined in the electrical characteristics
table.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
35
A4963
Sensorless BLDC Controller
Table 6: Serial Register Reference
Config 2
Config 3
15
14
13
12
0
1
0
WR
0
1
1
WR
11
10
9
8
7
6
5
4
3
2
1
0
CP3
CP2
CP1
CP0
SH1
SH0
DGC
PW4
PW3
PW2
PW1
PW0
0
1
1
1
1
0
0
1
0
0
1
1
CI3
CI2
CI1
CI0
HD3
HD2
HD1
HD0
HT3
HT2
HT1
HT0
0
1
1
1
0
1
0
1
0
0
1
0
*Power on reset value shown below each input register bit.
Configuration Register 2
Configuration Register 3
CP[3:0] Proportional Gain of the Position Controller
Position control proportional gain is KCP defined as:
CI[3:0] Integral Gain of the Position Controller
Position control integral gain is KCI defined as:
KCP = 2(n-7)
KCI = 2(n-7)
where n is a positive integer defined by CP[3:0].
where n is a positive integer defined by CI[3:0].
For example, when CP[3:0] = [1000], then KCP = 2.
For example, when CI[3:0] = [1000], then KCI = 2.
The range of KCP is 1/128 to 256.
The range of KCI is 1/128 to 256.
SH[0:1] Overspeed Limit Ratio
HD[3:0] PWM Duty Cycle for Hold Torque
SH1
SH0
0
0
100% Max Contorl Speed
0
1
125% Max Control Speed
1
0
150% Max Control Speed
1
1
200% Max Control Speed
DGC
Recirculation Mode
Default
where n is a positive integer defined by HD[3:0].
D
De-gauss Compensation
0
Off
1
Active
For example, where the power-on-reset condition HQ[3:0] =
[0101], then DH = 37.5%.
The range of DH is 6.25% to 100%.
De-gauss Compensation
DGC
DH = (n + 1) × 6.25%
Default
D
PW[4:0] Fixed Off Time/Fixed Period
tPW = 20 µs + (n × 1.6 µs)
where n is a positive integer defined by PW[4:0].
For example, when the power-on-reset condition PW[4:0] =
[1 0011], then tPW = 50.4 µs.
HT[3:0] Hold Time
tHOLD = n × 8 ms
where n is a positive integer defined by HT[3:0].
For example, where the power-on-reset condition HT[3:0] =
[0010], then tHOLD=16 ms.
The range of tHOLD is 0 ms to 120 ms.
The accuracy of tHOLD is determined by the system clock
frequency as defined in the electrical characteristics table.
The range of tPW is 20 µs to 69.6 µs.
In fixed frequency mode, this is equivalent to 14.4k Hz to 50
kHz.
The accuracy of tPW is determined by the system clock frequency as defined in the electrical characteristics table.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
36
A4963
Sensorless BLDC Controller
Table 7: Serial Register Reference*
Config 4
Config 5
15
14
13
12
1
0
0
WR
1
0
1
WR
11
10
9
8
7
6
5
4
3
2
1
0
SP3
SP2
SP1
SP0
SD3
SD2
SD1
SD0
SS3
SS2
SS1
SS0
0
1
11
1
0
1
1
1
0
0
1
1
SI3
SI2
SI1
SI0
SPO
SMX2
SMX1
SMX0
PA3
PA2
PA1
PA0
0
1
1
1
0
1
1
1
1
0
0
0
*Power on reset value shown below each input register bit.
Configuration Register 4
Configuration Register 5
SP[3:0] Proportional Gain of the Speed PI Controller
Speed control proportional gain is KSP defined as:
SI[3:0] Integral Gain of the Speed PI Controller
Speed control integral gain is KSI defined as:
KSP = 2(n-7) × KNSP
KSI = 2(n-7) × KNSI
where n is a positive integer defined by SP[3:0], and KNSP is
thenominal proportional gain of speed control.
where n is a positive integer defined by SI[3:0] and KNSI is the
nominal integral gain of speed control.
For example, when SP[3:0] = [1000], then KSP = 2 KNSP.
For example, when SI[3:0] = [1000], then KSI = 2 KNSI.
The range of KSP is 1/128 KNSP to 256 KNSP.
The range of KSI is 1/128 KNSI to 256 KNSI.
SD[3:0] PWM Duty Cycle for Torque During Forced
Commutation Start-Up
SPO
DS = (n + 1) × 6.25%
where n is a positive integer defined by SD[3:0].
For example, when the power-on-reset condition SD[3:0] =
[0111], then DS = 50%.
The range of DS is 6.25% to 100%.
The accuracy of DS is defined in the electrical characteristics
table.
SS[3:] Start Speed
Defined by electrical cycle frequency:
fST = (n + 1) × 2 Hz
where n is a positive integer defined by SS[3:0].
For example, where the power-on-reset condition SS[3:0] =
[0011], then fST = 8 Hz.
The range of fST is 2 Hz to 32 Hz.
The accuracy of fST is determined by the system clock frequency
as defined in the electrical characteristics table.
SPO
Speed Output Selection
Signal Output on SPD
0
FG (electrical frequency)
1
TACHO (commutation frequency)
Default
D
SMX[2:0]Maximum Speed Setting as Maximum Electrical Cycle Frequency
fMX = [2(8 + n) – 1] × 0.1 Hz
where n is a positive integer defined by SMX[2:0].
For example, where the power-on-reset condition SMX[2:0] =
[101], then fMX = 819.1 Hz.
The range of fMX is 25.5 Hz to 3,276.7 Hz.
For example, for a 6-pole pair motor this is equivalent to a
default maximum speed of 8,191 rpm and maximum speed range
from 255 rpm to 32,767 rpm.
PA[3:0] Phase Advance
θADV = n × 1.875º(electrical)
where n is a positive integer defined by PA[3:0].
For example, where the following condition PA[3:0] =
[1000], then θADV = 15°.
The range of θADV is 0 to 28.125°(electrical).
The accuracy of θADV is defined in the electrical characteristics
table.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
37
A4963
Sensorless BLDC Controller
Table 8: Serial Register Reference*
Run
15
14
13
12
1
1
1
WR
11
10
9
8
7
6
5
4
3
2
1
0
CM1
CM0
ESF
DI4
DI3
DI2
DI1
DI0
RSC
BRK
DIR
RUN
0
0
0
0
0
0
0
0
1
0
0
1
*Power on reset value shown below each input register bit.
Run Register
RSC
RSC
CM[1:0] Selects Motor Control Mode
CM1
CM0
0
0
Indirect Speed (Duty Cycle)
0
1
Direct Speed (Duty Cycle)
1
0
Closed-loop Current
1
1
Closed-loop Speed
ESF
ESF
Motor Control Mode
0
No Stop on Fail. Report Fault
1
Stop on Fail. Report Fault
DI[4:0]
Default
D
Default
D
Duty Cycle Control
DC = 7 + (n × 3)%
where n is a positive integer defined by DI[4:0].
For example, when DI[4:0] = 0, then serial duty cycle control is
disabled and control reverts to the duty cycle of the PWM signal
applied to the PWM input terminal.
Restart
0
No Restart
1
Allow Restart after Loss of Synch
Default
D
BRKBrake
BRK
Enable Stop On Fail
Recirculation
Restart Control
Brake Function Enable
0
Brake Function Disabled
1
Brake Enabled when PWM Inactive
DIR
Direction
0
Forward (Table 1 States 1 to 6)
1
Reverse (Table 1 States 6 to 1)
RUN
D
Direction of Rotation’
DIR
RUN
Default
Default
D
Run Enable
Recirculation
0
Disable Outputs, Coast Motor
1
Start and Run Motor
Default
D
The range of DC is 10% to 100%.
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
38
A4963
Sensorless BLDC Controller
Table 9: Serial Register Reference*
Mask
Diagnostic
15
14
13
12
1
1
0
WR
FF
POR
SE
1
1
0
0
11
10
9
8
TW
OT
LOS
0
0
0
TW
OT
LOS
0
0
0
7
6
VS
0
0
0
VS
0
0
0
5
4
3
2
1
0
AH
AL
BH
BL
CH
CL
0
0
0
0
0
0
AH
AL
BH
BL
CH
CL
0
0
0
0
0
0
*Power on reset value shown below each input register bit.
Mask Register
Diagnostic Register
TW
Temperature Warning
TW
High Temperature Warning
OT
Over Temperature
OT
Over Temperature Shutdown
LOS
Loss of bemf Synchronization
LOS
bemf Synchronization Lost
VS
VBB Undervoltage
VS
Undervoltage on VBB
AH
Phase A High-side VDS
AHVDS Fault Detected on Phase A High-side
AL
Phase A Low-side VDS
ALVDS Fault Detected on Phase A Low-side
BH
Phase B High-side VDS
BHVDS Fault Detected on Phase B High-side
BL
Phase B Low-side VDS
BLVDS Fault Detected on Phase B Low-side
CH
Phase C High-side VDS
CHVDS Fault Detected on Phase C High-side
CL
Phase C Low-side VDS
CLVDS Fault Detected on Phase C Low-side
xx
Fault Mask
0
Fault Detection Permitted
1
Fault Detection Disabled
Default
D
FF
Diagnostic Register Flag
POR
Power-On Reset
SE
Serial Transfer Error
xx
Fault Mask
0
Fault Detection Permitted
1
Fault Detection Disabled
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
39
A4963
Sensorless BLDC Controller
INPUT/OUTPUT STRUCTURES
VBB
HVESD
To other
phase
HVESD
VBB
VBB
20 V
5k
SX
16 V
GLX
GHX
5k
16 V
20 V
To other
phase
20 V
Figure 23a: Supply
Figure 23b: Phase Inputs
3.3 V (Internal Supply)
Figure 23c: LS Gate Drive
Figure 23d: HS Gate Drive
3.3 V (Internal Supply)
3.3 V (Internal Supply)
HVESD
3.3 V
50 k
2k
DDI
SCK
2k
2k
STRn
6V
50 k
6V
PWM
6V
6V
Figure 23e: SDI, SCK Inputs
50 k
6V
6V
Figure 23g: PWM Input
Figure 23f: STRn Input
3.3 V (Internal Supply)
20 k
HVESD
CSP
CSM
50 k
6V
50 k
SDO
6V
10 V
FAULTn
SPD
16 V
6V
33 k
Figure 23h: Sense Inputs
Figure 23i: SDO Output
Figure 23j: FAULTn, SPD Outputs
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
40
A4963
Sensorless BLDC Controller
PACKAGE OUTLINE DRAWING
For Reference Only – Not for Tooling Use
(Reference MO-153 ACT)
NOT TO SCALE
Dimensions in millimeters
Dimensions exclusive of mold flash, gate burrs, and dambar protrusions
Exact case and lead configuration at supplier discretion within limits shown
6.50 NOM
0.45
0.65
4.20
4º
20
20
0.20
0.09
1.70
C
3.00
4.40 NOM
3.00
6.40 NOM
6.10
A
0.60 NOM
1
1.00 REF
2
1
0.25 BSC
2
4.20
SEATING PLANE
20X
C
0.10
1.20 MAX
C
GAUGE PLANE
B
SEATING
PLANE
0.30
0.19
0.05 NOM
0.65 BSC
NNNNNNN
YYWW
LLLLLLL
A
Terminal #1 mark area
B
Reference land pattern layout (reference IPC7351 SOP65P640X110-21M); 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 JESD51-5)
C
PCB Layout Reference View
Exposed thermal pad (bottom surface)
1
B
Standard Branding Reference View
N = Device part number
= Supplier emblem
Y = Last two digits of year of manufacture
W = Week of manufacture
L = Lot number
Figure 24: Package LP, 20-Pin TSSOP with Exposed Pad
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
41
A4963
Sensorless BLDC Controller
Revision History
Revision
Revision Date
–
October 20, 2014
Description of Revision
Initial Release
Copyright ©2014, 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.
For the latest version of this document, visit our website:
www.allegromicro.com
Allegro MicroSystems, LLC
115 Northeast Cutoff
Worcester, Massachusetts 01615-0036 U.S.A.
1.508.853.5000; www.allegromicro.com
42