STMicroelectronics LIS3MDL Digital output magnetic sensor: ultra-low-power, high-performance 3-axis magnetometer Datasheet

LIS3MDL
Digital output magnetic sensor:
ultra-low-power, high-performance 3-axis magnetometer
Datasheet - production data
Description
The LIS3MDL is an ultra-low-power highperformance three-axis magnetic sensor.
The LIS3MDL has user-selectable full scales of
±4/ 8/ 12/16 gauss.
The self-test capability allows the user to check
the functioning of the sensor in the final
application.
LGA-12 (2.0x2.0x1.0 mm)
The device may be configured to generate
interrupt signals for magnetic field detection.
Features
 Wide supply voltage, 1.9 V to 3.6 V
 Independent IO supply (1.8 V)
 ±4/ ±8/ ±12/ 16 gauss selectable magnetic full
scale
 Continuous and single-conversion modes
 16-bit data output
The LIS3MDL includes an I2C serial bus interface
that supports standard and fast mode (100 kHz
and 400 kHz) and SPI serial standard interface.
The LIS3MDL is available in a small thin plastic
land grid array package (LGA) and is guaranteed
to operate over an extended temperature range of
-40 °C to +85 °C.
 Interrupt generator
 Self-test
 I2C/SPI digital output interface
 Power-down mode/ low-power mode
 ECOPACK®, RoHS and “Green” compliant
Applications
 Magnetometers
 Compasses
