AK09912

[AK09912]
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.)
MS1547-E-02
2014/7
-1-
[AK09912]
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.
MS1547-E-02
2014/7
-2-
[AK09912]
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
MS1547-E-02
2014/7
-3-
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
MS1547-E-02
[AK09912]
2014/7
-4-
[AK09912]
4. Circuit Configuration
4.1. Block Diagram
3-axis
Hall
sensor
Chopper
SW
PreAMP
Integrator&ADC
Signal
Processing
MUX
T-Sensor
Timing
Control
Magnetic Source
RSTN
OSC1
HE-Drive
Interface,
Logic
& Register
CSB
SO
VREF
OSC2
POR
CAD0
CAD1
TST1
TST2
TRG
VSS
VDD
SCL/SK
SDA/SI
DRDY
FUSE ROM
VID
4.2. Block Function
Block
3-axis Hall sensor
MUX
Chopper SW
HE-Drive
Pre-AMP
T-Sensor
Integrator & ADC
OSC1
OSC2
POR
VREF
Interface Logic
&
Register
Signal Processing
Timing Control
Magnetic Source
FUSE ROM
Function
Monolithic Hall elements.
Multiplexer for selecting Hall elements.
Performs chopping.
Magnetic sensor drive circuit for constant-current driving of sensor.
Fixed-gain differential amplifier used to amplify the magnetic sensor signal.
Temperature sensor. Generate a voltage in proportion to temperature.
Integrates and amplifies pre-AMP output or T-sensor output and performs
analog-to-digital conversion.
Generates an operating clock for sensor measurement.
Generates an operating periodic clock for sequencer.
Power On Reset circuit. Generates reset signal on rising edge of VDD.
Generates reference voltage and current.
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.
Noise suppression function by the filtering process.
Filtering process can be enabled or disabled.
Generates a timing signal required for internal operation from a clock generated by
the OSC1.
Generates magnetic field for self test of magnetic sensor.
Fuse ROM for adjustment.
MS1547-E-02
2014/7
-5-
[AK09912]
4.3. Pin Function
Pin No.
Pin name
I/O
Type
Function
O
Power
supply
VID
A1
DRDY
CMOS
CSB
I
VID
CMOS
SCL
I
VID
CMOS
SDA
I/O
VID
CMOS
SI
I
Data Ready output pin.
“H” active. Informs measurement ended and data is ready to
be read.
Chip select pin for 4-wire SPI.
“L” active. Connect to VID when selecting I2C bus interface.
When the I2C bus interface is selected (CSB pin is connected
to VID).
SCL: Control clock input pin
Input: Schmitt trigger
When the 4-wire SPI is selected.
SK: Serial clock input pin.
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
When the 4-wire SPI is selected.
SI: Serial data input pin
A2
A3
B1
B3
VDD
TST2
O
VID
Power
CMOS
B4
SO
O
VID
CMOS
C1
C2
VSS
TST1
I
VDD
Power
CMOS
C3
TRG
I
VID
CMOS
C4
D1
VID
CAD0
I
VDD
Power
CMOS
D2
CAD1
I
VDD
CMOS
SK
A4
D4
RSTN
I
VID
CMOS
Positive power supply pin.
Test pin.
Connect to VSS or keep this pin non-connected.
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
Ground pin
Test pin.
Pulled down by 100kΩ internal resister. Keep this pin
electrically non-connected or connect to VSS.
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.
Digital interface positive power supply pin.
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.
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.
Reset pin.
Resets registers by setting to “L”. Connect to VID when not
in use.
MS1547-E-02
2014/7
-6-
[AK09912]
5. Overall Characteristics
5.1. Absolute Maximum Ratings
Vss=0V
Parameter
Power supply voltage
(Vdd, Vid)
Input voltage
Input current
Storage temperature
Symbol
V+
Min.
-0.3
Max.
+4.3
Unit
V
VIN
IIN
Tst
-0.3
-40
(V+)+0.3
±10
+125
V
mA
˚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
Operating temperature
Power supply voltage
Remark
VDD pin voltage
Symbol
Ta
Vdd
Min.
-30
1.7
VID pin voltage
Vid
1.65
Typ.
3.0
Max.
+85
3.6
Unit
˚C
V
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
High level input voltage 1
Low level input voltage 1
Symbol
VIH1
VIL1
High level input voltage 2
Low level input voltage 2
High level input voltage 3
Low level input voltage 3
VIH2
VIL2
VIH3
VIL3
Input current 1
IIN1
Input current 2
Input current 3
Hysteresis input voltage
(Note 2)
IIN2
IIN3
VHS
High level output voltage 1
Low level output voltage 1
VOH1
VOL1
Low level output voltage 2
(Note 3)
VOL2
Pin
CSB
RSTN
TRG
SK/SCL
SI/SDA
CAD0
CAD1
TST1
SK/SCL
SI/SDA
CSB
RSTN
CAD0
CAD1
TRG
TST1
SCL
SDA
SO
DRDY
TST2
SDA
Condition
Min.
70%Vid
Typ.
Max.
30%Vid
70%Vid
-0.3V
70%Vdd
Vid+0.3
30%Vid
30%Vdd
V
V
V
V
µA
Vin=Vss or Vid
-10
+10
Vin=Vss or Vdd
-10
+10
Vin=Vid
Vin=Vdd
Vid≥2V
Vid<2V
IOH≥-100µA
IOL≤+100µA
Unit
V
V
100
100
5%Vid
10%Vid
80%Vid
µA
µA
V
20%Vid
V
V
IOL≤+3mA
Vid≥2V
0.4
V
IOL≤+3mA
Vid<2V
20%Vid
V
MS1547-E-02
2014/7
-7-
Current consumption
(Note 4)
IDD1
IDD2
IDD3
IDD4
IDD5
VDD
VID
Power-down
mode
Vdd=Vid=3.0V
When magnetic
sensor is driven
Self-test mode
When temperature
sensor is driven
(Note 5)
[AK09912]
µA
3
6
1.4
2.3
mA
3.4
1
5
1.5
mA
mA
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
Power supply rise time
(Note 6)
Symbol
PSUP
POR completion time
(Note 6)
PORT
Power supply turn off
voltage (Note 6)
Power supply turn on
interval (Note 6)
SDV
Wait time before mode
setting
Wait time of Fuse ROM
reading
PSINT
Pin
Condition
VDD Period of time that VDD
VID (VID) changes from 0.2V
to Vdd (Vid).
Period of time after PSUP
to Power-down
mode(Note 7)
VDD Turn off voltage to enable
VID
POR to restart(Note 7)
VDD Period of time that voltage
VID lower than SDV needed to
be kept to enable POR to
restart(Note 7)
Twat
Twatr
Wait time from Fuse
ROM access mode setting
to accessible Fuse ROM
Min.
Typ.
Max.
50
Unit
ms
100
µs
0.2
V
100
µs
100
µs
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.
VDD/VID
PORT:100us
Power-down
mode
Power-down mode
Fuse ROM
access mode
モード
Accessible
Fuse ROM
Twat:100us Twatr:100us
SDV:0.2V
0V
PSUP:50ms
PSINT:100us
MS1547-E-02
2014/7
-8-
[AK09912]
Parameter
Trigger input effective pulse
width
Trigger input effective
frequency (Note 8)
Symbol
tTRIGH
Pin
TRG
tTRIGf
TRG
Condition
Min.
200
Typ.
Max.
Unit
ns
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.
tTRIGH
VIH
Parameter
Reset input effective pulse
width (“L”)
Symbol
tRSTL
Pin
RSTN
Condition
Min.
5
Typ.
Max.
Unit
µs
tRSTL
VIL
5.3.3. Analog Circuit Characteristics
Parameter
Measurement data output bit
Time for measurement
Magnetic sensor sensitivity (Note 9)
Magnetic sensor measurement
range(Note 10)
Magnetic sensor initial offset
(Note 11)
Symbol
DBIT
TSM
BSE
BRG
Condition
Min.
-
Single measurement mode
Tc = 25 ˚C
Tc = 25 ˚C
0.1425
±4912
Tc = 25 ˚C
-2000
Typ.
16
7.2
0.15
Max.
Unit
bit
8.5
ms
0.1575 µT/LSB
µT
+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.
MS1547-E-02
2014/7
-9-
[AK09912]
5.3.4. 4-wire SPI
4-wire SPI is compliant with mode 3 (SPI-mode3).
Parameter
Symbol
Condition
CSB setup time
Tcs
Data setup time
Ts
Data hold time
Th
SK high time
Twh
Vid2.5V
2.5V>Vid1.65V
SK low time
Twl
Vid2.5V
2.5V>Vid1.65V
SK setup time
Tsd
SK to SO delay time
Tdd
(Note 12)
CSB to SO delay
Tcd
time (Note 12)
SK rise time
Tr
(Note 13)
SK fall time
Tf
(Note 13)
CSB high time
Tch
Min.
50
50
50
100
150
100
150
50
Typ.
Max.
50
Unit
ns
ns
ns
ns
ns
ns
ns
ns
ns
50
ns
100
ns
100
ns
150
ns
(Note 12) SO load capacitance:20pF
(Note 13) Reference value for design.
[4-wire SPI]
Tch
Tcs
CSB
Tsd
Ts
Th
Tdd
Twh
Tcd
Twl
l
SK
SI
Hi-Z
Hi-Z
SO
[Rise time and fall time]
Tr
Tf
0.9Vid
0.1Vid
SK
MS1547-E-02
2014/7
- 10 -
[AK09912]
2
5.3.5. I C 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
fSCL
tHIGH
tLOW
tR
tF
tHD:STA
tSU:STA
tHD:DAT
tSU:DAT
tSU:STO
tBUF

