MagAlpha MA330
14-Bit, Digital, Contactless Angle Sensor
with ABZ & UVW Incremental Outputs
DESCRIPTION
FEATURES
The MA330 detects the absolute angular
position of a permanent magnet, typically a
diametrically magnetized cylinder on a rotating
shaft. Fast data acquisition and processing
provide accurate angle measurement at speeds
from 0rpm to 60,000rpm. The digital filtering is
adjustable to optimize control loop performance
when used in servo applications.
•
The MA330 supports a wide range of magnetic
field strengths and spatial configurations. Both
end-of-shaft and off-axis (side-shaft mounting)
configurations are supported.
•
The MA330 features magnetic field strength
detection with programmable thresholds to allow
sensing of the magnet position relative to the
sensor for creation of functions such as sensing
axial movements or for diagnostics.
On-chip, non-volatile memory provides storage
for configuration parameters, including the
reference zero angle position, ABZ encoder
settings, UVW pole pair emulation settings, and
magnetic field detection thresholds.
•
•
•
•
•
•
•
9-Bit to 14-Bit Resolution Absolute Angle
Encoder
Contactless Sensing for Long Life
SPI Serial Interface for Digital Angle
Readout and Chip Configuration
Incremental 12-Bit ABZ Quadrature
Encoder Interface with Programmable
Pulses Per Turn from 1 to 1024
UVW Interface with 1-Pole to 8-Pole Pair
Emulation
Programmable Magnetic Field Strength
Detection for Diagnostic Checks
3.3V, 12mA Supply
-40°C to +125°C Operating Temperature
Available in a QFN-16 (3mmx3mm)
Package
APPLICATIONS
•
•
•
•
Brushless DC Motor Servo Drives
Motor Commutation
Motor Speed and Position Control
Robotics
All MPS parts are lead-free, halogen-free, and adhere to the RoHS directive.
For MPS green status, please visit the MPS website under Quality
Assurance. “MPS”, the MPS logo, and “Simple, Easy Solutions” are
registered trademarks of Monolithic Power Systems, Inc. or its subsidiaries.
TYPICAL APPLICATION
MA330 Rev. 1.1
8/8/2022
MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
1
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
ORDERING INFORMATION
Part Number*
MA330GQ
Package
QFN-16 (3mmx3mm)
Top Marking
See Below
* For Tape & Reel, add suffix -Z (e.g. MA330GQ-Z).
TOP MARKING
BKA: Product code of MA330GQ
Y: Year code
LLL: Lot number
PACKAGE REFERENCE
TOP VIEW
QFN-16 (3mmx3mm)
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
2
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
PIN FUNCTIONS
Pin #
Name
Description
1
2
3
4
5
6
V
A
Z
MOSI
CS
B
7
MISO
8
9
10
11
12
13
14
15
16
GND
W
TEST
MGL
SCLK
VDD
NC
U
MGH
Motor commutation output.
Incremental output.
Incremental output.
Data in (SPI). MOSI has an internal pull-down resistor.
Chip select (SPI). CS has an internal pull-up resistor.
Incremental output.
Data out (SPI). MISO has an internal pull-down resistor that is enabled at a high-impedance
state.
Supply ground.
Motor commutation output.
Connect to ground.
Digital output indicating field strength below MGLT level.
Clock (SPI). SCLK has an internal pull-down resistor.
Supply 3.3V.
No connection. Leave NC unconnected.
Motor commutation output.
Digital output indicating field strength above MGHT level.
θJA
θJC
ABSOLUTE MAXIMUM RATINGS (1)
Thermal Resistance (3)
Supply voltage .............................-0.5V to +4.6V
Input pin voltage (VI) ....................-0.5V to +6.0V
Output pin voltage (VO) ................-0.5V to +4.6V
Continuous power dissipation (TA = 25°C) (2)
................................................................... 2.0W
Junction temperature ................................125°C
Lead temperature .....................................260°C
Storage temperature ................ -65°C to +150°C
QFN-16 (3mmx3mm) ............. 50 ....... 12 ... °C/W
MA330 Rev. 1.1
8/8/2022
Notes:
1) Exceeding these ratings may damage the device.
2) The maximum allowable power dissipation is a function of the
maximum junction temperature TJ (MAX), the junction-toambient thermal resistance θJA, and the ambient temperature
TA. The maximum allowable continuous power dissipation at
any ambient temperature is calculated by PD (MAX) = (TJ (MAX)
- TA) / θJA.
3) Measured on JESD51-7, 4-layer PCB.
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
3
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
ELECTRICAL CHARACTERISTICS
Parameter
Symbol Condition
Recommended Operating Conditions
Supply voltage
VDD
Supply current
Operating temperature
Applied magnetic field
MA330 Rev. 1.1
8/8/2022
IDD
TOP
B
From -40°C to +125°C
Min
Typ
Max
Units
3.0
3.3
3.6
V
10.2
11.7
13.8
mA
+125
°C
mT
-40
30
60
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
4
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
GENERAL CHARACTERISTICS
VDD = 3.3V, 45mT < B < 100mT, temp = -40°C to +125°C, unless otherwise noted.
Parameter
Absolute Output – Serial
Symbol
Condition
Filter window t = 64µs
Filter window t = 16ms
Filter window t = 64µs
Filter window t = 16ms
Effective resolution (±3σ)
Noise RMS
Refresh rate
Data output length
Response Time
Power-up time (4)
Latency (5)
Filter cutoff frequency (4)
fCUTOFF
fCUTOFF
Filter window t = 64µs
Filter window t = 16ms
Constant speed propagation
delay
Filter window t = 64µs
Filter window t = 16ms
Min
Typ
Max
Units
9.0
13.0
0.04
0.003
850
14
9.8
13.8
0.07
0.004
980
10.5
14.5
0.12
0.007
1100
14
bits
bits
Deg
deg
kHz
bits
0.6
260
ms
ms
10
µs
8
6
23
kHz
Hz
0.7
deg
1.1
deg
0.015
deg/°C
0.5
1.0
0.005
deg
deg
deg/mT
deg/V
Accuracy
At room temperature over the
full field range
Over the full temperature range
and field range
INL at 25°C
INL between -40°C to
+125°C (5)
Output Drift
Temperature induced drift at
room temperature (5)
From 25°C to 85°C
From 25°C to 125°C
Temperature induced
variation (5)
Magnetic field induced (5)
Voltage supply induced (5)
Incremental Output – ABZ
ABZ update rate
Resolution – edges per turn
Pulses per channel per turn
ABZ hysteresis (5)
0.3
16
PPT+1
H
Systematic jitter (5)
Incremental Output – UVW
Cycle per turn
UVW hysteresis (5)
UVW jitter (3σ) (5)
MA330 Rev. 1.1
8/8/2022
NPP
H
Programmable
Programmable
Programmable
4
1
0.08
MHz
4096
1024
2.8
deg
For PPT = 1023, up to 60mT
11
%
For PPT = 127
7
%
8
0.7
0.3
deg
deg
1
0.1
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
5
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
GENERAL CHARACTERISTICS (continued)
VDD = 3.3V, 45mT < B < 100mT, temp = -40°C to +125°C, unless otherwise noted.
Parameter
Symbol Condition
Magnetic Field Detection Thresholds
Accuracy (5)
Hysteresis (5)
MagHys
(5)
Temperature drift
Digital I/O
Input high voltage
Input low voltage
Output low voltage
(5)
Output high voltage
(5)
Pull-up resistor
Pull-down resistor
Rising edge slew rate (4)
Falling edge slew rate (4)
VIH
VIL
VOL
VOH
RPU
RPD
tR
tF
Min
Typ
5
6
-600
mT
mT
ppm/°C
5.5
V
-0.3
+0.8
V
0.4
V
2.4
46
43
CL = 50pF
CL = 50pF
Units
2.5
IOL = 4mA
IOH = 4mA
Max
V
66
97
55
97
0.7
0.7
kΩ
kΩ
V/ns
V/ns
Notes:
4)
5)
Guaranteed by design.
Guaranteed by characteristic test.
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
6
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
TYPICAL CHARACTERISTICS
VDD = 3.3V, temp = 25°C, unless otherwise noted.
ABZ Jitter at PPT = 255,
tau = 1ms
Noise Spectrum at 50mT,
t = 16ms
Filter Transfer Function at
t = 16ms
5
FILTER TRANSFER FUNCTION (dB)
1/2
NOISE DENSITY (deg/Hz )
0.001
0.0001
10
-5
0
-3 dB
-5
-10
-15
10
-6
0.1
1
10
100
1000
10
-20
4
10
100
1000
FREQUENCY (Hz)
Error Curves at 50mT
10
4
10
5
f (Hz)
Effective Resolution (3σ)
Nonlinearity
(INL and Harmonics)
1.5
14
INL
= 16 ms
EFFECTIVE RESOLUTION (bit)
NON-LINEARITY (deg)
13
1
H1
H2
0.5
=8 ms
= 4 ms
12
= 2 ms
= 1 ms
11
= 512 s
= 256 s
10
= 128 s
= 64 s
9
8
0
0
10
20
30
40
50
MAGNETIC FIELD (mT)
60
70
80
0
20
40
60
80
100
120
MAGNETIC FIELD (mT)
Current Consumption at
VDD = 3.3V
12
SUPPLY CURRENT (mA)
11.5
11
10.5
10
-50
0
50
100
150
TEMPERATURE (°C)
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
7
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
FUNCTIONAL BLOCK DIAGRAM
Figure 1: Functional Block Diagram
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
8
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
OPERATION
Sensor Front-End
The magnetic field is detected with integrated
Hall devices located in the center of the package.
The angle is measured using the SpinaxisTM
method, which directly digitizes the direction of
the
field
without
complex
arctangent
computation or feedback loop-based circuits
(interpolators).
The SpinaxisTM method is based on phase
detection, and generates a sinusoidal signal with
a phase that represents the angle of the
magnetic field. The angle is then obtained by a
time-to-digital converter, which measures the
time between the zero crossing of the sinusoidal
signal and the edge of a constant waveform (see
Figure 2). The time-to-digital is outputted from
the front-end to the digital conditioning block.
Sensor – Magnet Mounting
The sensitive volume of the MA330 is confined
in a region less than 100µm wide that has
multiple integrated Hall devices. This volume is
located both horizontally and vertically within
50µm of the center of the QFN package. The
sensor detects the angle of the magnetic field
projected in a plane parallel to the package’s
upper surface. This means that the only relevant
magnetic field is the in-plane component (X and
Y components) in the middle point of the
package.
By default, when looking at the top of the
package, the angle increases when the magnetic
field rotates clockwise. Figure 3 shows the zero
angle of the unprogrammed sensor, where the
cross indicates the sensitive point. Both the
rotation direction and the zero angle can be
programmed.
Top – Sine Waveform
Bottom – Clock of Time-to-Digital Converter
Figure 2: Phase Detection Method
The output of the front-end delivers a digital
number proportional to the angle of the magnetic
field at the rate of 1MHz in a straightforward and
open-loop manner.
Digital Filtering
The front-end signal is further treated to achieve
the final effective resolution. This treatment does
not add any latency in steady conditions. The
filter transfer function can be calculated with
Equation (1):
H ( s) =
1 + 2s
(1 + s) 2
(1)
Where t is the filter time constant, related to the
cutoff frequency by t = 0.38 / fCUTOFF. See the
General Characteristics table on page 5 for the
values of fCUTOFF.
MA330 Rev. 1.1
8/8/2022
Figure 3: Detection Point and Default Positive
Direction
This type of detection provides flexibility for the
design of an angular encoder. The sensor only
requires the magnetic vector to lie essentially
within the sensor plane with a field amplitude of
at least 30mT. Note that the MA330 can work
with fields smaller than 30mT, but the linearity
and resolution performance may deviate from
the specifications. The most straightforward
mounting method is to place the MA330 sensor
on the rotation axis of a permanent magnet (e.g.
a diametrically magnetized cylinder) (see Figure
4). A typical magnet is a Neodymium alloy (N35)
cylinder with Ø5mmx3mm dimensions inserted
into an aluminum shaft, keeping a 1.5mm air gap
between the magnet and the sensor (surface of
package). For good
MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
9
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
linearity, the sensor is positioned with a precision
of 0.5mm.
Figure 6: Connection for Supply Decoupling
Figure 4: End-of-Shaft Mounting
If the end-of-shaft position is not available, the
sensor can be positioned away from the rotation
axis of a cylinder or ring magnet (see Figure 5).
In this case, the magnetic field angle is no longer
directly proportional to the mechanical angle.
The MA330 can be adjusted to compensate for
this effect and recover the linear relationship
between the mechanical angle and the sensor
output. With multiple pole pair magnets, the
MA330 indicates multiple rotations for each
mechanical turn.
Figure 5: Side-Shaft Mounting
Electrical Mounting and Power Supply
Decoupling
It is recommended to place a 1µF decoupling
capacitor close to the sensor with a lowimpedance path to GND (see Figure 6).
MA330 Rev. 1.1
8/8/2022
MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
10
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
Though the MagAlpha generally works fine with
or without the exposed pad connected to
anything, for optimum conditions (electrically,
thermally, and mechanically), it is recommended
to connect the exposed pad to ground.
All commands to the MagAlpha (whether for
writing or reading register content) must be
transferred through the SPI MOSI pin, and must
be 16 bits long. See the SPI Communication
section on page 13 for details.
Serial Interface
The sensor supports the SPI serial interface for
angle reading and register programming.
Table 1: SPI Specification
SPI
SPI is a 4-wire, synchronous, serial
communication interface. The MagAlpha
supports SPI mode 3 and mode 0 (see Table 1
and Table 2). The SPI mode (0 or 3) is detected
automatically by the sensor, and does not
require any action from the user. The maximum
clock rate supported on SPI is 25MHz. There is
no minimum clock rate. Note that real life data
rates depend on PCB layout quality and signal
trace length. See Figure 7, Figure 8, and Table 3
for SPI timing.
tcsL
CS
Mode 0
Mode 3
Low
High
On SCLK rising edge
On SCLK falling edge
High
MSB first
SCLK Idle State
Data Capture
Data Transmission
CS Idle State
Data Order
Table 2: SPI Standard
CPOL
CPHA
Data Order (DORD)
tsclk
tsclkL tsclkH
tcsH
tMISO
tMISO
Mode 0
Mode 3
0
1
0
1
0 (MSB first)
tidleAngle
tidleReg
tnvm
SCLK
tMISO
MISO
hi-Z
MOSI
MSB
X
LSB
MSB
hi-Z
MSB
X
LSB
MSB
tMOSI
Figure 7: SPI Timing Diagram
tidleAngle
tidleAngle
tidleAngle
tidleReg
tidleReg
tidleAngle
tnvm
tidleReg
CS
MISO
Angle
Angle
Angle
Angle
Reg Value
Angle
Angle
Reg Value
Angle
MOSI
0
0
0
Read Reg Cmd
0
0
Write Reg Cmd
0
0
Figure 8: Minimum Idle Time
Table 3: SPI Timing
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
11
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
Parameter (6)
Description
Min
tidleAngle
Idle time between two subsequent angle transmissions
150
ns
tidleReg
Idle time before and after a register readout
750
ns
tnvm
Idle time between a write command and a register readout
(delay necessary for non-volatile memory update)
20
ms
tcsL
Time between CS falling edge and SCLK falling edge
80
ns
tsclk
SCLK period
40
ns
tsclkL
Low level of SCLK signal
20
ns
tsclkH
High level of SCLK signal
20
ns
tcsH
Time between SCLK rising edge and CS rising edge
25
ns
tMISO
SCLK setting edge to data output valid
tMOSI
Data input valid to SCLK reading edge
Max
15
15
Unit
ns
ns
Note:
6) All values are guaranteed by design.
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
12
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
PI Communication
The sensor supports three types of SPI
operation:
•
•
•
Read angle
Read configuration register
Write configuration register
Reducing the number of clock counts can
therefore optimize angle reading without any
information loss. In the case of a 12-bit data
output length, only 12 clock counts are required
to get the full sensor resolution.
MSB
Each operation has a specific frame structure,
described below.
SPI Read Angle
Every 1µs, new data is transferred into the output
buffer. The master device triggers the reading by
pulling CS low.
When a trigger event is detected, the data
remains in the output buffer until the CS signal is
de-asserted (see Table 4).
LSB
MISO
Angle(15:4)
MOSI
0
If less resolution is needed, the angle can be
read by sending even fewer clock counts (since
MSB is first).
In the case of fast reading, the MagAlpha keeps
sending the same data until the data is refreshed
(see the refresh rate in the General
Characteristics table on page 5).
Table 4: Sensor Data Timing
Event
Action
Start reading and freeze
CS falling edge
output buffer
CS rising edge
Release of the output buffer
Figure 9 shows a diagram of a full SPI angle
reading. Figure 10 shows a diagram of a partial
SPI angle reading. A full angle reading requires
16 clock pulses. The sensor MISO line returns:
MSB
LSB
MISO
Angle(15:0)
MOSI
0
Figure 9: Diagram of a Full 16-Bit SPI Angle
Reading
The MagAlpha family has sensors with different
features and levels of resolution. Check the data
output length in the General Characteristics table
on page 5 for the number of useful bits delivered
at the serial output. If the data length is smaller
than 16, the rest of bits sent are 0.
For example, a data output length of 12 bits
means that the serial output delivers a 12-bit
angle value with 4 bits of 0 padded at the end
(MISO state remains 0). If the master sends 16
clock counts, the MagApha replies with the
following:
MSB
MISO
MOSI
LSB
Angle(15:4)
0
0 0 0 0
Figure 10: Diagram of a Partial 8-Bit SPI Angle
Reading
SPI Read Register
A read register operation is constituted of two 16bit frames. The first frame sends a read request,
which contains the 3-bit read command (010)
followed by the 5-bit register address. The last 8
bits of the frame must all be set to 0. The second
frame returns the 8-bit register value (MSB byte).
The first 16-bit SPI frame (read request) is:
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
13
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
MSB
MISO
LSB
Angle(15:0)
Command Reg. address
MOSI 0 1 0 A4 A3 A2 A1 A0
For example, to get the values of the magnetic
level high and low flags (MGH and MGL), read
register 27 (bit 6, bit 7) by sending the following
first frame:
0 0 0 0 0 0 0 0
MSB
The second 16-bit SPI frame (response) is:
MISO
Reg. value
MISO V7 V6 V5 V4 V3 V2 V1 V0
MOSI
0 0 0 0 0 0 0 0
MSB
MOSI
LSB
0
Figure 11 shows a complete transmission
overview.
LSB
Angle(15:0)
Command
0 1 0
Reg. address
1 1 0 1 1
0 0 0 0 0 0 0 0
In the second frame, the MagAlpha replies:
Reg. value
MISO MGH MGL X X X X X X
0 0 0 0 0 0 0 0
MSB
MOSI
LSB
0
Figure 12 shows a complete example overview.
Figure 11: Two 16-Bit Frames Read Register Operation
Figure 12: Example Read Magnetic Level Flags High and Low (MGH, MGH) on Register 27, Bit 7 to Bit 6
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
14
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
SPI Write Register
Table 5 shows the programmable 8-bit registers.
Data written to these registers is stored in the onchip, non-volatile memory, and is reloaded
automatically during power on. Table 6 shows
the factory default register values.
A write register operation is composed of two 16bit frames. The first frame sends a write request,
which contains the 3-bit write command (100)
followed by the 5-bit register address and the 8bit value (MSB first). The second frame returns
the newly written register value (acknowledge).
The on-chip memory is guaranteed to endure
1,000 write cycles at 25°C.
It is important to wait 20ms between the first and
the second frame. This is the time taken to write
the non-volatile memory. Failure to implement
this wait period results in the register’s previous
value being read. Note that this delay is only
required after a write request. A read register
request and read angle do not require this wait
time.
The first 16-bit SPI frame (write request) is:
MSB
MISO
The second 16-bit SPI frame (response) is:
Reg. value
MISO V7 V6 V5 V4 V3 V2 V1 V0
MSB
Command Reg. address
Reg. value
MOSI 1 0 0 A4 A3 A2 A1 A0 V7 V6 V5 V4 V3 V2 V1 V0
LSB
MOSI
0
The readback register content can be used to
verify the register programming. Figure 13
shows a complete transmission overview.
For example, to set the value of the output
rotation direction (RD) to counterclockwise
(high), write register 9 by sending the following
first frame:
MSB
MISO
MOSI
LSB
Angle(15:0)
Command
1 0 0
Reg. address
0 1 0 0 1
Reg. value
1 0 0 0 0 0 0 0
Send the second frame after a 20ms wait time. If
the register is written correctly, the reply is:
Reg. value
MISO 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
MSB
LSB
Angle(15:0)
0 0 0 0 0 0 0 0
MOSI
LSB
0
Figure 14 shows a complete example.
Figure 13: Overview of Two 16-Bit Frames Write Register Operation
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
15
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
Figure 14: Example Write Output Rotation Direction (RD) to Counterclockwise (High), on Register 9, Bit 7
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
16
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
REGISTER MAP
Table 5: Register Map
Bit 7
MSB
No
Hex
Bin
Bit 6
0
0x0
00000
Z(7:0)
1
0x1
00001
Z(15:8)
2
0x2
00010
BCT(7:0)
3
0x3
00011
4
0x4
00100
5
0x5
00101
6
0x6
00110
MGLT(2:0)
7
0x7
00111
NPP(2:0)
9
0x9
01001
14
0xE
01110
FW(7:0)
16
0x10
10000
HYS(7:0)
27
0x1B
11011
-
-
Bit 5
-
Bit 4
Bit 3
-
PPT(1:0)
-
Bit 2
Bit 1
Bit 0
LSB
-
ETY
ETX
-
-
-
-
ILIP(3:0)
PPT(9:2)
RD
MGH
-
MGL
MGHT(2:0)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Table 6: Factory Default Values
No
Hex
Bin
Bit 7
MSB
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
LSB
0
0x0
00000
0
0
0
0
0
0
0
0
1
0x1
00001
0
0
0
0
0
0
0
0
2
0x2
00010
0
0
0
0
0
0
0
0
3
0x3
00011
0
0
0
0
0
0
0
0
4
0x4
00100
1
1
0
0
0
0
0
0
5
0x5
00101
1
1
1
1
1
1
1
1
6
0x6
00110
0
0
0
1
1
1
0
0
7
0x7
00111
0
0
0
0
0
0
0
0
9
0x9
01001
0
0
0
0
0
0
0
0
14
0xE
01110
0
1
1
1
0
1
1
1
16
0x10
10000
1
0
0
1
1
1
0
0
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
17
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
Table 7: Programming Parameters
Parameters
Symbol
Zero setting
Bias current
trimming
Z
Number of
Bits
16
BCT
8
Enable trimming X
ETX
1
Enable trimming Y
ETY
1
Pulses per turn
PPT
10
ILIP
4
Parametrization of the ABZ index pulse
Figure 23
MGHT
3
Sets the field strength high threshold
Table 14
MGLT
3
Sets the field strength low threshold
Table 14
NPP
3
RD
FW
HYS
1
8
8
Index
length/position
Magnetic field high
threshold
Magnetic field low
threshold
Number of pole
pairs
Rotation direction
Filter window
Hysteresis
MA330 Rev. 1.1
8/8/2022
Description
See
Sets the zero position
For side-shaft configuration. Reduces the
bias current of the X or Y Hall device
Biased current trimmed in the X-direction
Hall device
Biased current trimmed in the Y-direction
Hall device
Number of pulses per turn of the ABZ
output
Table 8
UVW cycles per turn for motor
commutation
Determines the sensor positive direction
Size of the digital filter window
Hysteresis of the ABZ output
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
Table 11
Table 12
Table 12
Table 15
Table 19
Table 10
Table 15
Table 18
18
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
REGISTER SETTINGS
Zero Setting
The zero position of the MagAlpha (a0) can be
programmed with 16 bits of resolution. The angle
streamed out by the MagAlpha (aout) is calculated
with Equation (2):
aout = araw − a0
(2)
Where araw is the raw angle provided by the
MagAlpha front-end.
The parameter Z(15:0), which is 0 by default, is
the complementary angle of the zero setting. In
decimals, it can be determined using Equation
(3):
a0 = 2 − Z (15 : 0)
16
(3)
Table 8 shows the zero setting parameter.
Table 8: Zero Setting Parameter
Zero Position Zero Position
Z(15:0)
a0 (16-bit dec)
a0 (deg)
0
65536
360.000
1
65535
359.995
2
65534
359.989
…
…
…
65534
2
0.011
65535
1
0.005
Example
To set the zero position to 20 degrees, the
Z(15:0) parameter is equal to the complementary
angle, and can be calculated with Equation (4):
Z (15 : 0) = 216 −
20 deg 16
2 = 61895
360 deg
Figure 15: Positive Rotation Direction of the
Magnetic Field
Table 10: Rotation Direction Parameter
RD
Positive Direction
0
1
Clockwise (CW)
Counterclockwise (CCW)
BCT Settings (Bias Current Trimming)
Side-Shaft
When the MA330 is mounted on the side of the
magnet, the relationship between the field angle
and the mechanical angle is no longer directly
linear. This effect is related to the fact that the
tangential magnetic field is usually smaller than
the radial field. Define the field ratio k with
Equation (5):
k = Brad / Btan
(5)
Where Brad is the maximum radial magnetic field,
and Btan is the maximum tangential magnetic field
(see Figure 16).
(4)
In binary, it is written as 1111 0001 1100 0111.
Table 9 shows the content of registers 0 and 1.
Table 9: Register Content
Reg Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
1
Rotation Direction
By default, when looking at the top of the
package, the angle increases when the magnetic
field rotates clockwise (CW) (see Figure 15 and
Table 10).
MA330 Rev. 1.1
8/8/2022
Figure 16: Side-Shaft Field
The ratio k depends on the magnet geometry
and distance to the sensor. Having a k ratio
different than 1 results in the sensor output
response not being linear with respect to the
mechanical angle. Note that the error curve has
the shape of a double sinewave (see Figure 18).
E is the amplitude of this error.
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
19
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
The X-axis or the Y-axis bias current can be
reduced to recover an equal Hall signal for all
angles and suppress the error. The ETX and
ETY parameters control the direction in which
the sensitivity is reduced. The current reduction
is set by the parameter bias current trimming
BCT(7:0), which is an integer from 0 to 255.
In side-shaft configuration (i.e. the sensor center
is located beyond the magnet’s outer diameter),
k is greater than 1. For optimal compensation,
the sensitivity of the radial axis should be
reduced by setting the BCT parameter,
calculated with Equation (6):
1
BCT (7 : 0) = 2581 −
k
Determining k with the MagAlpha
It is possible to deduce the k ratio from the error
curve obtained with the default BCT setting (BCT
= 0). For this purpose, rotate the magnet over
one revolution and record the MagAlpha output.
Then plot the error curve (the MagAlpha output
minus the real mechanical position vs. the real
mechanical
position)
and
extract
two
parameters: the maximum error E and the
position of this maximum with respect to a zero
crossing am (see Figure 18). k can be calculated
with Equation (7):
k=
(6)
Equation (6) is plotted in Figure 17 and Table 11.
tan( E + a m )
tan(a m )
40
20
200
2E
Error (deg)
m
BCT
150
(7)
0
-20
100
-40
50
0
50
100
150
200
250
300
350
rotor angle (deg)
Figure 18: Error Curve in Side-Shaft
Configuration with BCT = 0
0
1
1.5
2
2.5
3
3.5
4
4.5
5
k
Table 11 shows some examples. Alternately, k
can be obtained from the graph of Figure 19.
Figure 17: Relationship between the k Ratio and
the Optimal BCT to Recover Linearity
5
4.5
MA330 Rev. 1.1
8/8/2022
4
3.5
k
Table 11: Example of BCT Settings
Magnet Ratio k
E (deg)
BCT (7:0)
0
1.0
0
11.5
1.5
86
19.5
2.0
129
25.4
2.5
155
30.0
3.0
172
33.7
3.5
184
36.9
4.0
194
39.5
4.5
201
41.8
5.0
207
3
2.5
2
1.5
1
0
5
10
15
20
25
30
35
40
E (deg)
Figure 19: Relationship between the Error
Measured with BCT = 0 and the Magnet Ratio k
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
20
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
Sensor Orientation
The dot marked on the package shows whether
the radial field is aligned with the sensor
coordinate X or Y (see Figure 20).
and MGHT thresholds are coded on 3 bits and
stored in register 6 (see Table 13).
Table 13: Register 6
Register 6
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
MGLT
MGHT
-
The 3-bit values of MGLT and MGHT correspond
to the magnetic field (see Table 14).
Table 14: MGLT and MGHT Binary
to mT Relationship
Figure 20: Package Top View with X and Y Axes
Determine which axis needs to be reduced (see
the qualitative field distribution around a ring in
Figure 16). For example, with the arrangement
depicted in Figure 20, the field along the sensor
Y direction is tangential and weaker. Therefore,
the X-axis should be reduced (ETX = 1 and ETY
= 0). Note that if both ETX and ETY are set to 1,
the current bias is reduced in both directions the
same way (i.e. without side-shaft correction).
Table 12: Trimming Direction Parameters
ETX
Enable Trimming of the X-Axis
0
Disabled
1
Enabled
ETY
Enable Trimming of the Y-Axis
0
Disabled
1
Enabled
Magnetic Field Thresholds
The magnetic flags (MGL and MGH) indicate
that the magnetic field at the sensor position is
out of range, defined by the lower and upper
magnetic field thresholds, respectively MGLT
and MGHT (see Figure 21).
Field Threshold in mT (7)
MGLT or
MGHT (8)
000
001
010
011
100
101
110
111
From Low to
High Magnetic
Field
26
41
56
70
84
98
112
126
From High to
Low magnetic
Field
20
35
50
64
78
92
106
120
Notes:
7) Valid for VDD = 3.3V. If different, then the field threshold is
scaled by the factor VDD / 3.3V.
8) MGLT can have a larger value than MGHT.
The MGL and MGH alarm flags can be read in
register 27 (bit 6 and bit 7), and their logic state
is also given at digital output pins 11 and 16.
To read the MGL and MGH flags by SPI, send
the following 8-bit write command to register 27:
Command
0 1 0
Reg. address
1 1 0 1 1
Value
LSB
0 0 0 0 0 0 0 0
MSB
The MA330 answers with the register 27 content
in the next transmission:
Register 27 [7:0]
MGH MGL x
x MG1L MG2L x
x
The logic state of the MGL and MGH flags has
no effect on the angle output.
Figure 21: MGH and MGL Signals as a Function
of the Field Strength
MagHys, the typical hysteresis on the MGH and
MGL signals, is 6mT (see Figure 24). The MGLT
MA330 Rev. 1.1
8/8/2022
MGL Application Note
Pulses with a duration of about 1.3μs to 1.5μs
appear randomly in the MGL signal. They appear
on both the pin and register values (Register 27,
bit 6).
These pulses appear around angle values of 44,
138, 224, and 318 degrees (sensor output) or in
an interval of ±1.5 degrees around these values.
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
21
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
These pulses have an amplitude of 3.3V (VDD).
The minimum interval between two pulses is
100μs.
MGL Workarounds
1. Invert the MGH signal to replace MGL. The
MGL and MGH magnetic thresholds only
differ by a small hysteresis (see Table 14 on
page 21). An inverted MGH signal can be
used to replace the MGL output in the
application.
2. Read the MGL signal level twice. Using two
readings, which must be between 2µs and
100µs apart, allows the user to distinguish
erroneous from real transitions. Table 15
shows examples of different cases.
3. Read register 27 with the SPI and compute a
corrected MGL value using MG1L and
MG2L. The corrected MGL signal = not
(MG1L OR MG2L). This means that the
corrected MGL must be set to 1 only when
both MG1L and MG2L are equal to 0. See
the C implementation below:
correctedMGL = !(MG1L | MG2L)
Table 15: MGL Multiple Reading Workaround
MGL Second
MGL
True
Reading (e.g.
First
MGL
20μs After the
Reading
Value
First Reading)
Second reading is
Case 1
0
0
not needed
Case 2
1
1
1
Case 3
1
0
0
Filter Window
The filter window affects the effective resolution
(defined as the ±3σ noise interval) and the output
bandwidth, which is characterized by the cutoff
frequency. Table 16 shows the resulting
resolution and bandwidth for each window.
FW(7:0)
51
68
85
102
119
(default)
136
153
170
187
Table 16: FW
Effective
Time
Resolutio
fCUTOFF
Const.
n at 45mT
(Hz)
𝜏 (µs)
(bits)
64
9.5
6000
128
10
3000
256
10.5
1500
512
11
740
1024
11.5
370
2048
4096
8192
16384
12
12.5
13
13.5
185
93
46
23
PowerUp
Time
(ms)
0.5
1.1
2.5
5.5
12
26
57
123
264
The time constant 𝜏 is the parameter entering in
the transfer function (1). This allows the user to
accurately model the system and, most
importantly, analyze the stability of a control
loop.
ABZ Incremental Encoder Output
The MA330 ABZ output emulates a 12-bit
incremental encoder (such as an optical
encoder) by providing logic pulses in quadrature
(see Figure 22). Compared to signal A, signal B
is shifted by 1/4 of the pulse period. Over one
revolution, signal A pulses n times, where n is
programmable from 1 to 1024 pulses per
revolution. The number of pulses per channel
per revolution is programmed by setting the
parameter PPT, which consists of 8 bits split
between registers 0x4 and 0x5 (see Table 5).
The factory default value is 1023. Table 17
shows how to program PPT(9:0) to set the
required resolution.
PPT(9:0)
0000000000
0000000001
0000000010
0000000011
…
1111111100
1111111101
1111111110
1111111111
Table 17: PPT
Pulses per Edges per
Revolution Revolution
1
4
2
8
3
12
4
16
…
…
1021
4084
1022
4088
1023
4092
1024
4096
MIN
…
MAX
For example, to set 120 pulses per revolution
(480 edges), set PPT to 120 - 1 = 119 (binary:
0001110111). Table 18 on page 23 shows how
to set registers 4 and 5.
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
22
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
Table 18: Register 4 and Register 5
R4
R5
B7
1
0
B6
1
0
B5
0
0
B4
0
1
B3
0
1
B2
0
1
B1
0
0
B0
0
1
Figure 23: ILIP Parameter Effect on Index Shape
By default, the ILIP parameter is 0000. The index
rising edge is aligned with the channel B falling
edge, and the index length is half the A or B
pulse length.
Figure 22: Timing of the ABZ Output
Signal Z (zero or index) raises only once per turn
at the zero angle position.
ABZ Hysteresis
The hysteresis is set by the HYS parameter (see
Table 19). To avoid spurious transitions, it is
highly recommended that the hysteresis be 12
times greater than the output RMS noise (= 1σ)
(see Figure 27). Table 20 shows indications of
the 1σ noise.
The position and length of the Z pulse is
programmable via bit ILIP(3:0) in register 0x4
(see Figure 23).
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
23
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
Table 19: HYS
Hysteresis
HYS(7:0)
(deg)
200
0.08
188
0.14
148
0.18
152
0.36
156 (default)
0.52
116
0.70
120
1.4
124
2.1
84
2.8
Table 20: RMS Noise
Effective
1σ
Resolution
FW(7:0)
Noise
at 45mT
(deg)
(bits)
51
9.5
0.08
68
10
0.06
85
10.5
0.04
102
11
0.03
119
11.5
0.02
(default)
136
12
0.015
153
12.5
0.01
170
13
0.007
187
13.5
0.005
Figure 25: ABZ Jitter
The measurable jitter is composed of the random
jitter and the systematic jitter (i.e. always the
same deviation at a given angle, and given in the
General Characteristics table on page 5).
The random jitter reflects the sensor noise, so
the edge distribution is the same as the SPI
output noise.
The random jitter is a function of the rotation
speed. At lower speeds, the random jitter is
smaller than the sensor noise (see the Typical
Characteristics curves on page 7).
This is a consequence of the fact that the
probability of measuring an edge at a certain
distance from the ideal position depends on the
number of ABZ updates at this position.
Block Commutation – UVW
The UVW output emulates the three Hall
switches, usually used for the block commutation
of a three-phase electric motor. The three logic
signals have a duty cycle of 50%, and are shifted
by 60° relative to each other (see Figure 26).
Figure 24: Hysteresis of the Incremental Output
ABZ Jitter
The ABZ state is updated at a frequency of
16MHz, enabling accurate operation up to a very
high rpm (above 105rpm).
The jitter characterizes how far a particular ABZ
edge can occur at an angular position different
from the ideal position (see Figure 25).
MA330 Rev. 1.1
8/8/2022
Figure 26: UVW Output for Single-Pole Pair Rotor
during Rotation
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
24
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
If the number of motor pole pairs exceeds the
number of target magnet pole pairs, the MA330
is able to generate more than one UVW cycle per
revolution. It does this by dividing the digital
angle into the required number of commutation
steps per 360° revolution. The parameter
NPP(2:0) in register 0x7 sets the number of pole
pairs emulated, and the corresponding
commutation step angle for the UVW signals.
Table 21 describes the pole pair configuration
options.
Table 21: Number of UVW Pair Poles
NPP
Pole
States per
State Width
(2:0)
Pairs
Revolution
(deg)
000
1
6
60
001
2
12
30
010
3
18
20
011
4
24
15
100
5
30
12
101
6
36
10
110
7
42
8.6
111
8
48
7.5
Figure 27: UVW Commutation Signals for a FourPole (Dipole Pair) Motor
UVW Hysteresis
A hysteresis larger than the output noise is
introduced on the UVW output to avoid any
spurious transitions (see Figure 28).
Figure 27 shows an example of the 30° UVW
commutation signal spacing for a four-pole
(dipole pair) motor.
Figure 28: Hysteresis of the UVW Signal
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
25
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
TYPICAL APPLICATION CIRCUITS
Figure 29: Typical Configurations Using SPI Interface and MGH/MGL Signals
Figure 30: Typical Motor Configuration Using UVW Commutation Signals
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
26
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
PACKAGE OUTLINE DRAWING FOR 16L QFN (3x3mm)
PACKAGE INFORMATION MF-PO-D-0007 revision 2.0
QFN-16 (3mmx3mm)
2.90
3.10
1.50
1.80
0.30
0.50
PIN 1 ID
MARKING
0.18
0.30
2.90
3.10
PIN 1 ID
INDEX AREA
13
16
12
PIN 1 ID
SEE DETAIL A
1
1.50
1.80
0.50
BSC
4
9
5
8
TOP VIEW
BOTTOM VIEW
PIN 1 ID OPTION A
0.30x45º TYP.
PIN 1 ID OPTION B
R0.20 TYP.
0.80
1.00
0.20 REF
0.00
0.05
DETAIL A
SIDE VIEW
2.90
NOTE:
1.70
0.70
0.25
1) ALL DIMENSIONS ARE IN MILLIMETERS.
2) EXPOSED PADDLE SIZE DOES NOT INCLUDE MOLD FLASH.
3) LEAD COPLANARITY SHALL BE 0.10 MILLIMETER MAX.
4) DRAWING CONFORMS TO JEDEC MO-220, VARIATION VEED-4.
5) DRAWING IS NOT TO SCALE.
0.50
RECOMMENDED LAND PATTERN
MA330 Rev. 1.1
8/8/2022
www.MonolithicPower.com
MPS Proprietary Information. Patent Protected. Unauthorized Photocopy and Duplication Prohibited.
© 2022 MPS. All Rights Reserved.
27
MA330 – 12-BIT DIGITAL ANGLE SENSOR WITH ABZ & UVW OUTPUTS
APPENDIX A: DEFINITIONS
Effective Resolution (3σ
Noise Level)
Smallest angle increment distinguishable from the noise. The resolution is
measured by computing three times σ (the standard deviation in degrees) taken
over 1,000 data points at a constant position. The resolution in bits is obtained
with: log2 (360 / 6σ).
Refresh Rate
Rate at which new data points are stored in the output buffer.
ABZ Update Rate
Rate at which a new ABZ state is computed. The inverse of this rate is the
minimum time between two ABZ edges.
Latency
Time elapsed between the instant when the data is ready to be read and the
instant at which the shaft passes that position. The lag in degrees is
lag = latency v , where v is the angular velocity in deg/s.
Power-Up Time
Time until the sensor delivers valid data starting at power-up.
Maximum deviation between the average sensor output (at a fixed position) and
the true mechanical angle.
400
sensor out (deg)
350
Integral Nonlinearity (INL)
300
lag
250
ideal
sensor output
200
150
INL
100
0
sensor out
best straight fit
resolution
( ± 3 )
50
0
100
200
300
400
500
600
700
rotor position (deg)
INL can be obtained from the error curve err(a) = out(a) - a, where out(a) is the
average over 1000 sensor output, and a is the mechanical angle indicated by
a high-precision encoder (