Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Product Description The KMX62G is a high-performance, low-power, magnetometeraccelerometer device enhanced with sensor fusion software and autocalibration algorithms to deliver the industry’s first highly accurate gyro emulation. Optimized for mobile applications, the KMX62G requires significantly less current than any consumer gyro available today. The KMX62G sensor consists of the KMX62-1033 tri-axial magnetometer and tri-axial accelerometer coupled with proprietary software enabling triaxial gyroscopic outputs. The KMX62G is not intended to replace a gyroscope at the same performance. Instead, the KMX62G provides angular velocity outputs to applications running on mobile devices that do not have a physical gyroscope. KMX62 is a 6 Degrees-of-Freedom inertial sensor system that features 16-bit digital outputs accessed through I2C communication. The KMX62 sensor consists of a tri-axial magnetometer plus a tri-axial accelerometer coupled with an ASIC. It is packaged in a 3 x 3 x 0.9mm Land Grid Array (LGA) package. The ASIC is realized in standard 0.18um CMOS technology and features flexible user programmable ±2g/±4g/±8g/±16g full scale range for the accelerometer. Accelerometer and Magnetometer data can be accumulated in an internal 384 byte FIFO buffer and transmitted to the application processor. Acceleration sensing is based on the principle of a differential capacitance arising from accelerationinduced motion of the sense element, which utilizes common mode cancellation to decrease errors from process variation, temperature, and environmental stress. Capacitance changes are amplified and converted into digital signals which are processed by a dedicated digital signal processing unit. The digital signal processor applies filtering, bias and sensitivity adjustment, as well as temperature compensation. Magnetic sensing is based on the principle of magnetic impedance. The magnetic sensor detects very small magnetic fields by passing an electric pulse through a special electron spin aligned amorphous wire. Due to the high Curie temperature of the wire, the sensor’s thermal performance shows excellent stability. Noise performance is excellent with bias stability over temperature. Bias errors resulting from assembly can be trimmed digitally by the user. These sensors can accept supply voltages between 1.7V and 3.6V, and digital communication voltages between 1.2 and 3.6V. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 1 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Table of Contents PRODUCT DESCRIPTION ....................................................................................................................................................................1 TABLE OF CONTENTS .........................................................................................................................................................................2 FUNCTIONAL DIAGRAM ....................................................................................................................................................................4 PRODUCT SPECIFICATIONS................................................................................................................................................................5 MAGNETOMETER SPECIFICATIONS ................................................................................................................................................................. 5 ACCELEROMETER SPECIFICATIONS .................................................................................................................................................................. 6 KMX62 NOISE DIAGRAMS ........................................................................................................................................................................... 7 TEMPERATURE SENSOR ................................................................................................................................................................................ 8 ELECTRICAL SPECIFICATIONS.......................................................................................................................................................................... 8 KMX62 CURRENT CONSUMPTION DIAGRAMS ................................................................................................................................................. 9 KMX62 START UP TIME DIAGRAMS ............................................................................................................................................................ 10 POWER-ON PROCEDURE ............................................................................................................................................................................ 11 2 KMX62 I C TIMING DIAGRAM ................................................................................................................................................................... 12 EVIRONMENTAL SPECIFICATIONS.................................................................................................................................................................. 13 APPLICATION SCHEMATIC ........................................................................................................................................................................... 14 PACKAGE DIMENSIONS AND ORIENTATION: ................................................................................................................................................... 15 Dimensions ....................................................................................................................................................................................... 15 Orientation ....................................................................................................................................................................................... 16 KMX62 DIGITAL INTERFACE ............................................................................................................................................................ 17 2 I C SERIAL INTERFACE................................................................................................................................................................................ 17 2 I C OPERATION ........................................................................................................................................................................................ 18 WRITING TO A KMX62 8-BIT REGISTER ........................................................................................................................................................ 19 READING FROM A KMX62 8-BIT REGISTER.................................................................................................................................................... 19 DATA TRANSFER SEQUENCES ...................................................................................................................................................................... 20 HS-MODE ............................................................................................................................................................................................... 21 POWER MODES ............................................................................................................................................................................... 22 OFF MODE .............................................................................................................................................................................................. 22 INITIAL STARTUP ....................................................................................................................................................................................... 22 STAND-BY MODE ...................................................................................................................................................................................... 23 SLEEP MODE ............................................................................................................................................................................................ 23 LOW POWER (<RES> = 00 OR 01) MODE ..................................................................................................................................................... 23 HIGH RESOLUTION (<RES> = 10 OR 11) MODE ............................................................................................................................................. 23 KMX62 EMBEDDED REGISTERS ....................................................................................................................................................... 24 REGISTER DESCRIPTIONS................................................................................................................................................................. 26 WHO_AM_I .......................................................................................................................................................................................... 27 INTERRUPT SOURCE REGISTER 1 ................................................................................................................................................................... 27 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 2 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 INTERRUPT SOURCE REGISTER 2 ................................................................................................................................................................... 28 INTERRUPT SOURCE REGISTER 3 ................................................................................................................................................................... 28 INTERRUPT LATCH RELEASE ......................................................................................................................................................................... 28 ACCELEROMETER OUTPUT .......................................................................................................................................................................... 29 MAGNETOMETER OUTPUT .......................................................................................................................................................................... 29 TEMPERATURE OUTPUT ............................................................................................................................................................................. 30 INTERRUPT CONTROL 1 .............................................................................................................................................................................. 31 INTERRUPT CONTROL 2 .............................................................................................................................................................................. 32 INTERRUPT CONTROL 3 .............................................................................................................................................................................. 32 INTERRUPT CONTROL 4 .............................................................................................................................................................................. 33 INTERRUPT CONTROL 5 .............................................................................................................................................................................. 34 ACCELEROMETER MOTION CONTROL 1 ......................................................................................................................................................... 34 ACCELEROMETER MOTION CONTROL 2 ......................................................................................................................................................... 34 ACCELEROMETER MOTION CONTROL 3 ......................................................................................................................................................... 35 MAGNETOMETER MOTION CONTROL 1 ........................................................................................................................................................ 35 MAGNETOMETER MOTION CONTROL 2 ........................................................................................................................................................ 35 MAGNETOMETER MOTION CONTROL 3 ........................................................................................................................................................ 36 FREE FALL CONTROL 1 ............................................................................................................................................................................... 36 FREE FALL CONTROL 2 ............................................................................................................................................................................... 36 FREE FALL CONTROL 3 ............................................................................................................................................................................... 37 OUTPUT DATA CONTROL REGISTER ............................................................................................................................................................... 37 CONTROL REGISTER 1 ................................................................................................................................................................................ 39 CONTROL REGISTER 2 ................................................................................................................................................................................ 40 COMMAND TEST RESPONSE ........................................................................................................................................................................ 41 BUF_CTRL1,2,3..................................................................................................................................................................................... 41 BUF_CLEAR .......................................................................................................................................................................................... 42 BUFFER STATUS REGISTER 1,2 ..................................................................................................................................................................... 42 BUF_READ ............................................................................................................................................................................................ 43 Sample Buffer Feature Description .................................................................................................................................................. 43 FIFO Mode ........................................................................................................................................................................................ 43 Stream Mode.................................................................................................................................................................................... 43 Trigger Mode .................................................................................................................................................................................... 44 FILO Mode ........................................................................................................................................................................................ 44 Buffer Operation .............................................................................................................................................................................. 44 REVISION HISTORY .......................................................................................................................................................................... 51 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 3 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Functional Diagram X Accel Y Accel Amplifier ADC Z Accel DSP X Mag Y Mag Amplifier ADC Z Mag FIFO buffer Temp Sensor I 2C Interface Power Vdd GND IO Vdd Cap 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] SDA SCL ADDR GPIO1 GPIO2 © 2015 Kionix – All Rights Reserved Page 4 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Product Specifications Note: Specifications are for operation at Vdd = 2.5V and T = 25ºC (RES=1) unless stated otherwise Magnetometer Specifications Table 1. Magnetometer Parameters Operating Temperature Range Full Scale Range Digital Bit Depth Offset at Zero Magnetic Field Offset Temperature Coefficient Magnetic Sensitivity Sensitivity Accuracy Sensitivity Temperature Coefficient. Positive Self Test Output change on Activation Negative Self Test Output change on Activation Integral Non-Linearity 1 Noise (at 50Hz ODR) Cross Axis Sensitivity Maximum Exposed Field Units Min Typical Max ºC ± T bits -40 1200 16 0 0.3 0.0366 20 0.05 800 -800 0.5 0.3 85 ± T ± T/ºC ± T/LSB ±% ± %/ºC T T % of FS T (RMS) % of FS 2 2.0 (XY) 0.5 (XZ) 0.3 (YX) 0.2 (YZ) 0.9 (ZX) 0.2 (ZY) T 500,000 Notes: 1. See diagrams below for noise performance over ODR for all three axes. 2. No permanent effect on Zero Magnetic Field Offset. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 5 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Accelerometer Specifications Table 2. Accelerometer Parameters Operating Temperature Range Units Min Typical Max ºC -40 - 85 GSEL1=0, GSEL0=0 GSEL1=0, GSEL0=1 Full Scale Range GSEL1=1, GSEL0=0 ±2 ±4 g ±8 GSEL1=1, GSEL0=1 ± 16 Digital Bit Depth 16 Zero-g Offset Zero-g Offset Temperature Coefficient mg ±25 ± mg/ºC 0.25 GSEL1=0, GSEL0=0 (± 2g) GSEL1=0, GSEL0=1 (± 4g) Sensitivity GSEL1=1, GSEL0=0 (± 8g) 0.06 0.12 mg/LSB 0.24 GSEL1=1, GSEL0=1 (± 16g) Sensitivity Accuracy ± %/ºC Positive Self Test Output change on Activation Sensor Mechanical Resonance (-3dB) Integral Non-Linearity Cross Axis Sensitivity 3 Noise (at 50Hz) 0.49 5 ±% Sensitivity Temperature Coefficient 2 1 ±90 g Hz % of FS ±% mg (RMS) 0.01 0.25 (XY) 0.20 (Z) 0.5 0.75 (XYZ) 3500 (xy) 1800 (z) 1 -2.0 (XY) 0.1 (XZ) 2.7 (YX) -0.7 (YZ) -0.8 (ZX) 1.4 (ZY) 0.75 Notes: 1. Resonance as defined by the dampened mechanical sensor. 2. As measured in a test socket. The cross axis sensitivity that is measured is the by-product of positional inaccuracies at all stages of test and assembly. 3. See diagrams below for noise performance over ODR for all three axes. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 6 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 KMX62 Noise Diagrams Typical noise over selected ODR settings (0.781,1.563,3.125,6.25,12.5,25,50,100,200,400,800,1600Hz) Res Accel Mag 00 01 10, 11 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 7 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Temperature Sensor (specifications are for operation at Vdd = 2.5V and T = 25ºC unless stated otherwise) Parameters Units Min Typical Max Operating Temperature Range Output Accuracy Sensitivity (16-bit digital) Sensitivity (8-bit digital, TEMP<15:8>) ºC ± ºC counts/ ºC counts/ ºC -40 5 0.0039 1 85 Electrical Specifications Table 3. Electrical Parameters Units Min Typical Max Supply Voltage (Vdd) Operating V 1.7 2.5 3.6 I/O Pads Supply Voltage (Vio) Operating (mag + accel) 1 Current Consumption Magnetometer only V 1.2 (High Resolution Mode) Accelerometer only (<RES> = 10 or 11) 3.6 395 295 150 µA Output Low Voltage Standby V - 1 - 5 0.2 * Vio Output Low Voltage (Vio > 2V) Output High Voltage V V 0.9 * Vio - 0.4 - Input Low Voltage Input High Voltage V V 0.7 * Vio - 0.3 * Vio - MHz Hz Hz Hz % ms 0.1 0.781 0.4 100 800 ODR/2 3.4 25.6kHz 2 2 3,4 I C Communication Rate Output Data Rate RES 00,01 5 Filter -3dB Cutoff RES 10,11 Internal Oscillator Tolerance 6 Start Up Time Notes: 1. 2. 3. 4. 5. 6. -10 10 See Current Consumption diagrams below for other modes (RES = 00 or 01). 2 Assuming I C communication and minimum 1.5kΩ pull-up resistor on SCL and SDA. Assuming max bus capacitance load of 20pF. 2 The I C bus supports Standard-Mode, Fast-Mode and High Speed Mode. User selectable via ODR control register setting Start up time is from PC1 set to valid outputs. Time varies with Output Data Rate (ODR) and mode setting (RES); see diagrams below 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 8 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 KMX62 Current Consumption Diagrams Typical current over selected ODR (0.781,1.563,3.125,6.25,12.5,25,50,100,200,400,800,1600Hz) Res Accel Only Mag Only Accel and Mag 00 01 10, 11 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 9 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 KMX62 Start Up Time Diagrams Typical Start Up Time over selected ODR (0.781,1.563,3.125,6.25,12.5,25,50,100,200,400,800,1600Hz) Startup Time over ODR, Res 00 Startup Time over ODR, Res 01 1.6 2.5 1.4 2.0 1.2 1.5 ms ms 1.0 0.8 1.0 0.6 0.4 0.5 0.2 0.0 0.1 0.0 1 10 100 1000 10000 0.1 1 10 ODR (Hz) Startup Time over ODR, Res 10 10000 1400.0 1,297 1200.0 1,285 1200.0 1000.0 1000.0 800.0 650 ms ms 1000 Startup Time over ODR, Res 11 1400.0 600.0 325 400.0 163 200.0 800.0 639 600.0 321 400.0 82 41 21 11 5.8 3.3 2.1 1.4 162 200.0 0.0 0.1 100 ODR (Hz) 81 41 21 11 5.7 3.3 2.0 1.4 0.0 1 10 100 ODR (Hz) 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] 1000 10000 0.1 1 10 100 1000 10000 ODR (Hz) © 2015 Kionix – All Rights Reserved Page 10 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Power-On Procedure Proper functioning of power-on reset (POR) is dependent on the specific VDD, VDDLow, TVDD (rise time), and TVdd_Off profile of individual applications. It is recommended to minimize VDDLow, and TVDD, and maximize TVdd_Off. It is also advised that the Vdd ramp up time TVdd be monotonic. To assure proper POR in all environmental conditions the application should be evaluated over the range of VDD, VDDLow, TVDD , TVdd_Off and temperature as POR performance can vary depending on these parameters. In order to guarantee proper reset regardless of the VDDLow, TVDD (rise time), and TVdd_Off parameters, a software reset can be issued via the I2C protocol. Please refer to Technical Note KMX62 Power-On Procedure to ensure proper POR function in your application. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 11 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 KMX62 I2C Timing Diagram Table 4. I2C Timing (Fast Mode) Number t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 Note Description SDA low to SCL low transition (Start event) SDA low to first SCL rising edge SCL pulse width: high SCL pulse width: low SCL high before SDA falling edge (Start Repeated) SCL pulse width: high during a S/Sr/P event SCL high before SDA rising edge (Stop) SDA pulse width: high SDA valid to SCL rising edge SCL rising edge to SDA invalid SCL falling edge to SDA valid (when slave is transmitting) SCL falling edge to SDA invalid (when slave is transmitting) 2 Recommended I C CLK 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] MIN MAX Units 50 100 - ns ns ns ns ns ns ns ns ns ns ns ns us 100 100 100 50 100 50 25 50 50 0 2.5 © 2015 Kionix – All Rights Reserved Page 12 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Evironmental Specifications Table 5. Environmental Units Min Typical Max Supply Voltage (Vdd) Absolute Limits Parameters V -0.3 - 3.6 Operating Temperature Range Storage Temperature Range ºC ºC -40 -55 - Mech. Shock (powered and unpowered) g - - ESD V - - 85 150 5000 for 0.5ms 10000 for 0.2ms 2000 HBM Caution: ESD Sensitive and Mechanical Shock Sensitive Component, improper handling can cause permanent damage to the device. This product conforms to Directive 2002/95/EC of the European Parliament and of the Council of the European Union (RoHS). Specifically, this product does not contain lead, mercury, cadmium, hexavalent chromium, polybrominated biphenyls (PBB), or polybrominated diphenyl ethers (PBDE) above the maximum concentration values (MCV) by weight in any of its homogenous materials. Homogenous materials are "of uniform composition throughout." HF This product is halogen-free per IEC 61249-2-21. Specifically, the materials used in this product contain a maximum total halogen content of 1500 ppm with less than 900-ppm bromine and less than 900-ppm chlorine. Soldering Soldering recommendations are available upon request or from www.kionix.com. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 13 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Application Schematic Vdd C1 16 IO_Vdd 15 14 1 13 2 12 GND 11 GPIO1 C2 3 SCL 4 GND 5 KMX62 10 9 6 7 GPIO2 8 SDA ADDR Table 6. KMX62 Pin Descriptions Pin Name Description CAP GND The power supply input for the digital communication bus. Optionally decouple this pin to ground with a 0.1uF ceramic capacitor. Do not connect, or optionally couple this pin to ground with a 1 uF ceramic capacitor. Ground 4 SCL I2C Serial Clock 5 6 7 8 9 10 GND SDA ADDR NC GPIO2 NC Ground I2C Serial Data I2C Address pin .This pin can be connected to IO_VDD or GND to determine the I2C Device Address. Not Internally Connected GPIO 2 Not Internally Connected 11 GPIO1 GPIO 1 12 GND Ground 1 2 3 IO Vdd 13 NC Not Internally Connected 14 Vdd The power supply input. Decouple this pin to ground with a 0.1uF ceramic capacitor. 15 NC Not Internally Connected 16 NC Not Internally Connected 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 14 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Package Dimensions and Orientation: Dimensions 3 x 3 x 0.9 mm LGA KMX62 Figure 1. KMX62 Package Dimensions 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 15 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Orientation When device is moved in +X, +Y, or +Z direction, the corresponding accelerometer output will increase. When the +X, +Y, or +Z arrow is directed toward North, the output of that axis is positive. KMX62 +X +Z +Y Figure 2. KMX62 Orientation Please avoid mounting this product on the part in which magnetic field disturbance exists, such as near any parts containing ferrous materials. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 16 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 KMX62 Digital Interface The Kionix KMX62 digital sensor has the ability to communicate on the I2C digital serial interface bus. This flexibility allows for easy system integration by eliminating analog-to-digital converter requirements and by providing direct communication with system processors. The I2C interface is compliant with high-speed mode, fast mode and standard mode I2C protocols. The serial interface terms and descriptions as indicated in Table 7 below will be observed throughout this document. Term Transmitter Receiver Master Slave Description The device that transmits data to the bus. The device that receives data from the bus. The device that initiates a transfer, generates clock signals, and terminates a transfer. The device addressed by the Master. Table 7. Serial Interface Terminologies I2C Serial Interface As previously mentioned, the KMX62 has the ability to communicate on an I2C bus. I2C is primarily used for synchronous serial communication between a Master device and one or more Slave devices. The system Master provides the serial clock signal and addresses Slave devices on the bus. The KMX62 always operates as a Slave device during standard Master-Slave I2C operation. I2C is a two-wire serial interface that contains a Serial Clock (SCL) line and a Serial Data (SDA) line. SCL is a serial clock that is provided by the Master, but can be held low by any Slave device, putting the Master into a wait condition. SDA is a bi-directional line used to transmit and receive data to and from the interface. Data is transmitted MSB (Most Significant Bit) first in 8-bit per byte format, and the number of bytes transmitted per transfer is unlimited. The I2C bus is considered free when both lines are high. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 17 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications SDA SCL PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 IO Vdd SDA MCU SCL SDA KMX62 SCL ADDR SDA KMX62 SCL ADDR 2 Figure 3. Multiple KMX62 I C Connection Description I2C Wr I2C Rd I2C Wr I2C Rd Address Pad IO_VDD IO_VDD GND GND 7 bit Address 0Fh 0Fh 0Eh 0Eh Address 1Eh 1Fh 1Ch 1Dh <7> 0 0 0 0 <6> 0 0 0 0 <5> 0 0 0 0 <4> 1 1 1 1 <3> 1 1 1 1 <2> 1 1 1 1 <1> 1 1 0 0 <0> 0 1 0 1 2 Table 8. I C Address I2C Operation Transactions on the I2C bus begin after the Master transmits a start condition (S), which is defined as a highto-low transition on the data line while the SCL line is held high. The bus is considered busy after this condition. The next byte of data transmitted after the start condition contains the Slave Address (SAD) in the seven MSBs (Most Significant Bits), and the LSB (Least Significant Bit) tells whether the Master will be receiving data ‘1’ from the Slave or transmitting data ‘0’ to the Slave. When a Slave Address is sent, each device on the bus compares the seven MSBs with its internally-stored address. If they match, the device considers itself addressed by the Master. The KMX62’s Slave Address is comprised of two programmable parts, which allows for connection of multiple KMX62's to the same I2C bus. The LSB is determined by the 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 18 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 assignment of ADDR to GND or IO_Vdd. Figure 3 and Table 8 above shows how two KMX62's would be implemented on an I2C bus. It is mandatory that receiving devices acknowledge (ACK) each transaction. Therefore, the transmitter must release the SDA line during this ACK pulse. The receiver then pulls the data line low so that it remains stable low during the high period of the ACK clock pulse. A receiver that has been addressed, whether it is Master or Slave, is obliged to generate an ACK after each byte of data has been received. To conclude a transaction, the Master must transmit a stop condition (P) by transitioning the SDA line from low to high while SCL is high. The I2C bus is now free. Note that if the KMX62 is accessed through I2C protocol before the startup is finished a NACK signal is sent. Writing to a KMX62 8-bit Register Upon power up, the Master must write to the KMX62’s control registers to set its operational mode. Therefore, when writing to a control register on the I2C bus, as shown Sequence 1 on the following page, the following protocol must be observed: After a start condition, SAD+W transmission, and the KMX62 ACK has been returned, an 8-bit Register Address (RA) command is transmitted by the Master. This command is telling the KMX62 to which 8-bit register the Master will be writing the data. Since this is I 2C mode, the MSB of the RA command should always be zero (0). The KMX62 acknowledges the RA and the Master transmits the data to be stored in the 8-bit register. The KMX62 acknowledges that it has received the data and the Master transmits a stop condition (P) to end the data transfer. The data sent to the KMX62 is now stored in the appropriate register. The KMX62 automatically increments the received RA commands and, therefore, multiple bytes of data can be written to sequential registers after each Slave ACK as shown in Sequence 2 on the following page. When the auto-increment feature reaches register address 0x7F (Buffer Read), it stops and does not advance to register address 0x80. A new read command must be issued for registers above 0x7F. The part then continues to auto-increment until it reaches address 0xFF. Reading from a KMX62 8-bit Register When reading data from a KMX62 8-bit register on the I2C bus, as shown in Sequence 3 on the next page, the following protocol must be observed: The Master first transmits a start condition (S) and the appropriate Slave Address (SAD) with the LSB set at ‘0’ to write. The KMX62 acknowledges and the Master transmits the 8-bit RA of the register it wants to read. The KMX62 again acknowledges, and the Master transmits a repeated start condition (Sr). After the repeated start condition, the Master addresses the KMX62 with a ‘1’ in the LSB (SAD+R) to read from the previously selected register. The Slave then acknowledges and transmits the data from the requested register. The Master does not acknowledge (NACK) it received the transmitted data, but transmits a stop condition to end the data transfer. Note that the KMX62 automatically increments through its sequential registers, allowing data to be read from multiple registers following a single SAD+R command as shown below in Sequence 4 on the following page. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 19 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Data Transfer Sequences The following information clearly illustrates the variety of data transfers that can occur on the I 2C bus and how the Master and Slave interact during these transfers. Table 9 defines the I2C terms used during the data transfers. Term S Sr SAD W R ACK NACK RA Data P Definition Start Condition Repeated Start Condition Slave Address Write Bit Read Bit Acknowledge Not Acknowledge Register Address Transmitted/Received Data Stop Condition 2 Table 9. I C Terms Sequence 1. The Master is writing one byte to the Slave. Master Slave S SAD + W RA ACK DATA ACK P ACK Sequence 2. The Master is writing multiple bytes to the Slave. Master Slave S SAD + W RA ACK DATA ACK DATA ACK P ACK Sequence 3. The Master is receiving one byte of data from the Slave. Master Slave S SAD + W RA ACK Sr SAD + R ACK NACK ACK P DATA Sequence 4. The Master is receiving multiple bytes of data from the Slave. Master Slave S SAD + W 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] RA ACK Sr ACK SAD + R ACK ACK DATA NACK DATA © 2015 Kionix – All Rights Reserved Page 20 of 51 P Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 HS-mode To enter the 3.4MHz high speed mode of communication, the device must receive the following sequence of conditions from the master: a Start condition followed by a Master code (00001XXX) and a Master Nonacknowledge. Once recognized, the device switches to HS-mode communication. Read/write data transfers then proceed as described in the sequences above. Devices return to the FS-mode after a STOP occurrence on the bus. Sequence 5. HS-mode data transfer of the Master writing one byte to the Slave. Speed Master Slave S FS-mode M-code NACK 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] S SAD + W ACK HS-mode RA ACK FS-mode DATA P ACK © 2015 Kionix – All Rights Reserved Page 21 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Power Modes The KMX62 has five power modes: Off, Stand-by, Sleep, Low Power (RES = 0) and High Resolution (RES = 1). The part exists in one of these five modes at any given time. Off and Stand-by modes have very low current consumptions. Power Mode Bus State Off - Stand-by Sleep <RES> = 00 or 01 <RES> = 10 or 11 VIO Vdd Function Outputs Active OFF ON OFF ON OFF OFF ON ON No sensor activity Not available Waiting activation command Accelerometer active looking for motion wake up Not available Accel registers only – no buffer, no DRDY int Active ON ON Active ON ON All functionalities available All sensors available Active ON ON All functionalities available All sensors available Off mode One or both of the power supplies (Vdd or VIO) are not powered. The sensor is completely inactive and not reporting or communicating. Bus communication actions of other devices are not disturbed if they are using the same bus interface as this component. Initial Startup The preferred startup sequence is to turn on VIO before Vdd, but if Vdd is turned on first, the component will not affect the bus communications (no latch-up or other problems during engine system level wake-up). Power On Reset (POR) is performed every time when: 1. VIO supply is valid 2. Vdd power supply is going to valid level OR 1. VIO power supply is going to valid level 2. Vdd supply is valid When POR occurs, the registers are loaded from OTP and the part is put into Stand-by mode. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 22 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Stand-by mode The primary function of the stand-by mode is to ensure fast wake-up to active mode and to minimize current consumption. This mode is set as default when both power supplies are applied and the POR function occurs. A Soft Reset command also performs the POR function and puts the part into Stand-by mode. Stand-by mode is a low power waiting state for fast turn on time. Bus communication actions of other components are not disturbed if they are using the same bus. There is only one possible way to change to active mode – a register command from the external application processor via the I2C bus. Sleep mode While in sleep mode, the accelerometer is periodically taking a measurement to detect if there is any motion. Data in the accelerometer registers is being updated, however, there is no data ready interrupt being reported. Also, no data is being sent to the buffer. Low Power (<RES> = 00 or 01) mode Stand-by-mode can be changed to a Low Power mode by writing to register Control Register 2 or when a motion wake up event occurs. Low power mode engages the full functionality of accelerometer and/or magnetometer measurements in a low power, low resolution mode. The host has the ability to change settings in the control register back to Stand-by mode for either or both the accelerometer and magnetometer. If enabled, the back to sleep function will put the part into the Sleep mode. The host can also place the part into High Resolution (<RES> = 10 or 11) mode by writing to Control Register 2. High Resolution (<RES> = 10 or 11) mode Stand-by-mode can be changed to High Resolution mode by writing to register Control Register 2. High Resolution mode engages the full functionality of accelerometer and/or magnetometer measurements in a higher power, higher resolution mode. The host has the ability to change settings in the control register back to Stand-by mode for either or both the accelerometer and magnetometer. If enabled, the back to sleep function will put the part into the Sleep mode. The host can also place the part into Low Power (<RES> = 00 or 01) mode by writing to Control Register 2. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 23 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 KMX62 Embedded Registers The KMX62 has 45 embedded 8-bit registers that are accessible by the user. This section contains the addresses for all embedded registers and also describes bit functions of each register. Table 10 below provides a listing of the accessible 8-bit registers and their addresses. 2 Table 10. I C Register Map Register Name WHO_AM_I INS1 INS2 INS3 INL ACCEL_XOUT_L ACCEL_XOUT_H ACCEL_YOUT_L ACCEL_YOUT_H ACCEL_ZOUT_L ACCEL_ZOUT_H MAG_XOUT_L MAG_XOUT_H MAG_YOUT_L MAG_YOUT_H MAG_ZOUT_L MAG_ZOUT_H TEMP_OUT_L TEMP_OUT_H INC1 INC2 INC3 INC4 INC5 AMI_CNTL1 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] I2C Address (Hex) 00h 01h 02h 03h 05h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh 10h 11h 12h 13h 14h 15h 16h 17h 2Ah 2Bh 2Ch 2Dh 2Eh 2Fh Type R/W R/W R R R R R R R R R R R R R R R R R R R/W R/W R/W R/W R/W R/W © 2015 Kionix – All Rights Reserved Page 24 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications AMI_CNTL2 AMI_CNTL3 MMI_CNTL1 MMI_CNTL2 MMI_CNTL3 FFI_CNTL1 FFI_CNTL2 FFI_CNTL3 ODCNTL CNTL1 CNTL2 COTR BUF_CTRL_1 BUF_CTRL_2 BUF_CTRL_3 BUF_CLEAR BUF_STATUS_1 BUF_STATUS_2 BUF_STATUS_3 BUF_READ 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] 30h 31h 32h 33h 34h 35h 36h 37h 38h 39h 3Ah 3Ch 77h 78h 79h 7Ah 7Bh 7Ch 7Dh 7Eh PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R R/W R/W R/W W R R R R © 2015 Kionix – All Rights Reserved Page 25 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Register Descriptions Register Addr R/W POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 Register is the general description of the contents of the register. Addr is the address of the register used during communications R/W describes if a register can be written to or read from. POR gives the value of the register after power is applied or after software reset (SRST bit) OTP = Factory default values reloaded into registers from OTP. 00h = Register contains all zeros blank = Register is a write only register or sensor output Wrt describes how the ASIC will behave if the register is written while enabled. This is important because if modes of operation are change while the state machine is running the digital portion of the ASIC can enter undefined states and cause unexpected results. blank = This register cannot be written to. OTF = On The Fly registers can be written while the ASIC is enabled and the change will be accepted with no interruption in the operation although there will be a settling time for some changes. RST = Restart indicates that if this register is written to while any sensors are enabled the ASIC will automatically disable for a brief time and then re-enable the sensors that were previously enabled. Interrupt and buffer status registers will be cleared (01h, 02h, 03h, 7Bh, 7Ch, 7Dh) NRST = No Restart indicates that if this register is written to while any sensors are enabled the ASIC will NOT automatically disable/enable. Changes apply to the block being controlled for quick sweeps but the operation of the digital engine may not be correct and the DUT must be disabled/enabled for complete functionality. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 26 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 WHO_AM_I This register can be used for supplier recognition, as it can be factory written to a known byte value. Register WHO_AM_I Addr POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 00h R/W 19h R/W OTF WAI_MIR<7> WAI_MIR<6> WAI_MIR<5> WAI_MIR<4> WAI_MIR<3> WAI_MIR<2> WAI_MIR<1> WAI_MIR<0> Interrupt source register 1 This Register tells which function caused an interrupt. Register Addr R/W POR INS1 01h R 00h Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 INT BFI WMI DRDY_A DRDY_M FFI AMI MMI INT reports the combined (OR) interrupt information of all enabled interrupt. 0= no interrupt event, 1= interrupt event has occurred. BFI - indicates that the buffer is full. This bit is cleared when the data is read until the buffer is not full. BFI = 0 – Buffer is not full BFI = 1 – Buffer is full WMI - indicates that user-defined buffer watermark has been reached. This bit is cleared when the data is read until the sample level in the buffer is smaller than the watermark threshold. WMI = 0 – Buffer watermark not reached WMI = 1 – Buffer watermark reached DRDY_A - indicates that new acceleration data is available. This bit is cleared when the data is read or the interrupt release register (INL Register) is read. DRDY = 0 – New acceleration data not available DRDY = 1 – New acceleration data available DRDY_M - indicates that new magnetometer data is available. This bit is cleared when the data is read or the interrupt release register (INL Register) is read. DRDY = 0 – New acceleration data not available DRDY = 1 – New acceleration data available FFI – Free fall, this bit is cleared when the interrupt source latch register (INL Register) is read. FFS = 1 – Free fall has activated the interrupt FFS = 0 – No free fall 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 27 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 AMI – Accelerometer motion interrupt, This bit is cleared when the interrupt source latch register (INL Register) is read. AMS = 1 – Motion has activated the interrupt AMS = 0 – No motion MMI – Magnetometer motion interrupt, This bit is cleared when the interrupt source latch register (INL Register) is read. MMS = 1 – Motion has activated the interrupt MMS = 0 – No motion Interrupt source register 2 This Register reports the sensor, axis and direction of the motion that triggered the interrupt. Register Addr R/W POR INS2 02h R 00h Wrt Bit 7 Bit 6 SPARE_0002<7> SPARE_0002<6> Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 AXNI AXPI AYNI AYPI AZNI AZPI AXNI - x negative (x-) AXPI - x positive (x+) AYNI - y negative (y-) AYPI - y positive (y+) AZNI - z negative (z-) AZPI - z positive (z+) Interrupt source register 3 This Register reports the sensor, axis and direction of the motion that triggered the interrupt. Register Addr R/W POR INS3 03h R 00h Wrt Bit 7 Bit 6 SPARE_0003<7> SPARE_0003<6> Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 MXNI MXPI MYNI MYPI MZNI MZPI MXNI - x negative (x-) MXPI - x positive (x+) MYNI - y negative (y-) MYPI - y positive (y+) MZNI - z negative (z-) MZPI - z positive (z+) Interrupt latch release Latched interrupt source information (at INS1 and INS2) is cleared and physical interrupt latched pin is changed to its inactive state when this register is read. If an engine is configured as an unlatched interrupt and the current state is indicating and interrupt this release will not clear the interrupt. Register Addr R/W POR INL 05h R 00h Wrt 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 0 0 0 0 0 0 0 0 © 2015 Kionix – All Rights Reserved Page 28 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Accelerometer output Register Addr R/W Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 ACCEL_XOUT_L 0Ah R POR Wrt ACC_X<7> ACC_X<6> ACC_X<5> ACC_X<4> ACC_X<3> ACC_X<2> ACC_X<1> ACC_X<0> ACCEL_XOUT_H 0Bh R ACC_X<15> ACC_X<14> ACC_X<13> ACC_X<12> ACC_X<11> ACC_X<10> ACC_X<9> ACC_X<8> ACCEL_YOUT_L 0Ch R ACC_Y<7> ACC_Y<6> ACC_Y<5> ACC_Y<4> ACC_Y<3> ACC_Y<2> ACC_Y<1> ACC_Y<0> ACCEL_YOUT_H 0Dh R ACC_Y<15> ACC_Y<14> ACC_Y<13> ACC_Y<12> ACC_Y<11> ACC_Y<10> ACC_Y<9> ACC_Y<8> ACCEL_ZOUT_L 0Eh R ACC_Z<7> ACC_Z<6> ACC_Z<5> ACC_Z<4> ACC_Z<3> ACC_Z<2> ACC_Z<1> ACC_Z<0> ACCEL_ZOUT_H 0Fh R ACC_Z<15> ACC_Z<14> ACC_Z<13> ACC_Z<12> ACC_Z<11> ACC_Z<10> ACC_Z<9> ACC_Z<8> These registers contain up to 16-bits of valid acceleration data for each axis. The data is updated every user-defined ODR period, is protected from overwrite during each read, and can be converted from digital counts to acceleration (g) per Figure 4 below. The register acceleration output binary data is represented in N-bit 2’s complement format. For example, if N = 16 bits, then the Counts range is from -32768 to 32767. 16-bit Register Data (2’s complement) 0111 1111 1111 1111 0111 1111 1111 1110 … 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 … 1000 0000 0000 0001 1000 0000 0000 0000 Equivalent Counts in decimal 32767 32766 … 1 0 -1 … -32767 -32768 Range = +/-2g +1.99994g +1.99988g … +0.00006g 0.00000g -0.00006g … -1.99994g -2.00000g Range = +/-4g +3.99988g +3.99976g … +0.00012g 0.00000g -0.00012g … -3.99988g -4.00000g Range = +/-8g +7.99976g +7.99951g … +0.00024g 0.000g -0.00024g … -7.99976g -8.00000g Range = +/-16g +15.99951g +15.99902g … +0.00049g 0.00000g -0.00049g … -15.99951g -16.00000g Figure 4. Acceleration (g) Calculation Magnetometer output Register Addr R/W Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 MAG_XOUT_L 10h R POR Wrt MAG_X<7> MAG_X<6> MAG_X<5> MAG_X<4> MAG_X<3> MAG_X<2> MAG_X<1> MAG_X<0> MAG_XOUT_H 11h R MAG_X<15> MAG_X<14> MAG_X<13> MAG_X<12> MAG_X<11> MAG_X<10> MAG_X<9> MAG_X<8> MAG_YOUT_L 12h R MAG_Y<7> MAG_Y<6> MAG_Y<5> MAG_Y<4> MAG_Y<3> MAG_Y<2> MAG_Y<1> MAG_Y<0> MAG_YOUT_H 13h R MAG_Y<15> MAG_Y<14> MAG_Y<13> MAG_Y<12> MAG_Y<11> MAG_Y<10> MAG_Y<9> MAG_Y<8> MAG_ZOUT_L 14h R MAG_Z<7> MAG_Z<6> MAG_Z<5> MAG_Z<4> MAG_Z<3> MAG_Z<2> MAG_Z<1> MAG_Z<0> MAG_ZOUT_H 15h R MAG_Z<15> MAG_Z<14> MAG_Z<13> MAG_Z<12> MAG_Z<11> MAG_Z<10> MAG_Z<9> MAG_Z<8> 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 29 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 These registers contain 16-bits of valid magnetic field data for each axis. The data is protected from overwrite during each read, and can be converted from digital counts to magnetic field strength (T) per Figure 3 below. Magnetic field T +1199.9634 T +1199.9268 T … … +0.0366 T 0 T -0.0366 T … … -1199.9634 T -1200.0000 T 16-bit Data 0111 1111 1111 1111 0111 1111 1111 1110 … … 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 … … 1000 0000 0000 0001 1000 0000 0000 0000 Figure 5. Magnetic field (T) Calculation Temperature Output Register Addr R/W Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 TEMP_OUT_L 16h R POR Wrt TEMP<7> TEMP<6> TEMP<5> TEMP<4> TEMP<3> TEMP<2> TEMP<1> TEMP<0> TEMP_OUT_H 17h R TEMP<15> TEMP<14> TEMP<13> TEMP<12> TEMP<11> TEMP<10> TEMP<9> TEMP<8> The temperature registers contain up to 16-bits of temperature data. If only register TEMP_OUT_H is used, then the sensitivity can be considered as 1 count/ᵒC. If both registers TEMP_OUT_H and TEMP_OUT_L are used (16 bits), then sensitivity can be considered as 64 count/ᵒC. 8-bit Register Data TEMP_OUT_H (2’s complement) 0101 0101 … 0000 0001 0000 0000 1111 1111 … 1101 1000 16-bit 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] Equivalent Counts in decimal 85 … 1 0 -1 … -40 Equivalent Temperature (ᵒC) +85 ᵒC … +1 ᵒC 0 ᵒC -1 ᵒC … -40 ᵒC Temperature © 2015 Kionix – All Rights Reserved Page 30 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications Register Data (2’s complement) 0101 0101 0000 0000 … 0000 0001 0000 0000 … 0000 0000 0100 0000 … 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 … 1111 1111 1100 0000 … 1111 1111 0000 0000 … 1101 1000 0000 0000 PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Counts in decimal (ᵒC) 21760 … 256 … 64 … 1 0 -1 … -64 … -256 … -10240 +85.000 ᵒC … +1.0000 ᵒC … +0.2500 ᵒC … +0.0039 ᵒC 0.0000 ᵒC -0.0039 ᵒC … -0.2500 ᵒC … -1.0000 ᵒC … -40.000 ᵒC Figure 6. Temperature (ᵒC) Calculation Interrupt control 1 Interrupts reported on GPIO1. Register INC1 Addr R/W POR 2Ah R/W 00h Wrt Bit 7 RST SPARE_002A<7> Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 BFI1 WMI1 DRDY_A1 DRDY_M1 FFI1 AMI1 MMI1 BFI1 - Buffer full interrupt reported on GPIO1 BFI = 0 – disable BFI = 1 – enable. WMI1 - Watermark interrupt reported on GPIO1 WMI1 = 0 – disable WMI1 = 1 – enable DRDY_A1 - Accelerometer Data ready reported on GPIO1 DRDY_A1 = 0 – disable DRDY_A1 = 1 – enable. DRDY_M1 - Magnetometer Data ready reported on GPIO1 DRDY_M1 = 0 – disable DRDY_M1 = 1 – enable. FFI1 - Accelerometer Freefall interrupt reported on GPIO1 FFI1 = 0 – disable FFI1 = 1 – enable. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 31 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 AMI1 - Accelerometer motion interrupt reported on GPIO1 AMI1 = 0 – disable AMI1 = 1 – enable. MMI1 - Magnetometer motion interrupt reported on GPIO1 MMI1 = 0 – disable MMI1 = 1 – enable. Interrupt control 2 Interrupts reported on GPIO2. Register INC2 Addr R/W POR 2Bh R/W 00h Wrt Bit 7 RST SPARE_002B<7> Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 BFI2 WMI2 DRDY_A2 DRDY_M2 FFI2 AMI2 MMI2 BFI2- Buffer full interrupt reported on GPIO2 BFI2 = 0 – disable BFI2 = 1 – enable. WMI2 - Watermark interrupt reported on GPIO2 WMI2 = 0 – disable WMI2 = 1 – enable DRDY_A2 - Accelerometer Data ready reported on GPIO2 DRDY_A2 = 0 – disable DRDY_A2 = 1 – enable. DRDY_M2 - Magnetometer Data ready reported on GPIO2 DRDY_M2 = 0 – disable DRDY_M2 = 1 – enable. FFI2 - Accelerometer Freefall interrupt reported on GPIO2 FFI2 = 0 – disable FFI2 = 1 – enable. AMI2 - Accelerometer motion interrupt reported on GPIO2 AMI2 = 0 – disable AMI2 = 1 – enable. MMI2 - Magnetometer motion interrupt reported on GPIO2 MMI2 = 0 – disable MMI2 = 1 – enable. Interrupt control 3 GPIO pin configuration. Register INC3 Addr POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 2Ch R/W 88h R/W RST IED2 IEA2 IEL2<1> IEL2<0> IED1 IEA1 IEL1<1> IEL1<0> IED1 – Interrupt pin drive options for GPIO1 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 32 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 IED1 = 0 – push-pull IED1 = 1 – open-drain IEA1 - Interrupt active level control for interrupt GPIO1 IEA1 = 0 – active low IEA1 = 1 – active high IEL1 <1,0>- Interrupt latch control for interrupt GPIO1 IEL1 = 0,0 – latched/unlatched. Unlatched feature is available for FFI,MME and AMI. IEL1 = 0,1 – pulsed. In pulse mode the pulse width is 50us for normal mode and 10us for debug mode (high ODR rates). IEL1 = 1,X – trigger input for FIFO. IED2 – Interrupt pin drive options for GPIO2 IED2 = 0 – push-pull IED2 = 1 – open-drain IEA2 - Interrupt active level control for interrupt GPIO2 IEA2 = 0 – active low IEA2 = 1 – active high IEL2 <1,0>- Interrupt latch control for interrupt GPIO2 IEL2 = 0,0 – latched/unlatched. Unlatched feature is available for FFI,MME and AMI. IEL2 = 0,1 – pulsed. In pulse mode the pulse width is 50us for normal mode and 10us for debug mode (high ODR rates). IEL2 = 1,X – trigger input for FIFO. IED# 0 0 0 0 1 1 1 1 IEA# 0 0 1 1 0 0 1 1 IEL#<1,0> 0,0 0,1 0,0 0,1 0,0 0,1 0,0 0,1 BFI# 0 0 0 0 0 0 0 0 WMI# 0 0 0 0 0 0 0 0 X X 1,X X X DRDY_A# DRDY_M# 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X FFI# 0 0 0 0 0 0 0 0 MMI# 0 0 0 0 0 0 0 0 AMI# 0 0 0 0 0 0 0 0 X X X X GPIO state The GPIO pin is held high The GPIO pin is held high The GPIO pin is held low The GPIO pin is held low The GPIO pin is high impedance The GPIO pin is high impedance The GPIO pin is held low The GPIO pin is held low The GPIO pin is configured as an input for FIFO trigger. If both GPIO pins are trigger, the signals are OR’ed. Special Cases Interrupt control 4 This register controls which accelerometer axis and direction of detected motion can cause an interrupt. Register INC4 Addr R/W POR 2Dh R/W 3Fh Wrt N Bit 7 Bit 6 SPARE_002D<7> SPARE_002D<6> 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 AXNIE AXPIE AYNIE AYPIE AZNIE AZPIE © 2015 Kionix – All Rights Reserved Page 33 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 AXNIE - x negative (x-) accelerometer mask for AMI, 0=disable, 1=enable. AXPIE - x positive (x+) accelerometer mask for AMI, 0=disable, 1=enable. AYNIE - y negative (y-) accelerometer mask for AMI, 0=disable, 1=enable. AYPIE - y positive (y+) accelerometer mask for AMI, 0=disable, 1=enable. AZNIE - z negative (z-) accelerometer mask for AMI, 0=disable, 1=enable. AZPIE - z positive (z+) accelerometer mask for AMI, 0=disable, 1=enable. Interrupt control 5 This register controls which magnetometer axis and direction of detected motion can cause an interrupt. Register INC5 Addr R/W POR 2Eh R/W 3Fh Wrt N Bit 7 Bit 6 SPARE_002E<7> SPARE_002E<6> Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 MXNIE MXPIE MYNIE MYPIE MZNIE MZPIE MXNIE - x negative (x-) magnetometer mask for MMI, 0=disable, 1=enable. MXPIE - x positive (x+) magnetometer mask for MMI, 0=disable, 1=enable. MYNIE - y negative (y-) magnetometer mask for MMI, 0=disable, 1=enable. MYPIE - y positive (y+) magnetometer mask for MMI, 0=disable, 1=enable. MZNIE - z negative (z-) magnetometer mask for MMI, 0=disable, 1=enable. MZPIE - z positive (z+) magnetometer mask for MMI, 0=disable, 1=enable. Accelerometer Motion Control 1 This register has control settings for the accelerometer motion interrupt function. Register AMI_CNTL1 Addr POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 2Fh R/W 00h R/W RST AMITH<7> AMITH<6> AMITH<5> AMITH<4> AMITH<3> AMITH<2> AMITH<1> AMITH<0> AMITH<7:0> - Accelerometer motion interrupt threshold. This value is compared to the top 8 bits of the accelerometer 4g output. Accelerometer Motion Control 2 This register has control settings for the accelerometer motion interrupt function. Register AMI_CNTL2 Addr POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 30h R/W 00h R/W RST AMICT<7> AMICT<6> AMICT<5> AMICT<4> AMICT<3> AMICT<2> AMICT<1> AMICT<0> AMICT<7:0> - Accelerometer motion interrupt counter. Every count is calculated as 1/ODR delay period, where the Motion Interrupt ODR is user-defined per the OAMI bits in AM_CNTL3. A new state must be valid as many measurement periods before the change is accepted. Note that to properly change the value of this register, the accelerometer should be in stand. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 34 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Accelerometer Motion Control 3 This register has control settings for the accelerometer motion interrupt function. Register AMI_CNTL3 Addr POR Wrt Bit 7 Bit 6 31h R/W 00h R/W RST AMI_EN AMIUL Bit 5 Bit 4 Bit3 SPARE_0031<5> SPARE_0031<4> SPARE_0031<3> Bit 2 Bit 1 Bit 0 OAMI<2> OAMI<1> OAMI<0> AMI_EN - Accelerometer motion interrupt engine enable AMI_EN = 0 – disabled AMI_EN = 1 – enabled AMIUL - Accelerometer Motion Interrupt latch/un-latch control for interrupt GPIO1/2 AMIUL = 0 – latched AMIUL = 1 – un-latched OAMI<2:0> - Output Data Rate at which the accelerometer motion detection performs its function. OAMI<2> OAMI <1> OAMI <0> 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Output Data Rate (Hz) 0.781 1.563 3.125 6.25 12.5 25 50 100 Magnetometer Motion Control 1 This register has control settings for the magnetometer motion interrupt function. Register MMI_CNTL1 Addr POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 32h R/W 00h R/W RST MMITH<7> MMITH<6> MMITH<5> MMITH<4> MMITH<3> MMITH<2> MMITH<1> MMITH<0> MMITH<7:0> - Magnetometer motion interrupt threshold. This value is compared to the top 8 bits of the magnetometer 1200uT output. Magnetometer Motion Control 2 This register has control settings for the magnetometer motion interrupt function. Register MMI_CNTL2 Addr POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 33h R/W 00h R/W RST MMICT<7> MMICT<6> MMICT<5> MMICT<4> MMICT<3> MMICT<2> MMICT<1> MMICT<0> 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 35 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 MMICT<7:0> - Magnetometer motion interrupt counter. Every count is calculated as 1/ODR delay period. Magnetometer Motion Control 3 This register has control settings for the magnetometer motion interrupt function. Register MMI_CNTL3 Addr POR Wrt Bit 7 Bit 6 34h R/W 00h R/W RST MMI_EN MMIUL Bit 5 Bit 4 Bit3 SPARE_0034<5> SPARE_0034<4> SPARE_0034<3> Bit 2 Bit 1 Bit 0 OMMI<2> OMMI<1> OMMI<0> MMI_EN - Magnetometer motion interrupt engine enable MMI_EN = 0 – disabled MMI_EN = 1 – enabled MMIUL - Magnetometer Motion Interrupt latch/un-latch control for interrupt GPIO1/2 MMIUL = 0 – latched MMIUL = 1 – un-latched OMMI<2:0> - Output Data Rate at which the magnetometer motion detection performs its function. OMMI<2> OMMI <1> OMMI <0> Output Data Rate (Hz) 0 0 0 0.781 0 0 1 1.563 0 1 0 3.125 0 1 1 6.25 1 0 0 12.5 1 0 1 25 1 1 0 50 1 1 1 100 Free Fall Control 1 This register has control settings for the free fall interrupt function. Register FFI_CNTL1 Addr POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 35h R/W 00h R/W RST FFITH<7> FFITH<6> FFITH<5> FFITH<4> FFITH<3> FFITH<2> FFITH<1> FFITH<0> FFITH<7:0> - Accelerometer free fall interrupt threshold. This value is compared to the top 8 bits of the accelerometer 4g output. Free Fall Control 2 This register has control settings for the free fall interrupt function. Register Addr R/W POR Wrt 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 © 2015 Kionix – All Rights Reserved Page 36 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications FFI_CNTL2 36h R/W 00h RST FFICT<7> FFICT<6> FFICT<5> FFICT<4> FFICT<3> PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 FFICT<2> FFICT<1> FFICT<0> FFICT<7:0> - Accelerometer free fall interrupt counter. Every count is calculated as 1/ODR delay period. Free Fall Control 3 This register has control settings for the free fall interrupt function. Register FFI_CNTL3 Addr POR Wrt Bit 7 Bit 6 37h R/W 00h R/W RST FFI_EN FFIUL Bit 5 Bit 4 SPARE_0037<5> SPARE_0037<4> Bit3 Bit 2 Bit 1 Bit 0 DCRM OFFI<2> OFFI<1> OFFI<0> FFI_EN - Accelerometer freefall engine enable FFI_EN = 0 – disabled FFI_EN = 1 – enabled FFIUL - Accelerometer Freefall Interrupt latch/un-latch control for interrupt GPIO1/2 FFIUL = 0 – latched FFIUL = 1 – un-latched DCRM – Debounce methodology control. DCRM = 0 - count up/down DCRM = 1- count up/reset. OFFI<2:0> - Output Data Rate at which the free fall detection performs its function. OFFI<2> 0 0 0 0 1 1 1 1 OFFI <1> 0 0 1 1 0 0 1 1 OFFI <0> 0 1 0 1 0 1 0 1 Output Data Rate (Hz) 12.5 25 50 100 200 400 800 1600 Output data control register Output data control register Register ODCNTL Addr POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 38h R/W 22h R/W RST OSM<3> OSM<2> OSM<1> OSM<0> OSA<3> OSA<2> OSA<1> OSA<0> 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 37 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 OSA<3:0> - Rate at which data samples from the accelerometer will be updated in the register map. OSA<3> OSA<2> OSA<1> OSA<0> Output Data Rate (Hz) 0 0 0 0 12.5** 0 0 0 1 25** 0 0 1 0 50** 0 0 1 1 100** 0 1 0 0 200** 0 1 0 1 400* 0 1 1 0 800 0 1 1 1 1600 1 0 0 0 0.781** 1 0 0 1 1.563** 1 0 1 0 3.125** 1 0 1 1 6.25** 1 1 0 0 25.6kHz, ST 0.8kHz 1 1 0 1 25.6kHz, ST 1.6kHz 1 1 1 0 25.6kHz, ST 3.2kHz 1 1 1 1 25.6kHz Accelerometer Sampling Rate OSM<3:0> - Rate at which data samples from the magnetometer (and temperature sensor if enabled) will be updated in the register map. OSM<3> OSM<2> OSM<1> OSM<0> Output Data Rate (Hz) 0 0 0 0 12.5** 0 0 0 1 25** 0 0 1 0 50** 0 0 1 1 100** 0 1 0 0 200** 0 1 0 1 400* 0 1 1 0 800 0 1 1 1 1600 1 0 0 0 0.781** 1 0 0 1 1.563** 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 38 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 3.125** 6.25** 12.8kHz (polarity bit bypassed) 12.8kHz (polarity bit bypassed) 12.8kHz (polarity bit bypassed) 12.8kHz (polarity bit bypassed) Magnetometer Sampling Rate Note: The FIFO buffer will be updated at the faster of the two output data rates (OSM or OSA). * RES<0,0> available, all others will default to full power mode. ** RES<0,0> and RES<0,1> available, all others will default to full power mode. Before changing the ODR of a sensor, both sensors should be in stand-by. Write the new ODR value(s) to ODCNTL, and then enable the sensor(s). Control register 1 Control R/W register that controls the main feature set. Register Addr POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 CNTL1 39h R/W 00h RST SRST STEN STPOL Reserved COTC Reserved Bit 1 Bit 0 SPARE_0039<1> SPARE_0039<0> SRST Software Reset function SRST = 0 – no action SRST = 1 – start POR routine STEN - ST enable. This bit enables the self-test mode that will produce a change in both the accelerometer and magnetometer transducers and can be measured in the output registers. STEN = 0 – ST is disabled STEN = 1 – ST is enabled. STPOL – Accelerometer and Magnetometer ST polarity. STPOL = 0 – ST polarity is positive STPOL = 1 – ST polarity is negative. COTC enables the command test function COTC= 0 – no action COTC = 1 – sets AAh to COTR register, when the COTR register is read, COTC is cleared and STR = 55h. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 39 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Control register 2 This is used to enable and disable the sensors. Register Addr CNTL2 3Ah R/W 00h R/W POR Wrt Bit 7 RST SPARE_003A<7> Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 TEMP_EN Gsel<1> Gsel<0> RES<1> RES<0> MAG_EN ACCEL_EN TEMP_EN controls the operating mode of the ASIC_AO’s temperature sensors. MAG_EN must also be enabled for temperature data to be converted. Output data rate is locked to the magnetometer’s OSM. Temp_EN = 0 – stand-by mode Temp_EN = 1 – operating mode, magnetometer and temperature output registers are updated at the selected output data rate. GSEL<1, 0> selects the acceleration range of the accelerometer outputs per the following table. GSEL<1> GSEL<0> Range 0 0 +/-2g 0 1 +/-4g 1 0 +/-8g 1 1 +/-16g Selected Acceleration Range RES<1, 0> selects the resolution of both sensors. Accelerometer Magnetometer RES<1> RES<0> over sample over sample 0 0 4 2 0 1 32 16 1 0 maximum maximum 1 1 maximum maximum Selected resolution range MAG_EN controls the operating mode of the ASIC_AO’s magnetometer sensors. MAG_EN = 0 – stand-by mode. MAG_EN = 1 – operating mode, magnetometer output registers are updated at the selected output data rate. ACCEL_EN controls the operating mode of the ASIC_AO’s accelerometer ACCEL_EN = 0 – stand-by mode. ACCEL_EN = 1 – operating mode, accelerometer output registers are updated at the selected output data rate. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 40 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Command test response This register can be used to verify proper communication functionality. It always has a byte value of 0x55h unless the COTC bit in CNTL1 is set. At that point this value is set to 0xAAh. The byte value is returned to 0x55h after reading this register. Register Addr R/W POR COTR 3Ch R 55h Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 COTR<7> COTR<6> COTR<5> COTR<4> COTR<3> COTR<2> COTR<1> COTR<0> BUF_CTRL1,2,3 These registers control the buffer sample buffer operation. POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 BUF_CTRL_1 Register Addr 77h R/W 00h R/W RST SMT_TH<7> SMT_TH<6> SMT_TH<5> SMT_TH<4> SMT_TH<3> SMT_TH<2> SMT_TH<1> SMT_TH<0> BUF_CTRL_2 78h R/W 00h RST SPARE_0078<7> SPARE_0078<6> SPARE_0078<5> SPARE_0078<4> SPARE_0078<3> BUF_M<1> BUF_M<0> SMT_TH<8> BUF_CTRL_3 79h R/W 00h RST BUF_MY BUF_MZ BUF_TEMP BFI_EN BUF_AX BUF_AY BUF_AZ BUF_MX SMP_TH<8,0> Sample Threshold - determines the number of data bytes that will trigger a watermark interrupt or will be saved prior to a trigger event. The maximum number of data bytes is 384 (example - 32 samples of 3 axis of accl and 3 axis of mag by 2 bytes per axis). BUF_M1<1,0> - selects the operating mode of the sample buffer BUF_M<1> BUF_M<0> 0 0 0 1 1 0 1 1 Mode Description Sample Threshold Operation Specifies how many buffer samples are needed to FIFO trigger a watermark interrupt. Specifies how many buffer The buffer holds the last 384 bytes of data. Once samples are needed to Stream the buffer is full, the oldest data is discarded to trigger a watermark make room for newer data. interrupt. When a trigger event occurs (logic high input on Specifies how many buffer TRIG pin), the buffer holds the last data set of samples before the trigger Trigger SMP[6:0] samples before the trigger event and event are retained in the then continues to collect data until full. New data buffer. is collected only when the buffer is not full. The buffer holds the last 384 bytes of data. Once Specifies how many buffer the buffer is full, the oldest data is discarded to samples are needed to FILO make room for newer data. Reading from the trigger a watermark buffer in this mode will return the most recent data interrupt. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] The buffer collects 384 bytes of data until full, collecting new data only when the buffer is not full. © 2015 Kionix – All Rights Reserved Page 41 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 first. BFI_EN controls the buffer full interrupt BUF_FIE = 0 – the buffer full interrupt, BFI is disabled BUF_FIE = 1 – the buffer full interrupt, BFI will be triggered when the buffer is full BUF_(AX, AY, AZ, MX, MY, MZ, TEMP) controls the data to be buffered. BUF_(AX, AY,AZ, MX, MY, MZ, TEMP) = 0 – indicated data is not buffered BUF_(AX, AY,AZ, MX, MY, MZ, TEMP)= 1 – indicated data is buffered BUF_CLEAR Latched buffer status information and the entire sample buffer are cleared when any data is written to this register. Register Addr R/W BUF_CLEAR 7Ah W POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 OTF BUFCLR<7> BUFCLR<6> BUFCLR<5> BUFCLR<4> BUFCLR<3> BUFCLR<2> BUFCLR<1> BUFCLR<0> Buffer status register 1,2 This register reports the status of the sample buffer. Register Addr R/W POR BUF_STATUS_1 7Bh R 00h BUF_STATUS_2 7Ch R BUF_STATUS_3 7Dh R Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 SMP_LEV<7> SMP_LEV<6> SMP_LEV<5> SMP_LEV<4> SMP_LEV<3> SMP_LEV<2> SMP_LEV<1> SMP_LEV<0> 00h SMP_PAST<5> SMP_PAST<4> SMP_PAST<3> SMP_PAST<2> SMP_PAST<1> SMP_PAST<0> BUF_TRIG SMP_LEV<8> 00h SMP_PAST<13> SMP_PAST<12> SMP_PAST<11> SMP_PAST<10> SMP_PAST<9> SMP_PAST<8> SMP_PAST<7> SMP_PAST<6> SMP_LEV<8:0> Sample Level; reports the number of data bytes that have been stored in the sample buffer. If this register reads 0, no data has been stored in the buffer. If the buffer data is read past this level the part will return 32,767 (maximum value). Buffered Outputs 1 2 3 4 5 6 7 Maximum sets 192 96 64 48 38 32 27 Maximum bytes 384 384 384 384 380 384 378 BUF_TRIG reports the status of the buffer’s trigger function if this mode has been selected. When using trigger mode, a buffer read should only be performed after a trigger event. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 42 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 SMP_PAST<8:0> Sample over flow; reports the number of data bytes that have been missed since the sample buffer was filled. If this register reads 0, the buffer has not over flowed. This is cleared for “BUF_CLEAR” command and when the data is read from “BUF_READ” BUF_READ Data in the buffer can be read according to the BUF_M settings in BUF_CTRL2 by executing this command. More samples can be retrieved by continuing to toggle SCL after the read command is executed. Data should be read using auto-increment. Additional samples cannot be written to the buffer while data is being read from the buffer using auto-increment mode. Output data is in 2’s Complement format. Register Addr R/W BUF_READ 7Eh R POR Wrt Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 BUF<7> BUF<6> BUF<5> BUF<4> BUF<3> BUF<2> BUF<1> BUF<0> Sample Buffer Feature Description The sample buffer feature of the ASIC_AO accumulates and outputs data based on how it is configured. There are 4 buffer modes available. Data is collected at the highest ODR specified by OSMA:OSMD or OSAA:OSAD in the Output Data Control Register. Each buffer mode accumulates data, reports data, and interacts with status indicators in a slightly different way. FIFO Mode Data Accumulation Sample collection stops when the buffer is full. Data Reporting Data is reported with the oldest byte of the oldest sample first (X_L or X based on resolution). Status Indicators A watermark interrupt occurs when the number of samples in the buffer reaches the Sample Threshold. The watermark interrupt stays active until the buffer contains less than this number of samples. This can be accomplished through clearing the buffer or reading greater than SMPX. SMPX = SMP_LEV[8:0] – SMP_TH[8:0] Equation 1. Samples Above Sample Threshold Stream Mode Data Accumulation 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 43 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Sample collection continues when the buffer is full; older data is discarded to make room for newer data. Data Reporting Data is reported with the oldest sample first (uses FIFO read pointer). Status Indicators A watermark interrupt occurs when the number of samples in the buffer reaches the Sample Threshold. The watermark interrupt stays active until the buffer contains less than this number of samples. This can be accomplished through clearing the buffer or explicitly reading greater than SMPX samples (calculated with Equation 1). Trigger Mode Data Accumulation When a logic high signal occurs on the TRIG pin, the trigger event is asserted and SMP_TH[8:0] samples prior to the event are retained. Sample collection continues until the buffer is full. Data Reporting Data is reported with the oldest sample first (uses FIFO read pointer). Status Indicators When a physical interrupt occurs and there are at least SMP_TH[8:0] samples in the buffer, BUF_TRIG in BUF_STATUS_REG2 is asserted. FILO Mode Data Accumulation Sample collection continues when the buffer is full; older data is discarded to make room for newer data. Data Reporting Data is reported with the newest byte of the newest sample first (Z_H or Z based on resolution). Status Indicators A watermark interrupt occurs when the number of samples in the buffer reaches the Sample Threshold. The watermark interrupt stays active until the buffer contains less than this number of samples. This can be accomplished through clearing the buffer or explicitly reading greater than SMPX samples (calculated with Equation 1). Buffer Operation The following diagrams illustrate the operation of the buffer conceptually. Actual physical implementation has been abstracted to offer a simplified explanation of how the different buffer 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 44 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 modes operate. Regardless of the selected mode, the buffer fills sequentially, two-byte at a time and one set_count number of bytes at the highest ODR. Figure 7(a) shows one 14-byte data sample with all devices (accelerometer, temp sensor and magnetometer) enabled. Note the location of the FILO read pointer versus that of the FIFO read pointer. Figure 7(b) shows one 12-byte data sample with accelerometer and magnetometer enabled and temperature sensor disabled. Figures 8-16 represent a 10-sample version of the buffer (for simplicity), with Sample Threshold set to 8. Note: When the BUF_CLEAR command is asserted, the buffer read pointer is moved to the location of the buffer write pointer. Note: If the buffer control states that a particular sensor’s data should be buffered, but that sensor is not enabled, then all buffer entries for that sensor will be that sensor’s last ADC conversion prior to it being disabled. buffer write pointer (Sample Level) ----> Index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Byte ACCEL X_L ACCEL X_H ACCEL Y_L ACCEL Y_H ACCEL Z_L ACCEL Z_H MAG X_L MAG X_H MAG Y_L MAG Y_H MAG Z_L MAG Z_H TEMP_L TEMP_H <---- FIFO read pointer <---- FILO read pointer Figure 7(a). One Buffer Sample with accelerometer, temperature sensor and magnetometer all enabled. Index 0 1 2 3 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] Byte ACCEL X_L ACCEL X_H ACCEL Y_L ACCEL Y_H <---- FIFO read pointer © 2015 Kionix – All Rights Reserved Page 45 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications 4 5 6 7 8 9 10 11 12 buffer write pointer (Sample Level) ----> ACCEL Z_L ACCEL Z_H MAG X_L MAG X_H MAG Y_L MAG Y_H MAG Z_L MAG Z_H PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 <---- FILO read pointer Figure 7(b). One Buffer Sample with accelerometer and magnetometer enabled and temperature sensor disabled. Note in Figure 8 the location of the FILO read pointer versus that of the FIFO read pointer. The buffer write pointer shows where the next sample will be written to the buffer. buffer write pointer (Sample Level) → Index Sample 0 Data0 1 Data1 2 Data2 ← FIFO read pointer ← FILO read pointer 3 4 5 6 7 ← Sample Threshold 8 9 Figure 8. Buffer Filling The buffer continues to fill sequentially until the Sample Threshold is reached. Note in Figure 9 the location of the FILO read pointer versus that of the FIFO read pointer. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 46 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications buffer write pointer → Index Sample 0 Data0 1 Data1 2 Data2 3 Data3 4 Data4 5 Data5 6 Data6 7 PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 ← FIFO read pointer ← FILO read pointer ← Sample Threshold 8 9 Figure 9. Buffer Approaching Sample Threshold In FIFO, Stream, and FILO modes, a watermark interrupt is issued when the number of samples in the buffer reaches the Sample Threshold. In trigger mode, this is the point where the oldest data in the buffer is discarded to make room for newer data. Index 0 1 2 3 4 5 6 7 buffer write pointer → Sample Data0 Data1 Data2 Data3 Data4 Data5 Data6 Data7 ← FIFO read pointer ← Sample Threshold/FILO read pointer 8 9 Figure 10. Buffer at Sample Threshold 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 47 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 In trigger mode, data is accumulated in the buffer sequentially until the Sample Threshold is reached. Once the Sample Threshold is reached, the oldest samples are discarded when new samples are collected. Note in Figure 11 how Data0 was thrown out to make room for Data8. Trigger write pointer → Index Sample 0 1 2 3 4 5 6 7 8 9 Data1 Data2 Data3 Data4 Data5 Data6 Data7 Data8 ← Trigger read pointer ← Sample Threshold Figure 11. Additional Data Prior to Trigger Event After a trigger event occurs, the buffer no longer discards the oldest samples, and instead begins accumulating samples sequentially until full. The buffer then stops collecting samples, as seen in Figure 12. This results in the buffer holding SMP_TH[8:0] samples prior to the trigger event, and SMPX samples after the trigger event. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] Index 0 1 2 3 4 5 6 Sample Data1 Data2 Data3 Data4 Data5 Data6 Data7 7 8 9 Data8 Data9 Data10 ← Trigger read pointer ← Sample Threshold © 2015 Kionix – All Rights Reserved Page 48 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Figure 12. Additional Data After Trigger Event In FIFO, Stream, FILO, and Trigger (after a trigger event has occurred) modes, the buffer continues filling sequentially after the Sample Threshold is reached. Sample accumulation after the buffer is full depends on the selected operation mode. FIFO and Trigger modes stop accumulating samples when the buffer is full, and Stream and FILO modes begin discarding the oldest data when new samples are accumulated. Index Sample 0 1 2 3 4 5 6 7 8 9 Data0 Data1 Data2 Data3 Data4 Data5 Data6 Data7 Data8 Data9 ← FIFO read pointer ← Sample Threshold ← FILO read pointer Figure 13. Buffer Full After the buffer has been filled in FILO or Stream mode, the oldest samples are discarded when new samples are collected. Note in Figure 14 how Data0 was thrown out to make room for Data10. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] Index 0 1 2 3 4 5 6 Sample Data1 Data2 Data3 Data4 Data5 Data6 Data7 7 8 9 Data8 Data9 Data10 ← FIFO read pointer ← Sample Threshold ← FILO read pointer © 2015 Kionix – All Rights Reserved Page 49 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Figure 14. Buffer Full – Additional Sample Accumulation in Stream or FILO Mode In FIFO, Stream, or Trigger mode, reading one sample from the buffer will remove the oldest sample and effectively shift the entire buffer contents up, as seen in Figure 15. buffer write pointer → Index Sample 0 Data1 1 Data2 2 Data3 3 Data4 4 Data5 5 Data6 6 Data7 7 Data8 8 Data9 ← FIFO read pointer ← Sample Threshold ← FILO read pointer 9 Figure 15. FIFO Read from Full Buffer In FILO mode, reading one sample from the buffer will remove the newest sample and leave the older samples untouched, as seen in Figure 16. buffer write pointer → Index 0 1 2 3 4 5 6 Sample Data0 Data1 Data2 Data3 Data4 Data5 Data6 7 Data7 8 9 Data8 ← FIFO read pointer ← Sample Threshold ← FILO read pointer Figure 16. FILO Read from Full Buffer 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 50 of 51 Digital 9-axis Magnetometer / Accelerometer / Micro-Amp Magnetic Gyro Specifications PART NUMBER: KMX62G-1033 Rev. 1.0 May 2015 Revision History REVISION 1.0 DESCRIPTION Initial Release DATE 29 May 2015 "Kionix" is a registered trademark of Kionix, Inc. Products described herein are protected by patents issued or pending. No license is granted by implication or otherwise under any patent or other rights of Kionix. The information contained herein is believed to be accurate and reliable but is not guaranteed. Kionix does not assume responsibility for its use or distribution. Kionix also reserves the right to change product specifications or discontinue this product at any time without prior notice. This publication supersedes and replaces all information previously supplied. 36 Thornwood Dr. – Ithaca, NY 14850 tel: 607-257-1080 – fax:607-257-1146 www.kionix.com - [email protected] © 2015 Kionix – All Rights Reserved Page 51 of 51