[AK09912]
MS1547-E-02 2014/7
- 1 -
AK09912
3-axis Electronic Compass
1. Features
A 3-axis electronic compass IC with high sensitive Hall sensor technology.
Best adapted to pedestrian city navigation use for cell phone and other portable appliance.
Functions:
3-axis magnetometer device suitable for compass application
Built-in A to D Converter for magnetometer data out
16-bit data out for each 3-axis magnetic component
Sensitivity: 0.15 µT/LSB (typ.)
Serial interface
I2C bus interface
Standard, Fast and High-speed modes (up to 2.5 MHz) compliant with Philips I2C specification Ver.2.1
4-wire SPI
Operation mode
Power-down, Single measurement, Continuous measurement, External trigger measurement, Self-test and
Fuse ROM access
DRDY (Data Ready) function for measurement data ready
Magnetic sensor overflow monitor function
Built-in oscillator for internal clock source
Power on Reset circuit
Self test function with internal magnetic source
Built-in Noise Suppression Filter (NSF)
Built-in temperature sensor
Operating temperatures:
-30˚C to +85˚C
Operating supply voltage:
Analog power supply +1.7V to +3.6V
Digital Interface supply +1.65V to analog power supply voltage
Current consumption:
Power-down: 3 µA (typ.)
Measurement:
Average current consumption at 100 Hz repetition rate: 1 mA (typ.)
Package:
AK09912C 14-pin WL-CSP (BGA): 1.6 mm 1.6 mm 0.5 mm (typ.)
[AK09912]
MS1547-E-02 2014/7
- 2 -
2. Overview
AK09912 is 3-axis electronic compass IC with high sensitive Hall sensor technology.
Small package of AK09912 incorporates magnetic sensors for detecting terrestrial magnetism in the X-axis, Y-axis, and
Z-axis, a sensor driving circuit, signal amplifier chain, and an arithmetic circuit for processing the signal from each sensor.
Self test function is also incorporated. From its compact foot print and thin package feature, it is suitable for map heading
up purpose in GPS-equipped cell phone to realize pedestrian navigation function.
AK09912 has the following features:
(1) Silicon monolithic Hall-effect magnetic sensor with magnetic concentrator realizes 3-axis magnetometer on a
silicon chip. Analog circuit, digital logic, power block and interface block are also integrated on a chip.
(2) Wide dynamic measurement range and high resolution with lower current consumption.
Output data resolution: 16-bit (0.15 µT/LSB)
Measurement range: ±4900 µT
Average current at 100 Hz repetition rate: 1 mA (typ.)
(3) Digital serial interface
I2C bus interface to control AK09912 functions and to read out the measured data by external CPU. A
dedicated power supply for I2C bus interface can work in low-voltage apply as low as 1.65V.
4-wire SPI is also supported. A dedicated power supply for SPI can work in low-voltage apply as low as
1.65V.
(4) DRDY pin and register inform to system that measurement is end and set of data in registers are ready to be read.
(5) Device is worked by on-chip oscillator so no external clock source is necessary.
(6) Self test function with internal magnetic source to confirm magnetic sensor operation on end products.
(7) Built-in NSF (Noise Suppression Filter) keeps magnetic sensor output stable.
(8) Built-in temperature sensor to monitor the temperature while operation.
[AK09912]
MS1547-E-02 2014/7
- 3 -
3. Table of Contents
1. Features .............................................................................................................................. 1
2. Overview .............................................................................................................................. 2
3. Table of Contents ................................................................................................................. 3
4. Circuit Configuration ............................................................................................................ 5
4.1. Block Diagram .............................................................................................................. 5
4.2. Block Function .............................................................................................................. 5
4.3. Pin Function .................................................................................................................. 6
5. Overall Characteristics ........................................................................................................ 7
5.1. Absolute Maximum Ratings .......................................................................................... 7
5.2. Recommended Operating Conditions .......................................................................... 7
5.3. Electrical Characteristics .............................................................................................. 7
5.3.1. DC Characteristics ................................................................................................. 7
5.3.2. AC Characteristics ................................................................................................. 8
5.3.3. Analog Circuit Characteristics ................................................................................ 9
5.3.4. 4-wire SPI ............................................................................................................. 10
5.3.5. I2C Bus Interface .................................................................................................. 11
6. Function Explanation ......................................................................................................... 14
6.1. Power States ............................................................................................................... 14
6.2. Reset Functions .......................................................................................................... 14
6.3. Operation Mode .......................................................................................................... 15
6.4. Description of Each Operation Mode ......................................................................... 16
6.4.1. Power-down Mode ............................................................................................... 16
6.4.2. Single Measurement Mode .................................................................................. 16
6.4.3. Continuous Measurement Mode 1, 2, 3 and 4 .................................................... 17
6.4.4. External Trigger Measurement Mode .................................................................. 20
6.4.5. Self-test Mode ...................................................................................................... 20
6.4.6. Fuse ROM Access Mode ..................................................................................... 20
6.5. Temperature Sensor ................................................................................................... 21
6.6. Noise Suppression Filter (NSF) .................................................................................. 21
7. Serial Interface .................................................................................................................. 22
7.1. 4-wire SPI ................................................................................................................... 22
7.1.1. Writing Data.......................................................................................................... 22
7.1.2. Reading Data ....................................................................................................... 23
7.2. I2C Bus Interface ......................................................................................................... 24
7.2.1. Data Transfer ....................................................................................................... 24
7.2.2. WRITE Instruction ................................................................................................ 26
7.2.3. READ Instruction.................................................................................................. 27
7.3. High-speed Mode (Hs-mode) ..................................................................................... 28
8. Registers ........................................................................................................................... 29
8.1. Description of Registers ............................................................................................. 29
8.2. Register Map .............................................................................................................. 30
8.3. Detailed of Description of Register ............................................................................. 31
8.3.1. WIA: Who I Am ..................................................................................................... 31
8.3.2. RSV: Reserved .................................................................................................... 31
8.3.3. ST1: Status 1 ........................................................................................................ 31
8.3.4. HXL to HZH: Measurement Data ......................................................................... 32
8.3.5. TMPS: Temperature Data .................................................................................... 33
8.3.6. ST2: Status 2 ........................................................................................................ 33
8.3.7. CNTL1: Control 1 ................................................................................................. 34
8.3.8. CNTL2: Control 2 ................................................................................................. 34
8.3.9. CNTL3: Control 3 ................................................................................................. 35
8.3.10. TS1, TS2, TS3: Test ........................................................................................... 35
8.3.11. I2CDIS: I2C Disable ............................................................................................ 36
8.3.12. TS4: Test 4 ......................................................................................................... 36
8.3.13. ASAX, ASAY, ASAZ: Sensitivity Adjustment Values .......................................... 36
9. Example of Recommended External Connection ............................................................. 37
[AK09912]
MS1547-E-02 2014/7
- 4 -
9.1. I2C Bus Interface ......................................................................................................... 37
9.2. 4-wire SPI ................................................................................................................... 38
10. Package ........................................................................................................................... 39
10.1. Marking ..................................................................................................................... 39
10.2. Pin Assignment ......................................................................................................... 39
10.3. Outline Dimensions .................................................................................................. 40
10.4. Recommended Foot Print Pattern ............................................................................ 40
11. Relationship between the Magnetic Field and Output Code ........................................... 41
[AK09912]
MS1547-E-02 2014/7
- 5 -
4. Circuit Configuration
4.1. Block Diagram
3-axis
Hall
sensor
MUX
SDA/SI
DRDY
Chopper
SW
HE-Drive
Pre-
AMP
SCL/SK
VDD
VREF
Timing
Control
VID
SO
OSC1
CSB
Magnetic Source
CAD0
VSS
POR
FUSE ROM
CAD1
TST1
TRG
T-Sensor
RSTN
OSC2
TST2
4.2. Block Function
Block
Function
3-axis Hall sensor
Monolithic Hall elements.
MUX
Multiplexer for selecting Hall elements.
Chopper SW
Performs chopping.
HE-Drive
Magnetic sensor drive circuit for constant-current driving of sensor.
Pre-AMP
Fixed-gain differential amplifier used to amplify the magnetic sensor signal.
T-Sensor
Temperature sensor. Generate a voltage in proportion to temperature.
Integrator & ADC
Integrates and amplifies pre-AMP output or T-sensor output and performs
analog-to-digital conversion.
OSC1
Generates an operating clock for sensor measurement.
OSC2
Generates an operating periodic clock for sequencer.
POR
Power On Reset circuit. Generates reset signal on rising edge of VDD.
VREF
Generates reference voltage and current.
Interface Logic
&
Register
Exchanges data with an external CPU.
DRDY pin indicates sensor measurement has ended and data is ready to be read.
I2C bus interface using two pins, namely, SCL and SDA. Standard, Fast and
High-speed modes are supported. The low-voltage specification can be supported
by applying 1.65V to the VID pin.
4-wire SPI is also supported by SK, SI, SO and CSB pins.
4-wire SPI works in VID pin voltage down to 1.65 V, too.
Signal Processing
Noise suppression function by the filtering process.
Filtering process can be enabled or disabled.
Timing Control
Generates a timing signal required for internal operation from a clock generated by
the OSC1.
Magnetic Source
Generates magnetic field for self test of magnetic sensor.
FUSE ROM
Fuse ROM for adjustment.
[AK09912]
MS1547-E-02 2014/7
- 6 -
4.3. Pin Function
Pin No.
Pin name
I/O
Power
supply
Type
Function
A1
DRDY
O
VID
CMOS
Data Ready output pin.
H active. Informs measurement ended and data is ready to
be read.
A2
CSB
I
VID
CMOS
Chip select pin for 4-wire SPI.
L active. Connect to VID when selecting I2C bus interface.
A3
SCL
I
VID
CMOS
When the I2C bus interface is selected (CSB pin is connected
to VID).
SCL: Control clock input pin
Input: Schmitt trigger
SK
When the 4-wire SPI is selected.
SK: Serial clock input pin.
A4
SDA
I/O
VID
CMOS
When the I2C bus interface is selected (CSB pin is connected
to VID).
SDA: Control data input/output pin
Input: Schmitt trigger, Output: Open drain
SI
I
When the 4-wire SPI is selected.
SI: Serial data input pin
B1
VDD
-
-
Power
Positive power supply pin.
B3
TST2
O
VID
CMOS
Test pin.
Connect to VSS or keep this pin non-connected.
B4
SO
O
VID
CMOS
When the I2C bus interface is selected (CSB pin is connected
to VID)
Hi-Z output. Keep this pin electrically non-connected.
When the 4-wire SPI is selected.
Serial data output pin
C1
VSS
-
-
Power
Ground pin
C2
TST1
I
VDD
CMOS
Test pin.
Pulled down by 100kΩ internal resister. Keep this pin
electrically non-connected or connect to VSS.
C3
TRG
I
VID
CMOS
External trigger pulse input pin.
Enabled only in External trigger measurement mode. Pulled
down by 100kΩ internal resister. When External trigger
measurement mode is not in use, keep this pin electrically
non-connected or connect to VSS.
C4
VID
-
-
Power
Digital interface positive power supply pin.
D1
CAD0
I
VDD
CMOS
When the I2C bus interface is selected (CSB pin is connected
to VID)
CAD0:Slave address 0 input pin
Connect to VSS or VDD.
When the 4-wire serial interface is selected.
Connect to VSS.
D2
CAD1
I
VDD
CMOS
When the I2C bus interface is selected (CSB pin is connected
to VID).
CAD1:Slave address 1 input pin
Connect to VSS or VDD.
When the 4-wire serial interface is selected.
Connect to VSS.
D4
RSTN
I
VID
CMOS
Reset pin.
Resets registers by setting to L. Connect to VID when not
in use.
[AK09912]
MS1547-E-02 2014/7
- 7 -
5. Overall Characteristics
5.1. Absolute Maximum Ratings
Vss=0V
Parameter
Symbol
Min.
Max.
Unit
Power supply voltage
(Vdd, Vid)
V+
-0.3
+4.3
V
Input voltage
VIN
-0.3
V++0.3
V
Input current
IIN
-
±10
mA
Storage temperature
Tst
-40
+125
˚C
(Note 1) If the device is used in conditions exceeding these values, the device may be destroyed.
Normal operations are not guaranteed in such exceeding conditions.
5.2. Recommended Operating Conditions
Vss=0V
Parameter
Remark
Symbol
Min.
Typ.
Max.
Unit
Operating temperature
Ta
-30
+85
˚C
Power supply voltage
VDD pin voltage
Vdd
1.7
3.0
3.6
V
VID pin voltage
Vid
1.65
Vdd
V
5.3. Electrical Characteristics
The following conditions apply unless otherwise noted:
Vdd=1.7V to 3.6V, Vid=1.65V to Vdd, Temperature range=-30 ˚C to 85 ˚C
5.3.1. DC Characteristics
Parameter
Symbol
Pin
Condition
Min.
Typ.
Max.
Unit
High level input voltage 1
VIH1
CSB
RSTN
TRG
70%Vid
V
Low level input voltage 1
VIL1
30%Vid
V
High level input voltage 2
VIH2
SK/SCL
SI/SDA
70%Vid
Vid+0.3
V
Low level input voltage 2
VIL2
-0.3V
30%Vid
V
High level input voltage 3
VIH3
CAD0
CAD1
TST1
70%Vdd
V
Low level input voltage 3
VIL3
30%Vdd
V
Input current 1
IIN1
SK/SCL
SI/SDA
CSB
RSTN
Vin=Vss or Vid
-10
+10
µA
CAD0
CAD1
Vin=Vss or Vdd
-10
+10
Input current 2
IIN2
TRG
Vin=Vid
100
µA
Input current 3
IIN3
TST1
Vin=Vdd
100
µA
Hysteresis input voltage
(Note 2)
VHS
SCL
SDA
Vid≥2V
5%Vid
V
Vid<2V
10%Vid
High level output voltage 1
VOH1
SO
DRDY
TST2
IOH≥-100µA
80%Vid
V
Low level output voltage 1
VOL1
IOL≤+100µA
20%Vid
V
Low level output voltage 2
(Note 3)
VOL2
SDA
IOL≤+3mA
Vid≥2V
0.4
V
IOL≤+3mA
Vid<2V
20%Vid
V
[AK09912]
MS1547-E-02 2014/7
- 8 -
Current consumption
(Note 4)
IDD1
VDD
VID
Power-down
mode
Vdd=Vid=3.0V
3
6
µA
IDD2
When magnetic
sensor is driven
1.4
2.3
mA
IDD3
Self-test mode
3.4
5
mA
IDD4
When temperature
sensor is driven
1
1.5
mA
IDD5
(Note 5)
0.1
5
µA
(Note 2) Schmitt trigger input (reference value for design)
(Note 3) Output is open-drain. Connect a pull-up resistor externally
(Note 4) Without any resistance load
(Note 5) (case 1) Vdd=ON, Vid=ON, RSTN pin=L. (case 2) Vdd=ON, Vid=OFF (0V), RSTN pin=L. (case 3)
Vdd=OFF (0V), Vid=ON.
5.3.2. AC Characteristics
Parameter
Symbol
Pin
Condition
Min.
Typ.
Max.
Unit
Power supply rise time
(Note 6)
PSUP
VDD
VID
Period of time that VDD
(VID) changes from 0.2V
to Vdd (Vid).
50
ms
POR completion time
(Note 6)
PORT
Period of time after PSUP
to Power-down
mode(Note 7)
100
µs
Power supply turn off
voltage (Note 6)
SDV
VDD
VID
Turn off voltage to enable
POR to restart(Note 7)
0.2
V
Power supply turn on
interval (Note 6)
PSINT
VDD
VID
Period of time that voltage
lower than SDV needed to
be kept to enable POR to
restart(Note 7)
100
µs
Wait time before mode
setting
Twat
100
µs
Wait time of Fuse ROM
reading
Twatr
Wait time from Fuse
ROM access mode setting
to accessible Fuse ROM
100
µs
(Note 6) Reference value for design.
(Note 7) When POR circuit detects the rise of VDD/VID voltage, it resets internal circuits and initializes the registers.
After reset, AK09912 transits to Power-down mode.
0V
PSINT:100us
PSUP:50ms
PORT:100us
Power-down mode
SDV:0.2V
Twat:100us
VDD/VID
Power-down
mode
Fuse ROM
access mode
モー
Twatr:100us
Accessible
Fuse ROM
[AK09912]
MS1547-E-02 2014/7
- 9 -
Parameter
Symbol
Pin
Condition
Min.
Typ.
Max.
Unit
Trigger input effective pulse
width
tTRIGH
TRG
200
ns
Trigger input effective
frequency (Note 8)
tTRIGf
TRG
100
Hz
(Note 8) The value when the period of time from the end of the measurement to the next trigger input is 1.3ms.
VIH
tTRIGH
Parameter
Symbol
Pin
Condition
Min.
Typ.
Max.
Unit
Reset input effective pulse
width (L)
tRSTL
RSTN
5
µs
VIL
tRSTL
5.3.3. Analog Circuit Characteristics
Parameter
Symbol
Condition
Min.
Typ.
Max.
Unit
Measurement data output bit
DBIT
-
16
-
bit
Time for measurement
TSM
Single measurement mode
7.2
8.5
ms
Magnetic sensor sensitivity (Note 9)
BSE
Tc = 25 ˚C
0.1425
0.15
0.1575
µT/LSB
Magnetic sensor measurement
range(Note 10)
BRG
Tc = 25 ˚C
±4912
µT
Magnetic sensor initial offset
(Note 11)
Tc = 25 ˚C
-2000
+2000
LSB
(Note 9) Value after sensitivity is adjusted using sensitivity fine adjustment data stored in Fuse ROM.
(Note 10) Reference value for design
(Note 11) Value of measurement data register on shipment without applying magnetic field on purpose.
[AK09912]
MS1547-E-02 2014/7
- 10 -
5.3.4. 4-wire SPI
4-wire SPI is compliant with mode 3 (SPI-mode3).
Parameter
Symbol
Condition
Min.
Typ.
Max.
Unit
CSB setup time
Tcs
50
ns
Data setup time
Ts
50
ns
Data hold time
Th
50
ns
SK high time
Twh
Vid2.5V
100
ns
2.5V>Vid1.65V
150
ns
SK low time
Twl
Vid2.5V
100
ns
2.5V>Vid1.65V
150
ns
SK setup time
Tsd
50
ns
SK to SO delay time
(Note 12)
Tdd
50
ns
CSB to SO delay
time (Note 12)
Tcd
50
ns
SK rise time
(Note 13)
Tr
100
ns
SK fall time
(Note 13)
Tf
100
ns
CSB high time
Tch
150
ns
(Note 12) SO load capacitance:20pF
(Note 13) Reference value for design.
[4-wire SPI]
CSB
SK
SI
Tcs
SO
Ts
Tsd
Tcd
Th
Tdd
Hi-Z
Hi-Z
Twh
Twl
Tch
[Rise time and fall time]
SK
Tr
Tf
0.9Vid
0.1Vid
[AK09912]
MS1547-E-02 2014/7
- 11 -
5.3.5. I2C Bus Interface
CSB pin = H
I2C bus interface is compliant with Standard mode and Fast mode. Standard/Fast mode is selected automatically by fSCL.
Standard mode
fSCL≤100kHz
Symbol
Parameter
Min.
Typ.
Max.
Unit
fSCL
SCL clock frequency
100
kHz
tHIGH
SCL clock High time
4.0
µs
tLOW
SCL clock Low time
4.7
µs
tR
SDA and SCL rise time
1.0
µs
tF
SDA and SCL fall time
0.3
µs
tHD:STA
Start Condition hold time
4.0
µs
tSU:STA
Start Condition setup time
4.7
µs
tHD:DAT
SDA hold time (vs. SCL falling edge)
0
µs
tSU:DAT
SDA setup time (vs. SCL rising edge)
250
ns
tSU:STO
Stop Condition setup time
4.0
µs
tBUF
Bus free time
4.7
µs
Fast mode
100Hz≤fSCL≤400kHz
Symbol
Parameter
Min.
Typ.
Max.
Unit
fSCL
SCL clock frequency
400
kHz
tHIGH
SCL clock High time
0.6
µs
tLOW
SCL clock Low time
1.3
µs
tR
SDA and SCL rise time
0.3
µs
tF
SDA and SCL fall time
0.3
µs
tHD:STA
Start Condition hold time
0.6
µs
tSU:STA
Start Condition setup time
0.6
µs
tHD:DAT
SDA hold time (vs. SCL falling edge)
0
µs
tSU:DAT
SDA setup time (vs. SCL rising edge)
100
ns
tSU:STO
Stop Condition setup time
0.6
µs
tBUF
Bus free time
1.3
µs
tSP
Noise suppression pulse width
50
ns
[I2C bus interface timing]
1/fSCL
SCL VIH2
VIL2
tHIGH
SCL
SDA
VIH2
tLOW
tBUF
tHD:STA
tR
tF
tHD:DAT
tSU:DAT
tSU:STA
Stop
Start
Start
Stop
tSU:STO
VIL2
VIH2
VIL2
tSP
[AK09912]
MS1547-E-02 2014/7
- 12 -
High-speed mode (Hs-mode)
Cb≤100pF (Cb: load capacitance)
fSCLH≤2.5MHz
Symbol
Parameter
Min.
Typ.
Max.
Unit
fSCLH
SCLH clock frequency
2.5
MHz
tHIGH
SCLH clock “High” time
110
ns
tLOW
SCLH clock “Low” time
220
ns
tR_CL
SCLH rise time
10
40
ns
tR_CL1
SCLH rise time after a repeated START
condition and after an acknowledge bit
10
80
ns
tR_DA
SDAH rise time
10
80
ns
tF_CL
SCLH fall time
-
40
ns
tF_DA
SDAH fall time
-
80
ns
tHD:STA
Start Condition hold time
160
ns
tSU:STA
Start Condition setup time
160
ns
tHD:DAT
SDAH hold time (vs. SCLH falling edge)
0
ns
tSU:DAT
SDAH setup time (vs. SCLH rising edge)
10
ns
tSU:STO
Stop Condition setup time
160
ns
tSP
Noise suppression pulse width
10
ns
Cb≤400pF
fSCLH≤1.7MHz
Symbol
Parameter
Min.
Typ.
Max.
Unit
fSCLH
SCLH clock frequency
1.7
MHz
tHIGH
SCLH clock “High” time
120
ns
tLOW
SCLH clock “Low” time
320
ns
tR_CL
SCLH rise time
20
80
ns
tR_CL1
SCLH rise time after a repeated START
condition and after an acknowledge bit
20
160
ns
tR_DA
SDAH rise time
20
160
ns
tF_CL
SCLH fall time
-
80
ns
tF_DA
SDAH fall time
-
160
ns
tHD:STA
Start Condition hold time
160
ns
tSU:STA
Start Condition setup time
160
ns
tHD:DAT
SDAH hold time (vs. SCLH falling edge)
0
ns
tSU:DAT
SDAH setup time (vs. SCLH rising edge)
10
ns
tSU:STO
Stop Condition setup time
160
ns
tSP
Noise suppression pulse width
10
ns
[AK09912]
MS1547-E-02 2014/7
- 13 -
[I2C bus interface timing of Hs-mode]
VIH2
VIL2
VIH2
VIL2
SDAH
SCLH
START
START
STOP
tF_DA
tR_DA
tR_CL1
tR_CL1
tR_CL
tF_CL
tHIGH
tLOW
tHIGH
tHD:DAT
tSU:DAT
tSU:STO
tSU:STA
tHD:STA
SCLH
VIH2
VIL2
1/fSCLH
[AK09912]
MS1547-E-02 2014/7
- 14 -
6. Function Explanation
6.1. Power States
When VDD and VID are turned on from Vdd=OFF (0V) and Vid=OFF (0V), all registers in AK09912 are initialized by
POR circuit and AK09912 transits to Power-down mode.
All the states in the table below can be set, although the transition from state 2 to state 3 and the transition from state 3 to
state 2 are prohibited.
Table 6.1 Power state
State
VDD
VID
Power state
1
OFF (0V)
OFF (0V)
OFF (0V).
It doesn’t affect external interface. Digital
input pins other than SCL and SDA pin
should be fixed to L (0V).
2
OFF (0V)
1.65V to 3.6V
OFF (0V)
It doesn’t affect external interface.
3
1.7V to 3.6V
OFF (0V)
OFF(0V)
It doesn’t affect external interface. Digital
input pins other than SCL and SDA pin
should be fixed to L (0V).
4
1.7V to 3.6V
1.65V to Vdd
ON
6.2. Reset Functions
When the power state is ON, always keep Vid≤Vdd.
Power-on reset (POR) works until Vdd reaches to the operation effective voltage (about 1.1V: reference value for design)
on power-on sequence. After POR is deactivated, all registers are initialized and transits to power down mode.
When Vdd=1.7 to 3.6V, POR circuit and VID monitor circuit are active. When Vid=0V, AK09912 is in reset status and it
consumes the current of reset state (IDD5).
AK09912 has four types of reset;
(1) Power on reset (POR)
When Vdd rise is detected, POR circuit operates, and AK09912 is reset.
(2) VID monitor
When VID is turned OFF (0V), AK09912 is reset.
(3) Reset pin (RSTN)
AK09912 is reset by Reset pin. When Reset pin is not used, connect to VID.
(4) Soft reset
AK09912 is reset by setting SRST bit. When AK09912 is reset, all registers (without ASAX, ASAY and ASAZ) are
initialized and AK09912 transits to Power-down mode.
[AK09912]
MS1547-E-02 2014/7
- 15 -
6.3. Operation Mode
AK09912 has following nine operation modes:
(1) Power-down mode
(2) Single measurement mode
(3) Continuous measurement mode 1
(4) Continuous measurement mode 2
(5) Continuous measurement mode 3
(6) Continuous measurement mode 4
(7) External trigger measurement mode
(8) Self-test mode
(9) Fuse ROM access mode
By setting CNTL2 register MODE[4:0] bits, the operation set for each mode is started.
A transition from one mode to another is shown below.
MODE[4:0]=“00001
MODE[4:0]=“00000
Transits automatically
MODE[4:0]=“00010
MODE[4:0]=“00000
MODE[4:0]=“00100
MODE[4:0]=“00000
MODE[4:0]=“00110”
MODE[4:0]=“00000”
MODE[4:0]=“01000”
MODE[4:0]=“00000
MODE[4:0]=01010
MODE[4:0]=“00000
MODE[4:0]=“10000
MODE[4:0]=00000
Transits automatically
MODE[4:0]=“11111
MODE[4:0]=00000
Power-down
mode
Continuous measurement mode 2
Sensor is measured periodically in 20Hz.
Transits to Power-down mode by writing
MODE[4:0]=“00000”.
Self-test mode
Sensor is self-tested and the result is output. Transits
to Power-down mode automatically.
Single measurement mode
Sensor is measured for one time and data is output.
Transits to Power-down mode automatically after
measurement ended.
External trigger measurement mode
Sensor is measured for one time by external trigger.
Waits for next trigger after data is output. Transits to
Power-down mode by writing MODE[4:0]=00000”.
Continuous measurement mode 1
Sensor is measured periodically in 10Hz.
Transits to Power-down mode by writing
MODE[4:0] = 00000.
Continuous measurement mode 3
Sensor is measured periodically in 50Hz.
Transits to Power-down mode by writing
MODE[4:0]=“00000”.
Continuous measurement mode 4
Sensor is measured periodically in 100Hz.
Transits to Power-down mode by writing
MODE[4:0]=00000”.
Fuse ROM access mode
Turn on the needed to read out Fuse ROM.
Transits to Power-down mode by writing
MODE[4:0]=00000”.
Figure 6.1 Operation mode
When power is turned ON, AK09912 is in Power-down mode. When a specified value is set to MODE[4:0], AK09912
transits to the specified mode and starts operation. When user wants to change operation mode, transit to power-down mode
first and then transit to other modes. After Power-down mode is set, at least 100 µs (Twat) is needed before setting another
mode.
[AK09912]
MS1547-E-02 2014/7
- 16 -
6.4. Description of Each Operation Mode
6.4.1. Power-down Mode
Power to almost all internal circuits is turned off. All registers are accessible in Power-down mode. Data stored in
read/write registers are remained. They can be reset by soft reset.
6.4.2. Single Measurement Mode
When Single measurement mode (MODE[4:0]=00001) is set, magnetic sensor measurement is started. After magnetic
sensor measurement and signal processing is finished, measurement magnetic data is stored to measurement data registers
(HXL to HZH), then AK09912 transits to Power-down mode automatically. On transition to Power-down mode,
MODE[4:0] turns to 00000. When temperature sensor is enabled (TEM =1), temperature sensor measurement is started
together with magnetic sensor measurement and measurement temperature data is stored to measurement data registers
(TMPS). At the same time, DRDY bit in ST1 register turns to 1. This is called Data Ready. When any of measurement
data register (HXL to TMPS) or ST2 register is read, DRDY bit turns to 0. It remains 1 on transition from Power-down
mode to another mode. DRDY pin is in the same state as DRDY bit. (Figure 6.2)
When sensor is measuring (Measurement period), measurement data registers (HXL to TMPS) keep the previous data.
Therefore, it is possible to read out data even in measurement period. Data read out in measurement period are previous data.
(Figure 6.3)
Operation Mode: Single measuremnet
Power-down (1) (2) (3)
Measurement period
Measurement Data Register
Last Data Measurement Data (1) Data(2) Data(3)
DRDY
Data read Data(1) Data(3)
Register Write MODE[4:0]="00001" MODE[4:0]="00001" MODE[4:0]="00001"
Figure 6.2 Single measurement mode when data is read out of measurement period
Operation Mode: Single measuremnet
Power-down (1) (2) (3)
Measurement period
Measurement Data Register
Last Data Measurement Data (1) Data(3)
DRDY
Data read Data(1)
Register Write MODE[4:0]="00001" MODE[4:0]="00001" MODE[4:0]="00001"
Figure 6.3 Single measurement mode when data read started during measurement period
[AK09912]
MS1547-E-02 2014/7
- 17 -
6.4.3. Continuous Measurement Mode 1, 2, 3 and 4
When Continuous measurement mode 1 (MODE[4:0]=00010), 2 (MODE[4:0]=00100), 3 (MODE[4:0]=00110) or 4
(MODE[4:0]=01000) is set, magnetic sensor measurement is started periodically at 10 Hz, 20 Hz, 50 Hz or 100 Hz
respectively. After magnetic sensor measurement and signal processing is finished, measurement magnetic data is stored to
measurement data registers (HXL to HZH) and all circuits except for the minimum circuit required for counting cycle
length are turned off (PD). When the next measurement timing comes, AK09912 wakes up automatically from PD and
starts measurement again. When temperature sensor is enabled (TEM =1), temperature sensor measurement is started
together with magnetic sensor measurement, and measurement temperature data is stored to measurement data registers
(TMPS).
Continuous measurement mode ends when Power-down mode (MODE[4:0]=00000) is set. It repeats measurement until
Power-down mode is set.
When Continuous measurement mode 1 (MODE[4:0]=00010), 2 (MODE[4:0]=00100), 3 (MODE[4:0]=00110) or 4
(MODE[4:0]=01000) is set again while AK09912 is already in Continuous measurement mode, a new measurement starts.
ST1, ST2 and measurement data registers (HXL to TMPS) will not be initialized by this.
(N-1)th Nth (N+1)th
PD Measurement PD Measurement PD
10Hz,20Hz,50Hz or 100Hz
Figure 6.4 Continuous measurement mode
6.4.3.1. Data Ready
When measurement data is stored and ready to be read, DRDY bit in ST1 register turns to 1. This is called Data Ready.
DRDY pin is in the same state as DRDY bit. When measurement is performed correctly, AK09912 becomes Data Ready on
transition to PD after measurement.
[AK09912]
MS1547-E-02 2014/7
- 18 -
6.4.3.2. Normal Read Sequence
(1) Check Data Ready or not by any of the following method.
Polling DRDY bit of ST1 register
Monitor DRDY pin
When Data Ready, proceed to the next step.
(2) Read ST1 register (not needed when polling ST1)
DRDY: Shows Data Ready or not. Not when 0, Data Ready when 1.
DOR: Shows if any data has been skipped before the current data or not. There are no skipped data when 0,
there are skipped data when 1.
(3) Read measurement data
When any of measurement data register (HXL to TMPS) or ST2 register is read, AK09912 judges that data reading
is started. When data reading is started, DRDY bit and DOR bit turns to 0.
(4) Read ST2 register (required)
HOFL: Shows if magnetic sensor is overflowed or not. 0 means not overflowed, 1 means overflowed.
When ST2 register is read, AK09912 judges that data reading is finished. Stored measurement data is protected
during data reading and data is not updated. By reading ST2 register, this protection is released. It is required to read
ST2 register after data reading.
(N-1)th Nth (N+1)th
PD Measurement PD Measurement PD
Measurement Data Register
(N-1)th Nth (N+1)th
DRDY
Data read ST1 Data(N) ST2 ST1 Data(N+1) ST2
Figure 6.5 Normal read sequence
6.4.3.3. Data Read Start during Measurement
When sensor is measuring (Measurement period), measurement data registers (HXL to TMPS) keep the previous data.
Therefore, it is possible to read out data even in measurement period. If data is started to be read during measurement period,
previous data is read.
(N-1)th Nth (N+1)th
PD Measurement PD Measurement PD
Measurement Data Register
(N-1)th Nth
DRDY
Data read ST1 Data(N) ST2 ST1 Data(N) ST2
Figure 6.6 Data read start during measurement
[AK09912]
MS1547-E-02 2014/7
- 19 -
6.4.3.4. Data Skip
When Nth data was not read before (N+1)th measurement ends, Data Ready remains until data is read. In this case, a set of
measurement data is skipped so that DOR bit turns to 1.
When data reading started after Nth measurement ended and did not finish reading before (N+1)th measurement ended, Nth
measurement data is protected to keep correct data. In this case, a set of measurement data is skipped and not stored so that
DOR bit turns to 1.
In both case, DOR bit turns to 0 at the next start of data reading.
(N-1)th Nth (N+1)th
PD Measurement PD Measurement PD
Measurement Data Register
(N-1)th Nth (N+1)th
DRDY
DOR
Data read ST1 Data(N+1) ST2
Figure 6.7 Data Skip: When data is not read
(N-1)th Nth (N+1)th (N+2)th
PD Measurement PD Measurement PD Measurement PD
Measurement Data Register
(N-1)th Nth (N+2)th
Data register is protected
because data is being read
Not data ready
DRDY because data is not updated
(N+1)th data is skipped
DOR
Data read ST1 DataN ST2 ST1 Data(N+2)
Figure 6.8 Data Skip: When data read has not been finished before the next measurement end
6.4.3.5. End Operation
Set Power-down mode (MODE[4:0]=00000) to end Continuous measurement mode.
[AK09912]
MS1547-E-02 2014/7
- 20 -
6.4.3.6. Magnetic Sensor Overflow
AK09912 has the limitation for measurement range that the sum of absolute values of each axis should be smaller than 4912
µT. |X|+|Y|+|Z| < 4912 µT
When the magnetic field exceeded this limitation, data stored at measurement data are not correct. This is called Magnetic
Sensor Overflow.
When magnetic sensor overflow occurs, HOFL bit turns to 1. When the next measurement starts, it returns to 0.
6.4.4. External Trigger Measurement Mode
When External trigger measurement mode (MODE[4:0]=01010) is set, AK09912 waits for trigger input. When a pulse is
input from TRG pin, magnetic sensor measurement is started on the rising edge of TRG pin. After magnetic sensor
measurement and signal processing is finished, measurement magnetic data is stored to measurement data registers (HXL to
HZH) and all circuits except for the minimum circuit required for trigger input waiting are turned off (PD state). When the
next pulse is input, AK09912 wakes up automatically from PD and starts measurement again.
When temperature sensor is enabled (TEM =1), temperature sensor measurement is started together with magnetic sensor
measurement, and measurement temperature data is stored to measurement data registers (TMPS).
When power-down mode (MODE[4:0]=00000) is set, External trigger measurement mode ends. AK09912 keeps waiting
for the trigger input until the Power-down mode is set.
When External trigger measurement mode (MODE[4:0]=01010) is set again while AK09912 is already in External trigger
measurement mode, it starts to wait for the trigger input again. The trigger input is ignored while sensor is measuring.
Data read sequence and functions of read-only registers in External trigger measurement mode are the same as Continuous
measurement mode.
6.4.5. Self-test Mode
Self-test mode is used to check if the magnetic sensor is working normally.
When Self-test mode (MODE[4:0]=10000) is set, magnetic field is generated by the internal magnetic source and
magnetic sensor is measured. Measurement data is stored to measurement data registers (HXL to HZH), then AK09912
transits to Power-down mode automatically.(Temperature sensor is not measured.)
Data read sequence and functions of read-only registers in Self-test mode are the same as Single measurement mode.
6.4.5.1. Self-test Sequence
(1) Set Power-down mode. (MODE[4:0]=00000)
(2) Set Self-test mode. (MODE[4:0]=10000)
(3) Check Data Ready or not by any of the following method.
Polling DRDY bit of ST1 register
Monitor DRDY pin
When Data Ready, proceed to the next step.
(4) Read measurement data (HXL to HZH)
6.4.5.2. Self-test Judgment
When measurement data read by the above sequence is in the range of following table after sensitivity adjustment (refer to
8.3.13), AK09912 is working normally.
HX[15:0]
HY[15:0]
HZ[15:0]
Criteria
-200 HX +200
-200 HY +200
-1600 HZ -400
6.4.6. Fuse ROM Access Mode
Fuse ROM access mode is used to read Fuse ROM data. Sensitivity adjustment data for each axis is stored in Fuse ROM.
Set Fuse ROM Access mode (MODE[4:0]=11111) before reading Fuse ROM data. When Fuse ROM Access mode is set,
circuits required for reading Fuse ROM are turned on. However, it needs 100µs (Twatr) to read Fuse ROM after mode
setting.
After reading Fuse ROM data, set Power-down mode (MODE[4:0]=00000) before the transition to another mode.
[AK09912]
MS1547-E-02 2014/7
- 21 -
6.5. Temperature Sensor
In Single measurement mode, Continuous measurement mode 1, 2, 3, 4, or External trigger measurement mode is set,
AK09912 can measure temperature sensor together with magnetic sensor. When temperature sensor is enabled (TEM =1),
temperature sensor measurement is started together with magnetic sensor measurement. In Continuous measurement mode
1, 2, 3 or 4, temperature sensor measurement is started at every 8 measurements of magnetic sensor measurement. In Single
measurement mode or External trigger measurement mode, temperature sensor measurement is stared at every measurement
of magnetic sensor measurement. When user wants to change temperature sensor measurement enables or disables, set to
Power-down mode is required before change temperature sensor measurement.
Default TEM register is disable (TEM=0).
6.6. Noise Suppression Filter (NSF)
In Single measurement mode, Continuous measurement mode 1, 2, 3, 4 or External trigger measurement mode, output from
the magnetic sensor can be filtered to suppress the noise. This filter name is Noise Suppression Filter (NSF). There are three
optional filter extents. When NSF[1:0]= 00, NSF is disable and output magnetic data is not filtered. When NSF[1:0]=
01, NSF extent is Low and output magnetic data is filtered mildly. When NSF[1:0]= 10, NSF extent is Middle and
output magnetic data is filtered moderately. When NSF[1:0]= 11, NSF extent is High and output magnetic data is
filtered strongly.
NSF register can be changed in Power-down mode only.
Default NSF register is disable (NSF[1:0]= 00).
[AK09912]
MS1547-E-02 2014/7
- 22 -
7. Serial Interface
AK09912 supports I2C bus interface and 4-wire SPI. A selection is made by CSB pin. When used as 3-wire SPI, set SI pin
and SO pin wired-OR externally.
CSB pin=L: 4-wire SPI
CSB pin=H: I2C bus interface
7.1. 4-wire SPI
The 4-wire SPI consists of four digital signal lines: SK, SI, SO, and CSB, and is provided in 16bit protocol. Data consists of
Read/Write control bit (R/W), register address (7-bit) and control data (8-bit). To read out all axes measurement data (X, Y,
Z), an option to read out more than one byte data using automatic increment command is available. (Sequential read
operation)
CSB pin is low active. Input data is taken in on the rising edge of SK pin, and output data is changed on the falling edge of
SK pin. (SPI-mode3)
Communication starts when CSB pin transits to L and stops when CSB pin transits to H. SK pin must be H during
CSB pin is in transition. Also, it is prohibited to change SI pin during CSB pin is H and SK pin is H.
7.1.1. Writing Data
Input 16 bits data on SI pin in synchronous with the 16-bit serial clock input on SK pin. Out of 16 bits input data, the first 8
bits specify the R/W control bit (R/W=0 when writing) and register address (7-bit), and the latter 8 bits are control data
(8-bit). When any of addresses listed on Table 8.1 is input, AK09912 recognizes that it is selected and takes in latter 8 bits
as setting data.
If the number of clock pulses is less than 16, no data is written. If the number of clock pulses is more than 16, data after the
16th clock pulse on SI pin are ignored.
It is not compliant with serial write operation for multiple addresses.
CSB
SK
SI
(INPUT)
1
RW
SO
(OUTPUT)
Hi-Z
A6
6
A5
A4
A3
A2
A1
A0
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
D7
D6
D5
D4
D3
D2
D1
D0
Figure 7.1 4-wite SPI Writing Data
[AK09912]
MS1547-E-02 2014/7
- 23 -
7.1.2. Reading Data
Input the R/W control bit (R/W=1) and 7-bit register address on SI pin in synchronous with the first 8 bits of the 16 bits of
a serial clock input on SK pin. Then AK09912 outputs the data held in the specified register with MSB first from SO pin.
When clocks are input continuously after one byte of data is read, the address is incremented and data in the next address is
output. Accordingly, after the falling edge of the 15th clock and CSB pin is L, the data in the next address is output on SO
pin. When CSB pin is driven L to H, SO pin is placed in the high-impedance state.
AK09912 has two incrimination lines; 00H to 18H and 30H to 32H. For example, data is read as follows: 00H 01H
02H 03H 10H 11H ... 18H 00H 01H ..., 30H 31H 32H 30H …,or 60H 61H 62H 60H
33H to 35H and 37H are reserved addresses. Do not access to those addresses.
When specified address is other than 00H to 18H, 30H to 37H and 60H to 62H, AK09912 recognizes that it is not selected
and keeps SO pin in high-impedance state. Therefore, user can use other addresses for other devices.
CSB
SK
SI
(INPUT)
1
RW
SO
(OUTPUT)
Hi-Z
A6
6
A5
A4
A3
A2
A1
A0
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
D7
D6
D5
D4
D3
D2
D1
D0
Hi-Z
Figure 7.2 4-wire SPI Reading Data
[AK09912]
MS1547-E-02 2014/7
- 24 -
7.2. I2C Bus Interface
The I2C bus interface of AK09912 supports the Standard mode (100 kHz max.), the Fast mode (400 kHz max.) and
High-speed mode (Hs-mode, 2.5 MHz max.).
7.2.1. Data Transfer
To access AK09912 on the bus, generate a start condition first.
Next, transmit a one-byte slave address including a device address. At this time, AK09912 compares the slave address with
its own address. If these addresses match, AK09912 generates an acknowledgement, and then executes READ or WRITE
instruction. At the end of instruction execution, generate a stop condition.
7.2.1.1. Change of Data
A change of data on the SDA line must be made during Low period of the clock on the SCL line. When the clock signal
on the SCL line is High, the state of the SDA line must be stable. (Data on the SDA line can be changed only when the
clock signal on the SCL line is Low.)
During the SCL line is High, the state of data on the SDA line is changed only when a start condition or a stop condition
is generated.
SCL
SDA
DATA LINE
STABLE :
DATA VALID
CHANGE
OF DATA
ALLOWED
Figure 7.3 Data Change
7.2.1.2. Start/Stop Condition
If the SDA line is driven to Low from High when the SCL line is High, a start condition is generated. Every
instruction starts with a start condition.
If the SDA line is driven to High from Low when the SCL line is High, a stop condition is generated. Every
instruction stops with a stop condition.
SCL
SDA
STOP CONDITION
START CONDITION
Figure 7.4 Start and Stop Condition
[AK09912]
MS1547-E-02 2014/7
- 25 -
7.2.1.3. Acknowledge
The IC that is transmitting data releases the SDA line (in the High state) after sending 1-byte data.
The IC that receives the data drives the SDA line to Low on the next clock pulse. This operation is referred as
acknowledge. With this operation, whether data has been transferred successfully can be checked.
AK09912 generates an acknowledge after reception of a start condition and slave address.
When a WRITE instruction is executed, AK09912 generates an acknowledge after every byte is received.
When a READ instruction is executed, AK09912 generates an acknowledge then transfers the data stored at the specified
address. Next, AK09912 releases the SDA line then monitors the SDA line. If a master IC generates an acknowledge
instead of a stop condition, AK09912 transmits the 8-bit data stored at the next address. If no acknowledge is generated,
AK09912 stops data transmission.
SCL FROM
MASTER
acknowledge
DATA
OUTPUT BY
TRANSMITTER
DATA
OUTPUT BY
RECEIVER
1
9
8
START
CONDITION
Clock pulse
for acknowledge
not acknowledge
Figure 7.5 Generation of Acknowledge
7.2.1.4. Slave Address
The slave address of AK09912 can be selected from the following list by setting CAD0/1 pin. When CAD pin is fixed to
VSS, the corresponding slave address bit is 0. When CAD pin is fixed to VDD, the corresponding slave address bit is 1.
Table 7.1 Slave Address and CAD0/1 pin
CAD1
CAD0
Slave Address
0
0
0CH
0
1
0DH
1
0
0EH
1
1
0FH
MSB LSB
0
0
0
1
1
CAD1
CAD0
R/W
Figure 7.6 Slave Address
The first byte including a slave address is transmitted after a start condition, and an IC to be accessed is selected from the
ICs on the bus according to the slave address.
When a slave address is transferred, the IC whose device address matches the transferred sl ave address generates an
acknowledge then executes an instruction. The 8th bit (least significant bit) of the first byte is a R/W bit.
When the R/W bit is set to 1, READ instruction is executed. When the R/W bit is set to 0, WRITE instruction is
executed.
[AK09912]
MS1547-E-02 2014/7
- 26 -
7.2.2. WRITE Instruction
When the R/W bit is set to 0, AK09912 performs write operation.
In write operation, AK09912 generates an acknowledge after receiving a start condition and the first byte (slave address)
then receives the second byte. The second byte is used to specify the address of an internal control register and is based on
the MSB-first configuration.
MSB LSB
A7
A6
A5
A4
A3
A2
A1
A0
Figure 7.7 Register Address
After receiving the second byte (register address), AK09912 generates an acknowledge then receives the third byte.
The third and the following bytes represent control data. Control data consists of 8 bits and is based on the MSB-first
configuration. AK09912 generates an acknowledge after every byte is received. Data transfer always stops with a stop
condition generated by the master.
MSB LSB
D7
D6
D5
D4
D3
D2
D1
D0
Figure 7.8 Control Data
AK09912 can write multiple bytes of data at a time.
After reception of the third byte (control data), AK09912 generates an acknowledge then receives the next data. If
additional data is received instead of a stop condition after receiving one byte of data, the address counter inside the LSI
chip is automatically incremented and the data is written at the next address.
The address is incremented from 00H to 18H, from 30H to32H, or from 60H to 62H. When the address is between 00H and
18H, the address is incremented 00H 01H 02H 03H 10H 11H ... 18H, and the address goes back to 00H
after 18H. When the address is between 30H and 32H, the address goes back to 30H after 32H. When the address is
between 60H and 62H, the address goes back to 60H after 62H.
Actual data is written only to Read/Write registers (refer to Table 8.2)
SDA
S
T
A
R
T
A
C
K
A
C
K
S
Slave
Address
A
C
K
Register
Address(n)
Data(n)
P
S
T
O
P
Data(n+x)
A
C
K
Data(n+1)
A
C
K
A
C
K
R/W="0"
Figure 7.9 WRITE Instruction
[AK09912]
MS1547-E-02 2014/7
- 27 -
7.2.3. READ Instruction
When the R/W bit is set to 1, AK09912 performs read operation.
If a master IC generates an acknowledge instead of a stop condition after AK09912 transfers the data at a specified address,
the data at the next address can be read.
Address can be 00H to 18H, 30H to 32H, and 60H to 62H. When the address is between 00H and 18H, the address is
incremented 00H 01H 02H 03H 10H 11H ... 18H, and the address goes back to 00H after 18H. When the
address is between 30H and 32H, the address goes back to 30H after 32H. When the address is between 60H and 62H, the
address goes back to 60H after 62H.
AK09912 supports one byte read and multiple bytes read.
7.2.3.1. One Byte READ
AK09912 has an address counter inside the LSI chip. In current address read operation, the data at an address specified by
this counter is read.
The internal address counter holds the next address of the most recently accessed address.
For example, if the address most recently accessed (for READ instruction) is address n, and a current address read operation is
attempted, the data at address n+1 is read.
In one byte read operation, AK09912 generates an acknowledge after receiving a slave address for the READ instruction
(R/W bit=1). Next, AK09912 transfers the data specified by the internal address counter starting with the next clock pulse,
then increments the internal counter by one. If the master IC generates a stop condition instead of an acknowledge after
AK09912 transmits one byte of data, the read operation stops.
SDA
S
T
A
R
T
A
C
K
A
C
K
S
Slave
Address
A
C
K
Data(n)
Data(n+1)
P
S
T
O
P
Data(n+x)
A
C
K
Data(n+2)
A
C
K
R/W="1"
Figure 7.10 One Byte READ
7.2.3.2. Multiple Byte READ
By multiple byte read operation, data at an arbitrary address can be read.
The multiple byte read operation requires to execute WRITE instruction as dummy before a slave address for the READ
instruction (R/W bit=1) is transmitted. In random read operation, a start condition is first generated then a slave address
for the WRITE instruction (R/W bit=0) and a read address are transmitted sequentially.
After AK09912 generates an acknowledge in response to this address transmission, a start condition and a slave address for
the READ instruction (R/W bit=1) are generated again. AK09912 generates an acknowledge in response to this slave
address transmission. Next, AK09912 transfers the data at the specified address then increments the internal address counter
by one. If the master IC generates a stop condition instead of an acknowledge after data is transferred, the read operation
stops.
SDA
S
T
A
R
T
A
C
K
A
C
K
S
Slave
Address
A
C
K
Register
Address(n)
Data(n)
P
S
T
O
P
Data(n+x)
A
C
K
Data(n+1)
A
C
K
R/W="0"
S
T
A
R
T
A
C
K
S
Slave
Address
R/W="1"
Figure 7.11 Multiple Byte READ
[AK09912]
MS1547-E-02 2014/7
- 28 -
7.3. High-speed Mode (Hs-mode)
AK09912 supports the Hs-mode.
Hs-mode can only commence after the following conditions (all of which are in Fast/Standard-mode):
START condition (S)
8-bit master code (00001XXX)
not-acknowledge bit (Ā)
The diagram below shows data flow of the Hs-mode.
After start condition, feed master code 00001XXX for transfer to the Hs-mode. And then AK09912 feeds back
not-acknowledge bit and switch over to circuit for the Hs-mode between times t1 and tH. AK09912 can communicate at the
Hs-mode from next START condition. At time tFS, AK09912 switches its internal circuit from the Hs-mode to the First
mode with the STOP condition (P). This transfer completes in the bus free time (tBUF).
Figure 7.12 Data transfer format in Hs-mode
Figure 7.13 Hs-mode transfer
[AK09912]
MS1547-E-02 2014/7
- 29 -
8. Registers
8.1. Description of Registers
AK09912 has registers of 24 addresses as indicated in Table 8.1. Every address consists of 8 bits data. Data is transferred to
or received from the external CPU via the serial interface described previously.
Table 8.1 Register Table
Name
Address
READ/
WRITE
Description
Bit
width
Remarks
WIA
00H
READ
Company ID
8
WIA2
01H
READ
Device ID
8
RSV1
02H
READ
Reserved 1
8
RSV2
03H
READ
Reserved 2
8
ST1
10H
READ
Status 1
8
Data status
HXL
11H
READ
Measurement Magnetic Data
8
X-axis data
HXH
12H
READ
8
HYL
13H
READ
8
Y-axis data
HYH
14H
READ
8
HZL
15H
READ
8
Z-axis data
HZH
16H
READ
8
TMPS
17H
READ
Measurement Temperature Data
8
Temperature data
ST2
18H
READ
Status 2
8
Data status
CNTL1
30H
READ/
WRITE
Control 1
8
Control settings
CNTL2
31H
READ/
WRITE
Control 2
8
Control settings
CNTL3
32H
READ/
WRITE
Control 3
8
Control settings
TS1
33H
READ/
WRITE
Test
8
DO NOT ACCESS
TS2
34H
READ/
WRITE
Test
8
DO NOT ACCESS
TS3
35H
READ/
WRITE
Test
8
DO NOT ACCESS
I2CDIS
36H
READ/
WRITE
I2C disable
8
TS4
37H
READ/
WRITE
Test
8
DO NOT ACCESS
ASAX
60H
READ
X-axis sensitivity adjustment value
8
Fuse ROM
ASAY
61H
READ
Y-axis sensitivity adjustment value
8
Fuse ROM
ASAZ
62H
READ
Z-axis sensitivity adjustment value
8
Fuse ROM
Addresses 00H to 18H, 30H to 32H and 60H to 62H are compliant with automatic increment function of serial interface
respectively. Values of addresses 60H to 62H can be read only in Fuse ROM access mode. In other modes, read data is not
correct. When the address is in 00H to 18H, the address is incremented 00H 01H 02H 03H 10H 11H ...
18H, and the address goes back to 00H after 18H. When the address is in 30H to 32H, the address goes back to 30H after
32H. When the address is in 60H to 62H, the address goes back to 60H after 62H.
[AK09912]
MS1547-E-02 2014/7
- 30 -
8.2. Register Map
Table 8.2 Register Map
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read-only register
00H
WIA1
0
1
0
0
1
0
0
0
01H
WIA2
0
0
0
0
0
1
0
0
02H
RSV1
RSV17
RSV16
RSV15
RSV14
RSV13
RSV12
RSV11
RSV10
03H
RSV2
RSV27
RSV26
RSV25
RSV24
RSV23
RSV22
RSV21
RSV20
10H
ST1
HSM
0
0
0
0
0
DOR
DRDY
11H
HXL
HX7
HX6
HX5
HX4
HX3
HX2
HX1
HX0
12H
HXH
HX15
HX14
HX13
HX12
HX11
HX10
HX9
HX8
13H
HYL
HY7
HY6
HY5
HY4
HY3
HY2
HY1
HY0
14H
HYH
HY15
HY14
HY13
HY12
HY11
HY10
HY9
HY8
15H
HZL
HZ7
HZ6
HZ5
HZ4
HZ3
HZ2
HZ1
HZ0
16H
HZH
HZ15
HZ14
HZ13
HZ12
HZ11
HZ10
HZ9
HZ8
17H
TMPS
TMPS7
TMPS6
TMPS5
TMPS4
TMPS3
TMPS2
TMPS1
TMPS0
18H
ST2
0
0
0
0
HOFL
0
0
0
Read/Write register
30H
CNTL1
TEM
NSF1
NSF0
0
0
0
0
0
31H
CNTL2
0
0
0
MODE4
MODE3
MODE2
MODE1
MODE0
32H
CNTL3
0
0
0
0
0
0
0
SRST
33H
TS1
-
-
-
-
-
-
-
-
34H
TS2
-
-
-
-
-
-
-
-
35H
TS3
-
-
-
-
-
-
-
-
36H
I2CDIS
I2CDIS7
I2CDIS6
I2CDIS5
I2CDIS4
I2CDIS3
I2CDIS2
I2CDIS1
I2CDIS0
37H
TS4
-
-
-
-
-
-
-
-
Read-only register
60H
ASAX
COEFX7
COEFX6
COEFX5
COEFX4
COEFX3
COEFX2
COEFX1
COEFX0
61H
ASAY
COEFY7
COEFY6
COEFY5
COEFY4
COEFY3
COEFY2
COEFY1
COEFY0
62H
ASAZ
COEFZ7
COEFZ6
COEFZ5
COEFZ4
COEFZ3
COEFZ2
COEFZ1
COEFZ0
When VDD is turned ON, POR function works and all registers of AK09912 are initialized regardless of VID status. To
write data to or to read data from register, VID must be ON.
TS1, TS2, TS3 and TS4 are test registers for shipment test. Do not use these registers.
[AK09912]
MS1547-E-02 2014/7
- 31 -
8.3. Detailed of Description of Register
8.3.1. WIA: Who I Am
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read-only register
00H
WIA1
0
1
0
0
1
0
0
0
01H
WIA2
0
0
0
0
0
1
0
0
WIA1[7:0]: Company ID of AKM. It is described in one byte and fixed value.
48H: fixed
WIA2[7:0]: Device ID of AK09912. It is described in one byte and fixed value.
04H: fixed
8.3.2. RSV: Reserved
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read-only register
02H
RSV1
RSV17
RSV16
RSV15
RSV14
RSV13
RSV12
RSV11
RSV10
03H
RSV2
RSV27
RSV26
RSV25
RSV24
RSV23
RSV22
RSV21
RSV20
RSV1[7:0]/RSV2[7:0]: Device information of AKM.
8.3.3. ST1: Status 1
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read-only register
10H
ST1
HSM
0
0
0
0
0
DOR
DRDY
Reset
0
0
0
0
0
0
0
0
DRDY: Data Ready
0: Normal
1: Data is ready
DRDY bit turns to 1 when data is ready in Single measurement mode, Continuous measurement mode 1, 2, 3, 4 , External
trigger measurement mode or Self-test mode. It returns to 0 when any one of ST2 register or measurement data register
(HXL to TMPS) is read.
DOR: Data Overrun
0: Normal
1: Data overrun
DOR bit turns to 1 when data has been skipped in Continuous measurement mode 1,2,3,4 or External trigger
measurement mode. It returns to 0 when any one of ST2 register or measurement data register (HXL to TMPS) is read.
HSM: I2C Hs-mode
“0”: Standard/Fast mode
“1”: Hs-mode
HSM bit turns to “1” when I2C bus interface is changed from Standard or Fast mode to High-speed mode (Hs-mode).
[AK09912]
MS1547-E-02 2014/7
- 32 -
8.3.4. HXL to HZH: Measurement Data
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read-only register
11H
HXL
HX7
HX6
HX5
HX4
HX3
HX2
HX1
HX0
12H
HXH
HX15
HX14
HX13
HX12
HX11
HX10
HX9
HX8
13H
HYL
HY7
HY6
HY5
HY4
HY3
HY2
HY1
HY0
14H
HYH
HY15
HY14
HY13
HY12
HY11
HY10
HY9
HY8
15H
HZL
HZ7
HZ6
HZ5
HZ4
HZ3
HZ2
HZ1
HZ0
16H
HZH
HZ15
HZ14
HZ13
HZ12
HZ11
HZ10
HZ9
HZ8
Reset
0
0
0
0
0
0
0
0
Measurement data of magnetic sensor X-axis/Y-axis/Z-axis
HXL[7:0]: X-axis measurement data lower 8-bit
HXH[15:8]: X-axis measurement data higher 8-bit
HYL[7:0]: Y-axis measurement data lower 8-bit
HYH[15:8]: Y-axis measurement data higher 8-bit
HZL[7:0]: Z-axis measurement data lower 8-bit
HZH[15:8]: Z-axis measurement data higher 8-bit
Measurement data is stored in two’s complement and Little Endian format. Measurement range of each axis is -32752 to
32752 in 16-bit output.
Table 8.3 Measurement magnetic data format
Measurement data (each axis) [15:0]
Magnetic flux
density [µ]
Two’s complement
Hex
Decimal
0111 1111 1111 0000
7FF0
32752
4912(max.)
|
|
|
|
0000 0000 0000 0001
0001
1
0.15
0000 0000 0000 0000
0000
0
0
1111 1111 1111 1111
FFFF
-1
-0.15
|
|
|
|
1000 0000 0000 1000
8010
-32752
-4912(min.)
[AK09912]
MS1547-E-02 2014/7
- 33 -
8.3.5. TMPS: Temperature Data
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read-only register
17H
TMPS
TMPS7
TMPS6
TMPS5
TMPS4
TMPS3
TMPS2
TMPS1
TMPS0
Reset
0
0
0
0
0
0
0
0
TMPS[7:0]: Measurement data of temperature sensor
Temperature [˚C] = 35 + (120 TMPS code ) / 1.6 [decimal value]
Temperature measuring range: -49.4˚C (max code) to +110.0˚C (minimum code)
-49.4 ˚C or less : TMPS code = FF [hex value]
+110.0 ˚C or more : TMPS code = 00 [hex value]
Table 8.4 Measurement temperature data format
Measurement data [7:0]
Hex
Temperature [˚C]
FF
-49.4
|
|
81
29.4
80
30.0
7F
30.6
|
|
00
110.0
8.3.6. ST2: Status 2
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read-only register
18H
ST2
0
0
0
0
HOFL
0
0
0
Reset
0
0
0
0
0
0
0
0
HOFL: Magnetic sensor overflow
0: Normal
1: Magnetic sensor overflow occurred
In Single measurement mode, Continuous measurement mode 1, 2, 3, 4, External trigger measurement mode and Self-test
mode, magnetic sensor may overflow even though measurement data register is not saturated. In this case, measurement
data is not correct and HOFL bit turns to 1. When next measurement stars, it returns to 0. Refer to 6.4.3.6 for detailed
information.
ST2 register has a role as data reading end register, also. When any of measurement data register (HXL to TMPS) is read in
Continuous measurement mode 1, 2, 3, 4 or External trigger measurement mode, it means data reading start and taken as
data reading until ST2 register is read. Therefore, when any of measurement data is read, be sure to read ST2 register at the
end.
[AK09912]
MS1547-E-02 2014/7
- 34 -
8.3.7. CNTL1: Control 1
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read/Write register
30H
CNTL1
TEM
NSF1
NSF0
0
0
0
0
0
Reset
0
0
0
0
0
0
0
0
TEM: Temperature measurement setting
0: disable
1: enable
When TEM bit is 1, temperature sensor measurement is enabled. Temperature sensor is measured together with magnetic
sensor. Refer to 6.5 for detailed information.
NSF[1:0]: Noise suppression filter setting
00: disable
01: Low
10: Middle
11: High
Output data from magnetic sensor is filtered to suppress the noise according to the setting. Refer to 6.6 for detailed
information.
8.3.8. CNTL2: Control 2
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read/Write register
31H
CNTL2
0
0
0
MODE4
MODE3
MODE2
MODE1
MODE0
Reset
0
0
0
0
0
0
0
0
MODE[4:0]: Operation mode setting
00000: Power-down mode
00001: Single measurement mode
00010: Continuous measurement mode 1
00100: Continuous measurement mode 2
00110: Continuous measurement mode 3
01000: Continuous measurement mode 4
01010: External trigger measurement mode
10000: Self-test mode
11111: Fuse ROM access mode
Other code settings are prohibited.
When each mode is set, AK09912 transits to the set mode. Refer to 6.3 for detailed information.
[AK09912]
MS1547-E-02 2014/7
- 35 -
8.3.9. CNTL3: Control 3
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read/Write register
32H
CNTL3
0
0
0
0
0
0
0
SRST
Reset
0
0
0
0
0
0
0
0
SRST: Soft reset
0: Normal
1: Reset
When 1 is set, all registers (without ASAX, ASAY and ASAZ) are initialized. After reset, SRST bit turns to 0
automatically.
8.3.10. TS1, TS2, TS3: Test
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read/Write register
33H
TS1
-
-
-
-
-
-
-
-
34H
TS2
-
-
-
-
-
-
-
-
35H
TS3
-
-
-
-
-
-
-
-
Reset
0
0
0
0
0
0
0
0
TS1, TS2 and TS3 registers are AKM internal test registers. Do not use these registers.
[AK09912]
MS1547-E-02 2014/7
- 36 -
8.3.11. I2CDIS: I2C Disable
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read/Write register
36H
I2CDIS
I2CDIS7
I2CDIS7
I2CDIS7
I2CDIS7
I2CDIS7
I2CDIS7
I2CDIS7
I2CDIS0
Reset
0
0
0
0
0
0
0
0
This register disables I2C bus interface. I2C bus interface is enabled in default. To disable I2C bus interface, write
00011011 to I2CDIS register. Then I2C bus interface is disabled.
Once I2C bus interface is disabled, it is impossible to write other value to I2CDIS register. To enable I2C bus interface, reset
AK09912 or input start condition 8 times continuously.
8.3.12. TS4: Test 4
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read/Write register
37H
TS4
-
-
-
-
-
-
-
-
Reset
0
1
1
0
1
0
0
1
TS4 registers are test registers for shipment test. Do not use this registers.
8.3.13. ASAX, ASAY, ASAZ: Sensitivity Adjustment Values
Addr.
Register
name
D7
D6
D5
D4
D3
D2
D1
D0
Read-only register
60H
ASAX
COEFX7
COEFX6
COEFX5
COEFX4
COEFX3
COEFX2
COEFX1
COEFX0
61H
ASAY
COEFY7
COEFY6
COEFY5
COEFY4
COEFY3
COEFY2
COEFY1
COEFY0
62H
ASAZ
COEFZ7
COEFZ6
COEFZ5
COEFZ4
COEFZ3
COEFZ2
COEFZ1
COEFZ0
Sensitivity adjustment data for each axis is stored to Fuse ROM on shipment.
ASAX[7:0]: Magnetic sensor X-axis sensitivity adjustment value
ASAY[7:0]: Magnetic sensor Y-axis sensitivity adjustment value
ASAZ[7:0]: Magnetic sensor Z-axis sensitivity adjustment value
How to adjust sensitivity
The sensitivity adjustment is done by the equation below, where H is the measurement data read out from the
measurement data register, ASA is the sensitivity adjustment value and Hadj is the adjusted measurement data.
1
128 5.0128ASA
HHadj
[AK09912]
MS1547-E-02 2014/7
- 37 -
9. Example of Recommended External Connection
9.1. I2C Bus Interface
Pins of dot circle should be kept non-connected.
AK09912C
(Top view)
Interrupt
Host CPU
I2C I/F
Power for I/F
VID
POWER 1.65V to Vdd
VDD
POWER 1.7V to 3.6V
0.1µF
0.1µF
TST2
RSTN
VID
SO
SDA
/SI
TRG
TST2
SCL
/SK
CSB
TST1
CAD0
CAD1
VSS
VDD
DRDY
Slave address select
CAD1 CAD0 address
VSS VSS 0 0 0 1 1 0 0 R/W
VSS VDD 0 0 0 1 1 0 1 R/W
VDD VSS 0 0 0 1 1 1 0 R/W
VDD VDD 0 0 0 1 1 1 1 R/W
GPIO
4 3 2 1
D
C
B
A
[AK09912]
MS1547-E-02 2014/7
- 38 -
9.2. 4-wire SPI
Pins of dot circle should be kept non-connected.
AK09912C
(Top view)
Interrupt
Host CPU
SPI I/F
Power for I/F
VID
POWER 1.65V to Vdd
VDD
POWER 1.7V to 3.6V
0.1µF
0.1µF
TST2
RSTN
VID
SO
SDA
/SI
TRG
TST2
SCL
/SK
CSB
TST1
CAD0
CAD1
VSS
VDD
DRDY
GPIO
4 3 2 1
D
C
B
A
[AK09912]
MS1547-E-02 2014/7
- 39 -
10. Package
10.1. Marking
Product name: 09912
Date code: X1X2X3X4X5
X1 = ID
X2 = Year code
X3X4 = Week code
X5 = Lot
10.2. Pin Assignment
4
3
2
1
D
RSTN
CAD1
CAD0
C
VID
TRG
TST1
VSS
B
SO
TST2
VDD
A
SDA/SI
SCL/SK
CSB
DRDY
<Top view>
09912
X1X2X3X4X5
<Top view>
[AK09912]
MS1547-E-02 2014/7
- 40 -
10.3. Outline Dimensions
10.4. Recommended Foot Print Pattern
<Top view>
0.05 C
0.57 max.
C
0.40
0.13
0.4
1.2
1.2
0.4
0.240.03
4 3 2 1
1.590.03
D
1.590.03
C
B
A
1 2 3 4
<Top view>
<Bottom view>
<Side view>
0.4
0.23
a
0.4
[AK09912]
MS1547-E-02 2014/7
- 41 -
11. Relationship between the Magnetic Field and Output Code
The measurement data increases as the magnetic flux density increases in the arrow directions.
[AK09912]
MS1547-E-02 2014/7
- 42 -
Important Notice
0. Asahi Kasei Microdevices Corporation (“AKM”) reserves the right to make changes to the information contained in
this document without notice. When you consider any use or application of AKM product stipulated in this document
(“Product”), please make inquiries the sales office of AKM or authorized distributors as to current status of the
Products.
1. All information included in this document are provided only to illustrate the operation and application examples of
AKM Products. AKM neither makes warranties or representations with respect to the accuracy or completeness of the
information contained in this document nor grants any license to any intellectual property rights or any other rights of
AKM or any third party with respect to the information in this document. You are fully responsible for use of such
information contained in this document in your product design or applications. AKM ASSUMES NO LIABILITY FOR
ANY LOSSES INCURRED BY YOU OR THIRD PARTIES ARISING FROM THE USE OF SUCH INFORMATION
IN YOUR PRODUCT DESIGN OR APPLICATIONS.
2. The Product is neither intended nor warranted for use in equipment or systems that require extraordinarily high levels of
quality and/or reliability and/or a malfunction or failure of which may cause loss of human life, bodily injury, serious
property damage or serious public impact, including but not limited to, equipment used in nuclear facilities, equipment
used in the aerospace industry, medical equipment, equipment used for automobiles, trains, ships and other
transportation, traffic signaling equipment, equipment used to control combustions or explosions, safety devices,
elevators and escalators, devices related to electric power, and equipment used in finance-related fields. Do not use
Product for the above use unless specifically agreed by AKM in writing.
3. Though AKM works continually to improve the Product’s quality and reliability, you are responsible for complying
with safety standards and for providing adequate designs and safeguards for your hardware, software and systems
which minimize risk and avoid situations in which a malfunction or failure of the Product could cause loss of human
life, bodily injury or damage to property, including data loss or corruption.
4. Do not use or otherwise make available the Product or related technology or any information contained in this
document for any military purposes, including without limitation, for the design, development, use, stockpiling or
manufacturing of nuclear, chemical, or biological weapons or missile technology products (mass destruction weapons).
When exporting the Products or related technology or any information contained in this document, you should comply
with the applicable export control laws and regulations and follow the procedures required by such laws and regulations.
The Products and related technology may not be used for or incorporated into any products or systems whose
manufacture, use, or sale is prohibited under any applicable domestic or foreign laws or regulations.
5. Please contact AKM sales representative for details as to environmental matters such as the RoHS compatibility of the
Product. Please use the Product in compliance with all applicable laws and regulations that regulate the inclusion or use
of controlled substances, including without limitation, the EU RoHS Directive. AKM assumes no liability for damages
or losses occurring as a result of noncompliance with applicable laws and regulations.
6. Resale of the Product with provisions different from the statement and/or technical features set forth in this document
shall immediately void any warranty granted by AKM for the Product and shall not create or extend in any manner
whatsoever, any liability of AKM.
7. This document may not be reproduced or duplicated, in any form, in whole or in part, without prior written consent of
AKM.