AKM AK09916C 3-axis electronic compass Datasheet

[AK09916]
AK09916
3-axis Electronic Compass
1. General Description
AK09916 is 3-axis electronic compass IC with high sensitive Hall sensor technology.
Small package of AK09916 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 Smart phone to realize pedestrian navigation
function.
2. Features

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 and Fast modes compliant with Philips I2C specification Ver.2.1
 Operation mode
 Power-down, Single measurement, Continuous measurement and Self-test
 DRDY 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 magnetic sensitivity adjustment circuit

Operating temperatures:

-30˚C to +85˚C
Operating supply voltage:

+1.65V to +1.95V
Current consumption:
 Power-down:
1 µA (typ.)
 Measurement:
 Average current consumption at 100 Hz repetition rate: 1.1mA (typ.)



Package:
 AK09916C
5-pin WL-CSP (BGA):
1.2 mm  0.8 mm  0.5mm
015007392-E-02
2015/12
-1-
[AK09916]
3. Table of Contents
1. General Description .................................................................................................................. 1
2. Features ..................................................................................................................................... 1
3. Table of Contents ...................................................................................................................... 2
4. Block Diagram and Functions ................................................................................................... 3
5. Pin Configurations and Functions ............................................................................................. 4
6. Absolute Maximum Ratings ...................................................................................................... 4
7. Recommended Operating Conditions ....................................................................................... 4
8. Electrical Characteristics ........................................................................................................... 5
8.1. DC Characteristics.............................................................................................................. 5
8.2. AC Characteristics .............................................................................................................. 6
8.3. Analog Circuit Characteristics............................................................................................ 6
8.4. I2C Bus Interface ................................................................................................................ 7
9. Function Descriptions ............................................................................................................... 8
9.1. Power States ....................................................................................................................... 8
9.2. Reset Functions .................................................................................................................. 8
9.3. Operation Modes ................................................................................................................ 9
9.4. Description of Each Operation Mode ............................................................................... 10
9.4.1. Power-down Mode .................................................................................................... 10
9.4.2. Single Measurement Mode ........................................................................................ 10
9.4.3. Continuous Measurement Mode 1, 2, 3 and 4 ........................................................... 11
9.4.4. Self-test Mode............................................................................................................ 14
10. Serial Interface ...................................................................................................................... 15
10.1. I2C Bus Interface ............................................................................................................ 15
10.1.1. Data Transfer ........................................................................................................... 15
10.1.2. WRITE Instruction .................................................................................................. 17
10.1.3. READ Instruction .................................................................................................... 18
11. Registers ................................................................................................................................ 19
11.1. Description of Registers ................................................................................................. 19
11.2. Register Map .................................................................................................................. 20
11.3. Detailed Description of Register .................................................................................... 21
11.3.1. WIA: Who I Am ...................................................................................................... 21
11.3.2. RSV: Reserved register ............................................................................................ 21
11.3.3. ST1: Status 1 ............................................................................................................ 21
11.3.4. HXL to HZH: Measurement data ............................................................................ 22
11.3.5. TMPS: Dummy register ........................................................................................... 22
11.3.6. ST2: Status 2 ............................................................................................................ 23
11.3.7. CNTL1: Dummy register ......................................................................................... 23
11.3.8. CNTL2: Control 2.................................................................................................... 23
11.3.9. CNTL3: Control 3.................................................................................................... 24
11.3.10. TS1, TS2: Test register........................................................................................... 24
12. Example of Recommended External Connection ................................................................. 25
13. Package ................................................................................................................................. 26
13.1. Marking .......................................................................................................................... 26
13.2. Pin Assignment ............................................................................................................... 26
13.3. Outline Dimensions ........................................................................................................ 27
13.4. Recommended Foot Print Pattern................................................................................... 27
14. Relationship between the Magnetic Field and Output Code ................................................. 28
IMPORTANT NOTICE .............................................................................................................. 29
015007392-E-02
2015/12
-2-
[AK09916]
4. Block Diagram and Functions
3-axis
Hall
sensor
Chopper
SW
PreAMP
Integrator&ADC
MUX
OSC
HE-Drive
SCL
Timing
Control
VREF
Interface Logic
& Register
SDA
Magnetic source
POR
TST
Block
3-axis Hall sensor
MUX
Chopper SW
HE-Drive
Pre-AMP
Integrator & ADC
OSC
POR
VREF
Interface Logic
&
Register
Timing Control
Magnetic Source
VSS
VDD
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.
Integrates and amplifies Pre-AMP output and performs analog-to-digital
conversion.
Generates an operating clock for sensor measurement.
Power On Reset circuit. Generates reset signal on rising edge of VDD.
Generates reference voltage and current.
Exchanges data with an external CPU.
I2C bus interface using two pins, namely, SCL and SDA. Standard and Fast modes
are supported.
Generates a timing signal required for internal operation from a clock generated by
the OSC.
Generates magnetic field for Self-test of magnetic sensor.
015007392-E-02
2015/12
-3-
[AK09916]
5. Pin Configurations and Functions
Pin No.
A1
Pin name
VSS
I/O
-
Type
-
A3
SCL
I
CMOS
B1
VDD
-
Power
B2
TST
I/O
CMOS
B3
SDA
I/O
CMOS
Function
Ground pin.
Control data clock input pin.
Input: Schmidt trigger
Positive power supply pin.
Test pin.
Connect to VSS or VDD or keep this pin non-connected.
Control data input/output pin.
Input: Schmidt trigger, Output: Open-drain
6. Absolute Maximum Ratings
Vss = 0V
Parameter
Power supply voltage
Input voltage
(except for power supply pin)
Input current
(except for power supply pin)
Storage temperature
Symbol
Vdd
VIN
Min.
-0.3
-0.3
Max.
+2.5
+2.5
Unit
V
V
IIN
-
±10
mA
Tst
-40
+125
˚C
If the device is used in conditions exceeding these values, the device may be destroyed. Normal operations are not
guaranteed in such exceeding conditions.
7. Recommended Operating Conditions
Vss = 0V
Parameter
Operating temperature
Power supply voltage
Symbol
Ta
Vdd
Min.
-30
1.65
015007392-E-02
Typ.
1.8
Max.
+85
1.95
Unit
˚C
V
2015/12
-4-
[AK09916]
8. Electrical Characteristics
The following conditions apply unless otherwise noted:
Vdd = 1.65V to 1.95V, Temperature range = -30˚C to +85˚C.
8.1. DC Characteristics
Parameter
High level input voltage
Symbol
VIH
Low level input voltage
VIL
Input current
IIN
Hysteresis input voltage
(Note 1)
VHS
SCL
SDA
Low level output voltage
(Note 2)
VOL
SDA
IOL ≤ +3mA
Current consumption
(Note 3)
IDD1
VDD
Power-down mode
Vdd = 1.95V
When magnetic sensor
is driven
Self-test mode
IDD2
IDD3
(Note 1)
(Note 2)
(Note 3)
Pin
SCL
SDA
SCL
SDA
SCL
SDA
Condition
VIN = Vss or Vdd
Min.
70%Vdd
Typ.
Max.
Unit
V
-0.3
30%Vdd
V
-10
+10
µA
10%Vdd
V
20%Vdd
V
1
3
µA
1.5
3
mA
2.5
4
mA
Schmitt trigger input (reference value for design)
Output is Open-drain. Connect a pull-up resistor externally. Maximum capacitive load: 400pF
(Capacitive load of each bus line for I2C bus interface).
Without any resistance load. It does not include the current consumed by external loads
(pull-down resister, etc.). SDA = SCL = Vdd or 0V.
015007392-E-02
2015/12
-5-
[AK09916]
8.2. AC Characteristics
Parameter
Power supply rise time
(Note 4)
POR completion time
(Note 4)
Power supply turn off
voltage (Note 4)
Power supply turn on
interval (Note 4)
Symbol
PSUP
Wait time before mode
setting
Twait
(Note 4)
(Note 5)
Pin
VDD
PORT
SDV
VDD
PSINT
VDD
Condition
Period of time that VDD changes
from 0.2V to Vdd.
Period of time after PSUP to
Power-down mode (Note 5)
Turn off voltage to enable POR to
restart (Note 5)
Period of time that voltage lower
than SDV needed to be kept to
enable POR to restart (Note 5)
Min.
Typ.
Max.
50
Unit
ms
100
µs
0.2
V
100
µs
100
µs
Reference value for design.
When POR circuit detects the rise of VDD voltage, it resets internal circuits and initializes the
registers. After reset, AK09916 transits to Power-down mode.
Power-down mode
Power-down mode
VDD
PORT
SDV
0V
PSUP
PSINT
8.3. Analog Circuit Characteristics
Parameter
Measurement data output bit
Time for measurement
Magnetic sensor sensitivity
Magnetic sensor measurement range
(Note 6)
Magnetic sensor initial offset
(Note 7)
(Note 6)
(Note 7)
Symbol
DBIT
TSM
BSE
BRG
Condition
Min.
-
Single measurement mode
Ta = 25 ˚C
Ta = 25 ˚C
0.1425
±4670
Ta = 25 ˚C
-2000
Typ.
16
7.2
0.15
±4912
Max.
Unit
bit
8.2
ms
0.1575 µT/LSB
±5160
µT
+2000
LSB
Reference value for design
Value of measurement data register on shipment test without applying magnetic field on purpose.
015007392-E-02
2015/12
-6-
[AK09916]
8.4. I2C Bus Interface
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
Unit
kHz
s
s
s
s
s
s
s
ns
s
s
4.0
4.7
1.0
0.3
4.0
4.7
0
250
4.0
4.7
Fast mode
100kHz ≤ 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
Unit
kHz
s
s
s
s
s
s
s
ns
s
s
ns
0.6
1.3
0.3
0.3
0.6
0.6
0
100
0.6
1.3
50
[I2C bus interface timing]
1/fSCL
VIH
SCL
VIL
VIH
SDA
VIL
tLOW
tBUF
tR
tHIGH
tF
tSP
VIH
SCL
VIL
tHD:STA
Stop
Start
tHD:DAT
tSU:DAT
tSU:STA
tSU:STO
Start
Stop
015007392-E-02
2015/12
-7-
[AK09916]
9. Function Descriptions
9.1. Power States
When VDD is turned on from Vdd = OFF (0V), all registers in AK09916 are initialized by POR circuit and
AK09916 transits to Power-down mode.
Table 9.1. Power state
State
1
VDD
OFF (0V)
2
1.65V to 1.95V
Power state
OFF
It doesn’t affect external interface.
ON
9.2. Reset Functions
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 completed, all registers are initialized and AK09916
transits to Power-down mode.
When Vdd = 1.65 to 1.95V, POR circuit is active.
AK09916 has two types of reset;
(1) Power on Reset (POR)
When Vdd rise is detected, POR circuit operates, and AK09916 is reset.
(2) Soft reset
AK09916 is reset by setting SRST bit. When AK09916 is reset, all registers are initialized and
AK09916 transits to Power-down mode.
015007392-E-02
2015/12
-8-
[AK09916]
9.3. Operation Modes
AK09916 has following seven 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) Self-test 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] = “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”.
Self-test mode
Sensor is self-tested and the result is output.
Transits to Power-down mode automatically.
Transits automatically
Figure 9.1. Operation mode
When power is turned ON, AK09916 is in Power-down mode. When a specified value is set to MODE[4:0]
bits, AK09916 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 (Twait) is needed before setting another mode
015007392-E-02
2015/12
-9-
[AK09916]
9.4. Description of Each Operation Mode
9.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.
9.4.2. Single Measurement Mode
When Single measurement mode (MODE[4:0] bits = “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 AK09916 transits to Power-down mode
automatically. On transition to Power-down mode, MODE[4:0] bits turns to “00000”. 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. (Figure 9.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 9.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 9.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 9.3. Single measurement mode when data read started during measurement period
015007392-E-02
2015/12
- 10 -
[AK09916]
9.4.3. Continuous Measurement Mode 1, 2, 3 and 4
When Continuous measurement mode 1 (MODE[4:0] bits = “00010”), 2 (MODE[4:0] bits = “00100”), 3
(MODE[4:0] bits = “00110”) or 4 (MODE[4:0] bits = “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, AK09916 wakes up automatically from PD and starts
measurement again.
Continuous measurement mode ends when Power-down mode (MODE[4:0] bits = “00000”) is set. It repeats
measurement until Power-down mode is set.
When Continuous measurement mode 1 (MODE[4:0] bits = “00010”), 2 (MODE[4:0] bits = “00100”), 3
(MODE[4:0] bits = “00110”) or 4 (MODE[4:0] bits = “01000”) is set again while AK09916 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 9.4. Continuous measurement mode
9.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”. When measurement is performed correctly, AK09916 becomes Data Ready on transition to
PD after measurement.
9.4.3.2. Normal Read Sequence
(1) Check Data Ready or not by polling DRDY bit of ST1 register
 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”.
(2) Read measurement data
When any of measurement data register (HXL to TMPS) or ST2 register is read, AK09916 judges
that data reading is started. When data reading is started, DRDY bit and DOR bit turns to “0”.
(3) 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, AK09916 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 9.5. Normal read sequence
015007392-E-02
2015/12
- 11 -
[AK09916]
9.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 9.6. Data read start during measurement
9.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
Measurement
PD
(N+1)th
Measurement
Measurement Data Register
(N-1)th
Nth
PD
(N+1)th
DRDY
DOR
Data read
ST1 Data(N+1)
ST2
Figure 9.7. Data Skip: When data is not read
015007392-E-02
2015/12
- 12 -
[AK09916]
(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 9.8. Data Skip: When data read has not been finished before the next measurement end
9.4.3.5. End Operation
Set Power-down mode (MODE[4:0] bits = “00000”) to end Continuous measurement mode.
9.4.3.6. Magnetic Sensor Overflow
AK09916 has the limitation for measurement range that the sum of absolute values of each axis should be
smaller than 4912 μT. (Note 8)
|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 measurement data register (HXL to HZH) is updated, HOFL bit is updated.
(Note 8) BRG: 0.15μT/LSB
015007392-E-02
2015/12
- 13 -
[AK09916]
9.4.4. Self-test Mode
Self-test mode is used to check if the magnetic sensor is working normally.
When Self-test mode (MODE[4:0] bits = “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 AK09916 transits to Power-down mode automatically.
Data read sequence and functions of read-only registers in Self-test mode is the same as Single measurement
mode.
9.4.4.1. Self-test Sequence
(1) Set Power-down mode. (MODE[4:0] bits = “00000”)
(2) Set Self-test mode. (MODE[4:0] bits = “10000”)
(3) Check Data Ready or not by polling DRDY bit of ST1 register.
When Data Ready, proceed to the next step.
(4) Read measurement data. (HXL to HZH)
9.4.4.2. Self-test Judgment
When measurement data read by the above sequence is in the range of following table, AK09916 is working
normally.
Criteria
HX[15:0] bits
-200 ≤ HX ≤ 200
HY[15:0] bits
-200 ≤ HY ≤ 200
015007392-E-02
HZ[15:0] bits
-1000 ≤ HZ ≤ -200
2015/12
- 14 -
[AK09916]
10. Serial Interface
10.1. I2C Bus Interface
The I2C bus interface of AK09916 supports the Standard mode (100 kHz max.) and the Fast mode (400 kHz
max.).
10.1.1. Data Transfer
To access AK09916 on the bus, generate a start condition first.
Next, transmit a one-byte slave address including a device address. At this time, AK09916 compares the
slave address with its own address. If these addresses match, AK09916 generates an acknowledgement, and
then executes READ or WRITE instruction. At the end of instruction execution, generate a stop condition.
10.1.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 10.1. Data Change
10.1.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 10.2. Start and Stop Condition
015007392-E-02
2015/12
- 15 -
[AK09916]
10.1.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.
AK09916 generates an acknowledge after reception of a start condition and slave address.
When a WRITE instruction is executed, AK09916 generates an acknowledge after every byte is received.
When a READ instruction is executed, AK09916 generates an acknowledge then transfers the data stored at
the specified address. Next, AK09916 releases the SDA line then monitors the SDA line. If a master IC
generates an acknowledge instead of a stop condition, AK09916 transmits the 8bit data stored at the next
address. If no acknowledge is generated, AK09916 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 10.3. Generation of Acknowledge
10.1.1.4. Slave Address
The slave address of AK09916 is 0Ch.
MSB
0
LSB
0
0
1
1
0
0
R/W
Figure 10.4. 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.
015007392-E-02
2015/12
- 16 -
[AK09916]
10.1.2. WRITE Instruction
When the R/W bit is set to “0”, AK09916 performs write operation.
In write operation, AK09916 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 10.5. Register Address
After receiving the second byte (register address), AK09916 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. AK09916 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 10.6. Control Data
AK09916 can write multiple bytes of data at a time.
After reception of the third byte (control data), AK09916 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 to 32h. When the address is 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 30h to 32h, the address goes back to 30h after 32h.
Actual data is written only to Read/Write registers (Table 11.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 10.7. WRITE Instruction
015007392-E-02
2015/12
- 17 -
[AK09916]
10.1.3. READ Instruction
When the R/W bit is set to “1”, AK09916 performs read operation.
If a master IC generates an acknowledge instead of a stop condition after AK09916 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. When the address is 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 30h to 32h, the address goes back to 30h after 32h. AK09916 supports current address read and random
address read.
10.1.3.1. Current Address READ
AK09916 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 current address read operation, AK09916 generates an acknowledge after receiving a slave address for the
READ instruction (R/W bit = “1”). Next, AK09916 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 AK09916 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+1)
A
C
K
Data(n+2)
A
C
K
Data(n+3)
A
C
K
Data(n+x)
A
C
K
P
A
C
K
Figure 10.8. Current Address READ
10.1.3.2. Random Address READ
By random address read operation, data at an arbitrary address can be read.
The random address 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 AK09916 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. AK09916 generates an
acknowledge in response to this slave address transmission. Next, AK09916 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 10.9. Random Address READ
015007392-E-02
2015/12
- 18 -
[AK09916]
11. Registers
11.1. Description of Registers
AK09916 has registers of 18 addresses as indicated in Table 11.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 11.1. Register Table
00h
READ/
WRITE
READ
Company ID
Bit
width
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
HYH
14h
READ
8
HZL
15h
READ
8
Name
Address
WIA1
Description
Remarks
Y-axis data
Z-axis data
HZH
16h
READ
TMPS
17h
READ
Dummy
8
8
Dummy
ST2
18h
READ
Status 2
8
Data status
CNTL1
30h
Dummy
8
Dummy
CNTL2
31h
Control 2
8
Control settings
CNTL3
32h
Control 3
8
Control settings
TS1
33h
Test
8
DO NOT ACCESS
TS2
34h
READ/
WRITE
READ/
WRITE
READ/
WRITE
READ/
WRITE
READ/
WRITE
Test
8
DO NOT ACCESS
Addresses 00h to 18h, 30h to 32h are compliant with automatic increment function of serial interface
respectively. 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.
015007392-E-02
2015/12
- 19 -
[AK09916]
11.2. Register Map
Table 11.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
0
0
RSV29
RSV28
Read/Write register
0
0
D3
D2
D1
D0
1
1
RSV13
RSV23
0
HX3
HX11
HY3
HY11
HZ3
HZ11
0
HOFL
0
0
RSV12
RSV22
0
HX2
HX10
HY2
HY10
HZ2
HZ10
0
0
0
0
RSV11
RSV21
DOR
HX1
HX9
HY1
HY9
HZ1
HZ9
0
0
0
1
RSV10
RSV20
DRDY
HX0
HX8
HY0
HY8
HZ0
HZ8
0
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
0
HX7
HX15
HY7
HY15
HZ7
HZ15
0
0
1
0
RSV16
RSV26
0
HX6
HX14
HY6
HY14
HZ6
HZ14
0
RSV30
30h
CNTL1
0
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
-
-
-
-
-
-
-
-
When VDD is turned ON, POR function works and all registers of AK09916 are initialized.
TS1 and TS2 are test registers for shipment test. Do not access these registers.
015007392-E-02
2015/12
- 20 -
[AK09916]
11.3. Detailed Description of Register
11.3.1. WIA: Who I Am
Addr.
Register
name
D7
D6
00h
01h
WIA1
WIA2
0
0
1
0
D5
D4
Read-only register
0
0
0
0
D3
D2
D1
D0
1
1
0
0
0
0
0
1
WIA1[7:0] bits: Company ID of AKM. It is described in one byte and fixed value.
48h: fixed
WIA2[7:0] bits: Device ID of AK09916. It is described in one byte and fixed value.
09h: fixed
11.3.2. RSV: Reserved
Addr.
Register
name
02h
03h
RSV1
RSV2
D7
RSV17
RSV27
D6
D5
D4
Read-only register
RSV16 RSV15 RSV14
RSV26 RSV25 RSV24
D3
D2
D1
D0
RSV13
RSV23
RSV12
RSV22
RSV11
RSV21
RSV10
RSV20
D3
D2
D1
D0
0
0
0
0
DOR
0
DRDY
0
RSV1[7:0] bits/ RSV2[7:0] bits: Reserved register for AKM.
11.3.3. ST1: Status 1
Addr.
10h
Register
name
ST1
Reset
D7
D6
0
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 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. It returns to “0”
when any one of ST2 register or measurement data register (HXL to TMPS) is read.
015007392-E-02
2015/12
- 21 -
[AK09916]
11.3.4. HXL to HZH: Measurement Magnetic data
Addr.
11h
12h
13h
14h
15h
16h
Register
name
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] bits: X-axis measurement data lower 8-bit
HXH[15:8] bits: X-axis measurement data higher 8-bit
HYL[7:0] bits: Y-axis measurement data lower 8-bit
HYH[15:8] bits: Y-axis measurement data higher 8-bit
HZL[7:0] bits: Z-axis measurement data lower 8-bit
HZH[15:8] bits: 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 11.3. Measurement magnetic data format
Measurement data (each axis) [15:0] bits
Magnetic flux
density [µT]
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 0001 0000
8010
-32752
-4912(min.)
11.3.5. TMPS: Dummy
Addr.
17h
Register
name
TMPS
Reset
D7
D6
0
0
0
0
D5
D4
Read-only register
0
0
0
0
D3
D2
D1
D0
0
0
0
0
0
0
0
0
TMPS[7:0] bits: Dummy register.
015007392-E-02
2015/12
- 22 -
[AK09916]
11.3.6. ST2: Status 2
Addr.
18h
Register
name
D7
D6
0
0
RSV30
0
ST2
Reset
D5
D4
Read-only register
RSV29
RSV28
0
0
D3
D2
D1
D0
HOFL
0
0
0
0
0
0
0
ST2[6:4] bits: Reserved register for AKM.
HOFL: Magnetic sensor overflow
“0”: Normal
“1”: Magnetic sensor overflow occurred
In Single measurement mode, Continuous measurement mode 1, 2, 3, 4, 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 measurement data register is updated, HOFL bit is updated. Refer
to 9.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, 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.
11.3.7. CNTL1: Dummy
Addr.
30h
Register
name
CNTL1
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
0
0
D3
D2
D1
D0
CNTL1[7:0] bits: Dummy register.
11.3.8. CNTL2: Control 2
Addr.
31h
Register
name
CNTL2
Reset
D7
0
0
D6
0
0
D5
D4
Read/Write register
0
MODE4 MODE3
0
0
0
MODE2
0
MODE1 MODE0
0
0
MODE[4:0] bits: 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
“10000”: Self-test mode
Other code settings are prohibited
.
When each mode is set, AK09916 transits to the set mode. Refer to 9.3 for detailed information.
015007392-E-02
2015/12
- 23 -
[AK09916]
11.3.9. CNTL3: Control 3
Addr.
32h
Register
name
D7
D6
0
0
0
0
CNTL3
Reset
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 are initialized. After reset, SRST bit turns to “0” automatically.
11.3.10. TS1, TS2: Test
Addr.
33h
34h
Register
name
TS1
TS2
Reset
D7
0
D6
0
D5
D4
Read/Write register
0
0
D3
D2
D1
D0
0
0
0
0
TS1 and TS2 registers are AKM internal test register. Do not access these registers.
015007392-E-02
2015/12
- 24 -
[AK09916]
12. Example of Recommended External Connection
VDD
POWER 1.65V to 1.95V
Host CPU
Power for I/F
SDA
I2C I/F
TST
VDD
0.1µF
AK09916C
SCL
B
VSS
A
(Top view)
3
2
1
VSS
015007392-E-02
2015/12
- 25 -
[AK09916]
13. Package
13.1. Marking
Product name:
16
Date code:
X1X2X3X4X5
 X1 = ID
 X2 = Year code
 X3 = Month code
 X4X5 = Lot
X2X3 X4X5
16 X1
<Top view>
13.2. Pin Assignment
B
A
3
SDA
SCL
2
TST
1
VDD
VSS
<Top view>
015007392-E-02
2015/12
- 26 -
[AK09916]
13.3. Outline Dimensions
[mm]
1.180.03
2
1
1
2
3
B
0.4
0.780.03
3
0.8
0.4
A
+0.03
0.22-0.01
0.40
0.4
0.583 max.
0.147
0.03 C
C
13.4. Recommended Foot Print Pattern
[mm]
3
2
1
B
0.4
A
0.4
0.21
<Top view>
015007392-E-02
2015/12
- 27 -
[AK09916]
14. Relationship between the Magnetic Field and Output Code
The measurement data increases as the magnetic flux density increases in the arrow directions.
Z
Y
X
015007392-E-02
2015/12
- 28 -
[AK09916]
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.
015007392-E-02
2015/12
- 29 -
Similar pages