A33003 Datasheet
A33003 Datasheet
A33003 Datasheet
Package
Die 1
BYP
Die 2
SELECTION GUIDE
Part Number Hot Trim Temperature Interface Voltage [1] System Die Package Packing
A33003LLUATR 150°C 3.3 V Single
14-pin TSSOP 4000 pieces per 13-inch reel
A33003LLUBTR-DD 150°C 3.3 V Dual
2
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Table of Contents
Features and Benefits............................................................ 1 SPI Interface................................................................... 21
Description........................................................................... 1 Manchester Serial Interface............................................... 26
Package.............................................................................. 1 Manchester Message Structure......................................... 28
Simplified Block Diagram....................................................... 1 EEPROM and Shadow Memory Use..................................... 33
Selection Guide.................................................................... 2 Enabling EEPROM Access............................................... 34
Absolute Maximum Ratings.................................................... 2 EEPROM Write Lock........................................................ 34
Thermal Characteristics......................................................... 2 Read Transaction from EEPROM (or Shadow Memory)........ 35
Pinout Diagrams and Terminal Lists......................................... 4 Write Transaction to EEPROM (or Shadow Memory)............ 37
Operating Characteristics....................................................... 6 Shadow Memory Read and Write Transactions.................... 40
Performance Characteristics................................................... 9 Serial Interface Table........................................................... 41
Functional Description..........................................................11 Primary Serial Interface Registers Reference......................... 42
Overview.........................................................................11 EEPROM Table................................................................... 50
Angle Measurement..........................................................11 EEPROM Reference........................................................... 51
System Level Timing.........................................................11 Safety and Diagnostics........................................................ 59
Power-Up........................................................................11 Alive Counter.................................................................. 59
PWM Output................................................................... 12 Oscillator Watchdogs........................................................ 59
Linearization.................................................................... 15 Logic Built-In Self-Test (LBIST).......................................... 59
Angle Hysteresis.............................................................. 17 CVH Self-Test.................................................................. 59
Turns Counting................................................................ 18 I/O Structures..................................................................... 60
Turns Counting Behavior on Power-Up............................... 19 Package Outline Drawings................................................... 61
Setting the Turns Count Value........................................... 20 Appendix A: SENT Output Description..................................A-1
Device Programming Interface.............................................. 21 Appendix B: Angle Error and Drift Definition...........................B-1
3
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
4
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
VCC
0.1 µF
VCC
BYP
0.1 µF
A33003
Optional IO Pull-Ups
≈100 kΩ
VOUT
Host CS/SA0
Microcontroller MOSI/SA1
SCLK GND
10 Ω [1] VS [2]
VCC
0.2 µF
4.7 kΩ
VCC
125 Ω
BYP VOUT Host
0.2 µF 1.2 nF Microcontroller
A33003
CS/SA0
MOSI/SA1
[1]
SCLK GND To prevent assertion of the undervoltage flag, power
supply tolerance must be taken into account when
sizing series resister value.
[2]
Ensure VS matches IO voltage level (3.3 V or 5 V).
For 5 V ordering information, contact Allegro.
5
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
OPERATING CHARACTERISTICS: Valid over the full operating voltage and ambient temperature ranges, unless otherwise noted
Characteristics Symbol Test Conditions Min. Typ. Max. Unit
ELECTRICAL CHARACTERISTICS
Supply Voltage VCC Customer supply 4.5 – 5.5 V
Supply Current ICC Each die 11 13 16 mA
Undervoltage Flag Threshold VUVD dV/dt = 1 V/ms, A33003 sampling enabled 4.5 – 4.7 V
Supply Zener Clamp Voltage VZSUP ICC = ICC(max) + 3 mA, TA = 25°C 26.5 – – V
Reverse Battery Current IRCC VRCC = –18 V, TA = 25°C – – –5 mA
Power-On Time [1] tPO Power-on diagnostics disabled – 15 – ms
TA = 25°C, CBYP = 0.1 µF, 3.3 V interface 2.93 3.3 3.63 V
Bypass Pin Output Voltage [2] VBYP TA = 25°C, CBYP = 0.1 µF, 5.0 V interface,
4 – 5.5 V
VCC = 5 V
Digital Oscillator Frequency fOSC Main digital oscillator 28 32 36 MHz
SPI INTERFACE SPECIFICATIONS (for 3.3 V interface)
Digital Input High Voltage VIH MOSI, SCLK, CS pins 2.8 – 3.63 V
Digital Input Low Voltage VIL MOSI, SCLK, CS pins – – 0.5 V
SPI Output High Voltage VOH VOUT pins, CL = 20 pF 2.93 3.3 3.63 V
SPI Output Low Voltage VOL VOUT pins, CL = 20 pF – 0.3 – V
SPI INTERFACE SPECIFICATIONS (for 5.0 V interface) (Contact Allegro for 5 V SPI ordering information)
Digital Input High Voltage VIH MOSI, SCLK, CS pins 3.75 – 5.5 V
Digital Input Low Voltage VIL MOSI, SCLK, CS pins – – 0.5 V
SPI Output High Voltage VOH VOUT pins, CL = 20 pF 4 5 – V
SPI Output Low Voltage VOL VOUT pins, CL = 20 pF – 0.3 – V
SPI INTERFACE SPECIFICATIONS
SPI Clock Frequency [3] fSCLK VOUT pins, CL = 20 pF 0.1 – 10 MHz
SPI Clock Duty Cycle [3] DfSCLK SPICLKDC 40 - 60 %
SPI Frame Rate [3] tSPI Assuming a 16-bit SPI packet 5.8 – 588 kHz
Chip Select to First SCLK Edge [3] tCS Time from CS going low to SCLK falling edge 50 – – ns
Time CS must be high between SPI message
Chip Select Idle Time [3] tCS_IDLE 200 – – ns
frames
Data Output Valid Time [3] tDAV Data output valid after SCLK falling edge – – 50 ns
MOSI Setup Time [3] tSU Input setup time before SCLK rising edge 25 – – ns
MOSI Hold Time [3] tHD Input hold time after SCLK rising edge 50 – – ns
SCLK to CS Hold Time [3] tCHD Hold SCLK high time before C̄¯ S̄
¯ rising edge 5 – – ns
Load Capacitance [3] CL Loading on digital output (VOUT) pin – – 20 pF
6
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
OPERATING CHARACTERISTICS (continued): Valid over the full operating voltage and ambient temperature ranges, unless otherwise noted
Characteristics Symbol Test Conditions Min. Typ. Max. Unit
MANCHESTER INTERFACE SPECIFICATIONS
Defined by the input message bit rate sent from
Bit Rate 4 – 40 kbps
the external controller
Data bit pulse width at 4 kbps 243 250 257 μs
Bit Time tBIT
Data bit pulse width at 100 kbps 9.5 10 10.5 μs
Bit Time Error errtBIT Deviation in tBIT during one command frame –11 – 11 %
Delay from the trailing edge of a read
Read Delay tSTART_READ command frame to the leading edge of the read 2 × tBIT – – μs
acknowledge frame
Bit Time Delay tb – 2 – tBIT
Access Code Timeout tmsgRX – – 300 µs
SSENT—Short F_AUX 56 – 70 ticks
SSENT—Long F_AUX 216 – 264 ticks
ASENT F_AUX 56 – 70 ticks
Interrupt Pulse Hold Time tHOLD SENT Aux. interrupt pulse 30 – – ticks
TSENT Aux. interrupt pulse 30 – – ticks
2 × PWM
PWM Aux. interrupt pulse – – µs
period [4]
Deglitch Gate Time tGATE 1.0 – – µs
INPUT SIGNAL VOLTAGE
Manchester Code High Voltage VMAN(H) Applied to PWM/MISO/SENT line 2.8 – VCC V
Manchester Code Low Voltage VMAN(L) Applied to PWM/MISO/SENT line 0.0 – 1.2 V
OUTPUT SIGNAL VOLTAGE
Minimum RPULLUP = 5 kΩ 0.9 × VS – – V
Manchester Code High Voltage VMAN(H)
Maximum RPULLUP = 50 kΩ 0.7 × VS – – V
Manchester Code Low Voltage VMAN(L) 5 kΩ < RPULLUP < 50 kΩ – – 0.1 V
7
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
OPERATING CHARACTERISTICS (continued): Valid over the full operating voltage and ambient temperature ranges, unless otherwise noted
Characteristics Symbol Test Conditions Min. Typ. Max. Unit
PWM INTERFACE SPECIFICATIONS
PWM frequency min. setting, TA in specification – 98 – Hz
PWM Carrier Frequency [3] fPWM PWM programmable options – 128 – codes
PWM frequency max. setting, TA in specification – 3.125 – kHz
PWM Output Low Clamp DPWM(min) Corresponding to digital angle of 0x000 – 5 – %
PWM Output High Clamp DPWM(max) Corresponding to digital angle of 0xFFF – 95 – %
PWM Output Resolution RESPWM – 12 – bit
PWM Output Saturation Voltage VSAT_LOW(PWM) Output current = –1 mA, VCC = 5 V, output FET on – – 0.25 V
PWM Current Limit ILIMIT(PWM) Output FET on, TA = 25°C 20 36 45 mA
PWM driver impedance when pulling to logic low;
PWM Output Impedance [3] RON(PWM) 40 – 250 Ω
TA = 25°C
SENT SPECIFICATIONS [3]
SENT Tick Time tTICK All SENT modes [5] 0.5 – 7.9375 µs
SENT Tick Time Tolerance TOLtTICK All SENT modes –15 – 15 %
VSENTtrig(L) VOUT falling, 3.3 V digital – – 1.2 V
SENT Output Trigger Thresholds
VSENTtrig(H) VOUT rising, 3.3 V digital 2.8 – – V
Output current = –4.7 mA, VCC = 5 V,
SENT Output Saturation Voltage VSAT(LOW) – – 0.45 V
output FET on
SENT Output Current Limit ILIMIT Output FET on, TA = 25°C 20 36 45 mA
SENT Output Load Resistance RL(PULLUP) Output current ≥ –10 mA 1.2 – – kΩ
From end of trigger pulse to beginning of SENT
Trigger Delay Time [6] tdSENT 7 – – ticks
message frame (TSENT and shared SENT)
SENT driver impedance when pulled to logic low;
SENT Output Impedance [3] RON(SENT) 40 – 250 Ω
TA = 25°C
BUILT-IN SELF TEST
Logic BIST Time tLBIST Configurable to run on power-up or on user request – 30 – ms
Circular Vertical Hall Self-Test Time tCVHST Configurable to run on power-up or on user request – 52 – ms
8
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
OPERATING CHARACTERISTICS (continued): Valid over the full operating voltage and ambient temperature ranges, unless otherwise noted
Characteristics Symbol Test Conditions Min. Typ. Max. Unit
MAGNETIC CHARACTERISTICS
Magnetic Field B Range of input field – – 900 G [7]
ANGLE CHARACTERISTICS
Both 12- and 15-bit angle values are available via
Output [8] RESANGLE – 12/15 – bit
SPI
Angle Refresh Rate [9] tANG No averaging – 2.0 – µs
Response Time [3] tRESPONSE Angular latency – 17 – µs
Effective Resolution [10] B = 300 G [7], TA = 25°C – 12.5 – bits
[1] During the power-on phase, the A33003 SPI transactions are valid within ≈ 300 µs of power on (with no self-tests). Angle reading requires full tPO to stabilize.
[2] The output voltage specification is to aid in PCB design. The pin is not intended to drive any external circuitry. The specifications indicate the peak capacitor charging and
discharging currents to be expected during normal operation.
[3] Parameter is not guaranteed at final test. Determined by design.
[4] The minimum hold time for the Auxiliary interrupt, when the output is set for PWM, is double the PWM period. If the PWM frequency increases as a result of a diagnostic
condition, the hold time is double the new PWM period at the diagnosis frequency.
[5] Tick times less than 0.5 µs are available, but not guaranteed.
[6] The synchronization pulse delay is a minimum of 7 ticks but can be extended to cover Slot Marking in SSENT.
[7] 1 G (gauss) = 0.1 mT (millitesla). Recommended minimum field is 300 G.
[8] RES
ANGLE represents the number of bits of data available for reading from the die registers.
[9] The rate at which a new angle reading becomes ready.
[10] Effective Resolution is calculated using the formula below:
i=1
i )
where σ is the Standard Deviation based on thirty measurements taken at each of the 32 angular positions, I = 11.25, 22.5, … 360.
9
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
1.4 1.4
Angle Error [Degrees]
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
–40 –30–20 –10 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140150 –40 –30–20 –10 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140150
Temperature [Degrees Celsius] Temperature [Degrees Celsius]
Figure 4: Peak Angle Error over Temperature Figure 5: Maximum Absolute Drift over Temperature
(300 G) (300 G)
Angle Noise
0.3
Mean Noise
Mean Noise ±3 Sigma
0.25
Angle Noise [Degrees]
0.2
0.15
0.1
0.05
0
–40 –30–20 –10 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140150
Temperature [Degrees Celsius]
10
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
FUNCTIONAL DESCRIPTION
11
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
360
CLAMP_HIGH
CLAMP_LOW
0 PWM_BAND
0 1 2 3 4 5 6 7
D0T D1T D2T D3T D4T D5T D6T D7T D8T D9T D10T
PWM Waveform (V)
Figure 7: PWM Mode Outputs a Duty Cycle 5 3008 2597 2041 1429 893 510 275 143
Proportional To Sensed Angle 6 2985 2564 2000 1389 862 490 263 137
PWM_FREQ
a linear interpolation of the angle as sampled at the start of the 9 2920 2469 1887 1282 781 439 234 121
PWM period. 10 2899 2439 1852 1250 758 424 225 116
11 2878 2410 1818 1220 735 410 217 112
PWM Period PWM Period
12 2857 2381 1786 1190 714 397 210 108
13 2837 2353 1754 1163 694 385 203 105
5 % HIGH
5 % HIGH
5 % HIGH
5 % LOW
5 % LOW
5 % HIGH
5 % HIGH
5 % LOW
5 % LOW
5 % LOW
12
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
13
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
ZCD path
CVH
PLL path
Mixed-origin data
ΣΔ- ADC
Angle averaging
(ORATE)
Field strength
measurement
Segmented
linearization
Offset adjust (ELI, LS, LIN##)
Rotation direction
(ZCD_TURNS_OFFSET) (RO)
Segmented
Offset adjust linearization
(ZERO_OFFSET) (ELI, LS, LIN##)
ZAL = 0
180° rotation
(RD)
GAUSS
output register
Angle source
ANGLE_HYS output register
combination logic
14
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Linearization
The A33003 contains linearization functionality. Linearization
Table 5: Linearization Coefficients
allows for conversion of the initially sensor-measured magnetic
Electrical Correction
field data into customer-desired linear output. This can be used Angle (°) Value Output Angle
to correct minor imperfections in the encoder signal, or to allow Measured by Written in Visible on Sensor Output
motor commutation in side-shaft measurement setups. Sensor EEPROM
0.00 LIN0 Output = 0.00 – LIN0
Linearization converts the electrical angles (the angle as mea-
sured by the sensor front end) into mechanical angles (the actual 11.25 LIN1 Output = 11.25 – LIN1
angle of the encoder signal). 22.50 LIN2 Output = 22.50 – LIN2
33.75 LIN3 Output = 33.75 – LIN3
To use the linearization feature, it is most convenient to use the
Allegro A33003 Samples Programmer Graphical User Interface 45.00 LIN4 Output = 45.00 – LIN4
(GUI). [1] It allows the user to measure points along the mechani- 56.25 LIN5 Output = 56.25 – LIN5
cal rotation, calculate all parameters that need to be written into 67.50 LIN6 Output = 67.50 – LIN6
the sensor, and write these values into the sensor. To use this 78.75 LIN7 Output = 78.75 – LIN7
function, the user must be able to read and control the mechanical 90.00 LIN8 Output = 90.00 – LIN8
angle.
101.25 LIN9 Output = 101.25 – LIN9
The sensor performs linearization by taking the measured electri- 112.50 LIN10 Output = 112.50 – LIN10
cal angles and, depending on the angle measured, subtracting 123.75 LIN11 Output = 123.75 – LIN11
a linearization coefficient stored in EEPROM. There are 32 of
135.00 LIN12 Output = 135.00 – LIN12
these linearization coefficients in the EEPROM. The angle value
146.25 LIN13 Output = 146.25 – LIN13
at a sensor angle reading of 0.00, 11.25, 22.50, … 348.75 electri-
cal degrees become modified by the values in EEPROM fields 157.50 LIN14 Output = 157.50 – LIN14
LIN0, LIN1, LIN2, … LIN31. The EEPROM LIN values are 168.75 LIN15 Output = 168.75 – LIN15
subtracted from the electrical sensor angles, as shown in Table 5. 180.00 LIN16 Output = 180.00 – LIN16
The LIN fields are 12-bit signed values. Each LIN coefficient has 191.25 LIN17 Output = 191.25 – LIN17
a range of –2048…+2047 LSB that corresponds to a correction of 202.50 LIN18 Output = 202.50 – LIN18
the electrical angle by +22.50…–22.49 degrees (EEPROM field 213.75 LIN19 Output = 213.75 – LIN19
LS = 0) or by +45.00…–44.98 degrees (EEPROM field LS = 1). 225.00 LIN20 Output = 225.00 – LIN20
When the electrical angle is between two of the linearization 236.25 LIN21 Output = 236.25 – LIN21
points, the sensor calculates the appropriate correction value for
247.50 LIN22 Output = 247.50 – LIN22
this angle by linear interpolation between the two coefficients
258.75 LIN23 Output = 258.75 – LIN23
next to the value. For example, if the sensor measures an angle of
5.625°, the output is 5.625 – (LIN0 + LIN1)/2. 270.00 LIN24 Output = 270.00 – LIN24
281.25 LIN25 Output = 281.25 – LIN25
An example of a nonlinear curve that is corrected by the sensor is
292.50 LIN26 Output = 292.50 – LIN26
shown in Figure 10. In this example, the values of LIN0 through
LIN4 are positive numbers, while LIN5 and LIN6 are negative 303.75 LIN27 Output = 303.75 – LIN27
numbers. The straight-line interpolation between LIN points typi- 315.00 LIN28 Output = 315.00 – LIN28
cally gives rise to some residual error because the device fits a line 326.25 LIN29 Output = 326.25 – LIN29
to a nonlinear error profile, as shown in Figure 11. 337.50 LIN30 Output = 337.50 – LIN30
The output delay of the A33003 is not affected by enabling or 348.75 LIN31 Output = 348.75 – LIN31
disabling linearization. If linearization is disabled, the EEPROM
LIN fields can be used for other customer purposes.
[1] Available for download via the Allegro Software Portal at https://registration.allegromicro.com/login
15
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
90
Electrical Angle (not linearized)
Linearization Parameters
78.75 Ideal Output
LIN6
Sensor Angle (degrees)
67.5 LIN5
56.25 LIN4
45 LIN3
33.75 LIN2
22.5 LIN1
11.25 LIN0
0
0 11.25 22.5 33.75 45 56.25 67.5 78.75 90
Rotational Angle (degrees)
Post-Linearization Performance
10
Prelinearization Angle
8 Linearization Segments
Residual Error
6
Angle Error (degrees)
-2
-4
-6
-8
-10
0 10 20 30 40 50 60 70 80 90
Electrical Angle (degrees)
16
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Angle Hysteresis direction, the output angle is held static until the sensor angle
exits the hysteresis window in either direction. If the exit is in
Hysteresis can be applied to the compensated angle to moderate the opposite direction of rotation where the “head” was, the
jitter in the angle output due to noise or mechanical vibration. In head flips to the opposite end of the hysteresis window and that
the A33003, the hysteresis field (ANG.HYSTERESIS) defines becomes the new reference direction. The current direction of
the width of an angle window at 14-bit resolution. Mathemati- rotation, or “head” for the purposes of hysteresis, is viewable via
cally, the width of this window is: the STA.ROT bit, where 0 is in the increasing angle direction,
ANG.HYSTERESIS × (360/16384) degrees, and 1 is in the decreasing angle direction.
giving a range of 0 to 1.384 degrees. This behavior has the following consequences:
On the SPI or Manchester interface, the hysteresis- 1. If the hysteresis window is greater than the output resolution,
compensated angle can be read via an alternate register the output angle skips consecutive resolution steps.
(HANG.ANGLE_HYS) at 12-bit resolution. 2. If there is jitter due to noise or mechanical vibration, especially
The effect of the hysteresis is shown in Figure 12. The current at a static angle position or very slow rotation, the angle tends
angle position as measured by the sensor is at the “head” of to bias to one side of the window, depending on the direction
the hysteresis window. As long as the sensor (electrical) angle of rotation as the angular velocity approaches zero (i.e., toward
advances in the same direction of rotation, the output angle is the current “head”), rather than to the average position of the
the sensor angle, minimizing latency. If the sensor angle reverses jitter.
Electrical Angle
1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1
Rota�on Hysteresis 2.7
Rota�on Hysteresis 2.8
Hysteresis 2.9
Hysteresis 2.9
Hysteresis 2.9
Hysteresis 2.9
OUTPUT ANGLE
Hysteresis 2.9
Hysteresis 3.0
TIME
Hysteresis 3.0
Hysteresis 3.0
Rota�on Hysteresis 3.0
Rota�on Hysteresis 3.0
Rota�on Hysteresis 2.5
Rota�on Hysteresis 2.4
Angle Jump
Rota�on Hysteresis 2.3
Rota�on Hysteresis 2.3
Rota�on Hysteresis 2.3
NOTE: The rotation direction resets to 0, or increasing angle direction. At power-up or after LBIST, the hysteresis window is always behind the initial angle posi-
tion; so, if hysteresis is enabled, a decreasing angle direction of rotation does not register until the hysteresis window has passed.
17
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
270
Certain automotive angle-sensing applications involve the mag-
Angle [deg]
netic target rotating multiple times. Thus, tracking the turns of 180
Turns_delta value
6144
• EPS motor position 4096
This implementation can also be used to measure exact angle 2048
in cases where the rotation is geared-up such that a slight angle
0 time
rotation of the device of interest results in multiple rotations of
a target magnet that the sensor is measuring. For this reason, 16
45 degree count
Turns_count value
the A33003 includes a circuit that counts the rotational turns of 12
180 degree count
3072
angle with TURNS_COUNT zeroed) can be controlled using the
2048
EEPROM field TURNS_INIT, as detailed in Figure 14.
1024
0 time
-1024
18
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Turns Counting Behavior on Power-Up register (address 0x2C) is simply the upper bits from the
TURNS_DELTA value. When configured in 180° turns mode
Turns tracking, as measured by the IC, is derived from the (i.e., T45 = 0), the upper 10 bits are used; if in 45° mode (i.e.,
TURNS_DELTA register. This is a 21-bit register that tracks T45 = 1), the upper 12 bits are used to indicate the turns. The
absolute angle across multiple magnetic rotations by tracking A33003 is capable of tracking up to –512/+511 turns in 180°
change in angle from a reference position. The actual TURNS mode and –2048/+2047 in 45° mode.
TURNS_DELTA register
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
TURNS_DELTA register
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
11 10 9 8 7 6 5 4 3 2 1 0
TURNS register with T45 = 1
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
19
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Setting the Turns Count Value B. Write the lower 16 bits into the EWDL register and the
upper 5 bits into the EWDH register, with leading zeroes
There are two ways to modify the value of the turns counter. to make the 16-bit value to write. This results in writing
• Using the turns counter reset function 0x0001 to EWDH (0x04:0x05) and 0xD00F to EWDL
(0x06:0x07).
• Writing the TURNS_DELTA value to register EWD and
loading it into TURNS_DELTA 3. Write the value 0x03 to the SPECIAL field, and write 0x46
to the INITIATE_SPECIAL field.
INVOKING A TURNS COUNTER RESET 4. The sensor behavior to process the setting depends on the set-
Resetting the turns counter is a command invoked using the ting of the TURNS_INIT EEPROM field:
SPECIAL field of the CTRL register. A. When TURNS_INIT = 002 or 012, the value is copied to
TURNS_DELTA, and subsequent angle changes accu-
CHANGING OR RESTORING TURNS_DELTA VALUE mulate on top of this value. Because small offset changes/
It is possible to load a desired value into the turns counter regis- noise errors accumulate every time such a write is
ter. This may be useful if a certain externally stored value should performed, this method is not recommended for scenarios
be set again following a power loss. The turns counter register where the saved value must be restored.
itself cannot be written directly. Instead, the writing action is an B. When TURNS_INIT = 102 or 112, the value is compared
indirect one using the following steps: to the currently sensed angle. The TURNS_DELTA field
1. Before writing, ensure the system is stable, as indicated by “snaps” to the closest value matching the sensed angle.
the STA.AOK bit field. Errors in position of <180° are removed this way. This
method is recommended if a saved turns count value must
2. Write the desired 21-bit value of TURNS_DELTA into the be restored, but the measured angle may have changed
EWDH and EWDL serial registers in little-endian format. slightly in the meantime.
Example:
A. To set the TURNS_DELTA to value 10441.32° (29 rota-
tions and 1.32° current angle), write (10441.32 / 360) ×
4096 = 118799 = 0x01D00F.
20
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
SWITCHING BETWEEN THE DIFFERENT Figure 16: SPI Interface Programming Setup
OUTPUT PROTOCOLS
SPI INTERFACE TIMING
The A33003 supports four output protocols (SPI, Manchester,
SENT, PWM), all of which overlap with the same pin. Below is The SPI interface operates in pure peripheral mode, with the con-
the hierarchy of precedence for control of the MISO pin. troller controlling the SCLK, MOSI, and CS lines. The control-
ler can maximize data throughput, up to fSCLK(max) of 10 MHz.
• SPI, when set with SPO bit within the serial register. The timing for read and write cycles is shown in Figure 17 and Fig-
• Manchester communication (when the auxiliary interrupt pulse ure 18.
is sent). tCS_IDLE
When the SPO bit is set, the SPI interface immediately overrides MOSIx R/W
The primary serial interface registers are used for direct writes SCLKx
tDAV
and reads by the host controller for frequently required data. All
forms of communication operate through these registers, whether MISOx DO-15 DO-14 DO-x
it be via SPI or Manchester. These registers also provide a data Register Contents
and address location for accessing extended memory locations
under control of the onboard processor. Figure 18: A33003 SPI Interface Timings Output
21
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
SPI MESSAGE FRAME SIZE typically performed in the case of long interface delays caused by
The SPI interface requires either 16-, 17-, or 20-bit packet large line capacitances or very long cables. Due to the sampling
lengths. The extended 20-bit SPI packet allows 4-bit CRC to on the falling edge, an additional 17th clock is required for the
accompany every data packet. The 17-bit packet is only allowed 16 bits of data.
when the EEPROM/shadow bit S17 = 1. If more or less clock pulses than expected are detected by the sen-
The purpose of the 17-bit SPI option is to allow a delayed reading sor during a SPI transaction, the interface warning, WARN.IER,
of the MISO line on the host side. Some hosts allow data to be becomes set. This occurs for anything other than 16 or 20 when
sampled from the peripheral on the falling edge of SCLK. This is S17 = 0, or anything other than 17 when S17 = 1.
CSx
SCLKx
MOSIx R/W A5 A4 A3 A2 A1 A0 DI-7 DI-6 DI-5 DI-4 DI-3 DI-2 DI-1 DI-0
MISOx DO-15 DO-14 DO-13 DO-12 DO-11 DO-10 DO-9 DO-8 DO-7 DO-6 DO-5 DO-4 DO-3 DO-2 DO-1 DO-0
CSx
SCLKx
MOSIx R/W A5 A4 A3 A2 A1 A0 DI-7 DI-6 DI-5 DI-4 DI-3 DI-2 DI-1 DI-0 ICRC-3 ICRC-2 ICRC-1 ICRC-0
MISOx DO-15 DO-14 DO-13 DO-12 DO-11 DO-10 DO-9 DO-8 DO-7 DO-6 DO-5 DO-4 DO-3 DO-2 DO-1 DO-0 OCRC-3 OCRC-2 OCRC-1 OCRC-0
22
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
WRITE CYCLE OVERVIEW The simultaneous MISO signal output represents the contents
of the corresponding die SPI read packet, including 16 data bits
Write cycles consist of a 1-bit low, a 1-bit R/W asserted high, 6
and 4 optional CRC bits—automatically included if a 17th SCLK
address bits (corresponding to the primary serial register), 8 data
edge is detected. The data bits correspond to the register con-
bits, and 4 optional CRC bits. To write a full 16-bit serial register, tents selected during the previous read command. If the previous
two write commands are required (even and odd byte addresses). command was a write command, the device, by default, outputs
MOSI bits are clocked in on the rising edge of the controller- the angle register (0x20). If no previous command was sent, i.e.,
generated SCLK signal. The complete SPI packet is latched on the first SPI packet after POR, the data sent by the device is
the rising edge of the controller-generated (CS) signal. indeterminate.
CSx Input
latched
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
SCLKx
MOSIx R/W A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0
MISOx DO-15 DO-14 DO-13 DO-12 DO-11 DO-10 DO-9 DO-8 DO-7 DO-6 DO-5 DO-4 DO-3 DO-2 DO-1 DO-0
23
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
READ CYCLE OVERVIEW ing edge of the controller-generated (CS) signal. The MISO bits
are the contents of the register selected during the first stage, read
Read cycles have two stages: a read command to select a serial
16 bits at a time. The MISO bits transmit on the falling edge of
register address, followed by another read command to transmit
the SCLK signal, such that the controller can sample them on the
the data from the selected register. Both commands consist of a
SCLK rising edges.
1-bit low, a 1-bit R/W asserted low, 6 address bits identifying the
target register, and 8 data bits (all zeroes because no data is being Because a SPI read can transmit 16 data bits at one time and the
written). primary serial registers are built from one even and one odd byte,
the entire 16-bit contents of one serial register may be transmit-
In the first stage, as with the write command, read command ted with one SPI frame. This is accomplished by providing an
MOSI bits are clocked-in on the rising edge of the controller- even serial address value. If an odd value address is sent, only the
generated SCLK signal and data-latched on the rising edge of the contents of the single byte are returned, with the 8 MSBs within
(CS) signal. During the first read stage, the simultaneous MISO the SPI packet set to zero.
signal output is the content of the SPI read data from the previous
Example: To read all 16 bits of the error register (0x24:0x25),
read command.
send a SPI read request with the address bits set to 0x24. If only
In the second stage, the read command continues on the next fall- the 8 LSBs are desired, use the address 0x25.
Input
CSx
latched
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
SCLKx
MOSIx R/W A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0
MISOx DO-15 DO-14 DO-13 DO-12 DO-11 DO-10 DO-9 DO-8 DO-7 DO-6 DO-5 DO-4 DO-3 DO-2 DO-1 DO-0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
SCLKx
MOSIx R/W A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0
MISOx DO-15 DO-14 DO-13 DO-12 DO-11 DO-10 DO-9 DO-8 DO-7 DO-6 DO-5 DO-4 DO-3 DO-2 DO-1 DO-0
24
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
25
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
26
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Manchester
Controller Output HIGH-Z Aux. Interrupt Pulse Low HIGH-Z Trigger (TSENT) Manchester
Access Code Controller Output HIGH-Z Aux. Interrupt Pulse Low HIGH-Z
HIGH-Z (SENT) Access Code
Manchester
Line Voltage LOW (TSENT) Manchester
Access Code Line Voltage
HIGH (SENT) Access Code
tHOLD tGATE
tGATE + tRISE tHOLD tGATE
tGATE + tRISE
t msgRX
Figure 27: Interrupt Waveform for
t msgRX
Figure 26: Auxiliary Interrupt Pulse Waveform SENT and TSENT Output
OPERATING CHARACTERISTICS: Valid over the full operating voltage and ambient temperature ranges, unless otherwise noted
Characteristics Symbol Test Conditions Min. Typ. Max. Unit
Access Code Timeout tmsgRX – – 300 µs
SSENT—Short F_AUX 50 – 83 ticks
SSENT—Long F_AUX 196 – 297 ticks
ASENT F_AUX 50 – 80 ticks
Interrupt Pulse Hold Time tHOLD SENT Aux. interrupt pulse 30 – – ticks
TSENT Aux. interrupt pulse 30 – – ticks
2 × PWM
PWM Aux. interrupt pulse – – µs
period [1]
Deglitch Gate Time tGATE 1.0 – – µs
[1] The minimum hold time for the auxiliary interrupt, when the output is set for PWM, is double the PWM period. If the PWM frequency increases as a result of a diagnostic
condition, the hold time is double the new PWM period at the diagnosis frequency.
27
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Manchester Message Structure When the A33003 is operating in I2C Mode (ISEL pin set to a
logic low), the die ID value is determined by the state of the SA0
The general format of a command message frame is shown in and SA1 pins.
Figure 28. Note that, in the Manchester coding used, a bit value
of 1 is indicated by a falling edge within the bit boundary, and a Table 8: Pin Values
bit value of 0 is indicated by a rising edge within the bit bound- SA1 SA0 ID Value
ary. 0 0 ID0
0 1 ID1
1 0 ID2
1 1 ID3
Using the 4 bits of the chip select field, die can be selected
via their ID value, allowing up to four die to be individually
addressed and providing for different group addressing schemes.
If the chip select field is composed of all zeroes, or if the A33003
is operating in SPI mode (ISEL pin set to a logic high), no ID
comparison is made, allowing all A33003 devices to be addressed
at once.
Figure 28: General Format for Serial Interface
Commands Example: If the chip select field is 1010, all die with ID3 or ID1
are selected.
A brief description of each bit is provided in Table 7.
Note: If sharing a SENT line with multiple chips/dies, reading
Table 7: Manchester Command General Format must be performed one die at a time.
Parameter
Bits Values Description Table 9: Chip Select
Name
Used to identify the beginning of Chip Select
2 Synchronization 00
a serial interface command
ID3 ID2 ID1 ID0
0 [As required] Write operation
1 Read/Write
1 [As required] Read operation
Used to select a set of target
4 Chip Select 0/1
chips/die, based on ID value.
6 Address 0/1 [Read/Write] Serial address
Requested serial register
16 Data 0/1
contents (write operation only)
3 CRC 0/1 Incorrect value indicates errors
28
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
MANCHESTER AUXILIARY COMMAND Once the Manchester communication mode is exited, the
FOR SSENT AND ASENT OUTPUT MODE output pin returns to outputting angle data (provided no flag is
To initialize communication using the Manchester auxiliary com- asserted). This output data is taken directly from the transmis-
mand when the A33003 is configured with SSENT or ASENT sion in progress. The recommendation when exiting Manchester
output, the auxiliary function (F_AUX) pulse is applied as the communication is to disregard the first angle reading and to wait
frame request pulse. The auxiliary function pulse must have a for the start of the next PWM duty cycle or SENT packet, as
minimum width of tHOLD. After the pulse is released, the output applicable.
line is required to go HIGH-Z for tGATE plus the rise time. The
TRANSACTION TYPES
controller must then pull the output line low for tGATE before
sending the Manchester access code. If the first rising edge of the The A33003 never initiates communication. Four transactions
access code is not recognized before tmsgRX, a timeout occurs, the are recognized: write access, write to EEPROM, write to vola-
Manchester initialization aborts, and the output returns to normal tile, and read. Only the read transaction prompts the A33003 to
functionality. respond with data. When responding to a read command, the
A33003 does not check for line contention; it is the responsibility
Device Output
HIGH-Z
HIGH-Z of the controller to release the line in time and be ready to read
Wai�ng for addressing pulse
the data sent by the A33003.
Controller Output HIGH-Z F_AUX Pulse Low HIGH-Z
Manchester After a read command is received, there is a delay time between
Access Code
when the last bit of the command is sent to the device and when
Manchester
the device begins to respond on the line. This delay is divided
Line Voltage
Access Code into two times.
tHOLD tGATE • The first (td) is the delay between the last bit of the read
tGATE + tRISE command and when the device begins to pull the line low in
tmsgRX
preparation to send data.
Figure 29: Interrupt waveform for • The second (tb) is the delay between the time when the device
SSENT and ASENT output pulls the line low to when it begins outputting the data. While
the output is fully readable as long as the controller releases
ACCESS CODES control before td + tb, release of the line is recommended
before td.
Once the device is set up to recognize Manchester communica-
tion, there are two special Manchester codes used to activate or
LOW
LOW
29
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
READING DATA USING MANCHESTER ENCODING The following command messages can be exchanged between the
A read command with the desired register number is sent from device and the external controller:
the controller to the A33003. The device responds with a read • Manchester access code
response frame using the Manchester protocol. • Manchester exit code
In addition to the contents of the requested memory location, a • Read
return status field is included with every read response. This field • Read response
provides the ID used to communicate with the part and any errors • Write
that may have occurred during the transaction. These bits are: For EEPROM address information, refer to the EEPROM Refer-
• ID: ID (SA1, SA0) unless BC = 1 (ID is 00). ence section. For serial address locations, refer to the Primary
Serial Interface Registers Reference section.
• BC: Broadcast; ID field was zero.
• AE: Abort error; edge detection failure after sync detect. ERROR CHECKING
• OR: Overrun error; a new Manchester command has been The serial Manchester interface uses a cyclic redundancy check
received before the previous request could be completed. (CRC) for data bit error checking (synchronization bits are
ignored during the check).
• CS: Checksum error; a prior command had a checksum error.
Table 10: Return Status Bits The CRC algorithm is based on the polynomial:
Return Status Bits (6 bits) g(x) = x3 + x + 1,
5 4 3 2 1 0 and the calculation is represented graphically in Figure 32.
ID BC AE OR CS
The trailing 3 bits of a message frame comprise the CRC token.
The CRC is initialized at 111.
Synchronize Return Status Data (16 Bits) CRC C0 C1 C2 C3
Input Data
0 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 ... 0/1 0/1 0/1 0/1 0/1
MSB
Figure 31: Manchester Read Response Figure 32: Manchester CRC Calculation
30
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Access Code
Synchronize Target ID (16 bits) CRC
Pulse Sequence
0 0 0 0/1 0/1 0/1 0/1 1 1 1 1 1 1 0/1 0/1 0/1 0/1 . . . 0/1 0/1 0/1 0/1 0/1
MSB
Access Codes:
Options Manchester access code = 0x62D2
Selects Manchester output on the PWM pin.
The Manchester access code operates as a broadcast pulse, meaning the target ID field is inconsequential. For
Examples example, if two A33003s configured with ID0 and ID2 respectively are sharing a common SENT line, a Manchester
access code with a target ID value of 0x1 results in both sensors entering Manchester serial communication mode.
31
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Read/Write
Serial Register
Synchronize Target ID Address CRC
Pulse Sequence
0 0 1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
MSB
Options None
Examples
Related Commands
Read/Write
Serial Register Data
Synchronize Target ID Address (16 bits) CRC
Pulse Sequence
0 0 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 . . . 0/1 0/1 0/1 0/1
MSB MSB
If the address is even, the 16 bits of the data field are written to the addressed byte and the addressed byte + 1.
Options
If the address is odd, only 8 bits are written (LSB of 16-bit data field).
Examples
32
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
33
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
34
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
35
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
0x4B 0x1F
0x4C 0x80
NOTE: It is possible to pipeline transactions in this example, i.e., to send a new command while reading return data from the old
command. If pipelined, the example transaction would be performed in eight SPI frames instead of the five shown.
36
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
37
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
0x43 0x1F
2. Write 0x00A45678 to EWD (0x00 to EWD, 0xA4 to EWD+1, 0x56 to EWD+2, and 0x78 to EWD+3).
0x48 0x80
In the example, register 0x08 is read, so that the second output byte is from register 0x09, and a wait occurs for bit 0 to become 1,
which happens in the last read.
0x08 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x08 0x00 0x00 0x00
0x00 0x00 0x01 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x01
If an access violation occurs (address not unlocked), the transaction terminates and the corresponding RDN or WDN bit becomes
set, and the XEE warning bit asserts. The XEE bit in the ERR register also becomes set if the EEPROM write aborts.
38
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
After writing to the EEPROM, verify that the write was success- In the figure below, VNOM(H) represents the nominal voltage
ful by performing an EEPROM margin check. programmed into EEPROM cells containing a one, and VNOM(L)
represents the nominal voltage programmed into EEPROM cells
EEPROM Margin Check containing a zero. The red and blue lines represent the actual
Due to nonidealities in transistors, current slowly leaks into or voltage levels in the programmed cells for “1” and “0” values,
out of EEPROM cells and can, over time, cause small changes respectively. As can be observed, at time 0 when the margin test
in the stored voltage level. Variances in voltage levels of the is run, both high and low levels still appear to be the correct value
charge pump can result in a variety of stored EEPROM cell when the threshold is moved to the margin testing levels.
voltages when programming. If this value is marginally close to EEP voltage
the threshold, the small drift over lifetime can cause this value to
move across the threshold. This results in a corrupted EEPROM VNOM(H)
value. Because this drift happens slowly over time, if there is an
issue, it may not become apparent for years. For this reason, it Margin Test [H]
39
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Margining is shown below as a list of high-level steps. For details Shadow Memory Read and Write Transactions
on performing individual steps, see the associated sections.
Shadow memory read and write transactions are identical to
1. Clear the ERR and WARN registers. those for EEPROM. Instead of addressing to the EEPROM
2. Write new data to EEPROM as desired. extended address, the shadow extended addresses must be
3. Check the following flags for communication errors: ESE, addressed, which are located at an offset of 0x40 above the
EUE, XEE, IER, CRC, and BSY. EEPROM. For all addresses, refer to the EEPROM Table section.
4. Set CTRL.SPECIAL to the value 0001.
5. Check the following flags for communication errors: ESE,
EUE, XEE, IER, CRC, and BSY.
6. Read all EEPROM registers changed in step 1 and verify the
contents.
7. Set CTRL.SPECIAL to the binary value 0010.
8. Check the following flags for communication errors: ESE,
EUE, XEE, IER, CRC, and BSY.
9. Read all EEPROM registers changed in step 1 and verify the
contents.
10. If any value read in steps 3 or 5 is not the same as was set in
step 1, repeat steps 1through 6 for erroneous registers.
11. Set CTRL.special to the value 0000, or power cycle the part.
40
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
41
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Location 0x04:0x05 (EWDH) NOTE: After LBIST or a reload of EEPROM values, the value of
READ_ADR changes.
EWDH.WRITE_DATA_HI
Location 0x0C:0x0D (ERCS)
The field WRITE_DATA_HI is a bit field located at address
0x04[15:0]. This bit field is part of the location EWDH. ERCS.RDN
Upper 16 bits of data for an extended write operation. The field RDN is a bit located at address 0x0C[0]. This bit is part
of the location ERCS.
Location 0x06:0x07 (EWDL)
Read is complete when value is 1, clears when EXR is set to 1.
EWDL.WRITE_DATA_LO
ERCS.RIP
The field WRITE_DATA_LO is a bit field located at address
0x06[15:0]. This bit field is part of the location EWDL. The field RIP is a bit located at address 0x0C[8]. This bit is part
of the location ERCS.
Lower 16 bits of data for an extended write operation.
Read in progress when value is 1.
Location 0x08:0x09 (EWCS)
ERCS.EXR
EWCS.WDN
The field EXR is a bit located at address 0x0C[15]. This bit is
The field WDN is a bit located at address 0x08[0]. This bit is part part of the location ERCS.
of the location EWCS.
Initiate extended read by writing with the value 1. Sets RIP and
Write is complete when wdn = 1; WDN clears when EXW is set clears RDN. Write-only, always reads back the value 0.
to 1.
Location 0x0E:0x0F (ERDH)
EWCS.WIP
ERDH.READ_DATA_HI
The field WIP is a bit located at address 0x08[8]. This bit is part
of the location EWCS. The field READ_DATA_HI is a bit field located at address
0x0E[15:0]. This bit field is part of the location ERDH.
Write in progress when 1.
Upper 16 bits of data from extended read operation, valid when
EWCS.EXW RDN is set to 1.
The field EXW is a bit located at address 0x08[15]. This bit is
part of the location EWCS.
Initiate extended write by writing with 1. Sets WIP and clears
WDN. Write-only, always reads back 0.
42
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
For certain actions from the SPECIAL bit field, a code must be 0000 No action.
sent to INITIATE_SPECIAL. The following actions may be
0001 Enable EEPROM low-voltage margin. IC
triggered by writing this field (the code must be written after the
must be unlocked.
CTRL.SPECIAL field is written):
0x46 Initiates turns counter reset. 0010 Enable EEPROM high-voltage margin. IC
0x5A Initiates hard reset. must be unlocked.
0xA5 Initiates EEPROM reload. 0011 Turns counter load from EWD. Starts after
0xB9 Initiates CVH self-test or functional BIST. writing 0x46 to INITIATE_SPECIAL.
Read always returns 0x00.
0100 Turns counter reset. Starts after writing 0x46
to INITIATE_SPECIAL.
CTRL.SPO
0101 Reload EEPROM. Requires unlock
The SPO bit is bit 11 of the CTRL row. It is the SPI override bit.
of part. Starts after writing 0xA5 to
If set to 1, MISO is forced to be SPI output. This overrides PWM INITIATE_SPECIAL.
and SENT. 0111 Hard reset. Requires unlock of part. Starts
after writing 0x5A to INITIATE_SPECIAL.
CTRL.CLE
1001 Run CVH self-test. Starts after writing 0xB9
The field CLE is a bit located at address 0x1E[8]. This bit is part
to INITIATE_SPECIAL.
of the location CTRL.
1010 Run logic BIST (on PLL logic). Starts after
Clears error register ERR when written with the value 1. Clears
writing 0xB9 to INITIATE_SPECIAL.
bits that were previously read from ERR. Bits that have not been
read are not cleared, so ERR should be read first. Write-only, 1011 Run both the CVH self-test and Logic BIST
always returns 0. in parallel. Starts after writing 0xB9 to the
CTRL.INITIATE_SPECIAL field.
CTRL.CLW
1101 Resample PWM errors (errors must have
The field CLW is a bit located at address 0x1E[9]. This bit is part cleared for this to have an effect).
of the location CTRL.
1110 Clear fatal PWM errors (EUE, WDE, STE).
Clears warning (WARN) register when set to 1. Bits that have not
been read are not cleared, so WARN should be read first. Write- 1111 Clear fatal and resample all PWM errors.
only, always returns 0.
43
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
44
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
This is the error register. All errors are latched, meaning they The field EUE is a bit located at address 0x24[5]. This bit is part
remain high after they have occurred just once. Errors need to of the location ERR.
be read, then cleared to remove them. It is important to clear
EEPROM uncorrectable error. A multi-bit EEPROM read
errors during operation, so that subsequent errors become visible.
This is especially important for the RST error flag (reset), which occurred.
is always enabled after power-up. Failure to remove an error flag
ERR.ZIE
prevents discovery of any later unexpected reset.
The field ZIE is a bit located at address 0x24[6]. This bit is part
ERR.RST of the location ERR.
The field RST is a bit located at address 0x24[0]. This bit is part
Zero-crossing integrity error. A zero-crossing did not occur within
of the location ERR.
the maximum time expected, likely indicating a missing magnet
Reset condition. Sets on power-on reset or on hard reset. Does or extreme rotation speed.
not set on LBIST.
ERR.PLK
ERR.MSL
The field PLK is a bit located at address 0x24[7]. This bit is part
The field MSL is a bit located at address 0x24[1]. This bit is part
of the location ERR.
of the location ERR.
Magnetic sense low fault. Magnetic sense was below the low PLL lost lock.
limit (MagSenseLow).
ERR.AVG
ERR.UVA The field AVG is a bit located at address 0x24[9]. This bit is part
The field UVA is a bit located at address 0x24[2]. This bit is part of the location ERR.
of the location ERR.
Angle averaging error. The ORATE is too high for the velocity
Undervoltage detector tripped. Becomes set again after clearing if and the averaging is corrupted.
the undervoltage situation persists. Based on analog regulator.
ERR.STF
ERR.UVD
The field STF is a bit located at address 0x24[10]. This bit is part
The field UVD is a bit located at address 0x24[3]. This bit is part
of the location ERR.
of the location ERR.
Self-test failure.
Undervoltage detector tripped. Becomes set again after clearing if
the undervoltage situation persists. Based on digital regulator.
ERR.WAR
ERR.WDE The field WAR is a bit located at address 0x24[11]. This bit is
The field WDE is a bit located at address 0x24[4]. This bit is part part of the location ERR.
of the location ERR. Warning. Some unmasked error bits are set in the WARN register.
Oscillator watchdog tripped. If WAR in mask register MSK is set, ERR.WAR is forced to 0.
45
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Turns counter warning (over ±135 degrees delta). Location 0x28:0x29 (TSEN)
WARN.SAT TSEN.TEMPERATURE
The field SAT is a bit located at address 0x26[4]. This bit is part The field TEMPERATURE is a bit field located at address
of the location WARN. 0x28[11:0]. This bit field is part of the location TSEN.
Aggregate saturation flag. Shows that any internal signals have Current junction temperature from internal temperature sensor
saturated, likely to have been cause by extremely strong or weak relative to room temperature (signed value). Value is in 1/8 of a
fields. degree. Temperature °C ≈ (TSEN.TEMPERATURE / 8) + 25.
46
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
47
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
48
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
KEY.KEYCODE
The field KEYCODE is a bit field located at address 0x3C[15:8].
This bit field is part of the location KEY.
Customer access keycode is entered here; value is
0x27_81_1F_77.
Always reads back 0.
49
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
EEPROM TABLE
50
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
EEPROM REFERENCE
CU2.CUSTOMER 2 PWE.UV
The field CUSTOMER 2 is a bit field located at address The field UV is a bit located at address 0x18[6]. This bit is part
0x17 [23:0]. This bit field is part of the location CU2. of the location PWE.
PWM undervoltage fault enable (analog or digital). Duty cycle
Location 0x18 (PWE) 38.75% at half the selected PWM frequency.
PWE.WDE
PWE.MSL
The field WDE is a bit located at address 0x18[0]. This bit is part
The field MSL is a bit located at address 0x18[7]. This bit is part
of the location PWE. of the location PWE.
PWM watchdog error enable. Duty cycle output 5% at half the PWM magnetic sense low fault enable. Duty cycle 44.375% at
selected PWM frequency. half the selected PWM frequency.
PWE.EUE PWE.ESE
The field EUE is a bit located at address 0x18[1]. This bit is part The field ESE is a bit located at address 0x18[8]. This bit is part
of the location PWE. of the location PWE.
PWM EEPROM uncorrectable error enable. Duty cycle 10.625% PWM EEPROM soft error enable. Duty cycle 50% at half the
at half the selected PWM frequency. selected PWM frequency.
PWE.STF PWE.SAT
The field STF is a bit located at address 0x18[2]. This bit is part The field SAT is a bit located at address 0x18[9]. This bit is part
of the location PWE. of the location PWE.
PWM self-test failure error enable. Duty cycle 16.25% at half the PWM saturation warning enable. Duty cycle 55.625% at half the
selected PWM frequency. selected PWM frequency.
PWE.PLK PWE.MSH
The field PLK is a bit located at address 0x18[3]. This bit is part The field MSH is a bit located at address 0x18[10]. This bit is
of the location PWE. part of the location PWE.
PWM PLL lost lock error enable. Duty cycle 21.875% at half the PWM magnetic sense high fault enable. Duty cycle 61.25% at
selected PWM frequency. half the selected PWM frequency.
PWE.ZIE PWE.TR
The field ZIE is a bit located at address 0x18[4]. This bit is part The field TR is a bit located at address 0x18[11]. This bit is part
of the location PWE. of the location PWE.
PWM zero-crossing integrity error enable. Duty cycle 27.5% at PWM temperature sensor out of range error enable. Duty cycle
half the selected PWM frequency. 66.875% at half the selected PWM frequency.
51
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
PWE.TOV SEN.SCN_MODE
The field TOV is a bit located at address 0x18[12]. This bit is The field SCN_MODE is a bit field located at address 0x19 [6:4].
part of the location PWE. This bit field is part of the location SEN.
PWM turns counter overflow error enable. Duty cycle 72.5% at SCN contents by mode:
half the selected PWM frequency.
0 {0, 0, SOFT_FLAG, HARD_FLAG}
PWE.ZCD_TURNS_OFFSET 1 {SERIAL MSG SYNC, SERIAL MSG DATA,
The field ZCD_TURNS_OFFSET is a bit field located at SOFT_FLAG, HARD_FLAG}
address 0x18[23:13]. This bit field is part of the location PWE. 2 {ID[1], ID[0], SOFT_FLAG, HARD_FLAG}
Offset to ZCD angle for purposes of aligning for turns counting. 3 {0, 0, 0, SOFT_FLAG | HARD_FLAG}
This is 11-bit angle resolution and is added to the ZCD angle for 4 {0, 0, ID[1], ID[0]}
turns purposes. If turns is configured to use the PLL (TCP = 1), it 5 {SERIAL MSG SYNC, SERIAL MSG DATA,
is important to use this to align the ZCD close to the PLL angle. ID[1], ID[0]}
Location 0x19 (SEN) 6 {SOFT_FLAG, HARD_FLAG, ID[1], ID[0]}
7 {SERIAL MSG SYNC, SERIAL MSG DATA, 0,
For further details, see Appendix A: SENT Output Description.
SOFT_FLAG | HARD_FLAG}
SEN.FA SEN.CIS
The field FA is a bit located at address 0x19 [0]. This bit field is The field CIS is a bit located at address 0x19 [7]. This bit field is
part of the location SEN. part of the location SEN.
F_SAMPLE is an addressing pulse. If 0, it is a broadcast pulse. If 1, CRC includes the status and communication nibble.
SEN.XA SEN.DATA_MODE
The field XA is a bit field located at address 0x19 [1]. This bit The field DATA_MODE is a bit field located at address 0x19
field is part of the location SEN. [11:8]. This bit field is part of the location SEN.
Allows the F_AUX pulse to be treated as an addressing pulse. If SENT data nibble content mode:
0, F_AUX is a broadcast pulse.
0 Angle only (3 nibbles)
SEN.ZS 1 Angle (3) + rotating status (2)
The field ZS is a bit located at address 0x19 [2]. This bit field is 2 Angle (3) + rotating data (3)
part of the location SEN. 3 Unused
Sample-and-hold is to be performed in slot 0. 4 Angle (3) + rotating status (2) + alive (1)
5 Angle (3) + alive (2) + ~first nibble (1) (secure sensor
SEN.NS format)
The field NS is a bit located at address 0x19 [3]. This bit field is 6 Angle16 (4)
part of the location SEN. 7 Angle16 (4) + rotating status (1) + alive (1)
No sample. If 1, the F_SAMPLE pulse does not perform a 8 Angle only (3 nibbles) + ID (1)
sample-and-hold. 9 Angle (3) + rotating status (2) + ID (1)
10 Angle (3) + rotating data (2) + ID (1)
11 Unused
12 Angle (3) + rotating status (1) + alive (1) + ID (1)
13 Angle (3) + alive(1) + ~first nibble (1) + ID (1)
14 Angle16 (4) + ID (1)
15 Angle16 (4) + alive (1) + ID (1)
52
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
NOTE: If both PWM and SENT are disabled, Manchester is Analog undervoltage fault mask. Set to 1 to hide the error bit.
active (unless it is disabled or CTRL.SPO is 1).
MSK.UVDM
SEN.SM The field UVDM is a bit located at address 0x1A[3]. This bit is
The field SM is a bit located at address 0x19 [15]. This bit field is part of the location MSK.
part of the location SEN. Digital undervoltage fault mask. Set to 1 to hide the error bit.
Slot marking. SSENT only. If 1, SSENT outputs a bus high delay
after an addressing pulse based on slot ID. MSK.WDEM
The field WDEM is a bit located at address 0x1A[4]. This bit is
SEN.SENT_TICK part of the location MSK.
The field SENT_TICK is a bit field located at address 0x19 Watchdog error mask. Set to 1 to hide the error bit.
[22:16]. This bit field is part of the location SEN.
SENT tick time, N × period of 16 MHz clock (forced to mini- MSK.EUEM
mum of 2 clocks internally). The field EUEM is a bit located at address 0x1A[5]. This bit is
part of the location MSK.
SEN.SS
EEPROM uncorrectable error mask. Set to 1 to hide the error bit.
The field SS is a bit located at address 0x19 [23]. This bit field is
part of the location SEN. MSK.ZIEM
Slot sync. SSENT only. If 1, then SSENT synchronizes to the bus The field ZIEM is a bit located at address 0x1A[6]. This bit is
after a reset based on the slot marking of the other sensor. Only part of the location MSK.
valid if SM = 1.
Zero-crossing integrity error mask. Set to 1 to hide the error bit.
SEN.MAXID
MSK.PLKM
The field MAXID is a bit field located at address 0x19 [25:24].
The field PLKM is a bit located at address 0x1A[7]. This bit is
This bit field is part of the location SEN.
part of the location MSK.
Max sensor ID on bus, for SSENT. Defines highest sensor ID on
PLL lost lock error mask. Set to 1 to hide the error bit.
bus, after which the slot counting wraps back to 0.
53
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
MSK.AVGM EEPROM soft error mask. Set to 1 to hide the error bit.
The field AVGM is a bit located at address 0x1A[9]. This bit is
MSK.TRM
part of the location MSK.
The field TRM is a bit located at address 0x1A[18]. This bit is
Angle averaging fault mask. Set to 1 to hide the error bit. part of the location MSK.
MSK.STFM Temperature sensor out of range error mask. Set to 1 to hide the
error bit.
The field STFM is a bit located at address 0x1A[10]. This bit is
part of the location MSK. MSK.XEEM
Self-test failure error mask. Set to 1 to hide the error bit. The field XEEM is a bit located at address 0x1A[19]. This bit is
part of the location MSK.
MSK.WARM
Execute error mask. Set to 1 to hide the error bit.
The field WARM is a bit located at address 0x1A[11]. This bit is
part of the location MSK. MSK.SEN
If set to 1, the WAR bit in the ERR register does not become set MSK.SEN is located at address 0x1A[21].
when unmasked warnings are present. SENT error mask. Set to 1 to prevent a SENT contention error
from asserting the EF flag within serial space and the soft error
MSK.TOVM flag within the SCN of the SENT frame.
The field TOVM is a bit located at address 0x1A[12]. This is part
of the location MSK. MSK.CRCM
Turns counter overflow error mask. Set to 1 to hide the error bit. The field CRCM is a bit located at address 0x1A[22]. This bit is
part of the location MSK.
MSK.MSHM CRC error mask (SPI). Set to 1 to hide the error bit.
The field MSHM is a bit located at address 0x1A[13]. This bit is
MSK.IERM
part of the location MSK.
The field IERM is a bit located at address 0x1A[23]. This bit is
Magnetic sense high fault mask. Set to 1 to hide the error bit. part of the location MSK.
MSK.BSYM Interface error mask. Set to 1 to hide the error bit.
The field BSYM is a bit located at address 0x1A[14]. This bit is Location 0x1B (PWS)
part of the location MSK.
PWS.SC
Indirect access busy error mask. Set to 1 to hide the error bit. The field SC is a bit located at address 0x1B[0]. This bit is part of
the location PWS.
MSK.TCWM
SPI CRC (incoming) validated if SC = 1, ignored if SC = 0.
The field TCWM is a bit located at address 0x1A[15]. This bit is
part of the location MSK. PWS.S17
Turns counter warning mask. Set to 1 to hide the error bit. The field S17 is a bit located at address 0x1B[1]. This bit is part
of the location PWS.
MSK.SATM SPI ignore 17th clock to allow negative edge host sampling.
The field SATM is a bit located at address 0x1A[16]. This bit is
part of the location MSK. PWS.H2T
The field H2T is a bit located at address 0x1B[2]. This bit is part
Aggregate saturation flag mask. Set to 1 to hide the error bit.
of the location PWS. Turns uses hysteresis if 1.
MSK.ESEM 0 = Use nonhysteresis angle for turns counter
The field ESEM is a bit located at address 0x1A[17]. This bit is 1 = Use hysteresis angle for turns counter
part of the location MSK. This affects special register PTANG (0x3A).
54
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
PWS.DM PWS.PES
The field DM is a bit located at address 0x1B[3]. This bit is part The field PES is a bit located at address 0x1B[12]. This bit is part
of the location PWS. of the location PWS.
Disable Manchester interface. PWM error select (if PEO = 1).
If 1, any Manchester input. 0 = PWM tristated, must reset (or set PEO back to 0 in
shadow) to release the PWM output.
PWS.SPDRV
1 = PWM carrier frequency halved and highest priority error
SENT and PWM pin drive strength. output on PWM as selected duty cycle.
PWS.ZAL PWS.PEO
The field ZAL is a bit located at address 0x1B[9]. This bit is part The field PEO is a bit located at address 0x1B[13]. This bit is
of the location PWS. part of the location PWS.
Zero offset after linearization: PWM error output enable. If 1, PES selects the response to an
0 = Before linearization and rotation enabled error.
1 = After linearization
PWS.PHE
PWS.PO The field PHE is a bit located at address 0x1B[14]. This bit is
POR offline. SSENT only. If 1, SSENT is offline at POR. If 0, part of the location PWS.
SSENT goes online with slot counter 0. PWM hysteresis enable. If 1, use hysteresis on angle going to PWM.
PWS.LS PWS.MEPE
The field LS is a bit located at address 0x1B[10]. This bit is part The field MEPE is a bit located at address 0x1B[15]. This bit is
of the location PWS. part of the location PWS.
Linearization scale: If 1, the Manchester auxiliary interrupt pulse and the F_AUX pulse
0 = ±22.5 degrees are enabled; else, the auxiliary interrupt pulse and the F_AUX
1 = ±45 degrees pulse are ignored, and Manchester communication is only acces-
sible when PWM and SENT are deactivated.
PWS.IS
PWS.PWM_FREQ
Idle sync (SSENT only). If 1, an idle SENT bus > 511 ticks resets
the slot counter to 0. The field PWM_FREQ is a bit field located at address
0x1B[19:16]. This bit field is part of the location PWS.
PWS.ELI PWM frequency select. Together with the PWS.PWM_BAND
The field ELI is a bit located at address 0x1B[11]. This bit is part field, defines the PWM carrier frequency. See the PWM Output
of the location PWS. section for more details.
Enable linearization: PWS.PWM_BAND
0 = Disabled The field PWM_BAND is a bit field located at address
1 = Enabled 0x1B[22:20]. This bit field is part of the location PWS.
PWM frequency band. Together with the PWS.PWM_FREQ
field, defines the PWM carrier frequency. See tthe PWM Output
section for more details.
55
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
PWS.PEN ANG.ORATE
The field PEN is a bit located at address 0x1B[23]. This bit is The field ORATE is a bit field located at address 0x1C[23:20].
part of the location PWS. This bit field is part of the location ANG.
When set to 1, PWM is enabled and overrides any SENT setting. Reduces the output rate by averaging samples. 2ORATE samples
are averaged. ORATE values greater than 12 are reduced to 12
If 0, SENT_MODE field determines state of PWM/SENT pin.
in the logic, meaning that up to 4096 samples = 4 ms can be
PWS.FP_ADJ selected as averaging time.
Function pulse adjust. Long SSENT (SENT_MODE 7) only. Location 0x1D (LPC)
Increases the lower threshold of the F_OUTPUT pulse by the
number of ticks in this field (0 through 3). LPC.TCP
The field TCP is a bit located at address 0x1D[11]. This bit is
Location 0x1C (ANG) part of the location LPC.
ANG.ZERO_OFFSET Turns counter PLL:
The field ZERO_OFFSET is a bit field located at address 0 Turns uses ZCD angle.
0x1C[11:0]. This bit field is part of the location ANG.
1 Turns uses PLL angle, except if PLL lock is lost.
Post-compensation zero offset (or DC adjust) at angle resolution. Ensure the ZCD_TURNS_OFFSET aligns the ZCD
This value is subtracted from the measured angle. PWS.ZAL bit angle near the PLL angle.
determines if ZERO_OFFSET is applied before or after linear-
ization. LPC.TURNS_INIT
ZAL = 0 ZERO_OFFSET precedes linearization. The field TURNS_INIT is a bit field located at address
0x1D[19:18]. This bit field is part of the location LPC.
ZAL = 1 ZERO_OFFSET follows linearization.
Turns initialization at power-up.
ANG.HYSTERESIS
00, 01 Turns counter zeroed at power-up.
The field HYSTERESIS is a bit field located at address
0x1C[17:12]. This bit field is part of the location ANG. 10 Turns counter set to full settings angle (turns register
may be non-zero).
Angle hysteresis threshold, angle resolution × 4 (14 bit). Range is
approximately 0 degrees to 1.384 degrees. 11 Turns counter set to settled angle offset from 180- or
45-degree configuration (MSB 10 or 12 bits zeroed),
ANG.RO turns register starts at zero.
The field RO is a bit located at address 0x1C[18]. This bit is part LPC.T45
of the location ANG.
The field T45 is a bit located at address 0x1D[23]. This bit is part
Rotation direction (pre-linearization). If set to 0, increasing angle of the location LPC.
movement is in the clockwise direction when looking down on
the top of the die. If set to 1, increasing angle movement is in the Turns counter resolution is 45° if set to a 1, and 180° if set to a 0.
counter-clockwise direction.
Location 0x1E (COM)
ANG.RD
COM.MAG_THRES_LO
The field RD is a bit located at address 0x1C[19]. This bit is part
The field MAG_THRES_LO is a bit field located at address
of the location ANG.
0x1E[5:0]. This bit field is part of the location COM.
Rotate die. Rotates final angle by 180 degrees. This is the last
Magnetic field low comparator value. Field value equals low
step in the angle processing algorithm. This is a convenient set-
field error threshold in gauss divided by 16.
ting to adjust one die in a dual-die package for conformance to
the other die.
56
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
COM.MAG_THRES_HI COM.LBE
The field MAG_THRES_HI is a bit field located at address The field LBE is a bit located at address 0x1E[19]. This bit is
0x1E[11:6]. This bit field is part of the location COM. part of the location COM.
Magnetic field high comparator value. Field value equals maxi- Power-up logic BIST enable.
mum field threshold in gauss divided by 32. If set to 0, high
threshold is disabled. COM.LOCK
The field LOCK is a bit field located at address 0x1E[23:20].
COM.DHR This bit field is part of the location COM.
The field DHR is a bit located at address 0x1E[12]. This bit is
Lock options:
part of the location COM.
1100 Lock EEPROM writes.
Disable hard reset. Initiates in serial CTRL register special if 1.
0011 Lock EEPROM writes and shadow register writes.
COM.DST
Location 0x1F (CUS)
The field DST is a bit located at address 0x1E[13]. This bit is
part of the location COM. CUS.CUSTOMER
Disable self-test. Initiates in serial CTRL register special if 1. The field CUSTOMER is a bit field located at address
0x1F[23:0]. This bit field is part of the location CUS. This field
COM.CUD may be written with customer tracking, ID, or any other pertinent
The field CUD is a bit located at address 0x1E[14]. This bit is data.
part of the location COM.
Location 0x20 (LIN00)
If 1, the CUSTOMER word 0x1F uses the DUR and DEL con-
figuration in addition to the CUSTOMER2 word 0x17. LIN00.LINEARIZATION ERROR SEGMENT 0
The field LINEARIZATION ERROR SEGMENT 0 is a bit
COM.DEL
field located at address 0x20[11:0]. This bit field is part of the
The field DEL is a bit located at address 0x1E[16]. This bit is location LIN00.
part of the location COM.
Correction value at segment boundary. Signed, resolution is based
Disable EEPROM lock for CUST2 (EEPROM word 0x17) and, on LS bit. Is subtracted from sensor angle to produce linearized
if CUD = 1, CUST word 0x1F. EEPROM lock does not affect the angle.
ability to write to word 0x17 (and 0x1F if enabled).
LS = 0 Range is ±22.5 degrees.
COM.DUR LS = 1 Range is ±45 degrees.
The field DUR is a bit located at address 0x1E[17]. This bit is
part of the location COM. LIN00.LINEARIZATION ERROR SEGMENT 1
Disable unlock requirement for CUST2 (EEPROM word 0x17) The field LINEARIZATION ERROR SEGMENT 1 is a bit
and, if CUD = 1, CUST word 0x1F. field located at address 0x20[23:12]. This bit field is part of the
location LIN00.
COM.CSE Correction value at segment boundary. Signed, resolution is based
The field CSE is a bit located at address 0x1E[18]. This bit is part on LS bit. Is subtracted from sensor angle to produce linearized
of the location COM. angle.
Enable CVH self-test at power-up. LS = 0 Range is ±22.5 degrees.
LS = 1 Range is ±45 degrees.
NOTE: Linearization segments 2 through 29 have been omitted
from the datasheet for reasons of brevity.
57
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
58
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
The A33003 was developed in accordance to the ASIL design The test is complete following initialization when either:
flow. It incorporates several diagnostics.
• STA.SDN = 1 (special done) or
Alive Counter • STA.LBR = 0 (LBIST not running).
A 32-bit counter increments periodically from zero after a power- A failure is indicated by ERR.STF = 1.
on reset or a hard reset. It is read via AUX.ALV. The alive incre-
ment period is 8.192 ms. CVH Self-Test
The alive counter can overflow. The overflow period of the coun- CVH self-test is a method of verifying the operation of the CVH
ter is [232 × 8.192] ms. This period is approximately 400 days. transducer without applying an external magnetic field. This
Oscillator Watchdogs feature is useful for both manufacturing test and for integration
debug. The CVH self-test is implemented by changing the switch
The watchdogs run constantly when in full-power or “wake” configuration from the normal operating mode into a test configu-
modes. They are disabled during sleep mode and are reset when ration, allowing a test current to drive the CVH in place of the
waking up to ensure there is not a false positive due to a partial
magnetic field. By changing the direction of the test current and
clock count. These watchdogs are intended to detect gross fail-
by changing the elements in the CVH that are driven, the self-test
ures of either oscillator. Logic running on clocks based on each
oscillator effectively counts clock periods produced in the other circuit emulates a changing angle of magnetic field. The mea-
clock domain and compares to expected limits. sured angle is monitored to determine a passing or failing device.
CVH self-test typically takes 52 ms to verify.
Logic Built-In Self-Test (LBIST)
Logic BIST is implemented to verify the integrity of the A33003 Self-test can be run on power-up, by setting the EEPROM field
logic. It can be executed in parallel with the CVH self-test. COM.CSE = 1.
LBIST is effectively a form of auto-driven scan. The logic to be Self-test can also be invoked via the serial control register by
tested is broken into 31 scan chains. The chains are fed in parallel issuing the corresponding SPECIAL command.
by a 31-bit linear feedback shift register (LFSR) to generate pseu-
dorandom data. The output of the scan chains are fed back into a The test is complete when either:
multiple-input shift register (MISR) that accumulates the shifted
• STA.SDN = 1 (special done) or
bits into a 31-bit signature.
• STA.CSTR = 0 (CVH self-test not running).
LBIST takes approximately 30 ms to complete.
Failure is indicated by:
LBIST can be enabled to run on power-up by setting COM.LBE
bit in EEPROM (0x1E bit 19). • ERR.STF = 1 (assuming it was cleared before test was run).
59
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
I/O STRUCTURES
1 kΩ
33 Ω
50 Ω
1 pF
60
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
5.00 ±0.10
8º
D 0º
2.50 ±0.05
14
0.20
0.09
D D1 0.427 E E1
6.40 BSC
4.40 ±0.10
D D1 +0.15
0.60
A D 2.20 ±0.05 –0.10
1.00 REF
1 2
SEATING PLANE
16X C GAUGE PLANE
0.95
0.85 1.10 MAX
0.10 C SEATING
PLANE
0.15
0.30 0.05
0.19
0.65 BSC
XXXXXXX
Date Code
Lot Number
0.45 0.65
14
1
C Standard Branding Reference View
1.70
Lines 1, 2 = 7 characters, right align
Line 3 = 5 characters, right align
61
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
5.00 ±0.10
8º
D 0º
2.50
14
0.20
0.09
0.427 E E2
D1 0.274 E E1
D D2 6.40 BSC
4.40 ±0.10
D D2 D D1
+0.15
2.20 D 0.60
A –0.10
1.00 REF
1 2
SEATING PLANE
16X C GAUGE PLANE
0.95
0.85 1.10 MAX
0.10 C SEATING
PLANE
0.15
0.30 0.05
0.19
0.65 BSC
XXXXXXX
Date Code
Lot Number
0.45 0.65
14
1
C Standard Branding Reference View
1.70
Lines 1, 2 = 7 characters, right align
Line 3 = 5 characters, right align
62
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
(LSB)
2048 (1000 0000 0000)
A-1
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
12 to 27 12 to 27 12 to 27 12 to 27
56 ticks ticks ticks ticks ticks
tSENT
Figure 40: General Format for SENT Message Frame
A-2
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
tSENT
□ Any unmasked errors asserted
b) ID Data: Die ID bits set via SA0 (SCLK) and SA1 (MOSI) pins.
Figure 42: Status and Communication Nibble
within the SENT Message Frame • ID[0]: Value set by the logic level of the SA0 pin.
• ID[1]: Value set by the logic level of the SA1 pin.
The status and communication nibble (SCN) provides diagnos-
c) Serial Data: Two bits, consisting of the SERIALSYNC and
tic information along with other status and environmental data.
SERIALDATA bits. Together they form the “Short Serial
Nibble contents are controlled via the SCN_MODE field within
Message” (per SAE J2716, paragraph 5.2.4.1).
EEPROM. By default, contents of the SCN are not included in
the 4-bit CRC at the end of each SENT frame. The CIS bit within • SERIALSYNC: Indicates the start of a 16-bit serial
EEPROM enables CRC coverage of the SCN contents. It should message.
be noted that this option is not specified in the SAE J2716 SENT • SERIALDATA: Serial data, transmitted one bit at a time,
standard. With the CIS bit set, the CRC is no longer compliant MSB first.
with that outlined in the SENT specification.
Table 20: SCN Bit Contents
The SCN has three different types of bit values that may be pres-
ent, depending on the SCN_MODE setting. These are: SCN_
Bit 3 Bit 2 Bit 1 Bit 0
MODE
a) Soft/Hard Error: Overall condition of the A33003, separated 000 0 0 SOFT HARD
into soft and hard error flags. Detailed error information can 001 SERIALSYNC SERIALDATA SOFT HARD
be obtained via the expanded data nibbles, set via DATA_
010 ID[1] ID[0] SOFT HARD
MODE, or through the slow serial communication.
011 0 0 0 SOFT+HARD
100 0 0 ID[1] ID[0]
101 SERIALSYNC SERIALDATA ID[1] ID[0]
110 SOFT HARD ID[1] ID[0]
111 SERIALSYNC SERIALDATA 0 SOFT+HARD
A-3
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
SERIALSYNC 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
A-4
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
DATA_MODE = 1
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3 = Angle Data
4,5 = Rotating Status Bits Status[0] = 0: Status[7:1] = Upper 7 bits of SENT status flags
CRC = Cyclical Redundancy Check Status[0] = 1: Status [7:1] = Lower 7 bits of SENT status flags
See Table 23 for details of each status flag.
DATA_MODE = 2
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3 = Angle Data
4 = Message ID Rotating Extended Data (Nibbles 5 and 6) follow the serial message format.
5,6 = Rotating Extended Data Message ID (Nibble 4) indicates the ID for each 8-bit packet of the serial message.
CRC = Cyclical Redundancy Check See Table 21 and Table 22.
DATA_MODE = 3
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3 = Angle Data
4,5,6 = Turns Counter
CRC = Cyclical Redundancy Check
DATA_MODE = 4
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3 = Angle Data
4,5 = Rotating Status
6 = Alive Counter Status[0] = 0: Status[7:1] = Upper 7 bits of SENT status flags
CRC = Cyclical Redundancy Check Status[0] = 1: Status [7:1] = Lower 7 bits of SENT status flags
DATA_MODE = 5
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3 = Angle Data
4,5 = Alive Counter
When combined with SCN_MODE = 3, this implements the “Single Secure Sensor” requirement
6 = 1’s Complement of Data Nibble 1
outlined in SAE J2716, Appendix A.
CRC = Cyclical Redundancy Check
DATA_MODE = 6
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3,4 = Angle Data
CRC = Cyclical Redundancy Check
A-5
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
DATA_MODE = 7
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3,4 = Angle Data
5 = Rotating Status
Status rotates through the status register. The alive counter [1:0] can be used to
6 = Alive Counter
identify the quadrant of the status register data.
CRC = Cyclical Redundancy Check
DATA_MODE = 8
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3 = Angle Data
4 = Self-Test and ID
CRC = Cyclical Redundancy Check
DATA_MODE = 9
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3 = Angle Data
4,5 = Rotating Status
Status[0] = 0: Status[7:1] = Upper 7 bits of SENT status flags
6 = Self-Test and ID
Status[0] = 1: Status [7:1] = Lower 7 bits of SENT status flags
CRC = Cyclical Redundancy Check
DATA_MODE = 10
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3 = Angle Data Rotating extended data (Nibble 5) follow the serial message format.
4 = Nibble ID Message ID = 0 indicates rotating data is 4 MSBs of first packet.
5 = Rotating Extended Data Message ID = 1 indicates rotating data is 4 LSBs of first packet.
6 = Self-Test Flag and ID See Table 21 and Table 22.
CRC = Cyclical Redundancy Check For a detailed data mode description, refer to the Rotating Data Information for SENT DATA_MODE 10
(rotation spanning 16 SENT frames) section.
DATA_MODE = 11
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3 = Angle Data
4,5 = Rotating Turns Counter Rotating turns [7] = 0: Rotating turns [6:0] = Upper half of turns register.
CRC = Cyclical Redundancy Check Rotating turns [7] = 1: Rotating turns [6:0] = Lower half of turns register.
DATA_MODE = 12
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3 = Angle Data
4 = Rotating Status
5 = Alive Counter Status rotates through the status register. The alive counter [1:0] can be used to
6 = Self-Test and ID identify the quadrant of the status register data.
CRC = Cyclical Redundancy Check
A-6
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
DATA_MODE = 13
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3 = Angle Data
4 = Alive Counter
5 = 1’s Compliment of Nibble 1
Modified version of the “Single Secure Sensor” implementation as outlined in Appendix A of SAE J2716.
6 = Self-Test and ID
CRC = Cyclical Redundancy Check
DATA_MODE = 14
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3,4 = Angle Data
5 = Self-Test and ID
CRC = Cyclical Redundancy Check
DATA_MODE = 15
Data Nibbles:
Sync = Synchronization Pulse
SC = Status and Communication Nibble
1,2,3,4 = Angle Data
5 = Alive Counter
6 = Self-Test and ID
CRC = Cyclical Redundancy Check
A-7
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Self-Test and ID Nibble This nibble is particularly useful when sharing SENT lines,
The self-test and ID (ST&ID) nibble is optional. It is included because it allows the self-test diagnostic results and correspond-
as one of the extended nibbles when using DATA_MODE = 4:7. ing sensor ID to be quickly determined without a significant
This nibble consists of the following three data bits (MSB is latency penalty (only one nibble to the SENT frame).
always 0):
SENT Status Bit Description
Bit 3 Bit 2 Bit 1 Bit 0
The extensive status and error flags of the A33003 may be read
0 ST ID[1] ID[0]
at any time via SPI or by entering Manchester communication
Figure 44: ST&ID Nibble mode. To facilitate error/status flag reporting by way of the unidi-
rectional SENT protocol, a selection of these flags are communi-
The ST bit indicates a failure of one of the three internal self-tests cated via extra data nibbles when using DATA_MODE = 1, 4, 7,
(CVH self-test and logic BIST). If set, this indicates significant 9, or 12. These status flags are also transmitted via the slow serial
failure of the sensor, and a reset should be initiated. protocol through the SCN.
ID[0] and ID[1] provide the sensor ID value as determined via The flags are 0 if the condition is clear and 1 if the condition is
the logic values of the SA0 and SA1 pins. true. For transient conditions, the flag clears after the bit is pre-
sented on the SENT output.
A-8
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Status Flag Locations for SENT DATA_MODE 1, 4, and 9 (spanning 2 SENT frames)
Nibble 4 Nibble 5
SF15 SF14 SF13 SF12 SF11 SF10 SF9 R (0)
Nibble 4 Nibble 5
SF7 SF6 SF5 SF4 SF3 SF2 SF1 R (1)
Status Flag Locations for SENT DATA_MODE 7 and 12 (spanning 4 SENT frames)
Nibble 4 (Status Nibble) Nibble 5 (Alive Counter)
SF15 SF14 SF13 SF12 X X 0 0
Nibble 4 Nibble 5
1 0 TURNS[5:4] TURNS[3:0]
A-9
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Rotating Data Information for SENT DATA_MODE 10 (rotation spanning 16 SENT frames)
A-10
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
tSENT
A-11
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
CRC
SCN
SCN
sync
sync
data
data
no pause pulse. Angle data is sampled near the end
of the status and communication nibble. Maximum
0012 (1) SENT age at time of sampling is 2ORATE × 2 µs. Depending
message SENT message 1 SENT message 2 on tick time and ORATE setting, the same data may
TSENT1 TSENT2
be transmitted multiple times. This mode provides the
quickest data delivery rate.
pause
CRC
SCN
SCN
sync
sync
data
data
Waiting
CRC
sync
SCN
sync
data
period, twait of the SCN. When latched, the data age may be up
to (2ORATE + 2 µs) + tRESPONSE. This option is useful
when the controller requires a prompt with a minimum
(previous message) SENT message “age” for the angle data.
pause
data
A-12
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Function Pulses Functions that are acted upon by all sensors simultaneously are
VCC 5 V Max designated broadcast pulses. Functions that are acted upon by
Sensor Sensor Sensor Sensor Host only one sensor are designated addressing pulses and are associ-
ated with a target sensor ID. A function pulse may be defined as
ID = 0 ID = 1 ID = 2 ID = 3 (ECU)
sensors sample and hold data, but only one transmits a SENT
packet.
C
Bus Capacitance A sensor that does not support a specific function does not
respond to the function pulse.
Figure 48: Shared SENT Bus Example Function pulses must be greater in duration than the SENT pulse
low time (5 ticks on the A33003), not to be mistaken as a part of
This section describes the different function pulses that are a normal SENT transmission
referenced in the Addressable SENT (ASENT) section and the
The duration of function pulses are defined in SENT ticks in
Sequential SENT (SSENT) section.
order to scale with the SENT frame itself. Minimum and maxi-
The host sends communications to a sensor or sensors via differ- mum pulse durations are set such that they satisfy electrical and
ent function pulses, which are equivalent in nature to a TSENT timing characteristics.
trigger pulse, but with defined widths. A function pulse is placed
The various function pulses with their expected tick ranges are
on the SENT bus by the host pulling the SENT line low for a
shown in Table 24 through Table 26.
A-13
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
[1] At
tick times less than 1.5 µs, the nominal 5-tick low portion of a SENT pulse within the SENT frame may overlap with F_OUTPUT range, resulting in contention. The low
side of the F_OUTPUT pulse may be increased via the PWS.FP_ADJ EEPROM field. All sensors sharing a bus must have the same FP_ADJ setting.
A-14
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
SEQUENTIAL SENT (SSENT) protocol has a broadcast F_SYNC pulse that is used by the host
to force all sensors to reset their slot counter to 0.
SSENT Addressing Protocol
Long SSENT (SENT_MODE = 7) allows the A33003 to work
The SSENT protocol requires sensors on the bus to be polled in with existing shared SENT methodologies. The added overhead
sequential order, meaning increasing, consecutive, and rotating decreases the rate at which messages may be transmitted.
order by sensor ID starting with sensor ID 0. The slot for a sen-
sor is the time at which that sensor is expected to respond to an In order to reduce the burden on the host, and also to improve
addressing pulse and other sensors are expected to not respond. detection and recovery from bus contention or system errors
affecting the SENT bus, the SSENT protocol has the following
Each sensor independently maintains a slot counter that is configuration options that can be selected.
incremented each time the sensor detects an addressing pulse.
This slot counter becomes the slot number, which is used by the • SLOT_MARKING. When enabled, each sensor waits a
sensor to decide which sensor is being polled by the host. The different length of time following an addressing pulse, based
slot counter is compared to the sensor ID and, if they match, that on their sensor ID. This leaves the SENT bus in a high state
sensor responds with the SENT frame, and all other sensors do for a varying duration before the sensor pulls the line low to
not respond, although they increment their own slot counter. begin the SENT frame. All sensors on the bus (including the
addressed sensor) measure this time to interpret the sensor
If the slot counter is incremented past the total number of sensors ID of the transmitting sensor. By comparing this to the slot
on the bus (MAX_SENSOR option), the slot counter is returned counter, each sensor can recognize if an unexpected sensor
to 0. Each sensor must be programmed consistently with the total responded to the addressing pulse. By default, the sensor
number of sensors so they all roll over to 0 at the same count. would then drop offline, because it cannot be known which
Sensors do not increment their slot counter on a broadcast pulse. sensor is out-of-sync. This option increases the overhead on
The SSENT protocol relies on each sensor maintaining the exact the bus and therefore reduces the maximum rate at which
same slot number by counting the addressing pulses. In order sensors can be polled. Slot marking increases the polling time
to synchronize all sensors to the same slot number, the SSENT of a sensor by the slot marking time for that sensor. All sensors
on a bus must be configured with the same choice for this
option.
Slot Number N
F_SYNC (Host) BusIdle FrameReq Dly SENT Frame SensorID 0 (Slot 0) BusIdle
Figure 51: SSENT Sensor Addressing—No Slot Marking (Three Sensors on Bus)
A-15
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
F_SYNC (Host) BusIdle FrameReq Dly SENT Frame SensorID 0 (Slot 0) BusIdle
Figure 52: SSENT Sensor Addressing—With Slot Marking (Four Sensors on Bus)
• POR_OFFLINE. When enabled, a sensor remains offline until ♦ If configured with C_ZERO_SAMPLE = 1, the sensor
the host issues F_SYNC, or one of the other synchronization performs a sample-and-hold on the rising edge of the
options takes effect (C_IDLE_SYNC). If disabled, a sensor F_OUTPUT pulse for slot 0.
powers up with its slot counter set to 0 and goes directly ♦ If configured with C_NO_SAMPLE = 1 and C_ZERO_
online. This allows the sensors to initialize without any host SAMPLE = 0, the sensor never performs a sample-and-
interaction. However, if a sensor gets a power-on reset after hold, so it always returns current data in response to
the bus is in operation, its counter may be out of sync with F_OUTPUT.
other sensors, and this could result in bus contention.
• F_SAMPLE: Except for sensors configured with
• IDLE_SYNC. When enabled, a sensor monitors the bus NO_SAMPLE = 1, all sensors sample and hold their data at
for a long high (bus idle) period greater than 510 ticks and the rising edge of the pulse:
resets its slot counter to 0. This option can be used if sensor
polling is expected to always be periodic and continuous, such □ If SAMPLE_ADR = 0, this is a broadcast pulse to a sensor,
that the only extended bus idle time occurs after power-up. and that sensor does not respond.
□ If SAMPLE_ ADR = 1, this is also an addressing pulse to a
SSENT Function Pulses sensor, and the addressed sensor returns a SENT frame with
• F_OUTPUT: The addressed sensor returns a SENT frame either the sampled or current data.
with sampled magnetic data: SAMPLE_ADR must be configured the same for all parts on
□ If data from a sample-and-hold operation is available the bus.
(F_SAMPLE or via C_ZERO_ SAMPLE = 1), that data is • F_SYNC: All sensors synchronize their slot numbers by
returned. setting their slot counters such that the next addressing pulse is
□ If data from a sample-and-hold operation is not available, for slot 0.
current data is sampled and returned:
A-16
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
A-17
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
FrameReq Pulse (Host) IncAdr Pulses (0 – 3)(Host) EndAddress > 18 Ticks High SENT Frame (Sensor)
Width defines function Host adds pulses for Sensor recognizes the end Addressed sensor
SensorID 0 selected SensorID 1, 2, or 3 of the addressing phrase responds
SensorID 2 FrameReq (Host) IncAdr IncAdr EndAddress SENT Frame (Sensor) BusIdle
SensorID 3 FrameReq (Host) IncAdr IncAdr IncAdr EndAddress SENT Frame (Sensor) BusIdle
A-18
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
If a sensor is polled and no sample-and-hold data is available (for The sensor exits the offline state and enters the BusSync state
instance, if the part comes online after a sample-and-hold has once its SENT logic becomes functional, after it monitors the
been issued), it samples current data. It is not required that SENT bus long enough to flush any internal synchronization or
all sensors on a shared bus be configured the same for sampling. filtering pipelines and sees the SENT bus high. This is necessary
This allows a subset of the sensors on a shared bus to be synchro- to guarantee that any subsequent low pulses are measured as their
nized for data sample, while others always perform sample-on- full duration.
output.
Bus Synchronization (BusSync)
SENSOR STATES: OFFLINE, BUS SYNC, AND ONLINE BusSync is the state in which the sensor determines to which
addressing pulse it should respond. For ASENT, this state is
unnecessary, and it immediately transitions from offline to
online. For SSENT, the sensor first monitors the SENT bus
until it can synchronize its slot counter to the other sensors on
All
Co the bus before responding to any addressing pulse, but always
n responds to broadcast pulses, even in the BusSync state.
Sa figur
mp ed
F_SAMPLE le Se A sensor configured for SSENT sets its slot counter and exits
He ns BusSync to online when:
re ors
• The host issues an F_SYNC pulse. The sensor immediately
Figure 56: Sample-and-Hold (SSENT or ASENT) knows the next slot is for sensor ID 0, and can then respond
correctly.
• IDLE_SYNC is enabled and the bus is high (BusIdle) for at
All
Co
n least a fixed (greater than 510 ticks) period of time.
Sa figur
mp ed
le Se
He ns • POR_OFFLINE = 0, and the sensor exits the power-on-reset
re ors
state.
Online
F_OUTPUT Slot 0 Sync Pulse SCN Nibble Data Nibble
In the online state, the sensor is actively interpreting the shared
bus, looking for and responding to function pulses. From online,
Figure 57: Sample-and-Hold a sensor goes offline when:
SSENT with ZERO_SAMPLE = 1
• It is powered down or reset.
Offline • In response to a Manchester activation (F_AUX).
Offline is when the sensor is not actively interpreting the state of • It detects a bus contention (SSENT mode).
a shared SENT bus. In the offline state, the sensor does not drive
the SENT bus. A sensor is offline:
• During Manchester.
• When unpowered.
• After power-up.
• After a reset that would reset the SENT logic (POR).
• During CVH self-test.
• After a bus contention is detected (unless stated otherwise).
A-19
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
A-20
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Options –
The SERIALSYNC and SERIALDATA bits form a 16-bit message, transmitted over 16 consecutive SENT frames.
The message contents are arranged as follows:
Short Serial Message
SCN Bit Nibble #
Examples 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
SERIALSYNC 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SERIALDATA MESSAGE ID DATA CRC
A-21
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
A-22
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
A-23
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
A-24
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
A-25
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
A-26
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
Angle error is the difference between the actual positon of the Angle Drift
magnet and the position of the magnet as measured by the angle
sensor IC (without noise). This measurement is performed by Angle drift is the change in the observed angular position over
reading the angle sensor IC output and comparing it with a high- temperature, relative to 25°C.
resolution encoder. See Figure 56. During Allegro factory trim, drift is measured at 150°C. The
Angle Error value is calculated using the following formula:
E [º]
AngleDrift = Angle25°C – Angle150°C
Emax where each angle value is an array corresponding to 16 angular
positions around a circle.
0º
α Real
1.5
0º
Error 25°C
Error 150°C
Eminl 1 No Error
Angle Drift
Figure 58: Angle Error Definition Angle Error
0.5
0
Angle Error Definition
–0.5
Throughout this document, the term “angle error” is used exten-
sively. Thus, it is necessary to introduce a single angle error –1
definition for a full magnetic rotation. The term “angle error” is
calculated according to the following formula: –1.5
0 60 120 180 240 300 360
AngleError = max( |Emax| , |Emin| ) Input Angle
In other words, it is the maximum deviation from a perfect NOTE: This data is a simple representation of angle drift and not
straight line between 0 degrees and 360 degrees. For the pur- real data. Also, the error at 25°C and 150°C are often out of phase.
pose of a generic definition, the offset of the IC angle profile is This can cause a drift larger than the maximum error specification
removed prior to the error calculation, as shown in Figure 56. of the part, as shown.
The offset itself depends on the starting IC angle position relative
Figure 59: Angle Drift of 150°C in Reference to 25°C
to the encoder 0° and thus can differ anywhere from 0° to 360°.
B-1
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com
Precision Angle Sensor IC
A33003 with On-Chip Linearization, SENT, SPI, and PWM Output
REVISION HISTORY
Number Date Description
– September 30, 2019 Initial release
1 November 22, 2019 Added footnote to Selection Guide table (page 2); updated footnote 4 (page 10)
Updated Interrupt Pulse Hold Time values (page 7); changed PWI to PWS (pages 23, 27, 50); corrected
package drawing Hall element labels (page 62); updated Hard Error Flag and Soft Error Flag descriptions
2 October 6, 2020
(page A-3); updated Sent Output Mode table (page A-12), tables 24-26 (page A-14); added Sensor
Measurement Range section (page A-14).
Added footnote to Figure 3 (page 5); updated SEN.SENT_MODE description (page 53) and FWS.FP_ADJ
3 October 14, 2020
description (page 56).
Updated ASIL status (page 1), Selection Guide (page 2), Bypass Pin Output Voltage (page 6), footnote 1
4 January 13, 2021 (page 9), Linearization section (pages 17-18), Package Drawing reference numbers (pages 62-63),
Figure 46 (page A-11); added CRC section (page 27).
Updated “ISO 26262:2011” to “ISO 26262” (page 1), Features and Benefits (page 1-2), Angle Measurement
5 April 20, 2021 section (page 13), Table 10 (page 32), Figure 29 (page 29), Figure 32 (page 31), and SENT Output Mode
table (page A-12)
Removed 125°C version and corrected part number of 150°C version in selection guide (page 2); removed
125°C performance characteristics table (page 10); corrected part number (page 11); removed performance
characteristics charts for 125°C version (page 12; entire page removed); In EEPROM Table, swapped the
order of columns 1 and 2 (Shadow Memory Address and EEPROM Address), changed Register Names
6 November 29, 2021
MPWS and PLPC to PWS and LPC respectively, changed Bit 1 “da” to “xa” (page 50, formerly page 51);
clarified definition of SEN.XA (page 52, formerly page 53); corrected rotation direction parenthetical in
ANG.ro definition (page 56, formerly page 57); In Table 22, corrected references to other table (was Table 19,
now Table 23) (page A-4).
Updated reference design (page 5), updated SPI interface specifications (page 6), corrected footnote
numbering (pages 6 through 9), added EEPROM Margin Check section (pages 39 and 40), added SENT
error mask description and corrected typo in H2T bit name (page 54), updated product outline drawings
(pages 61 and 62), clarified reference to data mode descriptions (page A-6), and made minor branding,
7 March 30, 2023
editorial, and formatting corrections (all pages), including removal of archaic language (e.g., MOSI redefined
as controller-out/peripheral in), addition of cross-references and hyperlinks, minimization of the use of
capitalization and quotation marks, use of capitalization for bit addresses, and recreation of low-resolution
images.
B-2
Allegro MicroSystems
955 Perimeter Road
Manchester, NH 03103-3353 U.S.A.
www.allegromicro.com