[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.180.03 2 1 1 2 3 B 0.4 0.780.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 -