FREESCALE MAG3110FCR2

Document Number: MAG3110
Rev 2.0, 02/2011
Freescale Semiconductor
Advance Information
3-Axis, Digital Magnetometer
MAG3110
Freescale’s MAG3110 is a small, low-power, digital 3-axis magnetometer.
The device can be used in conjunction with a 3-axis accelerometer to produce
orientation independent accurate compass heading information. It features a
standard I2C serial interface output and smart embedded functions.
MAG3110: 3-AXIS DIGITAL
MAGNETOMETER
The MAG3110 is capable of measuring magnetic fields with an Output Data
Rate (ODR) up to 80 Hz; these output data rates correspond to sample intervals
from 12 ms to several seconds.
The MAG3110 is available in a plastic DFN package and it is guaranteed to
operate over the extended temperature range of -40°C to +85°C.
Top and Bottom View
Features
•
•
•
•
•
•
•
•
•
•
•
1.95V to 3.6V Supply Voltage (VDD)
1.65V to VDD IO Voltage (VDDIO)
Ultra Small 2 mm x 2 mm x 0.85 mm, 0.4 mm Pitch, 10 Pin Package
Full Scale Range ±1000 μT
Sensitivity of 0.10 μT
Noise down to 0.05 μT rms
Output Data Rates (ODR) up to 80 Hz
I2C digital output interface (operates up to 400 kHz Fast Mode)
7-bit I2C address = 0x0E
Sampled Low Power Mode
RoHS compliant
10 PIN DFN
2 mm x 2 mm x 0.85 mm
CASE 2154
Top View
Applications
• Electronic Compass
• Dead-reckoning assistance for GPS backup
• Location-based Services
Cap-A
1
VDD
2
10 GND
MAG3110
9
INT1
8
VDDIO
NC
3
Cap-R
4
7
SCL
GND
5
6
SDA
Pin Connections
ORDERING INFORMATION
Part Number
Temperature Range
Package Description
Shipping
MAG3110FCR2
-40°C to +85°C
DFN-10
Tape and Reel
This document contains information on a new product.
Specifications and information herein are subject to change without notice.
© Freescale Semiconductor, Inc., 2011. All rights reserved.
Application Notes for Reference
The following is a list of Freescale Application Notes written for the MAG3110:
• AN4246, Calibrating for Soft Iron and Hard Iron Distortions
• AN4247, PCB Layout Guidelines and Recommendations
• AN4248, Using the MAG3110 Magnetometer for an eCompass Application
• AN4249, Using the MAG3110 Magnetometer to Implement a 3-D Pointer
1
Block Diagram and Pin Description
1.1
Block Diagram
SDA
SCL
X-axis
Y-axis
ADC
MUX
Digital Signal
Processing and
Control
Z-axis
INT1
Self-Test
Clock Oscillator
Regulator
+
Reference
Trim Logic
VDD
VDDIO
Figure 1. Block Diagram
1.2
Pin Description
X
Cap-A
1
VDD
2
1
10 GND
MAG3110
9
INT1
8
VDDIO
NC
3
Cap-R
4
7
SCL
GND
5
6
SDA
Y
Z
(TOP VIEW)
Figure 2. Pin Connections
(TOP VIEW)
Figure 3. Measurement Coordinate System
MAG3110
Sensors
Freescale Semiconductor
2
Table 1. Pin Description
1.3
Pin
Name
Function
1
Cap-A
2
VDD
Power Supply, 1.95V – 3.6V
3
NC
No Connect – do not connect
4
Cap-R
5
GND
GND
6
SDA
I2C Serial Data (Write = 0x1C; Read = 0x1D)
7
SCL
I2C Serial Clock
8
VDDIO
9
INT1
Interrupt - Active High Output
10
GND
GND
Bypass Cap for Internal Regulator
Cap for Reset Pulse
Power for I/O Buffers, 1.65V - VDD
Application Circuit
The device power is supplied through VDD line. Power supply decoupling capacitors (100 nF ceramic) should be placed as
near as possible to pins 1 and 2 of the device. VDDIO supplies power for the I/O pins SCL, SDA, and INT1.
The control signals SCL and SDA, are not tolerant of voltages more than VDDIO + 0.3 volts. If VDDIO is removed, the control
signals SCL and SDA will clamp any logic signals with their internal ESD protection diodes.
100 nF
1
10
2
9
3
VDD
1 μF
100 nF
MAG3110
(Top View)
8
INT1
VDDIO
100 nF
4.7K
4.7K
4
7
SCL
5
6
SDA
100 nF
Figure 4. Electrical Connection
MAG3110
3
Sensors
Freescale Semiconductor
2
Operating and Electrical Specifications
2.1
Operating Characteristics
Table 2. Operating Characteristics @ VDD = 1.8 V, T = 25°C unless otherwise noted.
Parameter
Test Conditions
Symbol
Full Scale Range
Min
Typ
FS
Max
±1000
Unit
µT
Output Data Range (RAW = 1)
-15,000
15,000
bits
Output Data Range (RAW = 0)
-30,000
30,000
bits
Sensitivity
So
0.10
µT/bits
Sensitivity Change vs. Temperature
Tc
±0.1
%/°C
±500
µT
Tco
±0.01
µT/°C
Zero Flux Offset Accuracy
Zero Flux Change with Temperature
Hysteresis
Non Linearity
Best Fit Straight Line
NL
-1
Temp Sensor Repeatability
±0.3
1
%
1
%FS
1
Magnetometer Output Noise
OS = 00
(1)
OS = 01
OS = 10
°C
0.14
0.1
Noise
µT rms
0.07
OS = 11
0.05
Self-test Output Change(2)
X-axis
Y-axis
Z-axis
Vst
Operating Temperature Range
Top
20
LSB
20
LSB
20
LSB
-40
+85
°C
1. OS = Over Sampling Ratio.
2. Self-test is one direction only.
2.2
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 3. Maximum Ratings
Rating
Symbol
Value
Unit
VDD
-0.3 to +3.6
V
Input Voltage on any Control Pin (SCL, SDA)
Vin
-0.3 to VDD + 0.3
V
Maximum Applied Magnetic Field
—
100,000
µT
Supply Voltage
Operating Temperature Range
Top
-40 to +85
°C
TSTG
-40 to +125
°C
Symbol
Value
Unit
Human Body Model
HBM
±2000
V
Machine Model
MM
±200
V
CDM
±500
V
—
±100
mA
Storage Temperature Range
Table 4. ESD and Latch-up Protection Characteristics
Rating
Charge Device Model
Latch-up Current at T = 85°C
This device is sensitive to mechanical shock. Improper handling can cause permanent damage of the part or
cause the part to otherwise fail.
This is an ESD sensitive, improper handling can cause permanent damage to the part.
MAG3110
Sensors
Freescale Semiconductor
4
2.3
Electrical Characteristics
Table 5. Electrical Characteristics @ VDD = 2.0V, VDDIO = 1.8V, T = 25°C unless otherwise noted
Parameter
Test Conditions
Supply Voltage
Interface Supply Voltage
Supply Current in ACTIVE Mode
Symbol
Min
Typ
Max
Unit
VDD
1.95
2.4
3.6
V
VDDIO
1.62
VDD
V
ODR(1) 10 Hz, OS(1) = 11
900
ODR 10 Hz, OS = 10
480
ODR 10 Hz, OS = 01
ODR 10 Hz, OS = 00
Supply Current Drain in STANDBY Mode
280
Idd
ODR 5 Hz, OS = 00
70
ODR 1.25 Hz, OS = 00
24
Measurement mode off
IddStby
Digital High Level Input Voltage
SCL, SDA
VIH
Digital Low Level Input Voltage
SCL, SDA
VIL
High Level Output Voltage
INT1
IO = 500 µA
Low Level Output Voltage
INT1
IO = 500 µA
Low Level Output Voltage
SDA
IO = 500 µA
Output Data Rate (ODR)
VOH
BW
Boot Time from Power applied to Boot Complete
BT
Operating Temperature Range
µA
V
0.75*VDDIO
0.3* VDDIO
0.1* VDDIO
0.8*ODR
Top
ODR
V
1.2 *ODR
Hz
10
ms
Hz
25
-40
V
0.1* VDDIO
ODR/2
Ton
V
V
0.9*VDDIO
VOLS
ODR
OS = 1
2
VOL
Signal Bandwidth
Turn-on Time(2)
µA
140
ms
+85
°C
1. ODR = Output Data Rate; OS = Over Sampling Ratio.
2. Time to obtain valid data from STANDBY mode to ACTIVE Mode.
MAG3110
5
Sensors
Freescale Semiconductor
2.4
I2C Interface Characteristics
Table 6. I2C Slave Timing Values(1)
Parameter
Symbol
I2C Fast Mode
Min
Max
400
TBD
Unit
SCL Clock Frequency
Pull-up = 1 kΩ, Cb = 20 pF
Pull-up = 1 kΩ, Cb = 400 pF
fSCL
0
0
Bus Free Time between STOP and START Condition
tBUF
1.3
μs
Repeated START Hold Time
tHD;STA
0.6
μs
Repeated START Set-up Time
tSU;STA
0.6
μs
STOP Condition Set-up Time
tSU;STO
0.6
tHD;DAT
50(3)
(2)
SDA Data Hold Time
SDA Valid Time
(5)
SDA Valid Acknowledge Time
tVD;DAT
(6)
SDA Set-up Time
tVD;ACK
tSU;DAT
100
kHz
kHz
μs
(4)
μs
0.9
(4)
μs
0.9
(4)
μs
(7)
ns
SCL Clock Low Time
tLOW
1.3
μs
SCL Clock High Time
tHIGH
0.6
μs
SDA and SCL Rise Time
tr
20 + 0.1Cb(8)
1000
ns
SDA and SCL Fall Time (3) (8) (9) (10)
tf
20 + 0.1Cb(8)
300
ns
50
ns
Pulse width of spikes on SDA and SCL that must be suppressed by input filter
tSP
1. All values referred to VIH (min) and VIL (max) levels.
2. tHD;DAT is the data hold time that is measured from the falling edge of SCL, applies to data in transmission and the acknowledge.
3. A device must internally provide a hold time of at least 300 ns for the SDA signal (with respect to the VIH (min) of the SCL signal) to bridge the
undefined region of the falling edge of SCL.
4. The maximum tHD;DAT could be must be less than the maximum of tVD;DAT or tVD;ACK by a transition time. This device does not stretch the
LOW period (tLOW) of the SCL signal.
5. tVD;DAT = time for Data signal from SCL LOW to SDA output (HIGH or LOW, depending on which one is worse).
6. tVD;ACK = time for Acknowledgement signal from SCL LOW to SDA output (HIGH or LOW, depending on which one is worse).
7. A Fast mode I2C device can be used in a Standard mode I2C system, but the requirement tSU;DAT 250 ns must then be met. This will
automatically be the case if the device does not stretch the LOW period of the SCL signal. If such a device does stretch the LOW period of the
SCL signal, it must output the next data bit to the SDA line tr(max) + tSU;DAT = 1000 + 250 = 1250 ns (according to the Standard mode I2C
specification) before the SCL line is released. Also the acknowledge timing must meet this set-up time
8. Cb = total capacitance of one bus line in pF.
9. The maximum tf for the SDA and SCL bus lines is specified at 300 ns. The maximum fall time for the SDA output stage tf is specified at 250 ns.
This allows series protection resistors to be connected in between the SDA and the SCL pins and the SDA/SCL bus lines without exceeding
the maximum specified tf.
10.In Fast mode Plus, fall time is specified the same for both output stage and bus timing. If series resistors are used, designers should allow for
this when considering bus timing.
MAG3110
Sensors
Freescale Semiconductor
6
Figure 5. I2C Slave Timing Diagram
2.5
General I2C Information
The SCL and SDA signals are driven by open-drain buffers and a pull-up resistor is required to make the signals rise to the
high state. The value of the pull-up resistors depends on the system I2C clock rate and the capacitance load on the I2C bus.
Higher resistance value pull-up resistors consume less power, but have a slower the rise time (due to the RC time constant
between the bus capacitance and the pull-up resistor) and will limit the I2C clock frequency.
Lower resistance value pull-up resistors consume more power, but enable higher I2C clock operating frequencies.
High bus capacitance is due to long bus lines or a high number of I2C devices connected to the bus. A lower value resistance
pull-up resistor is required in higher bus capacitance systems.
For standard 100 kHz clock I2C, pull-up resistors typically are between 5k and 10 kΩ. For a heavily loaded bus, the pull-up
resistor value may need to be reduced. For higher speed 400 kHz or 800 kHz clock I2C, bus capacitance will need to be kept low,
in addition to selecting a lower value resistance pull-up resistor. Pull-up resistors for high speed buses typically are about 1 KΩ.
In a well designed system with a microprocessor and one I2C device on the bus, with good board layout and routing, the I2C
bus capacitance can be kept under 20 pF. With a 1K pull-up resistor, the I2C clock rates can be well in excess of a few megahertz.
3
Modes of Operation
Table 7. Modes of Operation Description
Mode
I2C Bus State
STANDBY
I2C communication is possible.
Only POR and digital blocks are enabled. Analog subsystem is disabled.
ACTIVE
I2C communication is possible.
All blocks are enabled (POR, Digital, Analog).
Function Description
MAG3110
7
Sensors
Freescale Semiconductor
4
Functionality
MAG3110 is a small low-power, digital output, 3-axis linear magnetometer packaged in a 10 pin DFN. The device contains a
magnetic transducer for sensing and an ASIC for control and digital I2C communications.
4.1
I2C Serial Interface
Communication with the MAG3110 takes place over an I2C bus. The MAG3110 also has an interrupt signal indicating that new
magnetic data readings are available. Interrupt driven sampling allows operation without the overhead of software polling.
4.2
Factory Calibration
MAG3110 is factory calibrated for sensitivity, offset and temperature coefficient. All factory calibration coefficients are applied
automatically by the MAG3110 ASIC before the magnetic field readings are written to registers 0x01 to 0x06 (see section 5).
There is no need for the user to apply the calibration correction in the software and the calibration coefficients are not therefore
accessible to the user.
The offset registers in the addresses 0x09 to 0x0E are not a factory calibration offset but allow the user to define a hard iron
offset which can be automatically subtracted from the magnetic field readings (see section 4.3.3).
4.3
Digital Interface
Table 8. Serial Interface Pin Description
Pin Name
VDDIO
Pin Description
IO voltage
SCL
I2C Serial Clock
SDA
I2C Serial Data
INT
Data ready interrupt pin
There are two signals associated with the I2C bus: the Serial Clock Line (SCL) and the Serial Data line (SDA). External pullup resistors (connected to VDDIO) are needed for SDA and SCL. When the bus is free, both lines are high. The I2C interface is
compliant with Fast mode (400 kHz), and Normal mode (100 kHz) I2C standards.
4.3.1
General I2C Operation
I2C is an asynchronous, open collector driven, addressed and packetized serial bus interface. It is capable of supporting
multiple masters and multiple slave devices on the same bus. I2C uses two bi-directional lines, the serial clock line or SCL and
the serial data line or SDA. Pull-up resistors are required on both lines.
An I2C transaction starts with a start condition (START) and ends with a stop condition (STOP). A START condition is defined
as a HIGH to LOW transition on the data line while the clock line is held HIGH. A STOP condition is defined as a LOW to HIGH
transition on the data line while the clock line is held HIGH. At all other times, the data line can only change state when the clock
line is low. If the data line changes state when the clock is high, the I2C transaction is aborted and the new start or stop condition
is recognized.
After START has been transmitted by the master, the bus is considered busy. The next byte of data transmitted after START
condition is the slave address in the first 7 bits, and the eighth bit is the Read/Write (R/W) bit (read = 1, write = 0). The R/W bit
determines whether the I2C master intends on receiving data from the slave – Read mode or intends to transmit data to the slave
– Write mode. When an address is sent, each device on the I2C bus compares the first 7 bits after a start condition with its own
internal address. If the address matches, the device considers itself addressed by the Master and continues to respond. If the
address does not match, the device ignores further bus activity until the next start condition happens.
The ninth bit (clock pulse), following each I2C byte is for the acknowledge (ACK) bit. The master releases the SDA line during
the ACK period. Because of the pull-up resistor, the data line will tend to float high. To signal ACK back to the master, the slave
must then pull the data line low during this clock period.
The number of bytes per transfer can be unlimited. If a receiving device can't accept 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. This delay action is called clock stretching. The
MAG3110 device does clock stretching.
A data transfer is always terminated by a STOP.
The MAG3110 I2C 7-bit device address is 0x0E. In I2C practice, the device address is shifted left by one bit field and a read/
write bit is set in the lowest bit position. The I2C 8-bit write address is 0x1C and the read address is 0x1D.
The I2C 8-bit write address is 0x3A and the read address is 0x3B. Please consult the factory for alternate addresses.
MAG3110
Sensors
Freescale Semiconductor
8
See Figure 6 for details on how to perform read/write operations with MAG3110.
Single/Burst Write Operation
IIC Start
IIC Slave ADDR
(R/W bit = 0)
MAG3110 Register Address to Start Write
Data0*
Data1
—
IIC
STOP
* Data Bytes Outgoing
Single/Burst Read Operation
IIC Start
IIC Slave ADDR
(R/W bit = 0)
MAG3110 Register Address to Start Read
IIC Repeated Start
IIC Slave ADDR
(R/W bit = 1)
Data0*
Data1
—
IIC
STOP
* Data Bytes Incoming
Figure 6. MAG3110 I2C Generic Read/Write Operations
4.3.2
Fast Read Mode
When the Fast Read (FR) bit is set (CTRL_REG1, 0x10, bit 2), the MSB 8-bit data is read through the I2C bus. Auto-increment
is set to skip over the LSB data. When FR bit is cleared, the complete 16-bit data is read accessing all 6 bytes sequentially
(OUT_X_MSB, OUT_X_LSB, OUT_Y_MSB, OUT_Y_LSB, OUT_Z_MSB, OUT_Z_LSB).
4.3.3
User Offset Corrections
The 2’s complement user offset correction register values are used to compensate for correcting the X, Y, and Z-axis after
device board mount. These values may be used to compensate for hard iron interference.
Depending on the setting of the RAW bit (CTRL_REG2, 0x11, bit 5) the magnetic field sample data is corrected with the user
offset values (RAW = 0), or can be read out uncorrected for user offset values (RAW = 1). The factory calibration correction is
always applied irrespective of the setting of the RAW bit.
The factory calibration for gain, offset and temperature compensation is always automatically applied irrespective of the setting
of the RAW bit which only controls the subtraction of the user defined hard iron offset.
4.3.4
INT1
The DR_STATUS register (see section 5.1.1) contains the ZYXDR bit which denotes the presence of new measurement data
on one or more axes. Software polling can be used to detect the transition of the ZYXDR bit from 0 to 1 but, since the ZYXDR bit
is also logically connected to the INT1 pin, a more efficient approach is to use INT1 to trigger a software interrupt when new
measurement data is available as follows:
1. Put MAG3110 in ACTIVE mode (CTRL_REG1 = 0bXXXXXX01).
2. Idle until INT1 goes HIGH and activates an interrupt service routine in the user software.
3. Read magnetometer data as required from registers 0x01 to 0x06. INT1 is cleared when register 0x01 OUT_X_MSB is
read and this register must therefore always be read in the interrupt service routine.
4. Return to idle in step 2.
4.3.5
Triggered Measurements
Set the TM bit in CTRL_REG1 when you want the part to acquire only 1 sample on each axis. See table below for details.
AC
TM
Description
0
0
0
1
1
0
The ASIC shall perform continuous measurements based on the current OSR
and ODR settings.
1
1
The ASIC shall continue current measurement at fastest applicable ODR for
programmed OSR. The ASIC shall return to programmed ODR after completing
the triggered measurement.
ASIC is in low power standby mode.
The ASIC shall exit standby mode, perform one measurement cycle based on
the programmed ODR and OSR setting, update the I2C data registers and reenter standby mode.
MAG3110
9
Sensors
Freescale Semiconductor
5
Register Description
Table 9. Register Address Map
Auto-Increment
Name
Type
Register
Address
Address (Fast Read)(1)
DR_STATUS(2)
R
0x00
0x01
0000 0000
OUT_X_MSB(2)
R
0x01
0x02 (0x03)
data
Bits [15:8] of X measurement
(2)
R
0x02
0x03
data
Bits [7:0] of X measurement
(2)
R
0x03
0x04 (0x05)
data
Bits [15:8] of Y measurement
OUT_Y_LSB(2)
R
0x04
0x05
data
Bits [7:0] of Y measurement
OUT_Z_MSB(2)
R
0x05
0x06 (0x07)
data
Bits [15:8] of Z measurement
(2)
R
0x06
0x07
data
Bits [7:0] of Z measurement
(2)
R
0x07
0x08
0xC4
Device ID Number
SYSMOD(2)
R
0x08
0x09
data
Current System Mode
OFF_X_MSB
R/W
0X09
0x0A
0000 0000
Bits [14:7] of user X offset
OFF_X_LSB
R/W
0X0A
0X0B
0000 0000
Bits [6:0] of user X offset
OFF_Y_MSB
R/W
0X0B
0X0C
0000 0000
Bits [14:7] of user Y offset
OFF_Y_LSB
R/W
0X0C
0X0D
0000 0000
Bits [6:0] of user Y offset
OFF_Z_MSB
R/W
0X0D
0X0E
0000 0000
Bits [14:7] of user Z offset
OFF_Z_LSB
R/W
0X0E
0X0F
0000 0000
Bits [6:0] of user Z offset
R
0X0F
0X10
data
CTRL_REG1(3)
R/W
0X10
0X11
0000 0000
Operation modes
CTRL_REG2(3)
R/W
0X11
0x12
0000 0000
Operation modes
OUT_X_LSB
OUT_Y_MSB
OUT_Z_LSB
WHO_AM_I
DIE_TEMP
(2)
Default Value
Comment
Data ready status per axis
Temperature, signed 8 bits in °C
1. Fast Read mode for quickly reading the Most Significant Bytes (MSB) of the sampled data.
2. Register contents are preserved when transitioning from “ACTIVE” to “STANDBY” mode.
3. Modification of this register’s contents can only occur when device is “STANDBY” mode, except the TM and AC bit fields in CTRL_REG1
register.
MAG3110
Sensors
Freescale Semiconductor
10
5.1
Sensor Status
5.1.1
DR_STATUS (0x00)
Data Ready Status
This read-only status register provides the acquisition status information on a per-sample basis, and reflects real-time updates
to the OUT_X, OUT_Y, and OUT_Z registers.
Table 10. DR_STATUS Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ZYXOW
ZOW
YOW
XOW
ZYXDR
ZDR
YDR
XDR
Table 11. DR_STATUS Description
ZYXOW
X, Y, Z-axis Data Overwrite. Default value: 0.
0: No data overwrite has occurred.
1: Previous X or Y or Z data was overwritten by new X or Y or Z data before it was completely read.
ZOW
Z-axis Data Overwrite. Default value: 0.
0: No data overwrite has occurred.
1: Previous Z-axis data was overwritten by new Z-axis data before it was read.
YOW
Y-axis Data Overwrite. Default value: 0.
0: No data overwrite has occurred.
1: Previous Y-axis data was overwritten by new Y-axis data before it was read.
XOW
X-axis Data Overwrite. Default value: 0
0: No data overwrite has occurred.
1: Previous X-axis data was overwritten by new X-axis data before it was read.
ZYXDR
ZDR
YDR
X or Y or Z-axis new Data Ready. Default value: 0.
0: No new set of data ready.
1: New set of data is ready.
Z-axis new Data Available. Default value: 0.
0: No new Z-axis data is ready.
1: New Z-axis data is ready.
Z-axis new Data Available. Default value: 0.
0: No new Y-axis data is ready.
1: New Y-axis data is ready.
XDR
Z-axis new Data Available. Default value: 0.
0: No new X-axis data is ready.
1: New X-axis data is ready.
ZYXOW is set to 1 whenever new data is acquired before completing the retrieval of the previous set. This event occurs when
the content of at least one data register (i.e. OUT_X, OUT_Y, OUT_Z) has been overwritten. ZYXOW is cleared when the highbytes of the data (OUT_X_MSB, OUT_Y_MSB, OUT_Z_MSB) of all active channels are read.
ZOW is set to 1 whenever new Z-axis acquisition is completed before the retrieval of the previous data. When this occurs the
previous data is overwritten. ZOW is cleared any time OUT_Z_MSB register is read.
YOW is set to 1 whenever new Y-axis acquisition is completed before the retrieval of the previous data. When this occurs the
previous data is overwritten. YOW is cleared any time OUT_Y_MSB register is read.
XOW is set to 1 whenever new X-axis acquisition is completed before the retrieval of the previous data. When this occurs the
previous data is overwritten. XOW is cleared any time OUT_X_MSB register is read.
ZYXDR signals that new acquisition for any of the enabled channels is available. ZYXDR is cleared when the high-bytes of the
data (OUT_X_MSB, OUT_Y_MSB, OUT_Z_MSB) of all the enabled channels are read.
ZDR is set to 1 whenever new Z-axis data acquisition is completed. ZDR is cleared any time OUT_Z_MSB register is read.
YDR is set to 1 whenever new Y-axis data acquisition is completed. YDR is cleared any time OUT_Y_MSB register is read.
XDR is set to 1 whenever new X-axis data acquisition is completed. XDR is cleared any time OUT_X_MSB register is read.
MAG3110
11
Sensors
Freescale Semiconductor
5.1.2
OUT_X_MSB (0x01), OUT_X_LSB (0x02), OUT_Y_MSB (0x03), OUT_Y_LSB (0x04),
OUT_Z_MSB (0x05), OUT_Z_LSB (0x06)
X-axis, Y-axis, and Z-axis 16-bit output sample data of the magnetic field strength expressed as signed 2's complement
numbers.
When RAW mode is enabled (RAW = 1), the output range is between -15,000 to 15,000 bit counts (the combination of the
1000 μT full scale range and the zero flux offset ranging up to 500 μT).
When RAW mode is not enabled (RAW = 0), the output range is between -30,000 to 30,000 bit counts when the user offset
ranging between -15,000 to 15,000 bit counts is included
The DR_STATUS register, OUT_X_MSB, OUT_X_LSB, OUT_Y_MSB, OUT_Y_LSB, OUT_Z_MSB, and OUT_Z_LSB are
stored in the auto-incrementing address range of 0x00 to 0x06. Data acquisition is a sequential read of 6 bytes.
If the Fast Read (FR) bit is set in CTRL_REG1 (0x10), auto-increment will skip over LSB of the X, Y, Z sample registers. This
will shorten the data acquisition from 6 bytes to 3 bytes. If the LSB registers are directly addressed, the LSB information can still
be read regardless of FR bit setting.
The preferred method for reading data registers is the burst read method where the user application acquires data sequentially
starting from register 0x01. If register 0x01 is not read, the rest of the data registers (0x02 - 0x06) will not be updated with the
most recent acquisition. It is still possible to address individual data registers, however register 0x01 must be read prior to ensure
reading latest acquisition.
Table 12. OUT_X_MSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
XD15
XD14
XD13
XD12
XD11
XD10
XD9
XD8
Table 13. OUT_X_LSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
XD7
XD6
XD5
XD4
XD3
XD2
XD1
XD0
Table 14. OUT_Y_MSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
YD15
YD14
YD13
YD12
YD11
YD10
YD9
YD8
Table 15. OUT_Y_LSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
YD7
YD6
YD5
YD4
YD3
YD2
YD1
YD0
Table 16. OUT_Z_MSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ZD15
ZD14
ZD13
ZD12
ZD11
ZD10
ZD9
ZD8
Table 17. OUT_Z_LSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ZD6
ZD6
ZD5
ZD4
ZD3
ZD2
ZD1
ZD0
MAG3110
Sensors
Freescale Semiconductor
12
5.2
Device ID
5.2.1
WHO_AM_I (0x07)
Device identification register. This read-only register contains the device identifier which is set to 0xC4. This value is factory
programmed. Consult factory for custom alternate values.
Table 18. WHO_AM_I Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
1
1
0
0
0
1
0
0
5.2.2
SYSMOD (0x08)
The read-only system mode register indicates the current device operating mode.
Table 19. SYSMOD Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
0
0
0
0
0
SYSMOD1
SYSMOD0
Table 20. SYSMOD Description
SYSMOD
5.3
System Mode. Default value: 00.
00: STANDBY mode.
01: ACTIVE mode, RAW data.
10: ACTIVE mode, non-RAW user-corrected data.
User Offset Correction
5.3.1
OFF_X_MSB (0x09), OFF_X_LSB (0x0A), OFF_Y_MSB (0x0B), OFF_Y_LSB (0x0C),
OFF_Z_MSB (0x0D), OFF_Z_LSB (0x0E)
X-axis, Y-axis, and Z-axis user defined offsets in 2's complement format which are used when RAW = 0 (see section 5.5.2) to
correct for the MAG3110 zero flux offset and for hard iron offsets on the PCB caused by external components. The maximum
sensible range for the user offsets is in the range -15,000 to 15,000 bit counts comprising the sum of the correction for the zero
flux offset (range -500 μT to 500 μT or -5000 to 5000 bit counts) and the PCB hard iron offset (range -1000 μT to 1000 μT or
-10,000 to 10,000 bit counts).
The user offsets are automatically subtracted by the MAG3110 logic when RAW = 0 before the magnetic field readings are
written to the data measurement registers 0x01 to 0x06. The maximum range of the X, Y and Z data measurement registers when
RAW = 0 is therefore -30,000 to 30,000 bit counts and is computed without clipping. The user offsets are not subtracted when
RAW = 1. The least significant bit of the user defined X, Y and Z offsets is forced to be zero irrespective of the value written by
the user.
If the MAG3110 zero flux offset and PCB hard iron offset corrections are performed by an external microprocessor (the most
likely scenario) then the user offset registers can be ignored and the RAW bit should be set to 1.
The user offset registers should not be confused with the factory calibration corrections which are not user accessible and
which are always applied to the measured magnetic data.
Table 21. OFF_X_MSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
XD14
XD13
XD12
XD11
XD10
XD9
XD8
XD7
Table 22. OFF_X_LSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
XD6
XD5
XD4
XD3
XD2
XD1
XD0
0
Table 23. OFF_Y_MSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
YD14
YD13
YD12
YD11
YD10
YD9
YD8
YD7
Table 24. OFF_Y_LSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
YD6
YD5
YD4
YD3
YD2
YD1
YD0
0
MAG3110
13
Sensors
Freescale Semiconductor
Table 25. OFF_Z_MSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ZD14
ZD13
ZD12
ZD11
ZD10
ZD9
ZD8
ZD7
Table 26. OFF_Z_LSB Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
ZD6
ZD5
ZD4
ZD3
ZD2
ZD1
ZD0
0
5.4
Temperature
5.4.1
DIE_TEMP (0x0F)
Temperature °C expressed as an 8-bit 2's complement number. The data allows for temperatures from -128°C to 127°C but
in actual function the range is from -40°C to 125°C.
Table 27. TEMP Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
T7
T6
T5
T4
T3
T2
T1
T0
5.5
Control Registers
Note: Except for STANDBY mode selection, the device must be in STANDBY mode to change any of the fields within
CTRL_REG1 (0x10).
5.5.1
CTRL_REG1 (0x10)
Table 28. CTRL_REG1 Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
DR2
DR1
DR0
OS1
OS0
FR
TM
AC
MAG3110
Sensors
Freescale Semiconductor
14
Table 29. CTRL_REG1 Description
DR[2:0]
Data rate selection. Default value: 000.
See Table 30 for more information.
OS [1:0]
This register configures the over sampling ratio or measurement integration time.
Default value: 00.
See Table 30 for more information.
FR
Fast Read selection. Default value: 0.
0: The full 16-bit values are read.
1: Fast Read, 8-bit values read from the MSB registers.
TM
Trigger immediate measurement. Default value: 0
0: Normal operation based on AC condition.
1: Trigger measurement.
If part is in ACTIVE mode, any measurement in progress will complete before triggered measurement.
In STANDBY mode triggered measurement will occur immediately and part will return to STANDBY mode as soon as the
measurement is complete.
AC
Operating mode selection. Default value: 0.
0: STANDBY mode.
1: ACTIVE mode.
ACTIVE mode will make periodic measurements based on values programmed in the Data Rate (DR) and Over Sampling
Ratio bits (OS).
Table 30. Over Sampling Ratio and Data Rate Description
DR2
DR1
DR0
OS1
OS0
Output Rate
(Hz)
Over Sample
Ratio
Current Est
μA
Noise Est
μT rms
0
0
0
0
0
80.00
1
900.0
0.14
0
0
0
0
1
40.00
2
900.0
0.1
0
0
0
1
0
20.00
4
900.0
0.07
0
0
0
1
1
10.00
8
900.0
0.05
0
0
1
0
0
40.00
1
480.0
0.14
0
0
1
0
1
20.00
2
480.0
0.1
0
0
1
1
0
10.00
4
480.0
0.07
0
0
1
1
1
5.00
8
480.0
0.05
0
1
0
0
0
20.00
1
275.0
0.14
0
1
0
0
1
10.00
2
275.0
0.1
0
1
0
1
0
5.00
4
275.0
0.07
0
1
0
1
1
2.50
8
275.0
0.05
0
1
1
0
0
10.00
1
137.5
0.14
0
1
1
0
1
5.00
2
137.5
0.1
0
1
1
1
0
2.50
4
137.5
0.07
0
1
1
1
1
1.25
8
137.5
0.05
1
0
0
0
0
5.00
1
68.8
0.14
1
0
0
0
1
2.50
2
68.8
0.1
1
0
0
1
0
1.25
4
68.8
0.07
1
0
0
1
1
0.63
8
68.8
0.05
1
0
1
0
0
2.50
1
34.4
0.14
1
0
1
0
1
1.25
2
34.4
0.1
1
0
1
1
0
0.63
4
34.4
0.07
1
0
1
1
1
0.31
8
34.4
0.05
1
1
0
0
0
1.25
1
17.2
0.14
1
1
0
0
1
0.63
2
17.2
0.1
MAG3110
15
Sensors
Freescale Semiconductor
Table 30. Over Sampling Ratio and Data Rate Description
1
1
0
1
0
0.31
4
17.2
0.07
1
1
0
1
1
0.16
8
17.2
0.05
1
1
1
0
0
0.63
1
8.6
0.14
1
1
1
0
1
0.31
2
8.6
0.1
1
1
1
1
0
0.16
4
8.6
0.07
1
1
1
1
1
0.08
8
8.6
0.05
5.5.2
CTRL_REG2 (0x11)
Table 31. CTRL_REG2 Register
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
AUTO_MRST_EN
—
RAW
Mag_RST
—
ST_Z
ST_Y
ST_X
Table 32. CTRL_REG2 Description
Automatic Magnetic Sensor Reset. Default value: 0.
0: Automatic magnetic sensor resets off.
AUTO_MRST_EN
1: Automatic magnetic sensor resets on.
Similar to Mag_RST, however, the resets occur before each data acquisition.
RAW
Data output correction. Default value: 0.
0: Normal mode: data values are corrected by the user offset register values.
1: Raw mode: data values are not corrected by the user offset register values.
The factory calibration is always applied to the measured data stored in registers 0x01 to 0x06 irrespective of the setting
of the RAW bit.
Mag_RST
Magnetic Sensor Reset. Default value: 0.
0: Reset cycle not active.
1: Reset cycle initiate or Reset cycle busy/active.
When asserted, initiates a magnetic sensor reset cycle that will restore correct operation after exposure to an excessive
magnetic field which exceeds the Full Scale Range (see Table 2) but is less than the Maximum Applied Magnetic Field
(see Table 3).
When the cycle is finished, value returns to 0.
ST_Z
Self-test Z-axis Default value: 0.
0: No Self-test.
1: Self-test, active Z-axis.
When this bit is asserted, a magnetic field is generated on the MAG3110 Z-axis to test the operation of this axis. The size
of the resulting change is defined as Self-test Output Change in Table 2. The ST_Z bit should be de-asserted at the end
of the self-test.
ST_Y
Self-test Y-axis. Default value: 0.
0: No Self-test.
1: Self-test, active Y-axis.
When this bit is asserted, a magnetic field is generated on the MAG3110 Y-axis to test the operation of this axis. The size
of the resulting change is defined as Self-test Output Change in Table 2. The ST_Y bit should be de-asserted at the end
of the self-test.
ST_X
Self-test X-axis. Default value: 0.
0: No Self-test.
1: Self-test, active X-axis.
When this bit is asserted, a magnetic field is generated on the MAG3110 X-axis to test the operation of this axis. The size
of the resulting change is defined as Self-test Output Change in Table 2. The ST_X bit should be de-asserted at the end
of the self-test.
MAG3110
Sensors
Freescale Semiconductor
16
6
Geomagnetic Field Maps
The magnitude of the geomagnetic field varies from 25 μT in South America to about 60 μT over Northern China. The
horizontal component of the field varies from zero at the magnetic poles to 40 μT.
These web sites have further information:
http://wdc.kugi.kyoto-u.ac.jp/igrf/
http://geomag.usgs.gov
MAG3110
17
Sensors
Freescale Semiconductor
Geomagnetic Field
MAG3110
Sensitivity
(0.1 μT)
MAG3110
Full Scale
Sensitivity
(1000 μT)
The placement of MAG3110 on the application PCB should be done based on the guidelines given in AN4247, “PCB Layout
Guidelines and Recommendations” to minimize magnetic interference to the MAG3110 from other components and ensure that
the MAG3110 output does not saturate in fields above 1000 μT.
MAG3110
Sensors
Freescale Semiconductor
18
7
Suggested PCB Footprint
Please see Freescale application note AN1902 for additional information on guidelines for QFN and DFN printed circuit board
design and assembly.
1.82 mm
0.40 mm
0.22 mm
0.80 mm
Footprint Compiles with IPC-7351A
Footprint Tolerance: 0.02 mm
Solder Paste Stencil: 4 mil thickness, type 3 paste is recommended.
Figure 7. PCB Footprint Dimensions
MAG3110
19
Sensors
Freescale Semiconductor
PACKAGE DIMENSIONS
CASE 2154-01
ISSUE XO
10 PIN DFN
MAG3110
Sensors
Freescale Semiconductor
20
PACKAGE DIMENSIONS
CASE 2154-01
ISSUE XO
10 PIN DFN
MAG3110
21
Sensors
Freescale Semiconductor
PACKAGE DIMENSIONS
CASE 2154-01
ISSUE XO
10 PIN DFN
MAG3110
Sensors
Freescale Semiconductor
22
How to Reach Us:
Home Page:
www.freescale.com
Web Support:
http://www.freescale.com/support
USA/Europe or Locations Not Listed:
Freescale Semiconductor, Inc.
Technical Information Center, EL516
2100 East Elliot Road
Tempe, Arizona 85284
1-800-521-6274 or +1-480-768-2130
www.freescale.com/support
Europe, Middle East, and Africa:
Freescale Halbleiter Deutschland GmbH
Technical Information Center
Schatzbogen 7
81829 Muenchen, Germany
+44 1296 380 456 (English)
+46 8 52200080 (English)
+49 89 92103 559 (German)
+33 1 69 35 48 48 (French)
www.freescale.com/support
Japan:
Freescale Semiconductor Japan Ltd.
Headquarters
ARCO Tower 15F
1-8-1, Shimo-Meguro, Meguro-ku,
Tokyo 153-0064
Japan
0120 191014 or +81 3 5437 9125
[email protected]
Asia/Pacific:
Freescale Semiconductor China Ltd.
Exchange Building 23F
No. 118 Jianguo Road
Chaoyang District
Beijing 100022
China
+86 010 5879 8000
[email protected]
For Literature Requests Only:
Freescale Semiconductor Literature Distribution Center
1-800-441-2447 or +1-303-675-2140
Fax: +1-303-675-2150
[email protected]
Information in this document is provided solely to enable system and software
implementers to use Freescale Semiconductor products. There are no express or
implied copyright licenses granted hereunder to design or fabricate any integrated
circuits or integrated circuits based on the information in this document.
Freescale Semiconductor reserves the right to make changes without further notice to
any products herein. Freescale Semiconductor makes no warranty, representation or
guarantee regarding the suitability of its products for any particular purpose, nor does
Freescale Semiconductor assume any liability arising out of the application or use of any
product or circuit, and specifically disclaims any and all liability, including without
limitation consequential or incidental damages. “Typical” parameters that may be
provided in Freescale Semiconductor data sheets and/or specifications can and do vary
in different applications and actual performance may vary over time. All operating
parameters, including “Typicals”, must be validated for each customer application by
customer’s technical experts. Freescale Semiconductor does not convey any license
under its patent rights nor the rights of others. Freescale Semiconductor products are
not designed, intended, or authorized for use as components in systems intended for
surgical implant into the body, or other applications intended to support or sustain life,
or for any other application in which the failure of the Freescale Semiconductor product
could create a situation where personal injury or death may occur. Should Buyer
purchase or use Freescale Semiconductor products for any such unintended or
unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and
its officers, employees, subsidiaries, affiliates, and distributors harmless against all
claims, costs, damages, and expenses, and reasonable attorney fees arising out of,
directly or indirectly, any claim of personal injury or death associated with such
unintended or unauthorized use, even if such claim alleges that Freescale
Semiconductor was negligent regarding the design or manufacture of the part.
Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc.,
Reg. U.S. Pat. & Tm. Off. Xtrinsic is a trademark of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners.
© Freescale Semiconductor, Inc. 2011. All rights reserved.
RoHS-compliant and/or Pb-free versions of Freescale products have the functionality and electrical
characteristics of their non-RoHS-compliant and/or non-Pb-free counterparts. For further
information, see http:/www.freescale.com or contact your Freescale sales representative.
For information on Freescale’s Environmental Products program, go to http://www.freescale.com/epp.
MAG3110
Rev. 2.0
02/2011