Parameter
SCL clock frequency
SCL clock “High” time
SCL clock “Low” time
SDA and SCL rise time
SDA and SCL fall time
Start Condition hold time
Start Condition setup time
SDA hold time (vs. SCL falling edge)
SDA setup time (vs. SCL rising edge)
Stop Condition setup time
Bus free time
Min.
Typ.
Max.
100
4.0
4.7
1.0
0.3
4.0
4.7
0
250
4.0
4.7
Unit
kHz
µs
µs
µs
µs
µs
µs
µs
ns
µs
µs
Fast mode
100Hz≤fSCL≤400kHz
Symbol
fSCL
tHIGH
tLOW
tR
tF
tHD:STA
tSU:STA
tHD:DAT
tSU:DAT
tSU:STO
tBUF
tSP
Parameter
SCL clock frequency
SCL clock “High” time
SCL clock “Low” time
SDA and SCL rise time
SDA and SCL fall time
Start Condition hold time
Start Condition setup time
SDA hold time (vs. SCL falling edge)
SDA setup time (vs. SCL rising edge)
Stop Condition setup time
Bus free time
Noise suppression pulse width
Min.
Typ.
Max.
400
0.6
1.3
0.3
0.3
0.6
0.6
0
100
0.6
1.3
50
Unit
kHz
µs
µs
µs
µs
µs
µs
µs
ns
µs
µs
ns
[I2C bus interface timing]
1/fSCL
VIH2
SCL
VIL2
VIH2
SDA
VIL2
tLOW
tBUF
tR
tHIGH
tF
tSP
VIH2
SCL
VIL2
tHD:STA
Stop
Start
tHD:DAT
tSU:DAT
tSU:STA
tSU:STO
Start
Stop
MS1547-E-02
2014/7
- 11 -
[AK09912]

