[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: -30C to +85C 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 IntegratorADC 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 Vid2V Vid<2V IOH-100A IOL+100A Unit V V 100 100 5%Vid 10%Vid 80%Vid A A V 20%Vid V V IOL+3mA Vid2V 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 Vid2.5V 2.5V>Vid1.65V SK low time Twl Vid2.5V 2.5V>Vid1.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 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 fSCL100kHz 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 100HzfSCL400kHz 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) Cb100pF (Cb: load capacitance) fSCLH2.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 Cb400pF fSCLH1.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 VidVdd. 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 100s (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 WIA 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 [] 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.4C (max code) to +110.0C (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.1F 0.1F 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.1F 0.1F 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 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 MS1547-E-02 2014/7 - 39 - [AK09912] 10.3. Outline Dimensions 1.590.03 4 3 2 1.2 1 1 2 3 4 D C 1.2 1.590.03 0.4 B A 0.4 0.240.03 0.40 0.57 max. 0.13 0.05 C C 10.4. Recommended Foot Print Pattern 0.4 0.4 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 -