AAS33001LLEATR [ALLEGRO]

Precision Angle Sensor IC with Incremental and Motor Commutation Outputs and On-Chip Linearization;
AAS33001LLEATR
型号: AAS33001LLEATR
厂家: ALLEGRO MICROSYSTEMS    ALLEGRO MICROSYSTEMS
描述:

Precision Angle Sensor IC with Incremental and Motor Commutation Outputs and On-Chip Linearization

文件: 总63页 (文件大小:1848K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
AAS33001  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
FEATURES AND BENEFITS  
DESCRIPTION  
The AAS33001 is a 360° angle sensor IC that provides  
contactlesshigh-resolutionangularpositioninformationbased  
on magnetic circular vertical Hall (CVH) technology. It has a  
system-on-chip (SoC) architecture that includes: a CVH front  
end, digital signal processing to calculate the angular position  
information,andmultipleoutputformats:serialprotocol(SPI),  
pulse-widthmodulation(PWM),andeithermotorcommutation  
(UVW) or encoder outputs (A, B, I). It also includes on-chip  
EEPROM technology, capable of supporting up to 100  
read/write cycles, for flexible programming of calibration  
parameters.TheAAS33001isidealforautomotiveapplications  
requiring 0° to 360° angle measurements, such as electronic  
powersteering(EPS), electronicpowerbraking(EPBorIDB),  
transmission actuators, and BLDC pumps.  
• Contactless 0° to 360° angle sensor IC, for angular  
position, rotational speed, and direction measurement  
Capable of sensing magnet rotational speeds targeting  
12.5-bit effective resolution with 300 G field; higher  
effective resolution possible at higher field strengths  
Circular Vertical Hall (CVH) technology provides a  
single channel sensor system, with air gap independence  
• On-chip 32 segment linearization to improve angle accuracy  
Reduces impact of magnet to sensor misalignment  
Reduces impact of imperfect magnetization of target  
magnet  
• Developed as a Safety Element out of Context (SEooC)  
in accordance with ISO 26262:2011 requirements for  
hardware product development for use in safety-critical  
applications (pending assessment)  
TheAAS33001includeson-chip32segmentlinearization.This  
canbeusedtocalibrateouterrorsduetomisalignmentbetween  
the magnet and the sensor or imperfect magnetization of the  
target magnet (which can present itself as a misalignment of  
the magnet to the sensor).  
Single die version designed to meet ASIL B  
requirements when integrated and used in conjunction  
with the appropriate system-level control, in the  
manner prescribed in the AAS33001 Safety Manual  
Dual die version designed to meet ASIL D  
The AAS33001 supports customer integration into safety-  
critical applications.  
requirements when integrated and used in conjunction  
with the appropriate system-level control, in the  
manner prescribed in the AAS33001 Safety Manual  
The AAS33001 is available in a dual-die 24-pin eTSSOP and  
a single-die 14-pin TSSOP package. The packages are lead  
(Pb) free with 100% matte-tin leadframe plating. The 1 mm  
thin package reduces the minimum air gap between the CVH  
transducer and the target magnet. The AAS33001 device is  
pin-compatible with the A1333 to enable easy migration.  
Continued on next page...  
PACKAGES  
24-pin eTSSOP (Suffix LP)  
14-pin TSSOP (Suffix LE)  
Not to scale  
Die 1 (bottom die)  
BYP_1  
VCC_1  
Charge  
Pump  
EEPROM  
with CRC  
Self Test  
Regulator  
To all internal circuits  
S
Circuit Trimmings  
and Customer Settings  
GND_1  
PWM_1  
PWM  
Band  
Pass  
CVH  
ADC  
N
A_1/U_1  
B_1/V_1  
I_1/W_1  
Linearization,  
Offset, and  
Direction Invert  
ABI/UVW  
PLL Angle  
Detect  
Averaging  
Filter  
eTSSOP-24  
Magnet oriented  
for 0° output  
Comparison  
CS_1  
ZCD Angle  
Detect  
SPI Interface  
with CRC  
S
MISO_1  
MOSI_1  
SCLK_1  
Field  
Strength  
Temp  
Sensor  
ADC  
N
eTSSOP-14  
xxx_2  
Die 2 (top die, LP-24 only)  
Thermal Pad (LP-24 only)  
Figure 1: AAS33001 Magnetic Circuit and IC Diagram  
AAS33001-DS, Rev. 1  
MCO-0000408  
September 4, 2018  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
FEATURES AND BENEFITS (continued)  
• High diagnostic coverage  
PWM interface provides initial position for ABI/UVW  
interfaces  
10 MHz SPI for low latency angle and diagnostic  
information; enables multiple independent ICs to be  
connected to same bus  
On-chip diagnostics include logic built-in self-test (LBIST),  
signal path diagnostics, and watchdogs to support safety-  
critical (ASIL) applications  
4-bit CRC on SPI  
• On-chip EEPROM for storing factory and customer calibration  
parameters  
5 V SPI can be supported  
Output resolution on ABI and UVW are selectable  
• Multiple programming/configuration formats supported  
The system can be completely controlled and programmed  
over SPI, including EEPROM writes  
For system with limited pins available, writing and reading  
can be performed over VCC and PWM pins. This allows  
configuring the EEPROM in production line for a device  
with only ABI/UVW and PWM pins connected.  
• 1 mm thin surface-mount TSSOP packages for both single and  
dual die versions to minimize air gap from target magnet to  
CVH transducer for improved field strength  
Single-bit error correction; dual-bit error detection, error  
correction control (ECC)  
• Supports operating in harsh conditions required for automotive  
and industrial applications, including direct connection to 12 V  
battery  
Operating temperature range from –40°C to 150°C  
Operating supply voltage range from 3.7 to 18 V, absolute  
maximum of 28 V continuous  
Can support ISO 7637-2 Pulse 5b up to 39 V  
• Multiple output formats supported for ease of system  
integration  
Pin-compatible to single and dual die A1333 devices  
Stacked dual die construction to improve channel-to-channel  
matching for systems that require redundant sensors  
ABI and UVW interfaces provide high resolution and lowest  
latency angle information  
Table of Contents  
EEPROM and Shadow Memory Usage................................. 33  
Enabling EEPROM Access............................................... 33  
EEPROM Write Lock....................................................... 33  
EEPROM Access and Write Lock Exceptions ..................... 34  
Write Transaction............................................................ 34  
Read Transaction............................................................ 38  
Shadow Memory Read and Write Transactions................... 40  
Serial Interface Table.......................................................... 41  
Primary Serial Interface Registers Reference ........................ 42  
EEPROM and Shadow Register Table .................................. 48  
EEPROM Reference .......................................................... 49  
Safety and Diagnostics ....................................................... 56  
Alive Counter.................................................................. 56  
Oscillator Watchdogs....................................................... 56  
Logic Built-In Self-Test (LBIST)......................................... 56  
CVH Self-Test................................................................. 56  
Application Information ....................................................... 57  
Magnetic Target Requirements ......................................... 57  
Typical SPI and ABI/UVW Applications .............................. 58  
I/O Structures .................................................................... 60  
Package Outline Drawings .................................................. 61  
Features and Benefits........................................................... 1  
Description.......................................................................... 1  
Packages............................................................................ 1  
Simplified Block Diagram ...................................................... 1  
Selection Guide ................................................................... 2  
Absolute Maximum Ratings................................................... 2  
Thermal Characteristics ........................................................ 2  
Pinout Diagrams and Terminal List ......................................... 4  
Operating Characteristics...................................................... 5  
Functional Description .......................................................... 8  
Overview ......................................................................... 8  
Angle Measurement .......................................................... 8  
System Level Timing ......................................................... 8  
Power-Up......................................................................... 8  
PWM Output .................................................................... 8  
Linearization................................................................... 12  
Incremental Output Interface (ABI).................................... 13  
Brushless DC Motor Commutation .................................... 18  
ABI Behavior at Power-Up ............................................... 20  
Angle Hysteresis............................................................. 21  
Device Programming Interface............................................. 22  
Interface Structure .......................................................... 22  
SPI Interface .................................................................. 23  
Manchester Interface....................................................... 27  
2
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
SELECTION GUIDE*  
Part Number  
System Die  
Dual  
Interface Voltage (V)  
Package  
Packing  
AAS33001LLPBTR-DD  
AAS33001LLEATR  
3.3  
3.3  
24-pin eTSSOP  
14-pin TSSOP  
4000 pieces per 13-inch reel  
4000 pieces per 13-inch reel  
Single  
* Contact Allegro for 5 V interface variants if required.  
ABSOLUTE MAXIMUM RATINGS  
Characteristic  
Symbol  
Notes  
Sampling angles, respecting TJ(max)  
Not sampling angles  
Rating  
28  
Unit  
V
Forward Supply Voltage  
VCC  
Reverse Supply Voltage  
VRCC  
VIN  
–18  
V
All Other Pins Forward Voltage  
All Other Pins Reverse Voltage  
Operating Ambient Temperature  
Maximum Junction Temperature  
Storage Temperature  
5.5  
V
VR  
0.5  
V
TA  
L range  
–40 to 150  
170  
°C  
°C  
°C  
TJ(max)  
Tstg  
–65 to 170  
THERMAL CHARACTERISTICS: May require derating at maximum conditions  
Characteristic  
Symbol  
Test Conditions*  
Value  
Unit  
LP-24 package with exposed thermal pad; measured on JEDEC JESD51-7 2s2p board  
LE-14 package; measured on JEDEC JESD51-7 2s2p board  
69  
°C/W  
Package Thermal Resistance  
RθJA  
82  
°C/W  
3
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
PINOUT DIAGRAMS AND TERMINAL LIST TABLE  
Pinout Diagrams  
Terminal List Table  
Pin Number  
Pin  
Name  
LP 24-Pin eTSSOP  
Function  
LE-14  
LP-24  
9
1
2
24  
23  
22  
21  
20  
19  
18  
17  
16  
15  
14  
13  
CS_1  
SCLK_1  
MOSI_1  
MISO_1  
A_1/U_1  
B_1/V_1  
I_1/W_1  
GND_1  
PWM_1  
TEST_1  
VCC_1  
BYP_2  
PWM_1  
BYP_1  
4
1
PWM Angle Output (die 1)  
VCC_2  
TEST_2  
PWM_2  
GND_2  
I_2/W_2  
B_2/V_2  
A_2/U_2  
MISO_2  
MOSI_2  
SCLK_2  
CS_2  
12  
External bypass capacitor terminal for internal regulator (die 1)  
3
Option 1: Quadrature A output signal signal (die 1)  
Option 2: U (phase 1) output signal (die 1)  
4
A_1/U_1  
12  
5
5
Option 1: Quadrature B output signal (die 1)  
Option 2: V (phase 2) output signal (die 1)  
6
B_1/V_1  
VCC_1  
13  
2
6
11  
7
PAD  
7
Power supply  
8
Option 1: Quadrature I (index) output signal (die 1)  
Option 2: W (phase 3) output signal (die 1)  
9
I_1/W_1  
14  
10  
11  
12  
VCC_2  
MISO_2  
SCLK_2  
23  
16  
14  
Power supply  
SPI Master Input / Slave Output (die 2)  
SPI Clock terminal input (die 2)  
BYP_1  
SPI Master Output / Slave Input (die 2); also address selection  
for Manchester interface  
MOSI_2  
CS_2  
15  
13  
LE 14-Pin TSSOP  
SPI Chip Select terminal, active low input (die 2); also address  
selection for Manchester interface  
1
2
3
4
5
6
7
14  
13  
BYP_1  
VCC_1  
TEST_1  
PWM_1  
GND  
I_1/W_1  
B_1/V_1  
GND  
5, 6, 7  
Device ground terminal  
12 A_1/U_1  
11 MISO_1  
10 MOSI_1  
GND_1  
GND_2  
PWM_2  
BYP_2  
8
Device ground terminal  
20  
21  
24  
Device ground terminal  
9
8
PWM Angle Output (die 2)  
GND  
SCLK_1  
CS_1  
GND  
External bypass capacitor terminal for internal regulator (die 2)  
Option 1: Quadrature A output signal (die 2)  
Option 2: U (phase 1) output signal (die 2)  
A_2/U_2  
B_2/V_2  
I_2/W_2  
17  
18  
19  
Option 1: Quadrature B output signal (die 2)  
Option 2: V (phase 2) output signal (die 2)  
Option 1: Quadrature I (index) output signal (die 1)  
Option 2: W (phase 3) output signal (die 1)  
MISO_1  
SCLK_1  
11  
9
4
2
SPI Master Input / Slave Output (die 1)  
SPI Clock terminal input (die 1)  
SPI Master Output / Slave Input (die 1); also address selection  
for Manchester interface  
MOSI_1  
CS_1  
10  
8
3
1
SPI Chip Select terminal, active low input (die 1); also address  
selection for Manchester interface  
TEST_1  
TEST_2  
PAD  
3
10  
22  
Connect to ground (die 1)  
Connect to ground (die 2)  
PAD  
Exposed pad for thermal dissipation  
4
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
OPERATING CHARACTERISTICS: Valid over the full operating voltage and ambient temperature ranges, unless otherwise noted  
Characteristics  
ELECTRICAL CHARACTERISTICS  
Supply Voltage  
Symbol  
Test Conditions  
Min.  
Typ. [1]  
Max.  
Unit[2]  
VCC  
3.7  
15  
18  
19  
3.7  
V
mA  
V
Supply Current  
ICC(full)  
VPORHI  
VPORLOW VCC falling, dV/dt = 1 V/ms, TA = 25°C  
For single die  
VCC rising, dV/dt = 1 V/ms, TA = 25°C  
Power-On Reset Threshold Voltage[3]  
3.3  
3.7  
26.5  
V
Undervoltage Warning Level [6]  
Supply Zener Clamp Voltage  
Reverse Battery Current  
VUV  
VZSUP  
IRCC  
TA = –40°C to 150°C  
3.82  
4.0  
V
ICC = ICC(AWAKE) + 3 mA, TA = 25°C  
VRCC = 18 V, TA = 25°C  
V
5
mA  
Power-on diagnostics disabled,  
interface working, but angle not yet settled  
Power-On Time[4]  
tPO  
300  
3.3  
µs  
V
Bypass Pin Output Voltage[5]  
VBYP  
TA = 25°C, CBYP = 0.1 µF  
2.97  
3.63  
SPI AND ABI/UVW INTERFACE SPECIFICATIONS (for 3.3 V interface)  
¯¯¯¯  
MOSI, SCLK, CS pins  
Digital Input High Voltage  
Digital Input Low Voltage  
Output High Voltage  
VIH  
VIL  
2.8  
3.63  
0.5  
3.63  
V
V
V
V
¯¯¯¯  
MOSI, SCLK, CS pins  
VOH  
VOL  
MISO and ABI/UVW pins, CL = 20 pF, TA = 25°C  
MISO and ABI/UVW pins, CL = 20 pF, TA = 25°C  
2.93  
3.3  
0.3  
Output Low Voltage  
SPI AND ABI/UVW INTERFACE SPECIFICATIONS (for 5.0 V interface) (Contact Allegro for 5 V SPI ordering information)  
¯¯¯¯  
MOSI, SCLK, CS pins  
Digital Input High Voltage  
Digital Input Low Voltage  
Output High Voltage  
VIH  
VIL  
3.75  
5.5  
0.5  
5.5  
V
V
V
V
¯¯¯¯  
MOSI, SCLK, CS pins  
VOH  
VOL  
MISO and ABI/UVW pins, CL = 20 pF, TA = 25°C  
MISO and ABI/UVW pins, CL = 20 pF, TA = 25°C  
4.0  
5.0  
0.3  
Output Low Voltage  
SPI INTERFACE SPECIFICATIONS  
SPI Clock Frequency[6]  
SPI Clock Duty Cycle[6]  
SPI Frame Rate[6]  
fSCLK  
DfSCLK  
tSPI  
MISOx pins, CL = 20 pF  
SPICLKDC  
0.1  
40  
-
10  
60  
588  
MHz  
%
5.8  
50  
kHz  
ns  
Chip Select to First SCLK Edge[6]  
tCS  
¯¯¯¯  
Time from CSx going low to SCLKx falling edge  
¯¯¯¯  
Time in which CSx is held high before the next  
frame  
Chip Select Inactive Time  
tCSH  
150  
ns  
Data Output Valid Time[6]  
MOSI Setup Time[6]  
MOSI Hold Time[6]  
tDAV  
tSU  
Data output valid after SCLKx falling edge  
Input setup time before SCLKx rising edge  
Input hold time after SCLKx rising edge  
25  
50  
5
50  
ns  
ns  
ns  
ns  
pF  
tHD  
SCLK to CS Hold Time[6]  
Load Capacitance[6]  
tCHD  
CL  
Hold SCLKx high time before CSx rising edge  
¯¯¯¯  
Loading on digital output (MISOx) pin  
20  
Continued on the next page…  
5
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
OPERATING CHARACTERISTICS (continued): Valid over the full operating voltage and ambient temperature ranges, unless otherwise noted  
Characteristics  
Symbol  
Test Conditions  
Min.  
Typ. [1]  
Max.  
Unit[2]  
PWM INTERFACE SPECIFICATIONS  
PWM Frequency Min Setting, TA in specification  
PWM Programmable Options (number of steps)  
PWM Frequency Max Setting, TA in specification  
98  
128  
3.125  
5
Hz  
steps  
kHz  
%
PWM Carrier Frequency  
fPWM  
PWM Output Low Clamp  
PWM Output High Clamp  
DPWM(min) Corresponding to digital angle of 0x000  
DPWM(max) Corresponding to digital angle of 0xFFF  
95  
%
INCREMENTAL OUTPUT SPECIFICATIONS  
ABI and UVW Output Angular  
hysANG  
Programmable  
0
1.38  
degrees  
Hysteresis [6]  
MANCHESTER INTERFACE SPECIFICATIONS  
Manchester High Voltage [6]  
Manchester Low Voltage [6]  
VMAN(H)  
VMAN(L)  
Applied to VCC line  
Applied to VCC line  
7.3  
8
5
VCC(max)  
5.7  
V
V
VCC(min)  
Line state changes once or twice per bit;  
maximum speed is usually limited by VCC line  
capacitance  
Manchester Bitrate [6]  
fMAN  
2.2  
100  
kbit/s  
BUILT-IN SELF TEST  
Logic BIST Time  
tLBIST  
Configurable to run on power-up or on user request  
Configurable to run on power-up or on user request  
30  
30  
ms  
ms  
Circular Vertical Hall Self-Test Time  
MAGNETIC CHARACTERISTICS  
Magnetic Field  
tCVHST  
B
Range of input field  
1200  
G
Continued on the next page…  
6
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
OPERATING CHARACTERISTICS (continued): Valid over the full operating voltage and ambient temperature ranges, unless otherwise noted  
Characteristics  
ANGLE CHARACTERISTICS  
Output[7]  
Symbol  
Test Conditions  
Min.  
Typ. [1]  
Max.  
Unit[2]  
RESANGLE Both 12 and 15-bit angle values are available via SPI  
12/15  
1.0  
bit  
µs  
µs  
Angle Refresh Rate[8]  
Response Time [6]  
tANG  
No averaging  
tRESPONSE  
Angular latency; valid for ABI or UVW interface  
10  
TA = 25°C, ideal magnet alignment, B = 300 G,  
target rpm = 0  
–1  
±0.4  
±0.7  
1
degrees  
degrees  
Angle Error [9]  
ERRANG  
ANGLEDRIFT  
NANG  
TA = 150°C, ideal magnet alignment, B = 300 G,  
target rpm = 0  
–1.3  
1.3  
TA = 150°C, B = 300 G, angle change from 25°C  
TA = –40°C, B = 300 G, angle change from 25°C  
–1.4  
1.4  
degrees  
degrees  
Temperature Drift  
Angle Noise [10][11]  
0.9  
TA = 25°C, B = 300 G, no internal filtering, target  
rpm = 0, 3 sigma noise  
±0.22  
degrees  
TA = 150°C, B = 300 G, no internal filtering,  
target rpm = 0, 3 sigma noise  
±0.28  
12.47  
0.5  
degrees  
bits  
Effective Resolution [12]  
B = 300 G, TA = 25°C  
B = 300 G, average maximum drift observed  
following AEC-Q100 qualification testing  
Angle Drift Over Lifetime [13]  
ANGLEDrift_Life  
degrees  
[1] Typical data is at TA = 25°C and VCC = 5 V, and it is for design estimates only.  
[2] 1 G (gauss) = 0.1 mT (millitesla).  
[3] At power-on, a die will not respond to commands until VCC rises above VPORHI. After that, the die will perform and respond normally until VCC drops  
below VPORLOW  
.
[4] During the power-on phase, the AAS33001 SPI transactions are not guaranteed.  
[5] The output voltage and current specifications are 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.  
[6] Parameter is not guaranteed at final test. Determined by design.  
[7] RESANGLE represents the number of bits of data available for reading from the die registers.  
[8] The rate at which a new angle reading will be ready.  
[9] Error value as measured at Allegro final test before any on-chip linearization is applied. Actual raw angle error performance in application can vary  
with multiple factors (e.g. magnet to sensor alignment, etc). Using the on-chip linearization features of the AAS33001 can significantly reduce these  
errors.  
[10] Error and noise values are with no further signal processing. Angle Noise can be reduced with internal filtering and slower Angle Refresh Rate value.  
[11] This value represents 3-sigma or three times the standard deviation of the measured samples.  
[12] Effective Resolution is calculated using the formula below:  
n
1
log2(360) – log2  
i
n
( )  
i = 1  
where σ is the Standard Deviation based on thirty measurements taken at each of the 32 angular positions, I = 11.25, 22.5, … 360.  
[13] Maximum observed angle drift following AEC-Q100 stress was 1.4 degrees.  
7
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
FUNCTIONAL DESCRIPTION  
update every tANG (if an angle change has occurred). SPI, which  
is asynchronously clocked, results in a varying latency depending  
Overview  
The AAS33001 is a rotary position Hall-sensor-based device.  
It incorporates one or two electrically independent Hall sensor  
dies in the same surface-mount package to provide solid-state  
consistency and reliability, and to support a wide variety of  
automotive applications. Each Hall-sensor-based die measures  
the direction of the magnetic field vector through 360° in the x-y  
plane (parallel to the branded face of the device) and computes an  
angle measurement based on the actual physical reading, as well  
as any internal parameters that have been set by the user. The  
output of each die is used by the host microcontroller to provide a  
single channel of target data.  
on sampling frequency and SCLK speed. The values which are  
presented to the user are copied from the data path to the output  
registers between 0 and 125 ns after the SPI falling chip select  
edge. The first bit never contains data. If the SPI clock is 10 MHz,  
the data will be clocked out after 1.6 µs. As the data were sampled  
in at the first clock edge at an age of maximum tRESPONSE, their  
age after the SPI transaction has finished will be between 1.6 and  
1.6 + tRESPONSE µs.  
Figure 2 shows the update rate and the signal delay of the differ-  
ent angle output paths depending on the sensor settings.  
This device is an advanced, programmable system-on-chip (SoC).  
Each integrated circuit includes a circular vertical Hall (CVH)  
analog front end, a high-speed sampling A-to-D converter, digital  
filtering, digital signal processing, a digital control SPI interface,  
motor commutation outputs (UVW), and encoder outputs (A, B, I).  
The value of the “angle_zcd” register is updated approximately  
every 32 µs. The value of the register “gauss” is update approxi-  
mately every 128 µs.  
Power-Up  
Advanced offset, gain, and linearization adjustment options are  
available in the AAS33001. These options can be configured in  
onboard EEPROM, providing a wide range of sensing solutions  
in the same device.  
Upon applying power to the AAS33001, the device automatically  
runs through an initialization routine. The purpose of this  
initialization is to ensure that the device comes up in the  
same predictable operating condition every power cycle. This  
initialization routine takes a finite amount of time to complete,  
which is referred to as Power-On Time, tPO. Regardless of the  
state of the device before a power cycle, the device will repower  
with EEPROM shadow bits copied from the EEPROM anew,  
and serial registers in their default states. For example, on every  
power-up, the device will power with the “zero_offset” that was  
stored in the EEPROM. The extended write access field “write_  
adr” will be set back to its default value, zero.  
Angle Measurement  
The AAS33001 can monitor the angular position of a rotating  
magnet at speeds ranging from 0 to more than 15,000 rpm. The  
AAS33001 has a typical output refresh rate of 1 µs.  
Readout in SPI is possible with 12-bit resolution, with error  
flags included in the same word, or in 15-bit resolution without  
included error flags. Reading out the angle takes 16 SPI clock  
cycles. See SPI Interface section for details on SPI usage.  
PWM Output  
PWM output is always resolved to a 12-bit angle resolution.  
The AAS33001 provides a pulse-width-modulated output with  
duty cycle proportional to measured angle. The PWM duty cycle  
is clamped at 5% and 95% DC for diagnostic purposes. 5% DC  
corresponds to 0 degrees of angle; 95% DC corresponds to 360°  
of angle. The 0% and 100% (pulled low and pulled high) states  
are reserved for error condition notifications. The rising edges of  
the output are always at the same points in time, while the falling  
edge moves from 5% to 95% over angles of 0 to 360 degrees.  
ABI/UVW resolution can be set to the level desired by the  
customer.  
The sensor readout is processed and linearized in various steps.  
These are detailed in Figure 3.  
System Level Timing  
Internal registers are updated with a new angle value every tANG  
.
In case of errors, the setting “peo” = 1 will make errors affect the  
PWM pin. The setting “pes” = 0 will tristate the PWM pin, while  
with setting “pes” = 1, the output frequency will be halved, and  
the outputs will be fixed to the levels in Table 1.  
Due to signal path delay, the angle is tRESPONSE old at each update.  
In other words, tRESPONSE is the delay from time of magnet sam-  
pling until generation of a processed angle value. The streaming  
protocols ABI and UVW, which require no external trigger, will  
8
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Table 1: PWM Output Errors  
Error  
WDE  
OFE  
STF  
PLK  
ZIE  
Priority  
Duty Cycle %  
5
Description / Persistence  
Watchdog error. Permanent error until restart.  
1 (highest)  
2
3
4
5
6
7
10.625  
16.25  
Oscillator frequency watchdog error.  
Self-test failure. Permanent error until restart.  
PLL not locked. Persists until PLL locks.  
21.875  
27.5  
Zero-crossing integrity error. Persists as long as the issue exists.  
Angle averaging error. Outputs once then clears.  
AVG  
UV  
33.125  
38.75  
Undervoltage (UVA and/or UVCC dependent on serial error masks). Persists until no  
unmasked undervoltage.  
MSL  
ESE  
SAT  
MSH  
TR  
8
44.375  
50  
Persists until field strength higher than low threshold.  
EEPROM correctable error. Outputs once, then clears.  
Saturation error. Persists as long as the issue exists.  
Persists until field strength lower than high threshold.  
Persists until temperature within range.  
9
10  
55.625  
61.25  
66.875  
11  
12 (lowest)  
The duty cycle of the pin can be configured using the “pwm_  
band” and the “pwm_freq” fields, yielding the frequencies shown  
in Table 2.  
Table 2: PWM Frequency Table (Hz)  
“pwm_band”  
0
1
2
3
4
5
6
7
0
1
3125  
3101  
3077  
3053  
3030  
3008  
2985  
2963  
2941  
2920  
2899  
2878  
2857  
2837  
2817  
2797  
2778  
2740  
2703  
2667  
2632  
2597  
2564  
2532  
2500  
2469  
2439  
2410  
2381  
2353  
2326  
2299  
2273  
2222  
2174  
2128  
2083  
2041  
2000  
1961  
1923  
1887  
1852  
1818  
1786  
1754  
1724  
1695  
1667  
1613  
1563  
1515  
1471  
1429  
1389  
1351  
1316  
1282  
1250  
1220  
1190  
1163  
1136  
1111  
1087  
1042  
1000  
962  
926  
893  
862  
833  
806  
781  
758  
735  
714  
694  
676  
658  
641  
610  
581  
556  
532  
510  
490  
472  
455  
439  
424  
410  
397  
385  
373  
362  
352  
333  
316  
301  
287  
275  
263  
253  
243  
234  
225  
217  
210  
203  
197  
191  
185  
175  
166  
157  
150  
143  
137  
131  
126  
121  
116  
112  
108  
105  
101  
98  
2
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
9
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
CVH  
PLL + processing  
Latency 10 µs  
Rate 1 µs  
Latency: 10 µs  
Rate: 1 µs  
Op�onal Angle averaging  
Reduce rate by 2“orate” �mes  
0 ≤ “orate” ≤ 12  
Latency: 10 + (2“orate” – 1) µs  
Rate: 1 µs × 2“orate”  
µC  
Latency: 10 + (2“orate”– 1) µs  
Rate: 1 µs ×2“orate”  
ABI / UVW pins  
Latency ~ ns (push/pull output)  
Rate can be limited by “slew_rate”  
Latency = fPWM-1 + 10 µs + (2“orate” – 1) µs  
-1  
Rate = fPWM  
PWM pin  
New data rate= max of [fPWM-1 and 2“orate” µs]  
Latency 1 PWM cycles of(98...3125 Hz)  
Rate (98...3125 Hz)  
Latency 10µs + 2“orate” µs + 16/fSPI  
Rate = 16/fSPI  
SPI bus  
New data rate= max of [16/fSPI and 2“orate”] µs  
Latency 1 µs · 2orate + 16/fSPI (fSPI,max = 10 MHz)  
Rate 16/fSPI  
Figure 2: Signal Latency and Update Rates  
10  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
CVH  
ΣΔ-ADC  
Filter & PLL angle  
measurement logic  
Angle averaging  
(“orate”)  
Rotaon direcon  
Oset adjust  
(“zero_oset”)  
(“ro”)  
Segmented  
linearizaon  
(“eli”, “ls”, “LIN##“)  
Rotaon direcon  
(“ro”)  
Segmented  
linearizaon  
(“eli”, “ls”, “LIN##”)  
Oset adjust  
(“zero_oset”)  
“zal”=0  
180° rotaon  
(“rd”)  
ABI / UVW pins  
(“uvw,“ioe”,“plh”,“wdh”,“index_mode”,“inv”,  
abi_slew_me”,“resoluon_pairs”)  
“ahe”=0  
“phe”=0  
Angle hysteresis  
(“hysteresis”)  
PWM pin  
(“pen”,“pwm_band”,“pwm_freq”,“peo”,“pes”)  
“angle” and “angle_15” output register  
“angle_hys” output register  
Figure 3: Angle data flow chart.  
Text in quotes (“”) denotes registers that affect their containing block.  
11  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Linearization  
Table 3: Linearization Coefficients  
Electrical  
angle (°)  
measured by  
sensor  
Correction  
value  
Written in  
EEPROM  
The AAS33001 contains linearization functionality. Linearization  
allows for conversion of the initially sensor-measured magnetic  
field data into customer-desired linear output. This can be used  
to correct minor imperfections in the encoder signal, or to allow  
motor commutation in side-shaft measurement setups.  
Output angle  
Visible on sensor output  
0.00  
11.25  
LIN0  
LIN1  
Output = 0.00 – LIN0  
Output = 11.25 – LIN1  
Output = 22.50 – LIN2  
Output = 33.75 – LIN3  
Output = 45.00 – LIN4  
Output = 56.25 – LIN5  
Output = 67.50 – LIN6  
Output = 78.75 – LIN7  
Output = 90.00 – LIN8  
Output = 101.25 – LIN9  
Output = 112.50 – LIN10  
Output = 123.75 – LIN11  
Output = 135.00 – LIN12  
Output = 146.25 – LIN13  
Output = 157.50 – LIN14  
Output = 168.75 – LIN15  
Output = 180.00 – LIN16  
Output = 191.25 – LIN17  
Output = 202.50 – LIN18  
Output = 213.75 – LIN19  
Output = 225.00 – LIN20  
Output = 236.25 – LIN21  
Output = 247.50 – LIN22  
Output = 258.75 – LIN23  
Output = 270.00 – LIN24  
Output = 281.25 – LIN25  
Output = 292.50 – LIN26  
Output = 303.75 – LIN27  
Output = 315.00 – LIN28  
Output = 326.25 – LIN29  
Output = 337.50 – LIN30  
Output = 348.75 – LIN31  
Linearization converts the electrical angles (the angle as mea-  
sured by the sensor front end) into mechanical angles (the actual  
angle of the encoder signal).  
22.50  
LIN2  
33.75  
LIN3  
45.00  
LIN4  
To use the linearization feature, it is most convenient to use  
the Allegro AAS33001 Samples Programmer Graphical User  
Interface (GUI). It allows the user to measure points along the  
mechanical rotation, calculate all parameters that need to be  
written into the sensor, and writes these values into the sensor.  
To use this function, the user must be able to read and control the  
mechanical angle.  
56.25  
LIN5  
67.50  
LIN6  
78.75  
LIN7  
90.00  
LIN8  
101.25  
112.50  
123.75  
135.00  
146.25  
157.50  
168.75  
180.00  
191.25  
202.50  
213.75  
225.00  
236.25  
247.50  
258.75  
270.00  
281.25  
292.50  
303.75  
315.00  
326.25  
337.50  
348.75  
LIN9  
LIN10  
LIN11  
LIN12  
LIN13  
LIN14  
LIN15  
LIN16  
LIN17  
LIN18  
LIN19  
LIN20  
LIN21  
LIN22  
LIN23  
LIN24  
LIN25  
LIN26  
LIN27  
LIN28  
LIN29  
LIN30  
LIN31  
The sensor performs linearization by taking the measured electri-  
cal angles and, depending on the angle measured, subtracting  
a linearization coefficient stored in EEPROM. There are 32 of  
these linearization coefficients in the EEPROM. The angle value  
at a sensor angle reading of 0.00, 11.25, 22.50, … 348.75 electri-  
cal degrees will be modified by the values in EEPROM fields  
LIN0, LIN1, LIN2, … LIN31. The EEPROM LIN values are  
subtracted from the electrical sensor angles, as shown in Table 3.  
The LIN fields are 12-bit signed values. Each LIN coefficient has  
a range of –2048…+2047 LSB that corresponds to a correction of  
the electrical angle by +22.50…–22.49 degrees (EEPROM field  
“ls” = 0) or by +45.00…–44.98 degrees (EEPROM field “ls” = 1).  
When the electrical angle is between of two of the linearization  
points, the sensor calculates the appropriate correction value for  
this angle by linear interpolation between the two coefficients  
next to the value. For example, if the sensor measures an angle of  
5.625°, the output will be 5.625 – (LIN0 + LIN1) / 2.  
Figure 4 is an example showing a nonlinear curve that is cor-  
rected by the sensor. In this example, the values of LIN0, LIN1,  
LIN2, and LIN3 are negative numbers, while LIN4 is a positive  
number. The linearized output angle in the example is close to the  
mechanical angle, but not perfect. This was done on purpose to  
show a more realistic example.  
The output delay of the AAS33001 is not affected by enabling or  
disabling linearization. If linearization is disabled, the EEPROM  
LIN fields can be used for other customer purposes.  
12  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Since A and B are offset by ¼ of a cycle, they are in quadra-  
ture and together have four unique states per cycle. Each state  
represents R = [360 / (4 × 2N)] degrees of the full revolution. This  
angular distance is the quadrature resolution of the encoder. The  
order in which the states change, or the order of the edge transi-  
tions from A to B, allow the direction of rotation to be deter-  
mined. If a given B edge (rising/falling) precedes the following A  
edge, the angle is increasing from the perspective of the electrical  
(sensor) angle and the angle position should be incremented by  
the quadrature resolution (R) at each state transition. Conversely,  
if a given A edge precedes the following B edge, the angle is  
decreasing from the perspective of the electrical (sensor) angle  
and the angle position should be decremented by the quadrature  
resolution (R) at each state transition. The angle position accumu-  
lator wraps each revolution back to 0. The quadrature states are  
designated as Q1 through Q4 in the following diagrams, and are  
defined as follows:  
45.00  
Electrical angle (not linearized)  
Linearizaꢀon parameters  
Linearized output angle  
33.75  
22.50  
11.25  
0.00  
State Name  
A
0
0
1
1
B
0
1
1
0
Q1  
Q2  
Q3  
Q4  
Electrical angle measured by sensor [degree]  
11.25 22.50 33.75  
0.00  
45.00  
Figure 4: Linearization Example  
Incremental Output Interface (ABI)  
Note that the A/B progression is a grey coding sequence where  
only one signal transitions at a time. The state progression must  
be as follows to be valid:  
The AAS33001 offers an incremental output mode in the form  
of quadrature A/B and Index outputs to emulate an optical or  
mechanical encoder. The A and B signals toggle with a 50%  
duty cycle (relative to angular distance, not necessarily time) at  
a frequency of 2N cycles per magnetic revolution, giving a cycle  
resolution of (360 / 2N) degrees per cycle. B is offset from A by  
¼ of the cycle period. The “I” signal is an index pulse that occurs  
once per revolution to mark the zero (0) angle position. One revo-  
lution is shown in Figure 5.  
Increasing angle: Q1 → Q2 → Q3 → Q4 → Q1 → Q2 → Q3 → Q4  
Decreasing angle: Q4 → Q3 → Q2 → Q1 → Q4 → Q3 → Q2 → Q1  
The duration of one cycle is referred to as 360 electrical degrees,  
or 360e. One half of a cycle is therefore 180e and one quarter of  
a cycle (one quadrature state, or R degrees) is 90e. This is the  
A
B
I
Angle →  
0
+R +2R +3R  
-3R -2R -R  
0
Increase angle – B edge precedes A edge  
Decreasing angle – A edge precedes B edge  
One full magnetic rotation (360 magnetic degrees)  
Figure 5: One Full Revolution  
13  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
terminology used to express variance from perfect signal behav-  
ior. Ideally, the A and B cycle would be as shown below for a  
constant velocity (see Figure 6).  
In reality, the edge rate of the A and B signals, and the switching  
threshold of the receiver I/Os, will affect the quadrature periods  
(see Figure 7).  
Cycle=360e  
A
B
Q1  
Q2  
Q3  
Q4  
90e  
90e  
90e  
90e  
Figure 6: Electrical Cycle  
Cycle=360e  
A
B
Q4  
90e  
Q1  
75e  
Q2  
90e  
Q3  
105e  
Figure 7: Electrical Cycle  
14  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
RESOLUTION  
The AAS33001 supports the following ABI output resolutions.  
This is set via the resolution_pairs field in EEPROM.  
Table 4: ABI Output Resolution  
EEPROM  
Resolution  
Field  
Cycle  
Resolution  
(Bits = N)  
Quadrature  
Resolution  
(Bits = 4 × N)  
Cycles per  
Revolution  
(A or B)  
Quadrature  
States per  
Revolution  
Cycle Resolution  
(Degrees)  
Quadrature  
Resolution (R)  
(Degrees)  
0
1
Factory Use Only  
Factory Use Only  
Factory Use Only  
2
3
11  
10  
9
13  
12  
11  
10  
9
2048  
8192  
4096  
2048  
1024  
512  
256  
128  
64  
0.176  
0.352  
0.703  
1.406  
2.813  
5.625  
11.250  
22.500  
45.000  
90.000  
180.0  
360.0  
n/a  
0.044  
0.088  
0.176  
0.352  
0.703  
1.406  
2.813  
5.625  
11.250  
22.5  
4
1024  
512  
256  
128  
64  
32  
16  
8
5
6
8
7
7
8
6
8
9
5
7
10  
11  
12  
13  
14  
15  
4
6
3
5
32  
2
4
4
16  
1
3
2
8
45.0  
0
2
1
4
90.0  
n/a  
n/a  
n/a  
n/a  
n/a  
15  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
normal sample rate output resumes. This skipping will most likely  
occur either at very low velocities, if the noise is high, or at very  
high velocities when the angle changes more than the quadrature  
resolution in one angle sample period.  
SLEW RATE LIMITING  
Slew rate limiting is enabled when the ABI.abi_slew_time field is non-  
zero. This option separates the sample update rate from the ABI output  
rate, and can be used to control two circumstances:  
The ABI receiver at the host end cannot reliably detect edge  
transitions that are spaced at the sample rate of 1 µs. The slew limit  
time can be set greater than the nominal angle sample update period,  
providing the velocity of the angle rotation would not on average  
require ABI transitions greater than the angle sample rate.  
The angle sample does not monotonically increase or decrease at the  
quadrature resolution, thereby “skipping” one or more quadrature  
states. In this case, the slew rate limiting logic transitions the ABI  
signals in the required valid sequence, at the slew rate, until the  
ABI output “catches up” with the angle samples, at which point the  
A
B
Q1  
Q4  
X°  
Q2  
X + 2R°  
Q4  
X°  
Q2  
Q3  
Bad AB  
Actual  
X + R°  
X – 2R°  
X – R°  
Without Slew Rate Limiꢀng  
A
B
Slew  
Time  
Q1  
Q4  
Q2  
Q4  
Q2  
Q3  
Good AB   
Q1  
Q1  
Q1  
Actual  
X + R°  
X + R°  
X°  
X°  
X + 2R°  
X°  
X°  
X – 2R°  
X – R°  
X – R°  
X+R°  
X+R°  
X– R°  
Output   
X + 2R°  
X – 2R°  
With Slew Rate Limiꢀng  
Figure 8: Slew Rate Limiting  
16  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
INDEX PULSE  
The index pulse I (or Z in some descriptions) marks the absolute zero  
(0) position of the encoder. Under rotation, this allows the receiver to  
synchronize to a known mechanical/magnetic position, and then use  
the incremental A/B signals to keep track of the absolute position. To  
support a range of ABI receivers, the ‘I’ pulse has four widths, defined  
in Figure 9.  
A
B
I/Z Mode 0  
I/Z Mode 1  
I/Z Mode 2  
I/Z Mode 3  
A=-2R  
Q3  
A=-R  
Q4  
A=0  
Q1  
A=+R  
Q2  
True Zero to 360 Disconnuity  
Figure 9: Index Pulse  
17  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
the measured mechanical angle crosses the value where a change  
Brushless DC Motor Output (UVW)  
should occur. If hysteresis is used, then the output update method  
is different. The output behavior when hysteresis is enabled is  
described in the “Angle Hysteresis” section. Figure 10 and Figure  
11 below show the UVW waveforms for three and five pole-pair  
BLDC motors.  
The AAS33001 offers U, V, and W signals for stator commutation  
of brushless DC (BLDC) motors. The device is mode-selectable  
for 1 to 16 pole-pairs. The BLDC signals (U, V, and W) are gen-  
erated based on the quantity of pole-pairs and on angle informa-  
tion from the angle sensor. The U, V, and W outputs switch when  
U
V
W
Electrical  
Angle  
0
0
120  
40  
240  
80  
0
120  
160  
240  
200  
0
120  
280  
240  
320  
0
0
Mechanical  
Angle  
120  
240  
Figure 10: U, V, W Outputs for Three Pole-Pair BLDC Motor  
U
V
W
Electrical  
Angle  
0
0
150  
30  
300  
60  
90  
90  
240  
120  
30  
180  
180  
330  
210  
120  
240  
270  
270  
60  
210  
330  
0
0
Mechanical  
Angle  
150  
300  
Figure 11: U, V, W Outputs for Five Pole-Pair BLDC Motor  
18  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Conversion from Electrical  
Degrees to Mechanical Degrees  
Quantity of Poles  
(“resolution_pairs”)  
Quantity of  
Pole-Pairs  
Electrical (°)  
Mechanical (°)  
0000  
0001  
0010  
0011  
0100  
0101  
0110  
0111  
1000  
1001  
1010  
1011  
1100  
1101  
1110  
1111  
1
2
90  
90  
90  
90  
90  
90  
90  
90  
90  
90  
90  
90  
90  
90  
90  
90  
90  
45  
3
30  
4
22.5  
18  
5
6
15  
7
12.857…  
11.25  
10  
8
9
10  
11  
12  
13  
14  
15  
16  
9
8.1818…  
7.5  
6.9231…  
6.4286…  
6
5.625  
19  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
ABI Behavior at Power-Up  
is faster. The time for catching up is at most:  
At power-up, the AAS33001 ABI interface communicates the  
current position. This means that reading the angle through the  
PWM output is not needed to find the current position when  
using the ABI interface. The behavior at start-up is the following:  
180°  
tSꢀꢁꢁꢂꢀ(MAꢃ)  
=
ꢅ AꢆIꢇsleꢈꢇtiꢉe  
with R = quadrature resolution.  
• During tPO, the state of the interface is undefined  
• After catching up, with the output angle is completed, the  
sensor will operate normally.  
• During a delay phase, the output will display a 0° angle. With  
default settings, the 0° angle is indicated by A = B = low and  
I = high.  
If “ABI_slew_time” is set to 0, there is no “catch-up” phase. The  
output will jump to the final position immediately, e.g. with A =  
high and B = low. With “ABI_slew_time” set to 0, the user can-  
not determine the position at startup from the ABI interface.  
• The interface will the “catch up” with the actual measured  
angle by moving in positive or negative direction, whichever  
tPꢀ  
tcatch-ꢅꢆ  
Normal oꢆeration  
ꢁ ms ꢂmaꢃꢄ  
VCC  
A
B
ꢇAꢈꢉꢊslewꢊtimeꢋ  
I
�me  
Figure 12: ABI Startup Behavior  
20  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
angle exits the hysteresis window in either direction. If the exit  
is in the opposite direction of rotation where the “head” was, the  
Angle Hysteresis  
Hysteresis can be applied to the compensated angle to moderate  
jitter in the angle output due to noise or mechanical vibration. In  
the AAS33001, the hysteresis field (ANG.hysteresis) defines the  
width of an angle window at 14-bit resolution. Mathematically,  
the width of this window is:  
head flips to the opposite end of the hysteresis window and that  
becomes the new reference direction. The current direction of  
rotation, or “head” for the purposes of hysteresis, is viewable via  
the STA.rot bit, where 0 is increasing angle direction and 1 is in  
decreasing angle direction.  
ANG.hysteresis × (360 / 16384) degrees  
giving a range of 0 to 1.384 degrees.  
,
This behavior has the following consequences:  
1. If the hysteresis window is greater than the output resolution,  
the output angle will skip consecutive incremental steps. If the  
hysteresis-compensated angle is selected for the ABI output,  
this would result in an integrity failure due to skipped quadra-  
ture states. To avoid this, it is recommended that the slew rate  
limiting be enabled on the ABI interface if hysteresis is used.  
The hysteresis-compensated angle can be routed to the ABI or  
UVW interface by setting the ABI.ahe bit to 1. On the SPI or Man-  
chester interface, the hysteresis-compensated angle can be read via  
an alternate register (HANG.angle_hys) at 12-bit resolution.  
The effect of the hysteresis is shown in Figure 13. The current  
angle position as measured by the sensor is at the “head” of  
the hysteresis window. As long as the sensor (electrical) angle  
advances in the same direction of rotation, the output angle will  
be the sensor angle, minimizing latency. If the sensor angle  
reverses direction, the output angle is held static until the sensor  
2. If there is jitter due to noise or mechanical vibration, especially  
at a static angle position or very slow rotation, the angle will  
tend to bias to one side of the window, depending on the direc-  
tion of rotation as the angular velocity approaches zero (i.e.,  
towards the current “head”) rather than to the average position  
of the jitter.  
Sensor angle posion  
Output angle  
Sensor angle and output angle the same  
Window of hysteresis  
Direcon of rotaon as seen by the hysteresis logic  
Hysteresis  
Rotaon  
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  
Rotaon  
2.7  
Hysteresis  
Rotaon  
2.8  
Hysteresis  
2.9  
2.9  
2.9  
2.9  
2.9  
Hysteresis  
Hysteresis  
Hystess  
Hysteresis  
Hysteresis  
Hysteresis  
Hysteresis  
Hystess  
3.0  
3.0  
3.0  
3.0  
3.0  
Rotaon  
Rotaon  
Rotaon  
Rotaon  
Rotaon  
Rotaon  
Rotaon  
Hysteresis  
Hysteresis  
2.5  
Hysteresis  
2.4  
Hysteresis  
Angle Jump  
2.3  
2.3  
2.3  
Hysteresis  
Hysteresis  
Hysteresis  
Figure 13: Effect of Hysteresis  
Note: The rotation direction resets to 0, or increasing angle direction. At power-up or after LBIST, the hysteresis window will always be behind the initial angle  
position, so if hysteresis is enabled, a decreasing angle direction of rotation will not register until the hysteresis window is past.  
21  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
DEVICE PROGRAMMING INTERFACE  
The AAS33001 can be programmed in two ways:  
tions) operate through the primary registers, whether it be via SPI  
or Manchester.  
• Using the SPI interface for input and output, while supplying  
The primary serial registers also provide a data and address loca-  
tion for accessing extended memory locations. Accessing these  
extended location is done in an indirect fashion: the controller  
writes into the primary interface to give a command to the sensor  
to access the extended locations. The read/write is executed and  
the result is again presented in the primary interface.  
the VCC pin with normal operating voltage  
• Using a Manchester protocol on the supply pin for input, and  
the PWM pin for output.  
The AAS33001 does not require special supply voltages to write  
to the EEPROM.  
All setting fields and all data fields of the sensor can be read  
and written using both protocols. If EEPROM locking is used  
(detailed in EEPROM lock section), then write access using  
either of the protocols will be prevented.  
This concept is shown in Figure 14 below.  
For writing extended locations, the primary interface offers  
extended write address, data, and control registers. Refer to the  
section “Write Transaction to EEPROM and Other Extended  
Locations” for details on their usage.  
A separate setting to completely disable the Manchester interface  
is available in the dm field of the EEPROM. Using this setting  
will cause the sensor to ignore any commands entered using  
Manchester protocol. The SPI interface will not be disabled by  
disabling the Manchester interface.  
For reading extended locations, the primary interface offers  
extended read address, data, and control registers. Refer to the  
section “Read Transaction from EEPROM and other Extended  
Locations” for details on their usage.  
Interface Structure  
EEPROM writing requires additional procedures. For more infor-  
mation on EEPROM and shadow memory read and write access,  
see “EEPROM and Shadow Memory Usage” section.  
The AAS33001 consists of two memory blocks. The primary  
serial interface registers are used for direct writes and reads  
by the host controller for frequently required information (for  
example, angle data, warning flags, field strength, and tempera-  
ture). All forms of communication (even to the extended loca-  
The primary serial interface can be accessed using the SPI and  
using the Manchester interface. These two interfaces are detailed  
in the sections below.  
Primary Serial Interface  
Extended Loca�ons  
SPI / Manchester IF  
User  
Address Func�on  
Shadow EEPROM  
Address Address  
Name  
02:03 Extended Write Address  
04:05 Extended Write Data High  
06:07 Extended Write Data Low  
08:09 Extended Write Control/Status  
0A:0B Extended Read Address  
0C:0D Extended Read Control/Status  
0E:0F Extended Read Data High  
10:11 Extended Read Data Low  
0x17  
0x18  
0x19  
0x1A  
0x1B  
...  
CU2  
PWE  
ABI  
MSK  
PWI  
...  
Write data  
0x58  
0x59  
0x5A  
0x5B  
...  
Read data  
...  
...  
...  
1E:1F Device Control (CTRL)  
20:21 Angle (ANG)  
...  
...  
...  
...  
Figure 14: Serial Registers allow access to extended memory (EEPROM and Shadow)  
22  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
TIMING  
SPI Interface  
The interface timing parameters from the specification table are  
defined in Figure 16 and Figure 17 below.  
The AAS33001 provides a full-duplex 4-pin SPI interface for  
each die, using SPI mode 3 (CPHA = 1, CPOL = 1). All program-  
ming can be done using this interface, but all programming can  
also be done using the Manchester interface.  
t
CSH  
CSx  
t
t
t
t
CHD  
CS  
SCLKL  
SCLKH  
If the SPI interface is not used, do not leave the chip select line  
floating but instead follow the recommendations in the “Typical  
SPI and ABI/UVW Applications” section.  
SCLKx  
MOSIx  
t
t
HD  
SU  
The sensor responds to commands received on the MOSI  
(Master-Out Slave-In), SCLK (Serial Clock), and CSB (Chip  
Select) pins, and outputs data on the MISO (Master-In Slave-Out)  
pin. All three input pins are 3.3 V and 5 V SPI compatible, with  
threshold values determined by factory EEPROM settings. MISO  
output voltage level will conform to 3.3 V or 5 V SPI levels,  
based on factory settings. Regular part are shipped with 3.3 V  
interface. Contact Allegro for ordering options of the 5 V variant.  
R / W  
Figure 16: SPI Interface Timings Input  
t
CSH  
CSx  
SCLKx  
MISOx  
t
t
t
t
CHD  
CS  
SCLKL  
SCLKH  
t
DAV  
The setup for communication using the SPI interface is given in  
Figure 15 below:  
DO-15  
DO-14  
DO-x  
Register Contents  
Fixed supply  
voltage, e.g. 5V  
Figure 17: SPI Interface Timings Output  
VCC  
Host  
SPI  
Sensor  
R/W commands and  
return data (SPI)  
GND  
GND  
Figure 15: Programming Connections for SPI Interface  
23  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
The purpose of the 17-bit SPI option is to allow delayed reading of  
the MISO line by the host. Some hosts allow sampling of data from  
MESSAGE FRAME SIZE  
The SPI interface requires either 16, 17, or 20-bit packet lengths.  
An extended 20-bit SPI packet allows 4 bits of CRC to accom-  
pany every data packet. A 17-bit packet is only allowed if the  
EEPROM/Shadow bit “s17” is set to 1.  
the slave not on the rising edge, but on the next falling edge of  
SCLK. This way, in case of long interface delays caused by large  
line capacitance or very long cables, the permissible clock speed  
can be increased. However, a 17th falling edge is required to read  
the 16th bit coming from the sensor. For the sensor to not display  
an error when this 17th clock is found, the bit “s17” must be set.  
CSN  
SCLK  
MISO  
WRITE CYCLE  
15  
14  
1
0
MOSI  
Write cycles consist of a 1-bit low, a 1-bit R/W (write = high), 6  
address bits (corresponding to the primary serial register), 8 data  
bits, and 4 optional CRC bits. To write a full 16-bit serial register,  
two write commands are required (even and odd byte addresses).  
MOSI bits are clocked in on the rising edge of the Master-gener-  
ated SCLK signal.  
Figure 18: 16-Bit SPI Frame  
CSN  
SCLK  
MISO  
MOSI  
15  
14  
1
0
X
READ CYCLE  
Figure 19: 17-Bit SPI Frame  
Reading data always involves at least two SPI frames. In the first  
frame, the read command is sent, while in the second frame, the  
result from the first read is received. While receiving data from  
the last read command, it is possible to send another read com-  
mand (duplexed read). This way, every frame except the first one  
contains data from the sensor. This is useful for very fast reading  
of angle information.  
CSN  
SCLK  
MISO  
MOSI  
C3  
C2  
C1  
C0  
15  
14  
1
0
Figure 20: 20-Bit SPI Frame  
When receiving the last frame, the host can transmit a command  
with MOSI set to all zeros. This represents a read command from  
register 0x00 and will not change the state of the sensor. Reading  
from register 0x00 will output the value 0x0000.  
If more clock pulses than expected were detected by the sensor in  
an SPI transaction, the interface warning “warn.ier” will activate.  
This warning will not activate on clean SPI transactions with 16  
or 20 bit, or with clean 17-bit transactions when “s17” is enabled.  
In frames where no previous read command was sent, the MISO  
data output should be ignored.  
24  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Because an SPI read command can transmit 16 data bits at one  
time, and the primary serial registers are built from one even  
and one odd byte, the entire 16-bit contents of one serial register  
may be transmitted with one SPI frame. This is accomplished by  
providing an even serial address value. If an odd value address  
is sent, only the contents of the single byte will be returned, with  
the eight most significant bits within the SPI packet set to zero.  
Example: To read all 16 bits of the error register (0x24:0x25), an  
SPI read request using address 0x24 should be sent. If only the  
8 LSBs are desired, the address 0x25 should be used. Figure 21  
shows examples of both an SPI write and an SPI read request,  
using a 16-bit SPI message frame.  
Input  
latched  
CSx  
1
2
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
16  
SCLKx  
MOSIx  
MISOx  
(A) SPI Write Example  
(duplexed read available)  
R/W  
A5  
A4  
A3  
A2  
A1  
A0  
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
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  
Register Contents (previous Read command selection, or Don’t Care)  
Input  
latched  
CSx  
1
2
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
16  
(B) SPI Read Example:  
register selection  
(duplexed read available)  
SCLKx  
MOSIx  
R/W A5  
A4  
A3  
A2  
A1  
A0  
0
0
0
0
0
0
0
0
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  
MISOx  
CSx  
Register Contents (previous Read command selection, or Don’t Care)  
1
2
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
16  
(C) SPI Read Example:  
data output from  
selected register  
SCLKx  
MOSIx  
R/W A5  
A4  
A3  
A2  
A1  
A0  
0
0
0
0
0
0
0
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  
Register Contents (previous Read command selection, or Don’t Care)  
Figure 21: SPI Read and Write Pulse Sequences  
25  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
The CRC can be calculated with the following C code:  
CRC  
/*  
If the user want to check the data coming from the sensor, it is pos-  
sible to use 20-bit SPI frames. Without additional setting required,  
a 4-bit CRC is automatically generated and placed on the MISO  
line if more than 16 bits are read from the sensor.  
* CalculateCRC  
*
* Take the 16-bit input and generate a 4-bit CRC  
* Polynomial = x^4 + x + 1  
* LFSR preset to all 1’s  
*/  
uint8_t CalculateCRC(uint16_t input)  
{
The four additional CRC bits on the MOSI line coming from  
the host are ignored by the sensor, unless the “PWI.sc” bit is set  
within EEPROM. When the incoming CRC check is enabled, an  
incoming SPI packet with an incorrect CRC will be discarded,  
and the CRC error flag set in serial register “warn.crc”.  
bool CRC0 = true;  
bool CRC1 = true;  
bool CRC2 = true;  
bool CRC3 = true;  
int i;  
The CRC is based on the polynomial x4 + x + 1 with the linear  
feedback shift register preset to all 1s. The 16-bit packet is shifted  
through from bit 15 (MSB) to bit 0 (LSB). The CRC logic is  
shown in Figure 22. Data are fed into the CRC logic with MSB  
first. Output is sent as C3-C2-C1-C0.  
bool DoInvert;  
uint16_t mask = 0x8000;  
for (i = 0; i < 16; ++i)  
{
DoInvert = ((input & mask) != 0) ^ CRC3; // XOR  
required?  
C0  
C1  
C2  
C3  
Input Data  
CRC3 = CRC2;  
CRC2 = CRC1;  
CRC1 = CRC0 ^ DoInvert;  
CRC0 = DoInvert;  
mask >>= 1;  
Figure 22: SPI CRC  
The CRC output by the sensor on the MISO pin will always be  
calculated correctly. The CRC from the host on the MOSI pin  
must be correct if the CRC enable bit PWI.sc in the EEPROM  
was set.  
}
return (CRC3 ? 8U : 0U) + (CRC2 ? 4U : 0U) + (CRC1 ? 2U  
: 0U) + (CRC0 ? 1U : 0U);  
}
Note: If the ERD (extended read data) register is read before the  
“ERCS.ERD” bit indicates a read has completed, there is a pos-  
sibility of a CRC error, as the data could change during the read.  
Do not read the ERD register until it is known to be stable based  
on the done bit indication or waiting sufficient time.  
This code can be tested at http://codepad.org/jPPW1CQ4.  
26  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
The master can freely choose any supported Manchester commu-  
nication frequency for each transaction. The sensor will recognize  
the transaction speed used by the master and send the response at  
the same data rate.  
Manchester Interface  
To facilitate addressable device programming when using the  
unidirectional PWM output mode with no need for additional  
wiring, the AAS33001 incorporates a serial interface on the VCC  
line. All programming can be done using this interface, but all  
programming can also be done using the SPI interface.  
As Manchester commands are sent on the supply line, the speed  
is usually limited by capacitances on the supply line. A reduction  
of the bit rate, or using a stronger line driver, can help to ensure  
stable communication.  
This interface allows an external controller to read and write  
registers in the AAS33001 EEPROM and volatile memory. The  
device uses a point-to-point communication protocol, based on  
Manchester encoding per G.E. Thomas (a rising edge indicates a  
0 and a falling edge indicates a 1), with address and data transmit-  
ted MSB first. The addressable Manchester code implementation  
uses the logic states of the CSN/MOSI pins to set address values  
for each die. In this way, individual communication with up to four  
AAS33001 dies is possible. Using a broadcast Manchester com-  
mand, any die receiving the command will respond. To prevent any  
undesired programming of the AAS33001, the serial interface can  
be disabled by setting the Disable Manchester bit, “PWI.dm”, to  
1. With this bit set, the sensor will ignore any Manchester input on  
VCC.  
If a correct read command was sent, the sensor responds to the  
master using the open-drain output on the PWM line. The high  
level will be determined by the PWM pull-up (usually 3.3 V or  
5 V), and the low level will be close to GND. The PWM uses an  
open drain output, setting the logic levels to GND and logic level  
high (see Figure 23). A sufficient pull-up resistor (e.g. 4.7 kΩ)  
must be used to pull the line to a maximum logic high level VIN.  
ENTERING MANCHESTER COMMUNICATION MODE  
Provided the Disable Manchester bit is not set in EEPROM, the  
AAS33001 continuously monitors the VCC line for valid Man-  
chester commands. The part takes no action until a valid Man-  
chester Access Code is received.  
The setup for communication using the Manchester interface is  
given in Figure 23.  
There are two special Manchester code commands used to  
activate or deactivate the serial interface and specify the output  
format used during Read operations:  
R/W commands  
(Manchester code)  
1. Manchester Access Code: Enters Manchester Communication  
Mode; Manchester code output on the PWM pin. See further  
paragraphs for example.  
to logic high supply  
VCC  
Host  
GND  
MOSI  
CS  
Set to logic high  
or to GND to  
choose target ID#  
PWM  
2. Manchester Exit Code; returns the PWM pin to normal opera-  
tion. See further paragraphs for example.  
Sensor  
Return data  
(Manchester code)  
Once the Manchester Communication Mode is entered, the PWM  
output pin will cease to provide angle data, interrupting any data  
transmission in progress.  
GND  
Figure 23: Manchester Interface Programming Setup  
CONCEPT OF MANCHESTER COMMUNICATION  
TRANSACTION TYPES  
The AAS33001 receives all commands via the VCC pin, and  
responds to Read commands via the PWM pin. This implementa-  
tion of Manchester encoding requires the communication pulses  
be within a high (VMAN(H)) and low (VMAN(L)) range of voltages  
on the VCC line. Each transaction is initiated by a command from  
the controller; the sensor does not initiate any transactions. Two  
commands are recognized by the AAS33001: Write and Read.  
The Manchester interface allows programming and readout with  
a minimal number of pins involved. This is beneficial for sen-  
sor subassemblies connected to wiring harnesses, because less  
connections are needed. The supply level is typically modulated  
between 5 and 8 volts (VMAN(H) and VMAN(L)) to produce a “low”  
and “high” signal. In the absence of a clock signal, Manchester  
encoding is used, allowing the sensor to determine the bit rate  
that the host is using.  
27  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
When the AAS33001 is operating in PWM mode, the Die ID  
value is determined by the state of the CSN and MOSI pins, as  
detailed in Table 6:  
CONTROLLER MANCHESTER MESSAGE STRUCTURE  
The general format of a command message frame is shown in  
Figure 24. Note that, in the Manchester coding used, a bit value  
of 1 is indicated by a falling edge within the bit boundary, and  
a bit value of zero is indicated by a rising edge within the bit  
boundary.  
Table 6: Pin Values  
MOSI  
CS  
0
ID Value  
ID0  
0
0
1
1
1
ID1  
0
ID2  
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.  
Example: If Target ID = [1 0 1 0], all die with ID3 or ID1 will be  
selected. If Target ID is set to [0 0 0 0], then no ID comparison  
will be made, allowing all sensors to be addressed at once. In  
case of PWM line sharing for Manchester communication, read-  
ing must be done one die at a time.  
Figure 24: Manchester Message Format  
A brief description of the bit fields is provided in Table 5:  
Table 5: Manchester Message Bit Fields  
Bits  
Parameter Name  
Synchronization  
Read/Write  
Description  
Value '00' sent to identify a command  
start and to synchronise sensor clock  
2
1
0 = write, 1 = read  
Select the target ID for this transaction.  
[ID3 ID2 ID1 ID0] are each adressed /  
ignored by a 1 / 0 at their address, so  
that a write to [0011] will write to ID0  
and ID1.  
4
Target ID  
Reading from several sensors at the  
same time will result in corrupted  
outputs if the output pins are tied  
together.  
Writing to [0000] is a broadcast write; it  
is written to all sensor dies.  
6
16  
3
Address  
Data  
Serial address for read/write  
Only for writes: 16 bit write data. Omit  
for read commands  
CRC  
3-bit CRC, needed for all commands  
28  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
In addition to the contents of the requested memory location, a  
Return Status field is included with every Read Response. This field  
provides the ID used to communicate with the part and any errors  
which may have occurred during the transaction. These bits are:  
SENSOR MANCHESTER MESSAGE STRUCTURE  
If a read command with the desired register number was sent  
from the controller to the sensor, the device responds with a Read  
Response frame using the Manchester protocol over the PWM  
output.  
• ID – ID (CSN/MOSI) unless BC = 1 (ID will be 00)  
• BC – Broadcast; ID field was zero or SPI mode active  
• AE – Abort Error; edge detection failure after sync detect  
The following command messages can be exchanged between the  
device and the external controller:  
• Manchester Access Code (host to sensor)  
• Manchester Exit Code (host to sensor)  
• Manchester Write Command (host to sensor)  
• Manchester Read Command (host to sensor)  
• Manchester Read Response (sensor to host)  
• OR– Overrun Error; A new Manchester command has been  
received before the previous request could be completed  
• CS – Checksum error; a prior command had a checksum error  
For EEPROM address information, refer to the EEPROM  
structure section. For serial address locations, refer to the serial  
register map.  
MANCHESTER ACCESS CODE  
Table 7: Manchester Access Code  
The Manchester Access Code has to be sent before other Man-  
chester commands.  
Bits  
2
Parameter Name  
Synchronization  
Read/Write  
Description  
‘00’  
‘0’  
1
The Manchester Access Code always operates as a broadcast  
pulse, meaning the sensor will not look at the Target ID field. For  
example, if two sensors configured with ID0 and ID1 respec-  
tively are sharing a common VCC line, a Manchester Access  
Code with a Target ID value of [0 0 1 0] results in both sensors  
entering Manchester Serial Communication mode.  
4
Target ID  
‘0000’ (this command will always be a  
broadcast, even if it is addressed)  
6
16  
3
Address  
Data  
‘111111’ (fixed number for Manchester  
access message)  
0x62D2 (fixed number for Manchester  
access message)  
CRC  
3-bit CRC  
An example is given below, with target ID = [0 0 0 1], data =  
access code = 0x62D2, and CRC = ‘110’.  
0x62  
0xD2  
0
0
0
0
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
1
0
1
1
0
1
0
0
1
0
1
1
0
Figure 25: Target ID = [0 0 0 1], Data = Access code = 0x62D2, CRC = ‘110’ 4.3.5.2  
29  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
MANCHESTER EXIT CODE  
Table 8: Manchester Exit Code  
The Manchester Exit Code can be sent after Manchester access  
is complete in order to avoid accidental decoding of Manchester  
commands.  
Bits  
2
Parameter Name  
Synchronization  
Read/Write  
Description  
‘00’  
‘0’  
1
The Manchester Exit Code always operates as a broadcast pulse,  
meaning the sensor will not look at the Target ID field. For exam-  
ple, if two sensors configured with ID0 and ID1 respectively are  
sharing a common VCC line, a Manchester Access Code with a  
Target ID value of [0 0 1 0] results in both sensors exiting Man-  
chester Serial Communication mode.  
4
Target ID  
‘0000’ (this command will always be a  
broadcast, even if it is addressed)  
6
16  
3
Address  
Data  
‘111111’ (fixed number for Manchester  
exit message)  
0x0000 (any value except 0x62D2 can  
be used for Manchester exit message)  
CRC  
3-bit CRC  
An example is given below, with target ID = [0 0 0 1], data =  
0x0000, and CRC = ‘110’.  
0x00  
0x00  
0
0
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
Figure 26: Target ID = [0 0 0 1], Data = 0x0000, CRC = ‘110’  
MANCHESTER READ COMMAND  
Determines the serial address within the sensor from which the  
next Read Response will transmit data. The sensor must first  
receive a Manchester Access Code before responding to a read  
command.  
An example is given below where register 0x20 “angle” is read  
from target ID [0 0 0 1] with CRC = ‘111’. The two sync pulses  
from the Read Response on the PWM return line are also shown.  
0x20  
This command is sent by the controller.  
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
Table 9: Manchester Read Command  
0
0
Bits  
2
Parameter Name  
Synchronization  
Read/Write  
Description  
‘00’  
‘1’  
Figure 27: Target ID = [0 0 0 1], “angle” = 0x20, CRC = ‘111’  
1
4
Target ID  
Depends on targeted sensor ID, e.g. to  
target ID0, use ‘0001’  
6
3
Address  
CRC  
Serial Register Address, e.g. 0x10 for  
“read_data_lo”, or 0x20 for “angle”  
3-bit CRC  
30  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Read from an even address returns even byte [15:8] and odd byte  
[7:0].  
MANCHESTER READ RESPONSE  
The read response transmits data from the sensor to the control-  
ler after a read command. These data are sent by the sensor on the  
open-drain PWM pin. A pull-up resistor is needed for this to work.  
Read from an odd address returns odd byte [7:0] only. Data bits  
[15:8] will be zeroes.  
Table 10: Manchester Read Response  
Bits  
2
Parameter Name  
Synchronization  
ID  
Description  
‘00’  
2
Target ID of the responding sensor die. ‘00’ for ID0, ‘01’ for ID1, ‘10’ for ID2, ‘11’ for ID3.  
1
BC flag  
“Broadcast”: Value set to ‘1’ if read command was a broadcast command (Target-ID set to [0 0 0  
0]), ‘0’ if not.  
1
1
AE flag  
OR flag  
“Abort error”: Value set to ‘1’ if a previous transaction was aborted and discarded, typically caused  
by incorrect bit lengths, ‘0’ is there was no problem. The error is stored until it can be transmitted  
on the next read response, and is cleared afterwards.  
“Overrun error”: If a command is sent to the sensor while the sensor is still sending a read  
response, and this command is completely transmitted before the read response was finished, and  
overrun error has occurred. This error is then stored until it can be transmitted on the next read  
response, and is cleared afterwards.  
1
CS flag  
“CRC error”: Value set to ‘1’ if a previous transaction had an incorrect CRC, ‘0’ means there was no  
problem. The error is stored until it can be transmitted on the next read response, and is cleared  
afterwards.  
16  
3
data  
Read from an Even address: even byte [15:8] and odd byte [7:0].  
Read from an Odd address: odd byte [7:0] only. Data bits [15:8] will be zeroes.  
CRC  
3-bit CRC.  
An example is given below where register 0x20 “angle” is read,  
and the response is ID ‘00’ (ID0), the four flags are all zeroes (no  
errors), the data is “0x5C34”, and the CRC is ‘100’.  
0x20  
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
1
0x5C  
0x34  
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
0
1
0 0  
Figure 28: ID = ‘00’, error flag = ‘0000’, Data = 0x5C34, CRC = ‘100’  
MANCHESTER READ RESPONSE DELAY  
The Manchester Read Reponse starts at the end of the Read  
Command. The response may start a ¼ bit time before the CRC  
is finished transmitting (overlap with last CRC bit) or ¼ after the  
CRC finished transmitting.  
31  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
The 3-bit Manchester CRC can be calculated using the following  
C code:  
CRC  
The serial Manchester interface uses a cyclic redundancy check  
(CRC) for data-bit error checking of all the bits coming after  
the two synchronization bits. The synchronization bits are not  
included in the CRC. The CRC algorithm is based on the polyno-  
mial:  
// command: the manchester command, right justified, does not  
include the space for the CRC  
// numberOfBits: number of bits in the command not including  
the 2 zero sync bits at the start of the command and the three  
CRC bits  
// Returns: The three bit CRC  
// This code can be tested at http://codepad.org/yqTKnfmD  
g(x) = x3 + x + 1.  
The calculation is represented graphically in Figure 29. The trail-  
ing 3 bits of a message frame comprise the CRC token. The CRC  
is initialized at 111. Data are fed into the CRC logic with MSB  
first. Output is sent as C2-C1-C0.  
uint16_t ManchesterCRC(uint64_t data, uint16_t numberOfBits)  
{
bool C0 = false;  
bool C1 = false;  
bool C2 = false;  
bool C0p = true;  
bool C1p = true;  
bool C2p = true;  
uint64_t bitMask = 1;  
C0  
C1  
C2  
Input Data  
bitMask <<= numberOfBits - 1;  
1 × x0  
1 × x1  
1 × x2  
1 × x3 = x3 × x × 1  
// Calculate the state machine  
for (; bitMask != 0; bitMask >>= 1)  
{
Figure 29: Manchester CRC Calculation  
C2 = C1p;  
C0 = C2p ^ ((data & bitMask) != 0);  
C1 = C0 ^ C0p;  
C0p = C0;  
C1p = C1;  
C2p = C2;  
}
return (C2 ? 4U : 0U) + (C1 ? 2U : 0U) + (C0 ? 1U : 0U);  
}
32  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
EEPROM AND SHADOW MEMORY USAGE  
The device uses EEPROM to permanently store configuration  
parameters for operation. EEPROM is user-programmable and  
permanently stores operation parameter values or customer  
information. The operation parameters are downloaded to shadow  
(volatile) memory at power-up. Shadow fields are initially loaded  
from corresponding fields in EEPROM, but can be overwritten,  
either by performing an extended write to the shadow addresses,  
or by reprogramming the corresponding EEPROM fields and  
power cycling the IC. Use of Shadow Memory is substantially  
faster than accessing EEPROM. In situations where many  
parameter need to be tested quickly, shadow memory is recom-  
mended for trying parameter values before permanently program-  
ming them into EEPROM. The shadow memory registers have  
the same format as the EEPROM and are accessed at extended  
addresses 0x40 higher than the equivalent EEPROM address.  
Unused bits in the EEPROM do not exist in the related shadow  
register, and will return 0 when read. Shadow registers do not  
contain the ECC bits. Shadow registers have the same protection  
restrictions as the EEPROM. All registers can be read without  
unlocking. The mapping of bits from registers addresses in  
EEPROM to their corresponding register addresses in SHADOW  
is shown in the EEPROM table (See “EEPROM table” section).  
EEPROM Write Lock  
It is possible to protect the EEPROM against accidental writes.  
• Setting the EEPROM field “lock” to value 0xC (‘1100’ binary)  
will block any writes to the EEPROM, so that permanent  
changes are not possible anymore. Temporary changes to the  
setting are still possible by writing to the shadow memory, but  
these changes are lost after a power cycle.  
This lock is permanent and cannot be reversed. Reading of the  
settings is still possible.  
• Setting the EEPROM field “lock” to value 0x3 (‘0011’ binary)  
will lock EEPROM writes AND shadow memory writes. This  
means none of the sensor settings can be changed anymore.  
This lock is permanent and cannot be reversed. Reading of the  
settings is still possible.  
Enabling EEPROM Access  
To enable EEPROM write access after power-on-reset, a unlock  
code needs to be written to the serial register “keycode”. This  
involves five write commands, which should be executed after  
each other:  
Write 0x00 to register 0x3C[15:8]  
Write 0x27 to register 0x3C[15:8]  
Write 0x81 to register 0x3C[15:8]  
Write 0x1F to register 0x3C[15:8]  
Write 0x77 to register 0x3C[15:8]  
This needs to be done once after power-on reset if the customer  
intends to write to the EEPROM.  
Writing to serial registers and reading from serial registers does  
not require anything special after power-on.  
Reading all EEPROM cells is always possible.  
33  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
This is controlled using the EEPROM fields “cud” (customer  
EEPROM Access Exceptions and Write Lock  
Exceptions  
uses disables), “del” (disable EEPROM lock) and “dur” (disable  
unlock requirement). By default, the fields “cud”, “del” and “dur”  
are all set to zero.  
It is possible to allow writes to the fields “cust” and “cust2”  
without having to enable EEPROM access, and even when the  
EEPROM write lock is enabled (“lock” = 0xC or “lock” = 0x3).  
Table 11 shows how these settings control EEPROM access to  
different fields:  
Table 11: EEPROM access exceptions for field “customer” and “customer2”  
Writes to Customer2  
Writes to Customer  
(0x1F) possible…  
Writes to all other  
EEPROM possible…  
“cud” setting  
“dur setting  
“del” setting  
“lock” setting  
(0x17) possible…  
after keycode  
always  
0
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0/1  
0/1  
0
0x0  
after keycode  
after keycode  
never  
after keycode  
after keycode  
never  
0x0  
0xC/0x3  
0xC/0x3  
0xC/0x3  
0xC/0x3  
0x0  
never  
1
after keycode  
never  
never  
never  
0
never  
never  
1
always  
never  
never  
0/1  
0/1  
0
after keycode  
always  
after keycode  
always  
after keycode  
after keycode  
never  
0x0  
0xC/0x3  
0xC/0x3  
0xC/0x3  
0xC/0x3  
never  
never  
1
after keycode  
never  
after keycode  
never  
never  
0
never  
1
always  
always  
never  
The 32-bit of data in “ewd” are then written to the address speci-  
fied in “ewa”.  
Write Transaction to EEPROM and Other  
Extended Locations  
The bit “ewcs.wdn” can be polled to determine when the write  
completes. This is only necessary for EEPROM writes, which can  
take up to 24 ms to complete. Shadow register writes complete  
immediately in one system clock cycle after synchronization.  
Invoking an extended write access is a three-step process:  
1. Write the extended address into the “ewa” register (using  
SPI or Manchester direct access). “ewa” is the 8-bit extended  
address that determines which extended memory address will  
be accessed.  
2. Write the data that is to be transferred into the “ewd” regis-  
ters (using SPI or Manchester direct access). This will take  
four SPI writes or 2 Manchester packets to load all 32 bits of  
data.  
3. Invoke the extended access by writing the direct “ewcs.exw”  
bit with ‘1’.  
34  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
For example, to write location 0x1F in the EEPROM with 0x00A45678:  
• Write 0x1F to lower 8 bits of EWA register (0x1F to EWA+1 Address 0x03)  
0x43  
0x1F  
• Write 0x00A45678 to EWD (0x00 to EWD, 0xA4 to EWD+1, 0x56 to EWD+2, 0x78 to EWD+3)  
0x44  
0x00  
0x45  
0xA4  
0x46  
0x56  
0x47  
0x78  
• Write 0x80 to EWCS  
0x48  
0x80  
• Read EWCS+1 until bit 0 (“wdn”) is set, or wait enough time.  
In the example, register 0x08 is read, so that the second output byte is from register 0x09, and we wait for bit 0 to become ‘1’, which  
happens in the last read.  
0x00  
0x00  
0x08  
0x00  
0x00  
0x01  
0x08  
0x00  
0x00  
0x00  
0x00  
0x01  
0x00  
0x00  
0x00  
0x00  
0x08  
0x00  
0x00  
0x00  
0x00  
0x00  
0x00  
0x01  
If an access violation occurs (address not unlocked), the transaction will be terminated and the corresponding “rdn” or “wdn” bit set,  
and the “xee” warning bit will assert. The “xee” bit in the “err” register will also set if the EEPROM write aborts.  
35  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
In the figure below, V  
NOM(H) represents the nominal voltage  
After writing to the EEPROM, verify that the write was success-  
ful by performing an EEPROM margin check.  
programmed into EEPROM cells containing a ‘1’, and VNOM(L)  
represents the nominal voltage programmed into EEPROM cells  
containing a ‘0’. The red and blue lines represent the actual volt-  
age levels in the programmed cells for ‘1’ and ‘0’ values respec-  
tively. As can be seen, at time 0 when the margin test is run, both  
high and low levels still appear to be the correct value when the  
threshold is moved to the margin testing levels.  
EEPROM Margin Check  
Due to nonidealities in transistors, current will slowly leak into  
or out of EEPROM cells and can, over time, cause small changes  
in the stored voltage level. Variances in voltage levels of the  
charge pump can result in a variety of stored EEPROM cell  
voltages when programming. If this value is marginally close to  
the threshold, the small drift over lifetime can cause this value to  
move across the threshold. This results in a corrupted EEPROM  
value. Since this drift happens slowly over time, if there is an  
issue, it may not appear for years. For this reason, it is important  
to perform margin testing (margining) to verify the internal volt-  
age levels of EEPROM cells after programming, and ensure there  
will be no issue in the future.  
EEP voltage  
VNOM(H)  
Margin Test [H]  
VTHRESH  
Margining is performed by Allegro on all registers at final test.  
Since EEPROM cell voltages are only modified when writing to  
the cell, it is not necessary to perform margining on registers that  
have not been modified.  
Margin Test [L]  
VNOM(L)  
Margining is performed in two steps: the first checks the validity  
of the voltage stored on digital ‘1’ cells, and the second checks  
the voltage stored on digital ‘0’ cells. It is important to perform  
both steps to ensure there are no issues.  
�me  
Figure 30: Example of passing programming voltages  
In the figure below, the high and low voltage levels at the time  
of programming are further from their target. The drift over time  
results in these value crossing VTHRESH, and becoming corrupted.  
At time 0 when the margin test is run, these values fail, and  
would be reported as errors to be reprogrammed.  
In order to perform margining, a value of ‘0b0001’ must be writ-  
ten to the SPECIAL field of the CTRL register. This reduces the  
internal threshold value. Once this value is written, an EEPROM  
read will use this lower threshold when reading EEPROM values.  
Perform a read on all EEPROM registers that are being tested,  
and confirm they read correctly. If a stored voltage is marginal  
to the normal operating threshold, it will appear as a ‘1’ when it  
should be a ‘0’.  
EEP voltage  
VNOM(H)  
Repeat this test with the value of ‘0b0010’ in the SPECIAL reg-  
ister to raise the threshold value above normal operation. Again,  
read all EEPROM registers being tested. In this test, any stored  
high voltage that is marginal to the normal threshold will appear  
as a ‘0’ when they should be ‘1’.  
Margin Test [H]  
VTHRESH  
Margin Test [L]  
If during either test, a bit is read incorrectly, simply perform  
another EEPROM write of the desired values to the register, and  
retest the margins.  
VNOM(L)  
Unlike other values in the SPECIAL field, these values will  
persist and can be read to confirm the write was successful. As a  
result, the SPECIAL register must be cleared (or power cycled) to  
return the threshold value to its normal level.  
�me  
Figure 31: Example of failing programming voltages  
36  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Margining is shown below as a list of high level steps. For details  
on performing individual steps, see the associated sections.  
1. Clear the ERR and WARN registers.  
2. Write new data to EEPROM as desired.  
3. Check the following flags for communication errors: ESE,  
EUE, XEE, IER, CRC, BSY.  
4. Set CTRL.special to ‘0001’ and confirm by writing 0xA5 to  
CTRL.initiate_special.  
5. Check the following flags for communication errors: ESE,  
EUE, XEE, IER, CRC, BSY.  
6. Read all EEPROM registers changed in step 1 and verify  
their contents.  
7. Set CTRL.special to ‘0010’ and confirm by writing 0xA5 to  
CTRL.initiate_special.  
8. Check the following flags for communication errors: ESE,  
EUE, XEE, IER, CRC, BSY.  
9. Read all EEPROM registers changed in step 1 and verify  
their contents.  
10. If any values read in steps 3/5 are not what was set in step 1,  
repeat steps 1-6 for erroneous registers.  
11. Set CTRL.special to ‘0000’, or power cycle the part.  
37  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
EEPROM read accesses may take up to 2 µs to complete. The  
Read Transaction from EEPROM and other  
Extended Locations  
“ercs.rdn” bit can be polled to determine if the read access is  
complete before reading the data. Shadow register reads complete  
in one system clock cycle after synchronization. Do not attempt  
to read the “erd” registers if the read access is potentially in  
process, as it could change during the serial access and the data  
will be inconsistent. It is also possible that an SPI CRC error will  
be detected if the data changes during the serial read via the SPI  
interface.  
Extended access is provided to additional memory space via the  
direct registers. This access includes the EEPROM and EEPROM  
shadow registers. All extended registers are up to 32 bits wide.  
Invoking an extended read access is a three-step process:  
1. Write the extended address to be read into the “era” register  
(using SPI or Manchester direct access). “era” is the 8-bit  
extended address that determines which extended memory  
address will be accessed.  
2. Invoke the extended access by writing the direct “ercs.ext”  
bit with ‘1’. The address specified in “era” is then read, and  
the data is loaded into the “erd” registers.  
3. Read the “erd” registers (using SPI or Manchester direct ac-  
cess) to get the extended data. This will take multiple packets  
to get all 32 bits.  
38  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
For example, to read location 0x1F in the EEPROM:  
• Write 0x1F to lower 8 bits of “era” (0x1F to “era+1”, Address 0x0B)  
0x4B  
0x1F  
• Write 0x80 to “ercs”  
0x4C  
0x80  
• Read “ercs”+1 until bit 0 (“rdn”) is set, or wait enough time.  
In the example, register 0x0C is read, so that the last bit of the second output byte contains the “rdn” bit.  
0x0C  
0x52  
0x00  
0x7B  
0x00  
0x00  
0x00  
0x01  
• Read “erdh” (upper 16 bits of read data)  
• Read “erdl” (lower 16 bits of read data)  
In the example below, the result for the data at address 0x1F is 0x58A45678. In this value,  
Bit [31:26] are the EEPROM CRC  
Bit [25:24] are unused and zero  
Bit [23:0] are the EEPROM values that can be used. These are the 24 bits containing the information 0xA45678 that was written  
in the EEPROM write example.  
0x00  
0xA4  
0x10  
0x00  
0x00  
0x56  
0x0E  
0x00  
0x00  
0x00  
0x00  
0x58  
0x00  
0x00  
0x00  
0x78  
Note that it would have been possible to pipeline transactions in this example, i.e. send a new command while reading return data from  
the old command. This way the transaction could have been performed in 5 SPI frames instead of 8.  
39  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Shadow Memory Read and Write Transactions  
Shadow memory Read and Write transactions are identical to  
those for EEPROM. Instead of addressing to the EEPROM  
extended address, one must address to the Shadow Extended  
addresses, which are located at an offset of 0x40 above the  
EEPROM. Refer to the EEPROM table for all addresses.  
40  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
SERIAL INTERFACE TABLE  
Table 12: Primary Serial Interface Registers Bits Map  
Addressed Byte (MSB)  
Addressed Byte + 1 (MSB)  
Address* Register Read/  
LSB  
(0x00) Symbol Write  
Address  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
0x02  
0x04  
0x06  
0x08  
0x0A  
0x0C  
0x0E  
0x10  
ewa  
ewdh  
ewdl  
RW  
RW  
RW  
0
0
0
0
0
0
0
0
write_adr  
0x03  
0x05  
0x07  
0x09  
0x0B  
0x0D  
0x0F  
0x11  
write_data_hi  
write_data_lo  
ewcs WO/RO exw  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
wip  
0
0
0
0
0
0
0
0
0
0
0
0
wdn  
rdn  
era  
ercs  
erdh  
erdl  
RW  
WO/RO  
RO  
0
read_adr  
exr  
rip  
0
0
0
read_data_hi  
read_data_lo  
RO  
0x12  
0x14  
0x16  
0x18  
0x1A  
0x1C  
0x13  
0x15  
0x17  
0x19  
0x1B  
0x1D  
Unused  
RO  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0x1E  
0x20  
0x22  
0x24  
0x26  
0x28  
0x2A  
0x2C  
0x2E  
0x30  
0x32  
0x34  
0x36  
0x38  
0x3A  
0x3C  
0x3E  
ctrl  
RW/WO  
RO  
special  
cls  
clw  
cle  
initiate_special  
0x1F  
0x21  
0x23  
0x25  
0x27  
0x29  
0x2B  
0x2D  
0x2F  
0x31  
0x33  
0x35  
0x37  
0x39  
0x3B  
0x3D  
0x3F  
ang  
0
1
1
1
0
0
0
0
0
0
0
0
0
0
ef  
0
uv  
0
p
0
0
1
0
0
0
0
p
angle  
sta  
RO  
0
war  
ier  
0
0
stf  
crc  
0
dieid  
rot  
plk  
xee  
0
0
zie  
tr  
sdn  
eue  
ese  
0
bdn  
ofe  
sat  
0
lbr  
uvd  
0
cstr  
uva  
bsy  
0
bip  
msl  
msh  
0
aok  
rst  
0
err  
RO  
0
1
avg  
0
abi  
srw  
0
warn  
RO  
0
1
Unused  
Unused  
Unused  
Unused  
hang  
RO  
0
0
0
0
0
0
RO  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
RO  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
RO  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
RO  
ef  
uv  
angle_hys  
ang15  
zang  
RO  
angle_15  
RO  
ef  
0
uv  
0
p
0
0
0
angle_zcd  
Unused  
Unused  
Unused  
key  
RO  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
RO  
0
0
RO  
0
0
0
WO/RO  
RO  
keycode  
cul  
0
Unused  
0
0
0
0
0
0
0
0
*Addresses that span multiple bytes are addressed by the most significant byte.  
41  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
PRIMARY SERIAL INTERFACE REGISTERS REFERENCE  
Location 0x02:0x03 (“ewa”)  
Location 0x0A:0x0B (“era”)  
ewa.write_adr  
era.read_adr  
The field “write_adr” is a bit field located at address 0x02[7:0].  
This bit field is part of the location “ewa”.  
The field “read_adr” is a bit field located at address 0x0A[7:0].  
This bit field is part of the location “era”.  
8-bit address for extended writes. Writes require unlock.  
8-bit address for extended reads.  
0x00-0x1F: EEPROM (takes about 24 ms)  
0x40-0x5F: Shadow  
0x00-0x1F: EEPROM (takes about 2 µs)  
0x40-0x5F: Shadow  
NOTE: After LBIST or a reload of EEPROM values, this value of  
read_adr will be changed.  
Location 0x04:0x05 (“ewdh”)  
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 done when ‘1’, clears when “exr” 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 ‘1’.  
Location 0x08:0x09 (“ewcs”)  
ercs.exr  
ewcs.wdn  
The field “exr” is a bit located at address 0x0C[15]. This bit is  
part of the location “ercs”.  
The field “wdn” is a bit located at address 0x08[0]. This bit is  
part of the location “ewcs”.  
Initiate extended read by writing with ‘1’. Set “rip” and clears  
“rdn”. Write-only, always reads back 0.  
Write done when wdn = ‘1’; wdn clears when exw is set to ‘1’.  
Location 0x0E:0x0F (“erdh”)  
ewcs.wip  
The field “wip” is a bit located at address 0x08[8]. This bit is part  
of the location “ewcs”.  
erdh.read_data_hi  
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  
RDN set to ‘1’.  
ewcs.exw  
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’. Set “wip” and clears  
“wdn”. Write-only, always reads back 0.  
42  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
ctrl.special  
Location 0x10:0x11 (“erdl”)  
The field “special” is a bit field located at address 0x1E[15:12].  
This bit field is part of the location “ctrl”.  
erdl.read_data_lo  
The field “read_data_lo” is a bit field located at address  
0x10[15:0]. This bit field is part of the location “erdl”.  
Special actions. Some of the actions will only be invoked after  
the “initiate_special” field is written with the correct value. This  
field will return 0x00 on completion. Self-tests may be run in  
parallel.  
Lower 16 bits of data from extended read operation, valid when  
RDN set to ‘1’.  
0000 - No action.  
Location 0x1E:0x1F (“ctrl”)  
0001 - Enable EEPROM low voltage margining.  
0010 - Enable EEPROM high voltage margining.  
0101 - Reload EEPROM. Requires unlock of part. Starts after  
writing 0xA5 to “initiate_special”.  
0111 - Hard reset. Requires unlock of part. Starts after writing  
0x5A to “initiate_special”.  
1001 - Run CVH self-test. Starts after writing 0xB9 to “initi-  
ate_special”.  
1010 - Run logic BIST. Starts after writing 0xB9 to “initi-  
ate_special”.  
ctrl.initiate_special  
The field “initiate_special” is a bit field located at address  
0x1E[7:0]. This bit field is part of the location “ctrl”.  
For certain actions from “special” bit field, a code must be set to  
“initiate special”. These are to be written into this bit field.  
0xB9 initiates CVH self-test or functional BIST.  
0xA5 initiates EEPROM margin or EEPROM reload.  
0x5A initiates hard reset.  
1011 - Run CVH self-test and logic-BIST in parallel. Starts  
after writing 0xB9 to “initiate_special”.  
Read always returns 0x00.  
Location 0x20:0x21 (“ang”)  
ctrl.cle  
The field “cle” is a bit located at address 0x1E[8]. This bit is part  
of the location “ctrl”.  
ang.angle  
The field “angle” is a bit field located at address 0x20[11:0]. This  
bit field is part of the location “ang”.  
Clear error register “err” when written with ‘1’. Clears bits that  
were previously read from the “err”. Bits that were not yet read  
will not be cleared, so the user needs to read ERR first. Write-  
only, always returns 0.  
Angle from PLL after processing. Angle in degrees = unsigned  
12-bit value × (360 / 4096).  
ang.p  
ctrl.clw  
The field “p” is a bit located at address 0x20[12]. This bit is part  
of the location “ang”.  
The field “clw” is a bit located at address 0x1E[9]. This bit is part  
of the location “ctrl”.  
Odd parity computed across all bits of this register. Value is cho-  
sen in such a way that there should always be an odd number of  
1’s in the 16-bit word.  
Clear warning (WARN) register when set to ‘1’. Clears bits that  
were previously read from the WARN, so need to read WARN  
first. Write-only, always returns 0.  
ang.uv  
ctrl.cls  
The field “uv” is a bit located at address 0x20[13]. This bit is part  
of the location “ang”.  
The field “cls” is a bit located at address 0x1E[10]. This bit is  
part of the location “ctrl”.  
Undervoltage flag (real time). OR of “uva” and “uvd” undervolt-  
age flags. Conditions are realtime, but are masked by the Shadow  
mask bits.  
Clear bits “sdn” and “bdn” from “status” register when set to ‘1’.  
Write-only, returns 0 when read.  
43  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
ang.ef  
sta.rot  
The field “ef” is a bit located at address 0x20[14]. This bit is part  
of the location “ang”.  
The field “rot” is a bit located at address 0x22[7]. This bit is part  
of the location “sta”.  
Error flag – will be ‘1’ if any unmasked bit in ERR or WARN is  
set.  
Rotation direction based on hysteresis  
(‘0’ = increasing angle, ‘1’ = decreasing angle).  
Location 0x22:0x23 (“sta”)  
sta.dieid  
The field “dieid” is a bit field located at address 0x22[9:8]. This  
bit field is part of the location “sta”.  
sta.aok  
The field “aok” is a bit located at address 0x22[0]. This bit is part  
of the location “sta”.  
DIE ID from EEPROM (for multi-die packages).  
Angle output OK. PLL is in lock  
Location 0x24:0x25 (“err”)  
This is the error register. All errors are latched, meaning they will  
remain high after they occurred just once. Errors need to be read  
and then cleared in order to remove them. It is important that the  
user clears errors, so that subsequent errors become visible. This  
is especially important for the “rst” error flag (reset), which is  
always enabled after power on. Not removing it means that an  
unexpected reset cannot be discovered afterwards.  
sta.bip  
The field “bip” is a bit located at address 0x22[1]. This bit is part  
of the location “sta”.  
Boot in progress.  
sta.cstr  
The field “cstr” is a bit located at address 0x22[2]. This bit is part  
of the location “sta”.  
err.rst  
The field “rst” is a bit located at address 0x24[0]. This bit is part  
of the location “err”.  
CVH self-test running.  
Reset condition. Sets on power-on reset or on hard reset. Does  
not set on LBIST.  
sta.lbr  
The field “lbr” is a bit located at address 0x22[3]. This bit is part  
of the location “sta”.  
err.msl  
LBIST running.  
The field “msl” is a bit located at address 0x24[1]. This bit is part  
of the location “err”.  
sta.bdn  
Magnetic sense low fault. Magnetic sense was below the “mag_  
thres_lo” limit.  
The field “bdn” is a bit located at address 0x22[4]. This bit is part  
of the location “sta”.  
err.uva  
Boot complete. EEPROM loaded and any startup self-tests are  
complete.  
The field “uva” is a bit located at address 0x24[2]. This bit is part  
of the location “err”.  
sta.sdn  
Undervoltage detector tripped. Will be set again after clearing if  
the undervoltage situation persists. Based on analog regulator.  
The field “sdn” is a bit located at address 0x22[5]. This bit is part  
of the location “sta”.  
Special access (from ctrl register) done. Clears to ‘0’ when SPE-  
CIAL triggered, set ‘1’ when complete.  
44  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
err.uvd  
err.stf  
The field “stf” is a bit located at address 0x24[10]. This bit is part  
of the location “err”.  
The field “uvd” is a bit located at address 0x24[3]. This bit is part  
of the location “err”.  
Self-test failure.  
Undervoltage detector tripped. Will be set again after clearing if  
the undervoltage situation persists.  
err.war  
The field “war” is a bit located at address 0x24[11]. This bit is  
part of the location “err”.  
err.ofe  
The field “ofe” is a bit located at address 0x24[4]. This bit is part  
of the location “err”.  
Warning. Some unmasked error bits are set in the WARN register.  
If WAR in mask register “MSK” is set, this will be forced to 0.  
Oscillator frequency watchdog tripped.  
Location 0x26:0x27 (“warn”)  
err.eue  
warn.msh  
The field “eue” is a bit located at address 0x24[5]. This bit is part  
of the location “err”.  
The field “msh” is a bit located at address 0x26[1]. This bit is  
part of the location “warn”.  
EEPROM uncorrectable error. A multi-bit EEPROM read  
occurred.  
Magnetic sense high fault. Magnetic sense has exceeded the  
“mag_thres_hi” limit.  
warn.bsy  
err.zie  
The field “bsy” is a bit located at address 0x26[2]. This bit is part  
of the location “warn”.  
The field “zie” is a bit located at address 0x24[6]. This bit is part  
of the location “err”.  
Extended access overflow. An EXW or EXR was initiated while  
previous extended read or write was in progress.  
Zero crossing integrity error. A zero crossing did not occur within  
the maximum time expected, likely indicating missing magnet, an  
extreme rotation speed, or a sensor defect.  
warn.sat  
The field “sat” is a bit located at address 0x26[4]. This bit is part  
of the location “warn”.  
err.plk  
The field “plk” is a bit located at address 0x24[7]. This bit is part  
of the location “err”.  
Aggregate saturation flag. Shows that any internal signals have  
saturated, likely to have been cause by extremely strong or weak  
fields.  
PLL lost lock.  
warn.ese  
err.abi  
The field “ese” is a bit located at address 0x26[5]. This bit is part  
of the location “warn”.  
The field “abi” is a bit located at address 0x24[8]. This bit is part  
of the location “err”.  
EEPROM soft error. A correctable (single-bit) EEPROM read  
occurred.  
ABI integrity fault. The quadrature integrity of the ABI could not  
be maintained.  
warn.tr  
err.avg  
The field “tr” is a bit located at address 0x26[6]. This bit is part  
of the location “warn”.  
The field “avg” is a bit located at address 0x24[9]. This bit is part  
of the location “err”.  
Temperature out of range. The temperature sensor calculated  
a temperature below –60°C or above 180°C. Temperature will  
saturate at those limits.  
Angle averaging error. The ORATE is too high for the velocity  
and the averaging is corrupted.  
45  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
warn.xee  
Location 0x30:0x31 (“hang”)  
The field “xee” is a bit located at address 0x26[7]. This bit is part  
of the location “warn”.  
hang.angle_hys  
The field “angle_hys” is a bit field located at address 0x30[11:0].  
This bit field is part of the location “hang”.  
Extended execute error. A command intiated by an extended  
write failed. Write failed due to access error (not unlocked) or  
EEPROM write failure.  
Angle from PLL after processing. Angle in degrees = unsigned  
12-bit value × (360 / 4096).  
warn.srw  
hang.p  
The field “srw” is a bit located at address 0x26[8]. This bit is part  
of the location “warn”.  
The field “p” is a bit located at address 0x30[12]. This bit is part  
of the location “hang”.  
Slew rate warning. This warning is asserted if the ABI slew rate  
limiting is enabled and a condition that requires the limiting to be Odd parity computed across all bits of this register. Value is cho-  
applied has occurred.  
sen in such a way that there should always be an odd number of  
1’s in the 16-bit word.  
warn.crc  
hang.uv  
The field “crc” is a bit located at address 0x26[10]. This bit is  
part of the location “warn”.  
The field “uv” is a bit located at address 0x30[13]. This bit is part  
of the location “hang”.  
Incoming SPI CRC error. Packet was discarded.  
Undervoltage flag (real time). OR of analog and digital UV flags.  
Conditions are realtime, but are masked by the Shadow mask  
warn.ier  
The field “ier” is a bit located at address 0x26[11]. This bit is part bits.  
of the location “warn”.  
hang.ef  
Interface error. Invalid number of bits in SPI packet, or bit 15 of  
MOSI data = ‘1’. Packet was discarded.  
The field “ef” is a bit located at address 0x30[14]. This bit is part  
of the location “hang”.  
Also Manchester error.  
Error flag. Will be ‘1’ if any unmasked bit in ERR or WARN is  
set.  
Location 0x28:0x29 (“tsen”)  
Location 0x32:0x33 (“ang15”)  
tsen.temperature  
The field “temperature” is a bit field located at address  
0x28[11:0]. This bit field is part of the location “tsen”.  
ang15.angle_15  
The field “angle_15” is a bit field located at address 0x32[14:0].  
This bit field is part of the location “ang15”.  
Current junction temperature from internal temperature sensor  
relative to 25°C (signed value). Value is in 1/8 of a degree. Tem-  
perature °C = (tsen.temperature / 8) + 25.0.  
15-bit compensated angle (not rounded).  
Location 0x2A:0x2B (“field”)  
field.gauss  
The field “gauss” is a bit field located at address 0x2A[11:0].  
This bit field is part of the location “field”.  
Field strength in gauss.  
46  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Location 0x34:0x35 (“zang”)  
Location 0x3C:0x3D (“key”)  
zang.angle_zcd  
key.cul  
The field “angle_zcd” is a bit field located at address 0x34[11:0].  
This bit field is part of the location “zang”.  
The field “cul” is a bit located at address 0x3C[0]. This bit is part  
of the location “key”.  
Angle from zero-crossing-detector, which is used to verify that  
the PLL angle is correct.  
Customer unlocked if ‘1’.  
key.keycode  
Angle in degrees = unsigned 12-bit value × (360 / 4096).  
The field “keycode” is a bit field located at address 0x3C[15:8].  
This bit field is part of the location “key”.  
zang.p  
The field “p” is a bit located at address 0x34[12]. This bit is part  
of the location “zang”.  
Customer access keycode is entered here, using five subsequent  
write commands with the numbers: 0x00, 0x27, 0x81, 0x1F,  
0x77.  
Odd parity computed across all bits of this register. Value is cho-  
sen in such a way that there should always be an odd number of  
1’s in the 16-bit word.  
Always reads back 0.  
zang.uv  
The field “uv” is a bit located at address 0x34[13]. This bit is part  
of the location “zang”.  
Undervoltage flag (real time). OR of analog and digital UV flags.  
Conditions are realtime, but are masked by the Shadow mask  
bits.  
zang.ef  
The field “ef” is a bit located at address 0x34[14]. This bit is part  
of the location “zang”.  
Error flag. Will be ‘1’ if any unmasked bit in ERR or WARN is set.  
47  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
EEPROM AND SHADOW REGISTER TABLE  
The EEPROM register bitmap is shown below. Addresses that  
span multiple bytes are addressed by the most significant byte.  
ECC field in bits [31:26] of each word are not shown here. Bits  
[25:24] of each EEPROM word are unused and not shown here,  
but are included in the ECC.  
All EEPROM content can be read by the user. The EEPROM  
Table 13: EEPROM/Shadow Memory Map  
Shadow  
Bits  
EEPROM Register  
Memory  
Address Name  
23  
22  
21  
20  
19  
18  
17  
16  
15  
14  
13  
12  
11  
10  
9
8
7
6
5
4
3
2
1
0
Address  
0x17  
0x18  
0x19  
CU2  
PWE  
ABI  
customer 2  
0x58  
0x59  
0x5A  
0x5B  
0x5C  
0x5D  
0x5E  
tr  
msh sat  
ese msl  
uv  
avg  
zie  
plk  
stf  
eue  
ofe  
abi_slew_time  
inv  
ahe  
index_mode wdh plh  
ioe uvw  
resolution_pairs  
0x1A MSK ierm crcm  
srwm xeem trm esem satm tcwm bsym mshm tovm warm stfm avgm abim plkm ziem euem ofem uvdm uvam mslm rstm  
0x1B  
0x1C ANG  
0x1D  
0x1E COM  
0x1F CUS  
PWI  
pen  
pwm_band  
pwm_freq  
-
phe peo pes  
eli  
ls  
wp_hys  
zal  
wp_thres  
dm  
s17  
sc  
orate  
rd  
ro  
hysteresis  
cycle_time  
zero_offset  
lock  
lbe  
cse  
dur  
del  
-
cud  
dst  
dhr  
mag_thres_hi  
mag_thres_lo  
customer  
0x60  
0x61  
0x20 LIN00  
0x21 LIN01  
Linearization Error Segment 1  
Linearization Error Segment 3  
Linearization Error Segment 0  
Linearization Error Segment 2  
---  
0x6E  
0x6F  
0x80  
0x2E LIN14  
0x2F LIN15  
Linearization Error Segment 29  
Linearization Error Segment 31  
Linearization Error Segment 28  
Linearization Error Segment 30  
ALV  
Alive counter  
48  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
EEPROM REFERENCE  
PWE.zie  
Location 0x17 (“CU2”)  
The field “zie” is a bit located at address 0x18[4]. This bit is part  
of the location “PWE”.  
Customer-useable field, intended for storing data.  
This word can be written even if EEPROM is locked. Write  
may be allowed without the unlock code based on COM.dur and  
COM.del settings (see word 0x1E).  
PWM zero crossing integrity error enable. Duty cycle 27.5% at  
half the selected PWM frequency.  
PWE.avg  
CU2.customer 2  
The field “avg” is a bit located at address 0x18[5]. This bit is part  
of the location “PWE”.  
The field “customer 2” is a bit field located at address  
0x17[23:0]. This bit field is part of the location “CU2”.  
PWM angle averaging error enable. Duty cycle is 33.125% at  
half the selected PWM frequency.  
Customer-useable field, intended for storing data.  
Depending on COM.dur and COM.del settings, this word can  
be written even if EEPROM is locked. Details are given in the  
chapter “EEPROM write lock”.  
PWE.uv  
The field “uv” is a bit located at address 0x18[6]. This bit is part  
of the location “PWE”.  
Location 0x18 (“PWE”)  
PWM undervoltage Fault enable (analog or digital). Duty cycle  
38.75% at half the selected PWM frequency.  
PWE.ofe  
PWE.msl  
The field “ofe” is a bit located at address 0x18[0]. This bit is part  
of the location “PWE”.  
The field “msl” is a bit located at address 0x18[7]. This bit is part  
of the location “PWE”.  
PWM oscillator frequency watchdog error enable. Duty cycle  
output 5% at half the selected PWM frequency.  
PWM magnetic Sense Low Fault enable. Duty cycle 44.375% at  
half the selected PWM frequency.  
PWE.eue  
PWE.ese  
The field “eue” is a bit located at address 0x18[1]. This bit is part  
of the location “PWE”.  
The field “ese” is a bit located at address 0x18[8]. This bit is part  
of the location “PWE”.  
PWM EEPROM uncorrectable error enable. Duty cycle 10.625%  
at half the selected PWM frequency.  
PWM EEPROM Soft Error enable. Duty cycle 50% at half the  
selected PWM frequency.  
PWE.stf  
PWE.sat  
The field “stf” is a bit located at address 0x18[2]. This bit is part  
of the location “PWE”.  
The field “sat” is a bit located at address 0x18[9]. This bit is part  
of the location “PWE”.  
PWM self-test failure error enable. Duty cycle 16.25% at half the  
selected PWM frequency.  
PWM saturation warning enable. Duty cycle 55.625% at half the  
selected PWM frequency.  
PWE.plk  
PWE.msh  
The field “plk” is a bit located at address 0x18[3]. This bit is part  
of the location “PWE”.  
The field “msh” is a bit located at address 0x18[10]. This bit is  
part of the location “PWE”.  
PWM PLL Lost Lock error enable. Duty cycle 21.875% at half  
the selected PWM frequency.  
PWM magnetic sense high fault enable. Duty cycle 61.25% at  
half the selected PWM frequency.  
49  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
PWE.tr  
ABI.index_mode  
The field “tr” is a bit located at address 0x18[11]. This bit is part  
of the location “PWE”.  
The field “index_mode” is a bit field located at address  
0x19[9:8]. This bit field is part of the location “ABI”.  
PWM temperature sensor out of range error enable. Duty cycle  
66.875% at half the selected PWM frequency.  
ABI index mode, defines width and placement of index pulse.  
Mode 0: Angle = 0  
Mode 1: Angle = –R or 0  
Mode 2: Angle = –R, 0 or +R  
Mode 3: Angle = –2R, –R, 0 or +R  
Location 0x19 (“ABI”)  
ABI.resolution_pairs  
The field “resolution_pairs” is a bit field located at address  
0x19[3:0]. This bit field is part of the location “ABI”.  
ABI.ahe  
The field “ahe” is a bit located at address 0x19[12]. This bit is  
part of the location “ABI”.  
ABI or UVW resolution.  
If ABI selected, this selects AB cycle counts per rotation. Cycle  
count = 2(14–n) where n is selected code.  
ABI hysteresis enable. If 1, use hysteresis on angle going to ABI.  
ABI.inv  
If UVW selected, this is the number of pole pairs – 1.  
The field “inv” is a bit located at address 0x19[15]. This bit is  
part of the location “ABI”.  
ABI.uvw  
The field “uvw” is a bit located at address 0x19[4]. This bit is  
part of the location “ABI”.  
Invert ABI or UVW signals.  
ABI.abi_slew_time  
Incremental outputs UVW (1), ABI (0).  
The field “abi_slew_time” is a bit field located at address  
0x19[21:16]. This bit field is part of the location “ABI”.  
ABI.ioe  
The field “ioe” is a bit located at address 0x19[5]. This bit is part  
of the location “ABI”.  
ABI slew rate limit. ‘0’ mean slew rate limiter is disabled. Oth-  
erwise, (N + 1) × 125 ns (nominal) is the minimum edge-to-edge  
time for the ABI output. This limits the maximum ABI velocity.  
Reducing the ABI output resolution may be useful to counteract  
this effect.  
Incremental output pins enable (see UVW).  
ABI.plh  
The field “plh” is a bit located at address 0x19[6]. This bit is part  
of the location “ABI”.  
Location 0x1A (“MSK”)  
MSK.rstm  
Enable ABI all high (before inversions) as error mode if PLL is  
unlocked.  
The field “rstm” is a bit located at address 0x1A[0]. This bit is  
part of the location “MSK”.  
ABI.wdh  
Reset mask. If set to ‘1’, the corresponding error will not affect  
the error flag “ef”.  
The field “wdh” is a bit located at address 0x19[7]. This bit is  
part of the location “ABI”.  
MSK.mslm  
Enable ABI all high (before inversions) as error mode if high-  
frequency watchdog trips.  
The field “mslm” is a bit located at address 0x1A[1]. This bit is  
part of the location “MSK”.  
Magnetic Sense Low Fault Mask. If set to ‘1’, the corresponding  
error will not affect the error flag “ef”.  
50  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
MSK.uvam  
MSK.avgm  
The field “uvam” is a bit located at address 0x1A[2]. This bit is  
part of the location “MSK”.  
The field “avgm” is a bit located at address 0x1A[9]. This bit is  
part of the location “MSK”.  
Analog undervoltage Fault Mask. If set to ‘1’, the corresponding  
error will not affect the error flag “ef”.  
Angle averaging fault mask. If set to ‘1’, the corresponding error  
will not affect the error flag “ef”.  
MSK.uvdm  
MSK.stfm  
The field “uvdm” is a bit located at address 0x1A[3]. This bit is  
part of the location “MSK”.  
The field “stfm” is a bit located at address 0x1A[10]. This bit is  
part of the location “MSK”.  
Digital undervoltage Fault Mask. If set to ‘1’, the corresponding  
error will not affect the error flag “ef”.  
Self-test failure error mask. If set to ‘1’, the corresponding error  
will not affect the error flag “ef”.  
MSK.ofem  
MSK.warm  
The field “ofem” is a bit located at address 0x1A[4]. This bit is  
part of the location “MSK”.  
The field “warm” is a bit located at address 0x1A[11]. This bit is  
part of the location “MSK”.  
Oscillator frequency watchdog error mask. If set to ‘1’, the cor-  
responding error will not affect the error flag “ef”.  
If set to 1, will not set WAR bit in the ERR register when  
unmasked warnings are present.  
MSK.euem  
MSK.mshm  
The field “euem” is a bit located at address 0x1A[5]. This bit is  
part of the location “MSK”.  
The field “mshm” is a bit located at address 0x1A[13]. This bit is  
part of the location “MSK”.  
EEPROM Uncorrectable Error Mask. If set to ‘1’, the corre-  
sponding error will not affect the error flag “ef”.  
Magnetic Sense High Fault Mask. If set to ‘1’, the corresponding  
error will not affect the error flag “ef”.  
MSK.ziem  
MSK.bsym  
The field “ziem” is a bit located at address 0x1A[6]. This bit is  
part of the location “MSK”.  
The field “bsym” is a bit located at address 0x1A[14]. This bit is  
part of the location “MSK”.  
Zero crossing integrity error mask. If set to ‘1’, the corresponding Indirect access busy error mask. If set to ‘1’, the corresponding  
error will not affect the error flag “ef”.  
error will not affect the error flag “ef”.  
MSK.plkm  
MSK.satm  
The field “plkm” is a bit located at address 0x1A[7]. This bit is  
part of the location “MSK”.  
The field “satm” is a bit located at address 0x1A[16]. This bit is  
part of the location “MSK”.  
PLL Lost Lock error mask. If set to ‘1’, the corresponding error  
will not affect the error flag “ef”.  
Aggregate saturation flag mask. If set to ‘1’, the corresponding  
error will not affect the error flag “ef”.  
MSK.abim  
MSK.esem  
The field “abim” is a bit located at address 0x1A[8]. This bit is  
part of the location “MSK”.  
The field “esem” is a bit located at address 0x1A[17]. This bit is  
part of the location “MSK”.  
ABI integrity fault mask. If set to ‘1’, the corresponding error  
will not affect the error flag “ef”.  
EEPROM Soft Error Mask. If set to ‘1’, the corresponding error  
will not affect the error flag “ef”.  
51  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
MSK.trm  
Location 0x1B (“PWI”)  
The field “trm” is a bit located at address 0x1A[18]. This bit is  
part of the location “MSK”.  
PWI.sc  
The field “sc” is a bit located at address 0x1B[0]. This bit is part  
of the location “PWI”.  
Temperature sensor out of range error mask. If set to ‘1’, the cor-  
responding error will not affect the error flag “ef”.  
SPI CRC (incoming) validated if SC = 1, ignored if SC = 0.  
MSK.xeem  
PWI.s17  
The field “xeem” is a bit located at address 0x1A[19]. This bit is  
part of the location “MSK”.  
The field “s17” is a bit located at address 0x1B[1]. This bit is part  
of the location “PWI”.  
Execute Error Mask. If set to ‘1’, the corresponding error will not  
affect the error flag “ef”.  
SPI ignore 17th clock to allow negative edge host sampling.  
PWI.dm  
MSK.srwm  
The field “dm” is a bit located at address 0x1B[3]. This bit is part  
of the location “PWI”.  
The field “srwm” is a bit located at address 0x1A[20]. This bit is  
part of the location “MSK”.  
Slew rate warning mask. If set to ‘1’, the corresponding error will Disable Manchester interface. If ‘1’, any Manchester input on  
not affect the error flag “ef”.  
VCC will be ignored.  
MSK.crcm  
PWI.zal  
The field “crcm” is a bit located at address 0x1A[22]. This bit is  
part of the location “MSK”.  
The field “zal” is a bit located at address 0x1B[7]. This bit is part  
of the location “PWI”.  
CRC Error Mask (SPI). If set to ‘1’, the corresponding error will  
not affect the error flag “ef”.  
Zero offset after linearization:  
0 = Before linearization and rotation  
1 = After linearization  
MSK.ierm  
The field “ierm” is a bit located at address 0x1A[23]. This bit is  
part of the location “MSK”.  
PWI.ls  
The field “ls” is a bit located at address 0x1B[10]. This bit is part  
of the location “PWI”.  
Interface Error Mask. If set to ‘1’, the corresponding error will  
not affect the error flag “ef”.  
Linearization scale:  
0 = ±22.5 degrees  
1 = ±45 degrees  
PWI.eli  
The field “eli” is a bit located at address 0x1B[11]. This bit is part  
of the location “PWI”.  
Enable linearization:  
0 = Disabled  
1 = Enabled  
52  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
PWI.pes  
Location 0x1C (“ANG”)  
The field “pes” is a bit located at address 0x1B[12]. This bit is  
part of the location “PWI”.  
ANG.zero_offset  
The field “zero_offset” is a bit field located at address  
0x1C[11:0]. This bit field is part of the location “ANG”.  
PWM error select (if “peo” = 1).  
0 - PWM tristated, must reset (or set “peo” back to 0 in  
shadow) to release the PWM output.  
Post-compensation zero offset (or DC adjust) at angle resolution.  
This value is subtracted from the measured angle.  
1 - PWM carrier frequency halved and highest priority error  
output on PWM as selected duty cycle. See “PWM Output”  
section for more details.  
ANG.hysteresis  
The field “hysteresis” is a bit field located at address  
0x1C[17:12]. This bit field is part of the location “ANG”.  
PWI.peo  
Angle hysteresis threshold, angle resolution × 4 (14 bit). Range is  
about 0 to 1.384 degrees.  
The field “peo” is a bit located at address 0x1B[13]. This bit is  
part of the location “PWI”.  
ANG.ro  
PWM error output enable. If ‘1’, “pes” selects the response to an  
enabled error (see “abe” word).  
The field “ro” is a bit located at address 0x1C[18]. This bit is part  
of the location “ANG”.  
PWI.phe  
Rotation Direction (post-linearization). If set to 0, increasing  
angle 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 counter-clockwise direction.  
The field “phe” is a bit located at address 0x1B[14]. This bit is  
part of the location “PWI”.  
PWM hysteresis enable. If 1, use hysteresis on angle going to  
PWM.  
ANG.rd  
PWI.pwm_freq  
The field “rd” is a bit located at address 0x1C[19]. This bit is part  
of the location “ANG”.  
The field “pwm_freq” is a bit field located at address  
0x1B[19:16]. This bit field is part of the location “PWI”.  
Rotate die. Rotates final angle by 180 degrees. This is the very  
last step in the angle processing algorithm. The sensor is Allegro  
factory-calibrated to deliver identical field directions for both  
dies. If the user want the two outputs to be 180° offset from each  
other, this setting is a convenient way to do so.  
PWM frequency select. See “PWM Output” section for more  
details.  
PWI.pwm_band  
The field “pwm_band” is a bit field located at address  
0x1B[22:20]. This bit field is part of the location “PWI”.  
ANG.orate  
The field “orate” is a bit field located at address 0x1C[23:20].  
This bit field is part of the location “ANG”.  
PWM frequency band. See “PWM Output” section for more  
details.  
Reduces the output rate by averaging samples. 2orate samples will  
be averaged. ORATE values above 12 are reduced to 12 in the  
logic, meaning that up to 4096 samples = 4 ms can be selected as  
averaging time.  
PWI.pen  
The field “pen” is a bit located at address 0x1B[23]. This bit is  
part of the location “PWI”.  
PWM Enable = 1. If 0, PWM is tristate.  
53  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
COM.dst  
Location 0x1D (“LPC”)  
The field “dst” is a bit located at address 0x1E[13]. This bit is  
part of the location “COM”.  
LPC.cycle_time  
The field “cycle_time” is a bit field located at address  
0x1D[17:12]. This bit field is part of the location “LPC”.  
Disable self-test initiation in serial CTRL register special if ‘1’.  
COM.cud  
Alive counter increment rate in 8.192 ms increments with cycle  
time = [(N + 1) × 8.192 ms].  
The field “cud” is a bit located at address 0x1E[14]. This bit is  
part of the location “COM”.  
Location 0x1E (“COM”)  
If ‘1’, the “customer” word 0x1F will use the “dur” and “del”  
configuration in addition to the “customer2” word 0x17.  
COM.mag_thres_lo  
The field “mag_thres_lo” is a bit field located at address  
0x1E[5:0]. This bit field is part of the location “COM”.  
COM.del  
The field “del” is a bit located at address 0x1E[16]. This bit is  
part of the location “COM”.  
Magnetic field low comparator value, field value equals low field  
error threshold in gauss divided by 16.  
Disable EEPROM lock for CUST2 (EEPROM word 0x17) and, if  
CUD = 1, CUST word 0x1F. EEPROM lock will not affect write-  
ability of word 0x17 (and 0x1F if enabled).  
If set to 0, low threshold is disabled.  
00 0000: Low field flag disabled  
00 0001: 16 gauss  
COM.dur  
00 0010: 32 gauss  
The field “dur” is a bit located at address 0x1E[17]. This bit is  
part of the location “COM”.  
00 1101: 208 gauss (factory setting)  
11 1111: 1108 gauss  
Disable unlock requirement for CUST2 (EEPROM word 0x17)  
and if CUD = 1, CUST word 0x1F.  
COM.mag_thres_hi  
COM.cse  
The field “mag_thres_hi” is a bit field located at address  
0x1E[11:6]. This bit field is part of the location “COM”.  
The field “cse” is a bit located at address 0x1E[18]. This bit is  
part of the location “COM”.  
Magnetic field high comparator value, field value equals maxi-  
mum field threshold in gauss divided by 32. If set to 0, high  
threshold is disabled.  
Enable CVH self-test at power-up.  
COM.lbe  
00 0000: High field flag disabled  
The field “lbe” is a bit located at address 0x1E[19]. This bit is  
part of the location “COM”.  
00 0001: 32 gauss  
00 0010: 64 gauss  
Power-up logic BIST enable.  
10 0101: 1184 gauss (factory setting)  
COM.lock  
11 1111: 2016 gauss  
The field “lock” is a bit field located at address 0x1E[23:20].  
This bit field is part of the location “COM”.  
COM.dhr  
The field “dhr” is a bit located at address 0x1E[12]. This bit is  
part of the location “COM”.  
Lock options:  
1100 Lock EEPROM writes  
0011 Lock EEPROM writes AND indirect register writes  
Disable hard reset in serial CTRL register special if ‘1’.  
54  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Location 0x1F (“CUS”)  
Location 0x2F (“LIN15”)  
CUS.customer  
LIN15.Linearization Error Segment 30  
The field “customer” is a bit field located at address 0x1F[23:0].  
This bit field is part of the location “CUS”.  
The field “Linearization Error Segment 30” is a bit field located  
at address 0x2F[11:0]. This bit field is part of the location  
“LIN15”.  
Customer-useable field, intended for storing data.  
Correction value at segment boundary. Signed, resolution is  
based on LS bit. Will be subtracted from sensor angle to produce  
linearized angle.  
With certain settings, this word can be written even if EEPROM  
is locked. Details are given in the chapter “EEPROM write lock”.  
If COM.cud = ‘1’, then, depending on COM.dur and COM.del  
settings, this word can be written even if EEPROM is locked.  
Details are given in the chapter “EEPROM write lock”.  
For LS = 0, range is ±22.5 degrees.  
For LS = 1, range is ±45 degrees.  
LIN15.Linearization Error Segment 31  
Location 0x20 (“LIN00”)  
The field “Linearization Error Segment 31” is a bit field located  
at address 0x2F[23:12]. This bit field is part of the location  
“LIN15”.  
LIN00.Linearization Error Segment 0  
The field “Linearization Error Segment 0” is a bit field located at  
address 0x20[11:0]. This bit field is part of the location “LIN00”.  
Correction value at segment boundary. Signed, resolution is  
based on LS bit. Will be subtracted from sensor angle to produce  
linearized angle.  
Correction value at segment boundary. Signed, resolution is  
based on LS bit. Will be subtracted from sensor angle to produce  
linearized angle.  
For LS = 0, range is ±22.5 degrees.  
For LS = 1, range is ±45 degrees.  
For LS = 0, range is ±22.5 degrees.  
For LS = 1, range is ±45 degrees.  
Location 0x80 (“ALV”)  
LIN00.Linearization Error Segment 1  
ALV.alive counter  
The field “Linearization Error Segment 1” is a bit field located  
at address 0x20[23:12]. This bit field is part of the location  
“LIN00”.  
The field “alive counter” is a bit field located at address  
0x80[31:0]. This bit field is part of the location “ALV”.  
Alive counter is a 32-bit counter, which increments periodically  
from zero after power-on or hard reset. The alive increment  
period is based on the EEPROM cycle_time, which has a resolu-  
tion of 8.192 ms. The alive counter can overflow. The overflow  
period of the counter is [232 × 8.192 × (cycle_time + 1)] millisec-  
onds. At cycle_time = 0, this period is approximately 400 days.  
Correction value at segment boundary. Signed, resolution is  
based on LS bit. Will be subtracted from sensor angle to produce  
linearized angle.  
For LS = 0, range is ±22.5 degrees.  
For LS = 1, range is ±45 degrees.  
NOTE: linearization segments 2…29 have been omitted from the  
datasheet for reasons of brevity.  
55  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
SAFETY AND DIAGNOSTICS  
The AAS33001 was developed in accordance to the ASIL design  
flow. It incorporates several diagnostics.  
CVH Self-Test  
CVH self-test is a method of verifying the operation of the CVH  
transducer without applying an external magnetic field. This  
feature is useful for both manufacturing test and for integration  
debug. The CVH self-test is implemented by changing the switch  
configuration from the normal operating mode into a test configu-  
ration, allowing a test current to drive the CVH in place of the  
magnetic field. By changing the direction of the test current and  
by changing the elements in the CVH that are driven, the self-test  
circuit emulates a changing angle of magnetic field. The mea-  
sured angle is monitored to determine a passing or failing device.  
Alive Counter  
A 32-bit counter increments periodically from zero after power-  
on or hard reset. It is read via an extended read at address 0x80.  
The alive increment period is based on the EEPROM cycle_time,  
which has a resolution of 8.192 ms.  
The alive counter can overflow. The overflow period of the  
counter is [232 × 8.192 × (lpm_cycle_time + 1)] milliseconds. At  
lpm_cycle_time = 0, this period is approximately 400 days.  
CVH self-test typically takes 30 ms to verify.  
Oscillator Watchdogs  
Self-test can be run on power-up, by setting the EEPROM field  
SHA.COM.cse = 1  
The watchdogs run constantly. These watchdogs are intended to  
detect gross failures of either oscillator. Logic running on clocks  
based on each oscillator effectively counts clock periods pro-  
duced in the other clock domain and compares to expected limits.  
Self-test can also be invoked via the serial control register by  
issuing the corresponding “special” command.  
Logic Built-In Self-Test (LBIST)  
The test is complete when either:  
Logic BIST is implemented to verify the integrity of the  
AAS33001 logic. It can be executed in parallel with the CVH  
self-test. LBIST is effectively a form of auto-driven scan. The  
logic to be tested is broken into 31 scan chains. The chains are  
fed in parallel by a 31-bit linear feedback shift register (LFSR) to  
generate pseudo-random data. The output of the scan chains are  
fed back into a multiple input shift register (MISR) that accumu-  
lates the shifted bits into a 31-bit signature. LBIST takes typically  
30 ms to verify.  
• “STA.sdn” = 1 (special done) or  
• “STA.cstr” = 0 (CVH self-test not running).  
Failure is indicated by:  
• “ERR.stf” = 1 (assuming it was cleared before test was run).  
56  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
APPLICATION INFORMATION  
Magnetic Target Requirements  
1600  
1400  
1200  
1000  
800  
600  
400  
200  
0
The AAS33001 is designed to operate with magnets constructed  
with a variety of magnetic materials, geometries, and field  
strengths. See Table 14 for a list of common magnet dimensions.  
The AAS33001 actively measures and adapts to its magnetic  
environment. This allows operation throughout a large range of  
field strengths (recommended range is 300 to 1000 G, operation  
beyond this range will not result in long term damage). Due to  
the greater signal-to-noise ratio provided at higher field strengths,  
performance inherently increases with increasing field strength.  
NdFe30  
SmCo24  
Ceramic  
(Ferrite)  
0.5  
2.5  
4.5  
6.5  
8.5  
Table 14: Target Magnet Parameters  
Air Gap (mm)  
Magnetic Material  
Diameter  
(mm)  
Thickness  
(mm)  
Figure 32: Magnetic Field versus Air Gap for a magnet 6 mm  
in diameter and 2.5 mm thick.  
Neodymium (sintered)*  
Neodymium (sintered)  
Neodymium / SmCo  
10  
8
2.5  
3
Allegro can provide similar curves for customer application magnets  
upon request. Allegro recommends larger magnets for applications  
that require optimized accuracy performance.  
6
2.5  
S
N
Thickness  
Diameter  
* A sintered Neodymium magnet with 10 mm (or greater) diameter  
and 2.5 mm thickness is the recommended magnet for redundant  
applications.  
57  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Typical SPI and ABI/UVW Applications  
Below, typical application diagrams for SPI and ABI are given.  
interface is useful for low pin count applications (e.g. ABI). See  
Programming and controlling are possible using the SPI interface Manchester Interface section for details on programming with  
and the Manchester interface. The Manchester programming  
this interface.  
Supply or battery  
100 Ω, use only if supplied  
by car battery and voltage  
drop can be tolerated  
100 nF  
100 nF  
BYP  
VCC  
PWM  
Float if unused  
Float if unused  
Float if unused  
Float if unused  
A / U  
B/ V  
I / W  
Micro  
Controller  
Sensor  
CSB  
CSB  
SCLK  
MOSI  
MISO  
SCLK  
MOSI  
MISO  
TEST  
GND  
Figure 33: Typical SPI Application Diagram  
Notes:  
• PWM and ABI/UVW can be used in parallel to the SPI interface.  
58  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Supply or battery  
100 Ω, use only if supplied  
by car battery and voltage  
drop can be tolerated  
100 nF  
100 nF  
Logic High Level  
PWM in (GPIO)  
BYP  
PWM  
VCC  
A/U in (GPIO)  
B/V in (GPIO)  
I/W in (GPIO)  
A / U  
B/ V  
I / W  
Sensor  
Micro  
CSB  
Controller  
SCLK  
MOSI  
MISO  
Float  
TEST  
GND  
Figure 34: Typical ABI / UVW Application Diagram  
Notes:  
• PWM output can be left floating if not required. The absolute position is transferred through ABI pins after power on, so that PWM  
information is not needed to find the start position. The AAS33001 is different from the A1333 in this regard.  
• For programming the sensor, CSB and MOSI determine the slave address. Read the Manchester Interface section for more details.  
• If not needed by the host, any of the ABI outputs can be left floating. For example,  
If only rotational frequency is needed, only pin A could be used.  
If frequency and position is needed, but direction is always the same, only pin B and I could be used.  
59  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
I/O STRUCTURES  
A/U, B/V, I/W  
33 Ω  
PWM  
33 Ω  
SCK/CSN/MOSI  
1 kΩ  
60  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
PACKAGE OUTLINE DRAWINGS  
For Reference Only – Not for Tooling Use  
(Reference MO-153 ADT)  
NOT TO SCALE  
Dimensions in millimeters  
Dimensions exclusive of mold flash, gate burrs, and dambar protrusions  
Exact case and lead configuration at supplier discretion within limits shown  
7.80 0.10  
4.32 NOM  
8º  
0º  
24  
0.20  
0.09  
E1  
E
E2  
B
F1  
F2  
F
F
3 NOM 4.40 0.10 6.40 0.20  
E
2.20  
A
1.00 REF  
0.60 0.15  
1
2
3.90  
0.25 BSC  
E
SEATING PLANE  
GAUGE PLANE  
C
24X  
1.20 MAX  
SEATING  
0.10  
C
PLANE  
0.30  
0.19  
0.65 BSC  
0.15  
0.00  
XXXXXXXXX  
Date Code  
Lot Number  
0.45  
0.65  
1
D
Standard Branding Reference View  
Lines 1, 2, 3: Maximum 9 characters per line  
1.65  
Line 1: Part number  
Line 2: Logo A, 4-digit date code  
Line 3: Characters 5, 6, 7, 8 of  
Assembly Lot Number  
3.00  
6.10  
A
B
Terminal #1 mark area.  
Exposed thermal pad (bottom surface); dimensions may vary with device.  
C
Reference land pattern layout (reference IPC7351 TSOP65P640X120-25M);  
all pads a minimum of 0.20 mm from all adjacent pads; adjust as necessary  
to meet application process requirements and PCB layout tolerances; when  
mounting on a multilayer PCB, thermal vias can improve thermal dissipation  
(reference EIA/JEDEC Standard JESD51-5).  
4.32  
D
E
F
Branding scale and appearance at supplier discretion.  
Hall elements (E1, E2), corresponding to respective die; not to scale.  
Active Area Depth. F1: 0.47 mm; F2: 0.62 mm.  
C
PCB Layout Reference View  
Figure 35: Package LP, 24-Pin TSSOP with Exposed Thermal Pad  
61  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
For Reference Only – Not for Tooling Use  
(Reference DWG-2870)  
Dimensions in millimeters – NOT TO SCALE  
Dimensions exclusive of mold flash, gate burrs, and dambar protrusions  
Exact case and lead configuration at supplier discretion within limits shown  
5.00 0.10  
8º  
D
2.50  
0º  
14  
E
0.20  
0.09  
D
D1  
D
D1  
4.40 0.10 6.40 BSC  
+0.15  
–0.10  
0.60  
2.20  
D
A
1.00 REF  
1
2
0.25 BSC  
Branded Face  
SEATING PLANE  
GAUGE PLANE  
D
D1  
C
16X  
0.95  
0.85  
1.10 MAX  
0.10  
C
SEATING  
PLANE  
0.15  
0.00  
0.30  
0.19  
0.65 BSC  
XXXXXXX  
Date Code  
Lot Number  
0.45  
0.65  
1
14  
C
Standard Branding Reference View  
Lines 1, 2: Maximum 7 characters per line  
Line 3: Maximum 5 characters per line  
1.70  
Line 1: Part number  
Line 2: Logo A, 4-digit date code  
Line 3: Characters 5, 6, 7, 8 of  
Assembly Lot Number  
6.00  
A
B
Terminal #1 mark area.  
Reference land pattern layout (reference IPC7351 TSOP65P640X120-14M);  
All pads a minimum of 0.20 mm from all adjacent pads; adjust as necessary  
to meet application process requirements and PCB layout tolerances; when  
mounting on a multilayer PCB, thermal vias at the exposed thermal pad land  
can improve thermal dissipation (reference EIA/JEDEC Standard JESD51-5).  
C
D
E
Branding scale and appearance at supplier discretion.  
Hall element (D1); not to scale.  
1
2
B
PCB Layout Reference View  
Active Area Depth 0.36 mm.  
Figure 36: Package LE, 14-Pin TSSOP  
62  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  
Precision Angle Sensor IC with Incremental and  
Motor Commutation Outputs and On-Chip Linearization  
AAS33001  
Revision History  
Number  
Date  
Description  
1
March 28, 2018  
Initial release  
Updated Selection Guide (page 3) and Terminal List table (page 4)  
September 4, 2018  
Copyright ©2018, Allegro MicroSystems, LLC  
Allegro MicroSystems, LLC reserves the right to make, from time to time, such departures from the detail specifications as may be required to  
permit improvements in the performance, reliability, or manufacturability of its products. Before placing an order, the user is cautioned to verify that  
the information being relied upon is current.  
Allegro’s products are not to be used in any devices or systems, including but not limited to life support devices or systems, in which a failure of  
Allegro’s product can reasonably be expected to cause bodily harm.  
The information included herein is believed to be accurate and reliable. However, Allegro MicroSystems, LLC assumes no responsibility for its  
use; nor for any infringement of patents or other rights of third parties which may result from its use.  
Copies of this document are considered uncontrolled documents.  
For the latest version of this document, visit our website:  
www.allegromicro.com  
63  
Allegro MicroSystems, LLC  
955 Perimeter Road  
Manchester, NH 03103-3353 U.S.A.  
www.allegromicro.com  

相关型号:

AAS33001LLPBTR-DD

Hall Effect Sensor,
ALLEGRO

AAS33051LLEATR

Hall Effect Sensor,
ALLEGRO

AAS33051LLPBTR-DD

Hall Effect Sensor,
ALLEGRO

AASC1-1.000MHZ-L3

Series - Fundamental Quartz Crystal, 1MHz Nom, HC-49/U, 3 PIN
CALIBER

AASC1-10.000MHZ-G

Series - Fundamental Quartz Crystal, 10MHz Nom, HC-49/U, 2 PIN
CALIBER

AASC1-12.28890MHZ-G

Series - Fundamental Quartz Crystal
CALIBER

AASC1-12.28890MHZ-L

Series - Fundamental Quartz Crystal
CALIBER

AASC1-12.28890MHZ-L3

Series - Fundamental Quartz Crystal
CALIBER

AASC1-12.28890MHZ-V

Series - Fundamental Quartz Crystal
CALIBER

AASC1-2.4576MHZ-SP

Series - Fundamental Quartz Crystal, 2.4576MHz Nom, HC-49/U, 2 PIN
CALIBER

AASC1-3.000MHZ-L

Series - Fundamental Quartz Crystal, 3MHz Nom, HC-49/U, 3 PIN
CALIBER

AASC1-3.2768MHZ-I

Series - Fundamental Quartz Crystal, 3.2768MHz Nom, HC-49/U, 2 PIN
CALIBER