High-speed mode (Hs-mode)
 Cb≤100pF (Cb: load capacitance)
fSCLH≤2.5MHz
Symbol
fSCLH
tHIGH
tLOW
tR_CL
tR_CL1
tR_DA
tF_CL
tF_DA
tHD:STA
tSU:STA
tHD:DAT
tSU:DAT
tSU:STO
tSP

Parameter
SCLH clock frequency
SCLH clock “High” time
SCLH clock “Low” time
SCLH rise time
SCLH rise time after a repeated START
condition and after an acknowledge bit
SDAH rise time
SCLH fall time
SDAH fall time
Start Condition hold time
Start Condition setup time
SDAH hold time (vs. SCLH falling edge)
SDAH setup time (vs. SCLH rising edge)
Stop Condition setup time
Noise suppression pulse width
Min.
Parameter
SCLH clock frequency
SCLH clock “High” time
SCLH clock “Low” time
SCLH rise time
SCLH rise time after a repeated START
condition and after an acknowledge bit
SDAH rise time
SCLH fall time
SDAH fall time
Start Condition hold time
Start Condition setup time
SDAH hold time (vs. SCLH falling edge)
SDAH setup time (vs. SCLH rising edge)
Stop Condition setup time
Noise suppression pulse width
Min.
Typ.
Max.
2.5
110
220
10
40
Unit
MHz
ns
ns
ns
10
80
ns
10
160
160
0
10
160
80
40
80
ns
ns
ns
ns
ns
ns
ns
ns
ns
10
Cb≤400pF
fSCLH≤1.7MHz
Symbol
fSCLH
tHIGH
tLOW
tR_CL
tR_CL1
tR_DA
tF_CL
tF_DA
tHD:STA
tSU:STA
tHD:DAT
tSU:DAT
tSU:STO
tSP
MS1547-E-02
Typ.
Max.
1.7
120
320
20
80
Unit
MHz
ns
ns
ns
20
160
ns
20
160
160
0
10
160
160
80
160
ns
ns
ns
ns
ns
ns
ns
ns
ns
10
2014/7
- 12 -
[AK09912]
[I2C bus interface timing of Hs-mode]
1/fSCLH
VIH2
SCLH
VIL2
START
tF_DA
START
STOP
tR_DA
VIH2
SDAH
VIL2
tSU:STA
tHD:DAT
tSU:STO
tSU:DAT
tHD:STA
VIH2
SCLH
VIL2
tF_CL
tR_CL1
tR_CL1
tR_CL
tHIGH tLOW
tHIGH
MS1547-E-02
2014/7
- 13 -
[AK09912]
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
1
VDD
OFF (0V)
VID
OFF (0V)
2
OFF (0V)
1.65V to 3.6V
3
1.7V to 3.6V
OFF (0V)
4
1.7V to 3.6V
1.65V to Vdd
Power state
OFF (0V).
It doesn’t affect external interface. Digital
input pins other than SCL and SDA pin
should be fixed to “L” (0V).
OFF (0V)
It doesn’t affect external interface.
OFF(0V)
It doesn’t affect external interface. Digital
input pins other than SCL and SDA pin
should be fixed to “L” (0V).
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.
MS1547-E-02
2014/7
- 14 -
[AK09912]
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”
Power-down
MODE[4:0]=“00000”
mode
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”
Single measurement mode
Sensor is measured for one time and data is output.
Transits to Power-down mode automatically after
measurement ended.
Continuous measurement mode 1
Sensor is measured periodically in 10Hz.
Transits to Power-down mode by writing
MODE[4:0] = “00000”.
Continuous measurement mode 2
Sensor is measured periodically in 20Hz.
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”.
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”.
Self-test mode
Sensor is self-tested and the result is output. Transits
to Power-down mode automatically.
Transits automatically
MODE[4:0]=“11111”
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.
MS1547-E-02
2014/7
- 15 -
[AK09912]
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:
Power-down
Single measuremnet
(1)
(2)
(3)
Measurement period
Measurement Data Register
Last Data
Measurement Data (1)
Data(2)
Data(3)
DRDY
Data read
Data(1)
Register Write
MODE[4:0]="00001"
Data(3)
MODE[4:0]="00001" MODE[4:0]="00001"
Figure 6.2 Single measurement mode when data is read out of measurement period
Operation Mode:
Power-down
Single measuremnet
(1)
(2)
(3)
Measurement period
Measurement Data Register
Last Data
Measurement Data (1)
Data(3)
DRDY
Data read
Register Write
Data(1)
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
MS1547-E-02
2014/7
- 16 -
[AK09912]
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
PD
Nth
Measurement
(N+1)th
Measurement
PD
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.
MS1547-E-02
2014/7
- 17 -
[AK09912]
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
PD
Nth
Measurement
(N+1)th
Measurement
PD
Measurement Data Register
(N-1)th
Nth
PD
(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
PD
Nth
Measurement
(N+1)th
Measurement
PD
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
MS1547-E-02
2014/7
- 18 -
[AK09912]
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
PD
Nth
(N+1)th
PD
Measurement
PD
Measurement
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
PD
Nth
Measurement
(N+1)th
PD
(N+2)th
PD
Measurement
PD
Measurement
Measurement Data Register
(N-1)th
Nth
(N+2)th
Data register is protected
because data is being read
Not data ready
because data is not updated
DRDY
(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.
MS1547-E-02
2014/7
- 19 -
[AK09912]
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.
Criteria
HX[15:0]
-200 ≤ HX ≤ +200
HY[15:0]
-200 ≤ HY ≤ +200
HZ[15:0]
-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.
MS1547-E-02
2014/7
- 20 -
[AK09912]
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”).
MS1547-E-02
2014/7
- 21 -
[AK09912]
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
1
2
3
4
5
6
7
8
9
RW
A6
6
A5
A4
A3
A2
A1
A0
D7
10
11
12
13
14
15
16
SK
SI
(INPUT)
SO
D6
D5
D4
D3
D2
D1
D0
Hi-Z
(OUTPUT)
Figure 7.1 4-wite SPI Writing Data
MS1547-E-02
2014/7
- 22 -
[AK09912]
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
1
2
3
4
5
6
7
8
RW
A6
6
A5
A4
A3
A2
A1
A0
9
10
11
12
13
14
15
16
SK
SI
(INPUT)
SO
(OUTPUT)
Hi-Z
Hi-Z
D7
D6
D5
D4
D3
D2
D1
D0
Figure 7.2 4-wire SPI Reading Data
MS1547-E-02
2014/7
- 23 -
[AK09912]
2
7.2. I C 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
START CONDITION
STOP CONDITION
Figure 7.4 Start and Stop Condition
MS1547-E-02
2014/7
- 24 -
[AK09912]
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.
Clock pulse
for acknowledge
SCL FROM
MASTER
1
8
9
DATA
OUTPUT BY
TRANSMITTER
not acknowledge
DATA
OUTPUT BY
RECEIVER
START
CONDITION
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
0
0
1
1
CAD0
0
1
0
1
Slave Address
0CH
0DH
0EH
0FH
MSB
0
LSB
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 slave 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.
MS1547-E-02
2014/7
- 25 -
[AK09912]
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
A7
LSB
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
D7
LSB
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)
S
T
A
R
T
SDA
S
S
T
O
P
R/W="0"
Slave
Address
Register
Address(n)
A
C
K
Data(n)
A
C
K
Data(n+1)
A
C
K
Data(n+x)
A
C
K
A
C
K
P
A
C
K
Figure 7.9 WRITE Instruction
MS1547-E-02
2014/7
- 26 -
[AK09912]
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.
S
T
A
R
T
SDA
S
S
T
O
P
R/W="1"
Slave
Address
Data(n)
A
C
K
Data(n+1)
A
C
K
Data(n+2)
A
C
K
Data(n+x)
A
C
K
P
A
C
K
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.
S
T
A
R
T
SDA
S
S
T
A
R
T
R/W="0"
Slave
Address
Register
Address(n)
A
C
K
S
A
C
K
S
T
O
P
R/W="1"
Slave
Address
Data(n)
A
C
K
Data(n+1)
A
C
K
Data(n+x)
A
C
K
P
A
C
K
Figure 7.11 Multiple Byte READ
MS1547-E-02
2014/7
- 27 -
[AK09912]
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
MS1547-E-02
2014/7
- 28 -
[AK09912]
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
00H
READ/
WRITE
READ
Company ID
Bit
width
8
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
Name
Address
WIA1
WIA2
Description
Remarks
HYL
13H
READ
8
HYH
14H
READ
8
Y-axis data
HZL
15H
READ
8
HZH
16H
READ
8
TMPS
17H
READ
Measurement Temperature Data
8
Temperature data
ST2
18H
READ
Status 2
8
Data status
CNTL1
30H
Control 1
8
Control settings
CNTL2
31H
Control 2
8
Control settings
CNTL3
32H
Control 3
8
Control settings
TS1
33H
Test
8
DO NOT ACCESS
TS2
34H
Test
8
DO NOT ACCESS
TS3
35H
Test
8
DO NOT ACCESS
I2CDIS
36H
I2C disable
8
TS4
37H
Test
8
DO NOT ACCESS
ASAX
60H
READ/
WRITE
READ/
WRITE
READ/
WRITE
READ/
WRITE
READ/
WRITE
READ/
WRITE
READ/
WRITE
READ/
WRITE
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
Z-axis data
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.
MS1547-E-02
2014/7
- 29 -
[AK09912]
8.2. Register Map
Table 8.2 Register Map
Addr.
Register
name
D7
D6
D5
D4
Read-only register
0
0
0
0
RSV15
RSV14
RSV25
RSV24
0
0
HX5
HX4
HX13
HX12
HY5
HY4
HY13
HY12
HZ5
HZ4
HZ13
HZ12
TMPS5 TMPS4
0
0
Read/Write register
NSF0
0
D3
D2
D1
D0
1
0
RSV13
RSV23
0
HX3
HX11
HY3
HY11
HZ3
HZ11
TMPS3
HOFL
0
1
RSV12
RSV22
0
HX2
HX10
HY2
HY10
HZ2
HZ10
TMPS2
0
0
0
RSV11
RSV21
DOR
HX1
HX9
HY1
HY9
HZ1
HZ9
TMPS1
0
0
0
RSV10
RSV20
DRDY
HX0
HX8
HY0
HY8
HZ0
HZ8
TMPS0
0
00H
01H
02H
03H
10H
11H
12H
13H
14H
15H
16H
17H
18H
WIA1
WIA2
RSV1
RSV2
ST1
HXL
HXH
HYL
HYH
HZL
HZH
TMPS
ST2
0
0
RSV17
RSV27
HSM
HX7
HX15
HY7
HY15
HZ7
HZ15
TMPS7
0
1
0
RSV16
RSV26
0
HX6
HX14
HY6
HY14
HZ6
HZ14
TMPS6
0
30H
CNTL1
TEM
NSF1
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
37H
TS4
60H
61H
62H
ASAX
ASAY
ASAZ
I2CDIS7 I2CDIS6 I2CDIS5 I2CDIS4 I2CDIS3 I2CDIS2 I2CDIS1
-
-
-
-
-
-
-
I2CDIS0
-
Read-only register
COEFX7 COEFX6 COEFX5 COEFX4 COEFX3 COEFX2 COEFX1 COEFX0
COEFY7 COEFY6 COEFY5 COEFY4 COEFY3 COEFY2 COEFY1 COEFY0
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.
MS1547-E-02
2014/7
- 30 -
[AK09912]
8.3. Detailed of Description of Register
8.3.1. WIA: Who I Am
Register
name
Addr.
00H
01H
D7
WIA1
WIA2
0
0
D6
D5
D4
Read-only register
0
0
0
0
1
0
D3
D2
D1
D0
1
0
0
1
0
0
0
0
D2
D1
D0
RSV12
RSV22
RSV11
RSV21
RSV10
RSV20
D3
D2
D1
D0
0
0
0
0
DOR
0
DRDY
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
02H
03H
RSV1
RSV2
RSV17
RSV27
RSV16
RSV26
D5
D4
D3
Read-only register
RSV15 RSV14 RSV13
RSV25 RSV24 RSV23
RSV1[7:0]/RSV2[7:0]: Device information of AKM.
8.3.3. ST1: Status 1
Addr.
Register
name
10H
ST1
Reset
D7
D6
HSM
0
0
0
D5
D4
Read-only register
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).
MS1547-E-02
2014/7
- 31 -
[AK09912]
8.3.4. HXL to HZH: Measurement Data
Addr.
Register
name
11H
12H
13H
14H
15H
16H
HXL
HXH
HYL
HYH
HZL
HZH
Reset
D7
D6
HX7
HX15
HY7
HY15
HZ7
HZ15
0
HX6
HX14
HY6
HY14
HZ6
HZ14
0
D5
D4
Read-only register
HX5
HX4
HX13
HX12
HY5
HY4
HY13
HY12
HZ5
HZ4
HZ13
HZ12
0
0
D3
D2
D1
D0
HX3
HX11
HY3
HY11
HZ3
HZ11
0
HX2
HX10
HY2
HY10
HZ2
HZ10
0
HX1
HX9
HY1
HY9
HZ1
HZ9
0
HX0
HX8
HY0
HY8
HZ0
HZ8
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]
Two’s complement
Hex
Decimal
0111 1111 1111 0000
7FF0
32752
|
|
|
0000 0000 0000 0001
0001
1
0000 0000 0000 0000
0000
0
1111 1111 1111 1111
FFFF
-1
|
|
|
1000 0000 0000 1000
8010
-32752
MS1547-E-02
Magnetic flux
density [µT]
4912(max.)
|
0.15
0
-0.15
|
-4912(min.)
2014/7
- 32 -
[AK09912]
8.3.5. TMPS: Temperature Data
Addr.
17H
Register
name
TMPS
Reset
D7
D6
TMPS7
0
TMPS6
0
D5
D4
D3
Read-only register
TMPS5 TMPS4 TMPS3
0
0
0
D2
D1
D0
TMPS2
0
TMPS1
0
TMPS0
0
D2
D1
D0
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
FF
|
81
80
7F
|
00
Temperature [˚C]
-49.4
|
29.4
30.0
30.6
|
110.0
8.3.6. ST2: Status 2
Addr.
Register
name
18H
ST2
Reset
D7
D6
0
0
0
0
D5
D4
D3
Read-only register
0
0
HOFL
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.
MS1547-E-02
2014/7
- 33 -
[AK09912]
8.3.7. CNTL1: Control 1
Addr.
30H
Register
name
CNTL1
Reset
D7
D6
TEM
0
NSF1
0
D5
D4
Read/Write register
NSF0
0
0
0
D3
D2
D1
D0
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.
31H
Register
name
CNTL2
Reset
D7
D6
0
0
0
0
D5
D4
Read/Write register
0
MODE4
0
0
D3
D2
MODE3
0
MODE2
0
D1
D0
MODE1 MODE0
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.
MS1547-E-02
2014/7
- 34 -
[AK09912]
8.3.9. CNTL3: Control 3
Addr.
32H
Register
name
CNTL3
Reset
D7
D6
0
0
0
0
D5
D4
Read/Write register
0
0
0
0
D3
D2
D1
D0
0
0
0
0
0
0
SRST
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
33H
34H
35H
TS1
TS2
TS3
Reset
D7
0
D6
0
D5
D4
Read/Write register
0
0
D3
D2
D1
D0
0
0
0
0
TS1, TS2 and TS3 registers are AKM internal test registers. Do not use these registers.
MS1547-E-02
2014/7
- 35 -
[AK09912]
8.3.11. I2CDIS: I2C Disable
Register
name
Addr.
36H
I2CDIS
Reset
D7
D6
D5
D4
D3
D2
D1
D0
Read/Write register
I2CDIS7 I2CDIS7 I2CDIS7 I2CDIS7 I2CDIS7 I2CDIS7 I2CDIS7 I2CDIS0
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
37H
TS4
Reset
D7
0
D6
1
D5
D4
D3
D2
D1
D0
1
0
0
1
D3
D2
D1
D0
Read/Write register
1
0
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
60H
61H
62H
ASAX
ASAY
ASAZ
D7
D6
D5
D4
Read-only register
COEFX7 COEFX6 COEFX5 COEFX4 COEFX3 COEFX2 COEFX1 COEFX0
COEFY7 COEFY6 COEFY5 COEFY4 COEFY3 COEFY2 COEFY1 COEFY0
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.
  ASA  128  0.5 