Table 1. Device summary
Order codes
Temperature range [C]
Package
Packaging
LIS3MDL
-40 to +85
LGA-12
Tray
LIS3MDLTR
-40 to +85
LGA-12
Tape and reel
May 2015
This is information on a product in full production.
DocID024204 Rev 4
1/33
www.st.com
33
Contents
LIS3MDL
Contents
1
2
Block diagram and pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1
Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Magnetic and electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1
Magnetic characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2
Temperature sensor characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4
Communication interface characteristics . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5
3
4
5
2.4.1
SPI - serial peripheral interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4.2
Sensor I2C - inter IC control interface . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Terminology and functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1
Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2
Zero-gauss level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3
Factory calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Application hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1
External capacitors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2
Soldering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3
High-current wiring effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Digital interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1
I2C serial interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1.1
5.2
6
2/33
I2C operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
SPI bus interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.2.1
SPI read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
5.2.2
SPI write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
5.2.3
SPI read in 3-wire mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
Register mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
DocID024204 Rev 4
LIS3MDL
7
8
Contents
Registers description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.1
WHO_AM_I (0Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.2
CTRL_REG1 (20h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.3
CTRL_REG2 (21h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.4
CTRL_REG3 (22h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.5
CTRL_REG4 (23h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.6
CTRL_REG5 (24h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.7
STATUS_REG (27h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.8
OUT_X_L (28h), OUT_X_H(29h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.9
OUT_Y_L (2Ah), OUT_Y_H (2Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.10
OUT_Z_L (2Ch), OUT_Z_H (2Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.11
TEMP_OUT_L (2Eh), TEMP_OUT_H (2Fh) . . . . . . . . . . . . . . . . . . . . . . 28
7.12
INT_CFG (30h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.13
INT_SRC (31h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.14
INT_THS_L(32h), INT_THS_H(33h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8.1
9
VFLGA-12 package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
DocID024204 Rev 4
3/33
List of tables
LIS3MDL
List of tables
Table 1.
Table 2.
Table 3.
Table 4.
Table 5.
Table 6.
Table 7.
Table 8.
Table 9.
Table 10.
Table 11.
Table 12.
Table 13.
Table 14.
Table 15.
Table 16.
Table 17.
Table 18.
Table 19.
Table 20.
Table 21.
Table 22.
Table 23.
Table 24.
Table 25.
Table 26.
Table 27.
Table 28.
Table 29.
Table 30.
Table 31.
Table 32.
Table 33.
Table 34.
Table 35.
Table 36.
Table 37.
Table 38.
Table 39.
Table 40.
Table 41.
Table 42.
Table 43.
4/33
Device summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Mechanical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Temperature sensor characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
SPI slave timing values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
I2C slave timing values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Serial interface pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
I2C terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
SAD+read/write patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Transfer when master is writing one byte to slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Transfer when master is writing multiple bytes to slave . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Transfer when master is receiving (reading) one byte of data from slave . . . . . . . . . . . . . 18
Transfer when master is receiving (reading) multiple bytes of data from slave . . . . . . . . . 18
Register address map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
WHO_AM_I register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
CTRL_REG1 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
CTRL_REG1 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Data rate configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
X and Y axes operating mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Output data rate configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
CTRL_REG2 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
CTRL_REG2 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Full-scale selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
CTRL_REG3 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
CTRL_REG3 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
System operating mode selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
CTRL_REG4 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
CTRL_REG4 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Z-axis operating mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
CTRL_REG5 register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
CTRL_REG5 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
STATUS_REG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
STATUS_REG description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
INT_CFG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
INT_CFG description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
INT_SRC register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
INT_SRC description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
INT_THS_L_M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
INT_THS_H_M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
VFLGA 2x2x1 12LD pitch 0.5 mm package mechanical data. . . . . . . . . . . . . . . . . . . . . . . 31
Document revision history. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
DocID024204 Rev 4
LIS3MDL
List of figures
List of figures
Figure 1.
Figure 2.
Figure 3.
Figure 4.
Figure 5.
Figure 6.
Figure 7.
Figure 8.
Figure 9.
Figure 10.
Figure 11.
Figure 12.
Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
SPI slave timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
I2C slave timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
LIS3MDL electrical connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Read and write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
SPI read protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Multiple byte SPI read protocol (2-byte example) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
SPI write protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Multiple byte SPI write protocol (2-byte example). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
SPI read protocol in 3-wire mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
VFLGA 2x2x1 12LD pitch 0.5 mm package outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
DocID024204 Rev 4
5/33
Block diagram and pin description
LIS3MDL
1
Block diagram and pin description
1.1
Block diagram
Figure 1. Block diagram
X+
Y+
CHARGE
AMPLIFIER
Z+
I (M)
CS
SCL/SPC
I2C
CONTROL
LOGIC
A/D
CONVERTER
MUX
SDA/SDI/SDO
SPI
SDO/SA1
ZYX-
TRIMMING
CIRCUITS
1.2
CLOCK
INTERRUPT
GENERATOR
CONTROL LOGIC
Pin description
X
CS
10
Res
Z
SDA/SDI/SDO
Figure 2. Pin connections
11
12
1
SD0/SA1
Y
7
6
5
Vdd
GND
Vdd_IO
INT
DIRECTION OF
DETECTABLE
MAGNETIC FIELDS
6/33
Res
DRDY
TOP VIEW
BOTTOM VIEW
DocID024204 Rev 4
SC L/SPC
4
C1
LIS3MDL
Block diagram and pin description
Table 2. Pin description
Pin#
Name
1
SCL
SPC
2
Reserved
Connect to GND
3
GND
Connect to GND
4
C1
Capacitor connection (C1=100 nF)
5
Vdd
Power supply
6
Vdd_IO
7
INT
8
DRDY
9
SDO
SA1
10
CS
11
SDA
SDI
SDO
12
Reserved
Function
I2C serial clock (SCL)
SPI serial port clock (SPC)
Power supply for I/O pins
Interrupt
Data Ready
SPI serial data output (SDO)
I2C less significant bit of the device address (SA1)
SPI enable
I2C/SPI mode selection
(1: SPI idle mode / I2C communication enabled;
0: SPI communication mode / I2C disabled)
I2C serial data (SDA)
SPI serial data input (SDI)
3-wire interface serial data output (SDO)
Connect to GND
DocID024204 Rev 4
7/33
Magnetic and electrical specifications
LIS3MDL
2
Magnetic and electrical specifications
2.1
Magnetic characteristics
@ Vdd = 2.5 V, T = 25 °C unless otherwise noted(a)
Table 3. Mechanical characteristics
Symbol
Parameter
Test conditions
Min.
Typ.(1)
Max.
Unit
±4
FS
±8
Measurement range
gauss
±12
±16
GN
Zgauss
RMS
NL
ST
Sensitivity
Zero-gauss level
RMS noise
Non-linearity
Self test(2)
DF
Magnetic disturbance
field
Top
Operating
temperature range
FS=±4 gauss
6842
FS=±8 gauss
3421
FS=±12 gauss
2281
FS=±16 gauss
1711
FS=±4 gauss
±1
gauss
X-axis; FS=±12 gauss;
Ultra-high-performance mode
3.2
mgauss
Y-axis; FS=±12 gauss
Ultra-high-performance mode
3.2
mgauss
Z-axis; FS=±12 gauss
Ultra-high-performance mode
4.1
mgauss
±0.12
%FS
Best-fit straight line
FS = ±12 gauss
Happlied = ±6 gauss
LSB/
gauss
X-axis
FS = ±12 gauss
1
3
Y-axis
FS = ±12 gauss
1
3
Z-axis
FS = ±12 gauss
0.1
1
Zero-gauss offset starts to degrade
-40
50
gauss
+85
°C
1. Typical specifications are not guaranteed.
2. Absolute value.
a. The product is factory calibrated at 2.5 V. The operational power supply range is from 1.9 V to 3.6 V.
8/33
DocID024204 Rev 4
gauss
LIS3MDL
2.2
Magnetic and electrical specifications
Temperature sensor characteristics
@ Vdd = 2.5 V, T = 25 °C unless otherwise noted(b).
Table 4. Temperature sensor characteristics
Symbol
Parameter
Test conditions
TSDr
Temperature sensor output
change vs. temperature
TODR
Temperature refresh rate(2)
Top
Min.
-
Operating temperature range
Typ.(1)
Max.
Unit
8
LSB/°C
ODR
Hz
-40
+85
°C
1. Typical specifications are not guaranteed.
2. If TEMP_EN bit in CTRL_REG1 (20h) is set to’1’, a temperature data is acquired at each conversion cycle. Refer to
Table 22.
2.3
Electrical characteristics
@ Vdd = 2.5 V, T = 25 °C unless otherwise noted(c)
Table 5. Electrical characteristics
Symbol
Vdd
Parameter
Test conditions
Min.
Typ.(1)
Max.
Unit
3.6
V
Supply voltage
1.9
Vdd_IO
Power supply for I/O
1.71
Idd_HR
Current consumption in
ultra-high-resolution mode
ODR = 20 Hz
270
μA
Idd_LP
Current consumption in
low-power mode
ODR = 20 Hz
40
μA
Idd_PD
Current consumption in
power down
1
μA
Top
Operating temperature range
-40
1.8
Vdd+0.1
+85
°C
1. Typical specification are not guaranteed.
b. The product is factory calibrated at 2.5 V.
c. The product is factory calibrated at 2.5 V. The operational power supply range is from 1.9 V to 3.6 V.
DocID024204 Rev 4
9/33
Magnetic and electrical specifications
LIS3MDL
2.4
Communication interface characteristics
2.4.1
SPI - serial peripheral interface
Subject to general operating conditions for Vdd and Top.
Table 6. SPI slave timing values
Value (1)
Symbol
Parameter
Unit
Min.
tc(SPC)
SPI clock cycle
fc(SPC)
SPI clock frequency
tsu(CS)
CS setup time
5
th(CS)
CS hold time
20
tsu(SI)
SDI input setup time
5
th(SI)
SDI input hold time
15
tv(SO)
SDO valid output time
th(SO)
SDO output hold time
tdis(SO)
SDO output disable time
Max.
100
ns
10
MHz
ns
50
5
50
1. Values are guaranteed at 10 MHz clock frequency for SPI with both 4 and 3 wires, based on
characterization results, not tested in production.
Figure 3. SPI slave timing diagram
CS
tc(SPC)
tsu(CS)
th(CS)
SPC
tsu(SI)
SDI
th(SI)
LSB IN
MSB IN
tv(SO)
SDO
Note:
10/33
MSB OUT
tdis(SO)
th(SO)
LSB OUT
Measurement points are done at 0.2• Vdd_IO and 0.8• Vdd_IO, for both input and output
ports.
DocID024204 Rev 4
LIS3MDL
Magnetic and electrical specifications
Sensor I2C - inter IC control interface
2.4.2
Subject to general operating conditions for Vdd and Top.
Table 7. I2C slave timing values
Symbol
I2C standard mode (1)
Parameter
f(SCL)
SCL clock frequency
I2C fast mode (1)
Min.
Max.
Min.
Max.
0
100
0
400
tw(SCLL)
SCL clock low time
4.7
1.3
tw(SCLH)
SCL clock high time
4.0
0.6
tsu(SDA)
SDA setup time
250
100
th(SDA)
SDA data hold time
0
ns
0
0.9
tr(SDA) tr(SCL)
SDA and SCL rise time
1000
20 + 0.1Cb(2)
300
tf(SDA) tf(SCL)
SDA and SCL fall time
300
20 + 0.1Cb(2)
300
START condition hold time
4
0.6
tsu(SR)
Repeated START condition
setup time
4.7
0.6
tsu(SP)
STOP condition setup time
4
0.6
4.7
1.3
Bus free time between STOP
and START condition
tw(SP:SR)
kHz
μs
3.45
th(ST)
Unit
μs
ns
μs
1. Data based on standard I2C protocol requirement, not tested in production.
2. Cb = total capacitance of one bus line, in pF.
Figure 4. I2C slave timing diagram
5(3($7('
67$57
67$57
WVX 65
67$57
WZ 6365
6'$
WI 6'$
WVX 6'$
WU 6'$
WK 6'$
WVX 63
6723
6&/
WK 67
Note:
WZ 6&//
WZ 6&/+
WU 6&/
WI 6&/
Measurement points are done at 0.2• Vdd_IO and 0.8• Vdd_IO, for both ports.
DocID024204 Rev 4
11/33
Magnetic and electrical specifications
2.5
LIS3MDL
Absolute maximum ratings
Stresses above those listed as “absolute maximum ratings” may cause permanent damage
to the device. This is a stress rating only and functional operation of the device under these
conditions is not implied. Exposure to maximum rating conditions for extended periods may
affect device reliability.
Table 8. Absolute maximum ratings
Symbol
Vdd
Vdd_IO
Vin
Note:
Ratings
Maximum value
Unit
Supply voltage
-0.3 to 4.8
V
I/O pins supply voltage
-0.3 to 4.8
V
-0.3 to Vdd_IO +0.3
V
3,000 for 0.5 ms
g
10,000 for 0.1 ms
g
1000
gauss
Input voltage on any control pin (SCL/SPC,
SDA/SDI/SDO, SDO/SA1, CS)
AUNP
Acceleration (any axis)
MEF
Maximum exposed field
TOP
Operating temperature range
-40 to +85
°C
TSTG
Storage temperature range
-40 to +125
°C
Supply voltage on any pin should never exceed 4.8 V.
This device is sensitive to magnetic fields, improper handling can cause permanent
damage to the part.
This device is sensitive to electrostatic discharge (ESD), improper handling can
cause permanent damage to the part.
12/33
DocID024204 Rev 4
LIS3MDL
Terminology and functionality
3
Terminology and functionality
3.1
Sensitivity
Sensitivity describes the gain of the sensor and can be determined, for example, by
applying a magnetic field of 1 gauss to it.
3.2
Zero-gauss level
Zero-gauss level offset describes the deviation of an actual output signal from the ideal
output if no magnetic field is present.
3.3
Factory calibration
The IC interface is factory calibrated for sensitivity (So) and Zero-gauss level (TyOff).
The trimming values are stored in the device in non-volatile memory. Each time the device is
turned on, the trimming parameters are downloaded to the registers to be employed during
active operation which allows using the device without further calibration.
DocID024204 Rev 4
13/33
Application hints
4
LIS3MDL
Application hints
SCL/SPC
SDA/SDI/SDO
Figure 5. LIS3MDL electrical connections
Z
X
12
11
2
(TOP VIEW)
9
8
3
Y
CS
10
1
SDO/SA1
DRDY
C 1 =100 nF
4
TOP VIEW
DIRECTION OF
DETECTABLE
MAGNETIC FIELDS
55
6
7
INT
C 2 =1 µF
C 3 =100 nF
GND
Vdd
4.1
Vdd_IO
External capacitors
The LIS3MDL requires one external capacitor (C1 = 100 nF) connected between pin 4 and
GND.
The device core power supply line (Vdd) needs one high-frequency decoupling capacitor
(C3 = 100 nF, ceramic) as near as possible to the supply pin, and a low-frequency
electrolytic capacitor (C2 = 1 μF). All the voltage and ground supplies must be present at the
same time to have proper behavior of the IC (refer to Figure 5).
The functionality of the device and the measured magnetic field data is selectable and
accessible through the I2C / SPI interfaces.
The functions, the threshold and the timing of the interrupt pin (INT) can be completely
programmed by the user through the I2C / SPI interfaces.
When I2C or 3-wire SPI is used, the SDO/SA1 pin must be connected to Vdd_IO or GND.
4.2
Soldering information
The LGA package is compliant with the ECOPACK®, RoHS and “Green” standard.
It is qualified for soldering heat resistance according to JEDEC J-STD-020.
Land pattern and soldering recommendations are available at www.st.com.
14/33
DocID024204 Rev 4
LIS3MDL
4.3
Application hints
High-current wiring effects
High current in wiring and printed circuit traces can cause errors in magnetic field
measurements for compassing.
Conductor-generated magnetic fields will add to the Earth’s magnetic field, causing errors in
compass heading computation.
Keep currents higher than 10 mA a few millimeters away from the sensor IC.
DocID024204 Rev 4
15/33
Digital interfaces
5
LIS3MDL
Digital interfaces
The registers embedded in the LIS3MDL may be accessed through both the I2C and SPI
serial interfaces. The latter may be SW configured to operate either in 3-wire or 4-wire
interface mode.
The serial interfaces are mapped to the same pads. To select/exploit the I2C interface, the
CS line must be tied high (i.e. connected to Vdd_IO).
Table 9. Serial interface pin description
Pin name
CS
5.1
Pin description
SPI enable
I2C/SPI mode selection (1: SPI idle mode / I2C communication enabled;
0: SPI communication mode / I2C disabled)
SCL
SPC
I2C serial clock (SCL)
SPI serial port clock (SPC)
SDA
SDI
SDO
I2C serial data (SDA)
SPI serial data input (SDI)
3-wire interface serial data output (SDO)
SA1
SDO
I2C less significant bit of the device address (SA1)
SPI serial data output (SDO)
I2C serial interface
The LIS3MDL I2C is a bus slave. The I2C is employed to write data to registers whose
content can also be read back.
The relevant I2C terminology is given in the table below.
Table 10. I2C terminology
Term
Transmitter
Receiver
Description
The device which sends data to the bus
The device which receives data from the bus
Master
The device which initiates a transfer, generates clock signals and terminates a
transfer
Slave
The device addressed by the master
There are two signals associated with the I2C bus: the serial clock line (SCL) and the serial
data line (SDA). The latter is a bidirectional line used for sending and receiving the data
to/from the interface. Both lines must be connected to Vdd_IO through an external pull-up
resistor. When the bus is free, both the lines are high.
The I2C interface is compliant with fast mode (400 kHz) I2C standards, as well as with
normal mode.
When the I2C interface is used, the SDO/SA1 pin has to be connected to Vdd_IO or GND.
16/33
DocID024204 Rev 4
LIS3MDL
5.1.1
Digital interfaces
I2C operation
The transaction on the bus is started through a START (ST) signal. A START condition is
defined as a HIGH-to-LOW transition on the data line while the SCL line is held HIGH. After
this has been transmitted by the master, the bus is considered busy. The next byte of data
transmitted after the start condition contains the address of the slave in the first seven bits
and the eighth bit tells whether the master is receiving data from the slave or transmitting
data to the slave. When an address is sent, each device in the system compares the first
seven bits after a start condition with its address. If they match, the device considers itself
addressed by the master.
The Slave ADdress (SAD) associated to the LIS3MDL is 00111x0b, whereas the x bit is
modified by the SDO/SA1 pin in order to modify the device address. If the SDO/SA1 pin is
connected to the voltage supply, the address is 0011110b, otherwise, if the SDO/SA1 pin is
connected to ground, the address is 0011100b.
Data transfer with acknowledge is mandatory. The transmitter must release the SDA line
during the acknowledge pulse. The receiver must then pull the data line LOW so that it
remains stable low during the HIGH period of the acknowledge clock pulse. A receiver
which has been addressed is obliged to generate an acknowledge after each byte of data
received.
The I2C embedded inside the LIS3MDL behaves like a slave device and the following
protocol must be adhered to. After the START condition (ST) a slave address is sent, once a
slave acknowledge (SAK) has been returned, an 8-bit sub-address (SUB) is transmitted: the
7 LSb represent the actual register address while the MSb enables address auto-increment.
If the MSb of the SUB field is ‘1’, the SUB (register address) is automatically increased to
allow multiple data read/write.
The slave address is completed with a Read/Write bit. If the bit is ‘1’ (Read), a repeated
START (SR) condition must be issued after the two sub-address bytes; if the bit is ‘0’ (Write)
the master will transmit to the slave with direction unchanged. Table 11 explains how the
SAD+read/write bit pattern is composed, listing all the possible configurations.
Table 11. SAD+read/write patterns
Command
SAD[6:2]
SAD[1] = SDO/SA1
SAD[0]
R/W
SAD+R/W
Read
00111
0
0
1
00111001 (39h)
Write
00111
0
0
0
00111000 (38h)
Read
00111
1
0
1
00111101 (3Dh)
Write
00111
1
0
0
00111100 (3Ch)
Table 12. Transfer when master is writing one byte to slave
Master
Slave
ST
SAD + W
SUB
SAK
DocID024204 Rev 4
DATA
SAK
SP
SAK
17/33
Digital interfaces
LIS3MDL
Table 13. Transfer when master is writing multiple bytes to slave
Master
ST
SAD + W
SUB
Slave
SAK
DATA
DATA
SAK
SP
SAK
SAK
Table 14. Transfer when master is receiving (reading) one byte of data from slave
Master
ST
SAD + W
Slave
SUB
SAK
SR
SAD + R
SAK
NMAK
SAK
SP
DATA
Table 15. Transfer when master is receiving (reading) multiple bytes of data from slave
Master
Slave
ST
SAD+W
SUB
SAK
SR SAD+R
SAK
MAK
SAK
DATA
MAK
DAT
A
NMAK
SP
DATA
Data are transmitted in byte format (DATA). Each data transfer contains 8 bits. The number
of bytes transferred per transfer is unlimited. Data is transferred with the most significant bit
(MSb) first. If a receiver cannot receive another complete byte of data until it has performed
some other function, it can hold the clock line SCL LOW to force the transmitter into a wait
state. Data transfer only continues when the receiver is ready for another byte and releases
the data line. If a slave receiver does not acknowledge the slave address (i.e. it is not able to
receive because it is performing some real-time function) the data line must be left HIGH by
the slave. The Master can then abort the transfer. A LOW to HIGH transition on the SDA line
while the SCL line is HIGH is defined as a STOP condition. Each data transfer must be
terminated by the generation of a STOP (SP) condition.
In order to read multiple bytes, it is necessary to assert the most significant bit of the subaddress field. In other words, SUB(7) must be equal to 1, while SUB(6-0) represents the
address of first register to be read.
In the presented communication format, MAK is Master acknowledge and NMAK is No
Master Acknowledge.
5.2
SPI bus interface
The LIS3MDL SPI is a bus slave. The SPI allows writing to and reading from the registers of
the device.
The serial interface interacts with the application through 4 wires: CS, SPC, SDI and SDO.
18/33
DocID024204 Rev 4
LIS3MDL
Digital interfaces
Figure 6. Read and write protocol
CS
SPC
SDI
DI7 DI6 DI5 DI4 DI3 DI2 DI1 DI0
RW
MS AD5 AD4 AD3 AD2 AD1 AD0
SDO
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
AM10129V1
CS is the serial port enable and it is controlled by the SPI master. It goes low at the start of
the transmission and goes back high at the end. SPC is the serial port clock and it is
controlled by the SPI master. It is stopped high when CS is high (no transmission). SDI and
SDO are respectively the serial port data input and output. Those lines are driven at the
falling edge of SPC and should be captured at the rising edge of SPC.
Both the read register and write register commands are completed in 16 clock pulses or in
multiples of 8 in case of multiple byte read/write. Bit duration is the time between two falling
edges of SPC. The first bit (bit 0) starts at the first falling edge of SPC after the falling edge
of CS while the last bit (bit 15, bit 23, ...) starts at the last falling edge of SPC just before the
rising edge of CS.
bit 0: RW bit. When 0, the data DI(7:0) is written into the device. When 1, the data DO(7:0)
from the device is read. In latter case, the chip will drive SDO at the start of bit 8.
bit 1: MS bit. When 0, the address will remain unchanged in multiple read/write commands.
When 1, the address is auto-incremented in multiple read/write commands.
bit 2-7: address AD(5:0). This is the address field of the indexed register.
bit 8-15: data DI(7:0) (write mode). This is the data that is written into the device (MSb first).
bit 8-15: data DO(7:0) (read mode). This is the data that is read from the device (MSb first).
In multiple read/write commands further blocks of 8 clock periods will be added. When the
MS bit is ‘0’, the address used to read/write data remains the same for every block. When
the MS bit is ‘1’, the address used to read/write data is increased at every block.
The function and the behavior of SDI and SDO remain unchanged.
DocID024204 Rev 4
19/33
Digital interfaces
5.2.1
LIS3MDL
SPI read
Figure 7. SPI read protocol
CS
SPC
SDI
RW
MS AD5 AD4 AD3 AD2 AD1 AD0
SDO
DO7 DO6 DO5 DO4 DO3 DO2 DO1 DO0
AM10130V1
The SPI read command is performed with 16 clock pulses. A multiple byte read command is
performed by adding blocks of 8 clock pulses to the previous one.
bit 0: READ bit. The value is 1.
bit 1: MS bit. When 0, does not increment address; when 1, increments the address in
multiple reads.
bit 2-7: address AD(5:0). This is the address field of the indexed register.
bit 8-15: data DO(7:0) (read mode). This is the data that will be read from the device (MSb
first).
bit 16-... : data DO(...-8). Further data in multiple byte reads.
Figure 8. Multiple byte SPI read protocol (2-byte example)
CS
SPC
SDI
RW
M S A D5 A D4 AD 3 A D2 A D1 A D0
SD O
DO 7 DO 6 DO 5 DO 4 DO 3 DO 2 DO 1 DO 0 DO 15 DO 14 DO 13 DO 12 DO 11 DO 10 D O9 D O8
AM10131V1
20/33
DocID024204 Rev 4
LIS3MDL
5.2.2
Digital interfaces
SPI write
Figure 9. SPI write protocol
CS
SPC
SDI
D I7 D I6 D I5 D I4 DI3 DI2 DI1 DI0
RW
MS AD5 AD 4 AD 3 AD2 AD 1 AD0
AM10132V1
The SPI Write command is performed with 16 clock pulses. A multiple byte write command
is performed by adding blocks of 8 clock pulses to the previous one.
bit 0: WRITE bit. The value is 0.
bit 1: MS bit. When 0, does not increment the address; when 1, increments the address in
multiple writes.
bit 2 -7: address AD(5:0). This is the address field of the indexed register.
bit 8-15: data DI(7:0) (write mode). This is the data that is written inside the device (MSb
first).
bit 16-... : data DI(...-8). Further data in multiple byte writes.
Figure 10. Multiple byte SPI write protocol (2-byte example)
CS
SPC
SDI
DI7 D I6 DI5 D I4 DI3 DI2 DI1 DI0 DI15 D I1 4DI13 D I1 2DI11 DI10 DI9 DI8
RW
MS AD5 AD4 AD3 AD2 AD1 AD 0
AM10133V1
DocID024204 Rev 4
21/33
Digital interfaces
5.2.3
LIS3MDL
SPI read in 3-wire mode
3-wire mode is entered by setting bit SIM to ‘1’ (SPI serial interface mode selection) in
CTRL_REG3 (22h).
When 3-wire mode is used, the SDO/SA1 pin has to be connected to GND or Vdd_IO.
Figure 11. SPI read protocol in 3-wire mode
CS
SPC
SDI/O
D O7 D O6 D O5 DO4 DO3 DO2 DO1 DO0
RW
MS AD5 AD 4 AD 3 AD2 AD1 AD 0
AM10134V1
The SPI read command is performed with 16 clock pulses:
bit 0: READ bit. The value is 1.
bit 1: MS bit. When 0, does not increment the address; when 1, increments the address in
multiple reads.
bit 2-7: address AD(5:0). This is the address field of the indexed register.
bit 8-15: data DO(7:0) (read mode). This is the data that is read from the device (MSb first).
A multiple read command is also available in 3-wire mode.
22/33
DocID024204 Rev 4
LIS3MDL
6
Register mapping
Register mapping
The table below provides a list of the 8-bit registers embedded in the device and their
respective addresses.
Table 16. Register address map
Register address
Name
Type
Reserved
WHO_AM_I
r
Reserved
Default
Comment
--
--
Reserved
0F
0000 1111
00111101
Dummy register
10 - 1F
--
--
Reserved
Hex
Binary
00 - 0E
CTRL_REG1
r/w
20
0010 0000
00010000
CTRL_REG2
r/w
21
0010 0001
00000000
CTRL_REG3
r/w
22
0010 0010
00000011
CTRL_REG4
r/w
23
0010 0011
00000000
CTRL_REG5
r/w
24
0010 0100
00000000
25 - 26
--
--
Reserved
STATUS_REG
r
27
0010 0111
Output
OUT_X_L
r
28
0010 1000
Output
OUT_X_H
r
29
0010 1001
Output
OUT_Y_L
r
2A
0010 1010
Output
OUT_Y_H
r
2B
0010 1011
Output
OUT_Z_L
r
2C
0010 1100
Output
OUT_Z_H
r
2D
0010 1101
Output
TEMP_OUT_L
r
2E
0010 1110
Output
TEMP_OUT_H
r
2F
0010 1111
Output
INT_CFG
rw
30
00110000
00000000
INT_SRC
r
31
00110001
00000000
INT_THS_L
r
32
00110010
00000000
INT_THS_H
r
33
00110011
00000000
Reserved
Registers marked Reserved or not listed in the table above must not be changed. Writing to
those registers may cause permanent damage to the device.
The content of the registers that are loaded at boot should not be changed. They contain the
factory calibration values. Their content is automatically restored when the device is
powered up.
DocID024204 Rev 4
23/33
Registers description
LIS3MDL
7
Registers description
7.1
WHO_AM_I (0Fh)
Table 17. WHO_AM_I register
0
0
1
1
1
1
0
1
Device identification register.
7.2
CTRL_REG1 (20h)
Table 18. CTRL_REG1 register
TEMP_EN
OM1
OM0
DO2
DO1
DO0
FAST_ODR
ST
Table 19. CTRL_REG1 description
TEMP_EN
Temperature sensor enable. Default value: 0
(0: temperature sensor disabled; 1: temperature sensor enabled)
OM[1:0]
X and Y axes operative mode selection. Default value: 00
(Refer to Table 21)
DO[2:0]
Output data rate selection. Default value: 100
(Refer to Table 22)
FAST_ODR
FAST_ODR enables data rates higher than 80 Hz (refer to Table 20).
Default value: 0
(0: Fast_ODR disabled; 1: FAST_ODR enabled)
ST
Self-test enable. Default value: 0
(0: self-test disabled; 1: self-test enabled)
Table 20. Data rate configuration
24/33
DO2
DO1
DO0
FAST_ODR
ODR [Hz]
OM
X
X
X
1
1000
LP
X
X
X
1
560
MP
X
X
X
1
300
HP
X
X
X
1
155
UHP
DocID024204 Rev 4
LIS3MDL
Registers description
Table 21. X and Y axes operating mode selection
OM1
OM0
Operating mode for X and Y axes
0
0
Low-power mode
0
1
Medium-performance mode
1
0
High-performance mode
1
1
Ultra-high-performance mode
Table 22. Output data rate configuration
DO2
7.3
DO1
DO0
ODR [Hz]
0
0
0
0.625
0
0
1
1.25
0
1
0
2.5
0
1
1
5
1
0
0
10
1
0
1
20
1
1
0
40
1
1
1
80
CTRL_REG2 (21h)
Table 23. CTRL_REG2 register
0(1)
FS1
FS0
0(1)
REBOOT
SOFT_RST
0(1)
0(1)
1. These bits must be set to ‘0’ for correct functioning of the device
Table 24. CTRL_REG2 description
FS[1:0]
Full-scale configuration. Default value: 00
Refer to Table 25
REBOOT
Reboot memory content. Default value: 0
(0: normal mode; 1: reboot memory content)
SOFT_RST
Configuration registers and user register reset function.
(0: Default value; 1: Reset operation)
Table 25. Full-scale selection
FS1
FS0
Full-scale
0
0
±4 gauss
0
1
±8 gauss
1
0
±12 gauss
1
1
±16 gauss
DocID024204 Rev 4
25/33
Registers description
7.4
LIS3MDL
CTRL_REG3 (22h)
Table 26. CTRL_REG3 register
0(1)
0(1)
0(1)
LP
0(1)
SIM
MD1
MD0
1. These bits must be set to ‘0’ for correct functioning of the device
Table 27. CTRL_REG3 description
LP
Low-power mode configuration. Default value: 0
If this bit is ‘1’, DO[2:0] is set to 0.625 Hz and the system performs, for each
channel, the minimum number of averages. Once the bit is set to ‘0’, the magnetic data rate is configured by the DO bits in CTRL_REG1 (20h) register.
SIM
SPI serial interface mode selection. Default value: 0
(0: 4-wire interface; 1: 3-wire interface).
MD[1:0]
Operating mode selection. Default value: 11
Refer to Table 28.
Table 28. System operating mode selection
7.5
MD1
MD0
Mode
0
0
Continuous-conversion mode
0
1
Single-conversion mode
Single-conversion mode has to be used with sampling frequency from 0.625 Hz
to 80Hz.
1
0
Power-down mode
1
1
Power-down mode
CTRL_REG4 (23h)
Table 29. CTRL_REG4 register
0(1)
0(1)
0(1)
0(1)
OMZ1
OMZ0
BLE
1. These bits must be set to ‘0’ for correct functioning of the device
Table 30. CTRL_REG4 description
26/33
OMZ[1:0]
Z-axis operative mode selection.
Default value: 00. Refer to Table 31.
BLE
Big/Little Endian data selection. Default value: 0
(0: data LSb at lower address; 1: data MSb at lower address)
DocID024204 Rev 4
0(1)
LIS3MDL
Registers description
Table 31. Z-axis operating mode selection
OMZ1
7.6
OMZ0
Operating mode for Z-axis
0
0
Low-power mode
0
1
Medium-performance mode
1
0
High-performance mode
1
1
Ultra-high-performance mode
CTRL_REG5 (24h)
Table 32. CTRL_REG5 register
FAST_READ
BDU
0(1)
0(1)
0(1)
0(1)
0(1)
0(1)
1. These bits must be set to ‘0’ for correct functioning of the device
Table 33. CTRL_REG5 description
7.7
FAST_READ
FAST READ allows reading the high part of DATA OUT only in order to increase
reading efficiency. Default value: 0
(0: FAST_READ disabled; 1: FAST_READ enabled)
BDU
Block data update for magnetic data. Default value: 0
(0: continuous update;
1: output registers not updated until MSb and LSb have been read)
STATUS_REG (27h)
Table 34. STATUS_REG register
ZYXOR
ZOR
YOR
XOR
ZYXDA
ZDA
YDA
XDA
Table 35. STATUS_REG description
ZYXOR
X-, Y- and Z-axis data overrun. Default value: 0
(0: no overrun has occurred;
1: a new set of data has overwritten the previous set)
ZOR
Z-axis data overrun. Default value: 0
(0: no overrun has occurred;
1: new data for the Z-axis has overwritten the previous data)
YOR
Y-axis data overrun. Default value: 0
(0: no overrun has occurred;
1: new data for the Y-axis has overwritten the previous data)
XOR
X-axis data overrun. Default value: 0
(0: no overrun has occurred;
1: new data for the X-axis has overwritten the previous data)
DocID024204 Rev 4
27/33
Registers description
LIS3MDL
Table 35. STATUS_REG description (continued)
7.8
ZYXDA
X-, Y- and Z-axis new data available. Default value: 0
(0: a new set of data is not yet available;
1: a new set of data is available)
ZDA
Z-axis new data available. Default value: 0
(0: new data for the Z-axis is not yet available;
1: new data for the Z-axis is available)
YDA
Y-axis new data available. Default value: 0
(0: new data for the Y-axis is not yet available;
1: new data for the Y-axis is available)
XDA
X-axis new data available. Default value: 0
(0: new data for the X-axis is not yet available;
1: new data for the X-axis is available)
OUT_X_L (28h), OUT_X_H(29h)
X-axis data output. The value of magnetic field is expressed as two’s complement.
7.9
OUT_Y_L (2Ah), OUT_Y_H (2Bh)
Y-axis data output. The value of magnetic field is expressed as two’s complement.
7.10
OUT_Z_L (2Ch), OUT_Z_H (2Dh)
Z-axis data output. The value of magnetic field is expressed as two’s complement.
7.11
TEMP_OUT_L (2Eh), TEMP_OUT_H (2Fh)
Temperature sensor data. The value of temperature is expressed as two’s complement.
7.12
INT_CFG (30h)
Table 36. INT_CFG register
XIEN
YIEN
ZIEN
0(1)
0(1)
1. These bits must be set to ‘0’ for correct functioning of the device
28/33
DocID024204 Rev 4
IEA
LIR
IEN
LIS3MDL
Registers description
Table 37. INT_CFG description
7.13
XIEN
Enable interrupt generation on X-axis. Default value: 0
0: disable interrupt request; 1: enable interrupt request
YIEN
Enable interrupt generation on Y-axis. Default value: 0
0: disable interrupt request; 1: enable interrupt request
ZIEN
Enable interrupt generation on Z-axis. Default value: 0
0: disable interrupt request; 1: enable interrupt request
IEA
Interrupt active configuration on INT. Default value 0
0: low; 1:high
LIR
Latch interrupt request. Default value: 0
0: interrupt request latched; 1: interrupt request not latched)
Once latched, the INT pin remains in the same state until INT_SRC (31h) is read.
IEN
Interrupt enable on INT pin. Default value 0.
0: disabled; 1: enabled
INT_SRC (31h)
Table 38. INT_SRC register
PTH_X
PTH_Y
PTH_Z
NTH_X
NTH_Y
NTH_Z
MROI
INT
Table 39. INT_SRC description
PTH_X
Value on X-axis exceeds the threshold on the positive side.
Default value: 0.
PTH_Y
Value on Y-axis exceeds the threshold on the positive side.
Default value: 0.
PTH_Z
Value on Z-axis exceeds the threshold on the positive side.
Default value: 0.
NTH_X
Value on X-axis exceeds the threshold on the negative side.
Default value: 0.
NTH_Y
Value on Y-axis exceeds the threshold on the negative side.
Default value: 0.
NTH_Z
Value on Z-axis exceeds the threshold on the negative side.
Default value: 0.
MROI
Internal measurement range overflow on magnetic value.
Default value: 0.
INT
This bit signals when an interrupt event occurs.
DocID024204 Rev 4
29/33
Registers description
7.14
LIS3MDL
INT_THS_L(32h), INT_THS_H(33h)
Interrupt threshold. Default value: 0.
The value is expressed in 16-bit unsigned.
Even if the threshold is expressed in absolute value, the device detects both positive and
negative thresholds.
Table 40. INT_THS_L_M
THS7
THS6
THS5
THS4
THS3
THS2
THS1
THS0
THS9
THS8
Table 41. INT_THS_H_M
0(1)
THS14
THS13
THS12
THS11
1. These bits must be set to ‘0’ for correct functioning of the device
30/33
DocID024204 Rev 4
THS10
LIS3MDL
8
Package information
Package information
In order to meet environmental requirements, ST offers these devices in different grades of
ECOPACK® packages, depending on their level of environmental compliance. ECOPACK®
specifications, grade definitions and product status are available at: www.st.com.
ECOPACK is an ST trademark.
8.1
VFLGA-12 package information
Table 42. VFLGA 2x2x1 12LD pitch 0.5 mm package mechanical data
mm
Dim.
Min.
Typ.
Max.
A1
1
A2
0.785
A3
0.200
D1
1.850
2.000
2.150
E1
1.850
2.000
2.150
L1
1.500
N1
0.500
T1
0.275
T2
0.250
P2
0.075
r
45°
M
0.100
K
0.050
Figure 12. VFLGA 2x2x1 12LD pitch 0.5 mm package outline
8365767_A
DocID024204 Rev 4
31/33
Revision history
9
LIS3MDL
Revision history
Table 43. Document revision history
32/33
Date
Revision
Changes
01-Feb-2013
1
Initial release
22-Apr-2013
2
Updated note on page 12
Product status changed from preliminary data to production data
12-Dec-2014
3
Added FAST_ODR bit to Table 18: CTRL_REG1 register and
Table 19: CTRL_REG1 description
Added FAST_READ bit to Table 32: CTRL_REG5 register and
Table 33: CTRL_REG5 description
Updated Table 16: Register address map
Minor textual updates throughout document
15-May-2015
4
Added Table 20: Data rate configuration
DocID024204 Rev 4
LIS3MDL
IMPORTANT NOTICE – PLEASE READ CAREFULLY
STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and
improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on
ST products before placing orders. ST products are sold pursuant to ST’s terms and conditions of sale in place at the time of order
acknowledgement.
Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or
the design of Purchasers’ products.
No license, express or implied, to any intellectual property right is granted by ST herein.
Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
ST and the ST logo are trademarks of ST. All other product or service names are the property of their respective owners.
Information in this document supersedes and replaces information previously supplied in any prior versions of this document.
© 2015 STMicroelectronics – All rights reserved
DocID024204 Rev 4
33/33
Similar pages