Hadj  H  
 1
128


MS1547-E-02
2014/7
- 36 -
[AK09912]
9. Example of Recommended External Connection
9.1. I2C Bus Interface
VID
POWER 1.65V to Vdd
VDD
POWER 1.7V to 3.6V
Slave address select
CAD1
VSS
VSS
VDD
VDD
Host CPU
CAD0
VSS
VDD
VSS
VDD
address
0 0 0 1 1 0 0 R/W
0 0 0 1 1 0 1 R/W
0 0 0 1 1 1 0 R/W
0 0 0 1 1 1 1 R/W
Power for I/F
GPIO
RSTN
CAD1
CAD0
AK09912C
VID
TST2
TRG
SO
TST2
SDA
/SI
SCL
/SK
D
C
TST1
0.1µF
0.1µF
VSS
(Top view)
B
VDD
CSB
DRDY
A
2
I C I/F
4
3
2
1
Interrupt
Pins of dot circle should be kept non-connected.
MS1547-E-02
2014/7
- 37 -
[AK09912]
9.2. 4-wire SPI
VID
POWER 1.65V to Vdd
VDD
POWER 1.7V to 3.6V
Host CPU
Power for I/F
GPIO
RSTN
CAD1
CAD0
AK09912C
VID
TST2
TRG
SO
TST2
SDA
/SI
SCL
/SK
C
TST1
4
3
0.1µF
0.1µF
VSS
(Top view)
SPI I/F
D
B
VDD
CSB
DRDY
2
A
1
Interrupt
Pins of dot circle should be kept non-connected.
MS1547-E-02
2014/7
- 38 -
[AK09912]
10. Package
10.1. Marking


Product name: 09912
Date code:
X1X2X3X4X5
 X1 = ID
 X2 = Year code
 X3X4 = Week code
 X5 = Lot
09912
X1X2X3X4X5
<Top view>
10.2. Pin Assignment
D
C
B
A
4
RSTN
VID
SO
SDA/SI
3
TRG
TST2
SCL/SK
2
CAD1
TST1
CSB
1
CAD0
VSS
VDD
DRDY
<Top view>
MS1547-E-02
2014/7
- 39 -
[AK09912]
10.3. Outline Dimensions
1.590.03
4
3
2
1.2
1
1
2
3
4
D
C
1.2
1.590.03
0.4
B
A
0.4
0.240.03
<Top view>
<Bottom view>
0.40
0.57 max.
0.13
0.05 C
C
<Side view>
10.4. Recommended Foot Print Pattern
0.4
0.4
<Top view>
0.23
a
MS1547-E-02
2014/7
- 40 -
[AK09912]
11. Relationship between the Magnetic Field and Output Code
The measurement data increases as the magnetic flux density increases in the arrow directions.
MS1547-E-02
2014/7
- 41 -
[AK09912]
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.
MS1547-E-02
2014/7
- 42 -