High Precision Tri-Axis Inertial Sensor ADIS16354 FEATURES FUNCTIONAL BLOCK DIAGRAM AUX_ADC Tri-axis gyroscope with digital range scaling ±75°/s, ±150°/s, ±300°/s settings 14-bit resolution Tri-axis accelerometer ±1.7 g measurement range, 14-bit resolution 350 Hz bandwidth Factory calibrated sensitivity, bias, and alignment Calibration temperature range: −20°C to +70°C Operating temperature range: −40°C to +85°C Digitally controlled bias calibration Digitally controlled sample rate Digitally controlled filtering Programmable condition monitoring Auxiliary digital input/output Digitally activated self-test Programmable power management Embedded temperature sensor SPI-compatible serial interface Auxiliary 12-bit ADC input and DAC output Single-supply operation: 4.75 V to 5.25 V 2000 g shock survivability AUX_DAC TEMPERATURE SENSORS ADIS16354 TRI-AXIS MEMS ANGULAR RATE SENSOR SIGNAL CONDITIONING AND CONVERSION CALIBRATION AND DIGITAL PROCESSING CS SCLK SPI PORT DIGITAL CONTROL SELF-TEST DIN DOUT VCC TRI-AXIS MEMS ACCELERATION SENSOR GND ALARMS RST AUX I/O DIO1 DIO2 07135-001 POWER MANAGEMENT Figure 1. APPLICATIONS Guidance and control Platform control and stabilization Motion control and analysis Inertial measurement units General navigation Image stabilization Robotics GENERAL DESCRIPTION The ADIS16354 iSensor™ is a complete triple axis gyroscope and triple axis accelerometer inertial sensing system. This sensor combines the Analog Devices, Inc., iMEMS® and mixed signal processing technology to produce a highly integrated solution, providing calibrated, digital inertial sensing. An SPI interface and simple output register structure allow for easy access to data and configuration controls. The SPI port provides access to the following embedded sensors: X-, Y-, and Z-axis angular rates; X-, Y-, and Z-axis linear acceleration; internal temperature; power supply; and auxiliary analog input. The inertial sensors are precision-aligned across axes, and are calibrated for offset and sensitivity over a temperature range of −20°C to +70°C. An embedded controller dynamically compensates for all major influences on the MEMS sensors, thus maintaining highly accurate sensor outputs without further testing, circuitry, or user intervention. The following programmable features simplify system integration: • • • • • • In-system autobias calibration Digital filtering and sample rate Self-test Power management Condition monitoring Auxiliary digital input/output This compact module is approximately 23 mm × 23 mm × 23 mm and provides a convenient flex-based connector system. Rev. 0 Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. Specifications subject to change without notice. No license is granted by implication or otherwise under any patent or patent rights of Analog Devices. Trademarks and registered trademarks are the property of their respective owners. One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 www.analog.com Fax: 781.461.3113 ©2008 Analog Devices, Inc. All rights reserved. ADIS16354 TABLE OF CONTENTS Features .............................................................................................. 1 Control Register Structure ........................................................ 12 Applications....................................................................................... 1 Auxiliary ADC Function........................................................... 12 Functional Block Diagram .............................................................. 1 Basic Operation .............................................................................. 13 General Description ......................................................................... 1 Serial Peripheral Interface (SPI)............................................... 13 Revision History ............................................................................... 2 Data Output Register Access .................................................... 14 Specifications..................................................................................... 3 Programming and Control............................................................ 16 Timing Specifications .................................................................. 5 Control Register Overview ....................................................... 16 Timing Diagrams.......................................................................... 5 Control Register Structure ........................................................ 16 Absolute Maximum Ratings............................................................ 6 Calibration................................................................................... 17 ESD Caution.................................................................................. 6 Global Commands ..................................................................... 17 Pin Configuration and Function Descriptions............................. 7 Operational Control................................................................... 18 Typical Performance Characteristics ............................................. 8 Status and Diagnostics............................................................... 20 Theory of Operation ...................................................................... 12 Applications Information .............................................................. 23 Overview...................................................................................... 12 Installation Guidelines............................................................... 23 Gyroscope Sensor....................................................................... 12 Outline Dimensions ....................................................................... 25 Accelerometer Sensor ................................................................ 12 Ordering Guide .......................................................................... 25 Factory Calibration .................................................................... 12 REVISION HISTORY 1/08—Revision 0: Initial Version Rev. 0 | Page 2 of 28 ADIS16354 SPECIFICATIONS TA = −40°C to +85°C, VCC = 5.0 V, angular rate = 0°/s, dynamic range = 300°/sec, ±1 g, unless otherwise noted. Table 1. Parameter GYROSCOPE SENSITIVITY Initial Sensitivity Temperature Coefficient Gyroscope Axis Nonorthogonality Gyroscope Axis Misalignment Nonlinearity GYROSCOPE BIAS In Run Bias Stability Angular Random Walk Temperature Coefficient Linear Acceleration Effect Voltage Sensitivity GYROSCOPE NOISE PERFORMANCE Output Noise Rate Noise Density GYROSCOPE FREQUENCY RESPONSE 3 dB Bandwidth Sensor Resonant Frequency GYROSCOPE SELF-TEST STATE Change for Positive Stimulus Change for Negative Stimulus Internal Self-Test Cycle Time ACCELEROMETER SENSITIVITY Dynamic Range Initial Sensitivity Temperature Coefficient Axis Nonorthogonality Axis Misalignment Nonlinearity ACCELEROMETER BIAS Velocity Random Walk Temperature Coefficient ACCELEROMETER NOISE PERFORMANCE Output Noise Noise Density ACCELEROMETER FREQUENCY RESPONSE 3 dB Bandwidth Sensor Resonant Frequency ACCELEROMETER SELF-TEST STATE Output Change When Active TEMPERATURE SENSOR Output at 25°C Scale Factor Conditions Each axis 25°C, dynamic range = ±300°/s 25°C, dynamic range = ±150°/s 25°C, dynamic range = ±75°/s See Figure 6, −20°C to +70°C 25°C, difference from 90° ideal 25°C, relative to base-plate and guide pins Best fit straight line Min Typ Max Unit 0.0725 0.07326 0.03663 0.01832 40 ±0.05 ±0.5 0.1 0.0740 °/s/LSB °/s/LSB °/s/LSB ppm/°C Degree Degree % of FS 25°C, 1 σ 25°C See Figure 7, −20°C to +70°C Any axis, 1 σ (linear acceleration bias compensation enabled) VCC = 4.75 V to 5.25 V 0.015 4.2 0.01 0.05 °/s °/√hr °/s/°C °/s/g 0.25 °/s/V 25°C, ±300°/s range, 2-tap filter setting 25°C, ±150°/s range, 8-tap filter setting 25°C, ±75°/s range, 32-tap filter setting 25°C, f = 25 Hz, ±300°/s, no filtering 0.60 0.35 0.17 0.05 °/s rms °/s rms °/s rms °/s/√Hz rms 350 14 Hz kHz ±300°/s range setting ±300°/s range setting 432 −432 723 −723 35 1105 −1105 0.4625 40 ±0.2 ±0.5 ±0.2 0.4672 LSB LSB ms Each axis 25°C −20°C to +70°C 25°C, difference from 90° ideal 25°C, relative to base-plate and guide pins Best fit straight line ±1.7 0.4578 g mg/LSB ppm/°C Degree Degree % of FS 25°C 0.135 0.25 m/s/√hr mg/°C 25°C, no filtering 25°C, no filtering 4.7 0.24 mg rms mg/√Hz rms 350 5.5 Hz kHz 434 744 0 6.88 Rev. 0 | Page 3 of 28 1052 LSB LSB LSB/°C ADIS16354 Parameter ADC INPUT Resolution Integral Nonlinearity Differential Nonlinearity Offset Error Gain Error Input Range Input Capacitance DAC OUTPUT Resolution Relative Accuracy Differential Nonlinearity Offset Error Gain Error Output Range Output Impedance Output Settling Time LOGIC INPUTS 1 Input High Voltage, VINH Input Low Voltage, VINL Logic 1 Input Current, IINH Logic 0 Input Current, IINL All Except RST RST Input Capacitance, CIN DIGITAL OUTPUTS1 Output High Voltage, VOH Output Low Voltage, VOL SLEEP TIMER Timeout Period 2 FLASH MEMORY Endurance 3 Data Retention 4 CONVERSION RATE Maximum Sample Rate Minimum Sample Rate START-UP TIME 5 Initial Power-Up Sleep Mode Recovery POWER SUPPLY Operating Voltage Range, VCC Power Supply Current Conditions Min Typ Max 12 ±2 ±1 ±4 ±2 0 During acquisition 5 kΩ/100 pF to GND 2.5 20 12 ±4 ±1 ±5 ±0.5 For Code 101 to Code 4095 2.5 2 10 2.0 For −CS signal when used to wake up from sleep mode VIH = 3.3 V VIL = 0 V ISOURCE = 1.6 mA ISINK = 1.6 mA 0.55 V ±0.2 ±10 μA −40 −1 10 −60 μA mA pF 0.4 V V 128 Sec 10,000 20 4.75 Normal mode at 25°C Fast mode at 25°C Sleep mode at 25°C 1 Bits LSB LSB mV % V Ω μs V V 0.5 SMPL_PRD = 0x01 SMPL_PRD = 0xFF Bits LSB LSB LSB LSB V pF 0.8 2.4 TJ = 85°C Unit Cycles Years 819.2 0.413 SPS SPS 150 3 ms ms 5.0 33 57 500 5.25 V mA mA μA The digital I/O signals are driven by an internal 3.3 V supply and the inputs are 5 V tolerant. Guaranteed by design. 3 Endurance is qualified as per JEDEC Standard 22, Method A117 and measured at −40°C, +25°C, +85°C, and +125°C. 4 Retention lifetime equivalent at junction temperature (TJ) 85°C as per JEDEC Standard 22, Method A117. Retention lifetime decreases with junction temperature. 5 This is defined as the time from wake-up to the first conversion. This time does not include sensor settling time, which is dependent on the filter settings. 2 Rev. 0 | Page 4 of 28 ADIS16354 TIMING SPECIFICATIONS TA = 25°C, VCC = 5.0 V, angular rate = 0°/s, unless otherwise noted. Table 2. Parameter fSCLK Min 1 0.01 10 40 160 9 75 48.8 Description Fast mode, SMPL_PRD ≤ 0x09 (fS ≥ 164 Hz) Normal mode, SMPL_PRD ≥ 0x0A (fS ≤ 149 Hz) Data rate time, fast mode, SMPL_PRD ≤ 0x09 (fS ≥ 164 Hz) Data rate time, normal mode, SMPL_PRD ≥ 0x0A (fS ≤ 149 Hz) Data stall time, fast mode, SMPL_PRD ≤ 0x09 (fS ≥ 164 Hz) Data stall time, normal mode, SMPL_PRD ≥ 0x0A (fS ≤ 149 Hz) Chip select to clock edge Data output valid after SCLK falling edge 2 Data input setup time before SCLK rising edge Data input hold time after SCLK rising edge Data output fall time Data output rise time CS high after SCLK edge 3 tDATARATE tDATASTALL tCS tDAV tDSU tDHD tDF tDR tSFS Typ Max1 2 300 100 24.4 48.8 5 5 12.5 12.5 5 1 Unit MHz kHz μs μs μs μs ns ns ns ns ns ns ns Guaranteed by design, not production tested. 2 The MSB presents an exception to this parameter. The MSB clocks out on the falling edge of CS. The rest of the DOUT bits are clocked after the falling edge of SCLK and are governed by this specification. 3 This parameter may need to be expanded to allow for proper capture of the LSB. After CS goes high, the DOUT line goes into a high impedance state. TIMING DIAGRAMS tDATARATE CS 07135-002 SCLK tDATASTALL Figure 2. SPI Chip Select Timing CS tCS SCLK tSFS 1 2 3 4 5 6 15 16 tDAV MSB DB14 DB13 tDSU DIN W/R DB12 DB11 A4 A3 DB10 DB2 DB1 LSB tDHD A5 A2 D2 D1 Figure 3. SPI Timing, Utilizing SPI Settings Typically Identified as Phase = 1, Polarity = 1 Rev. 0 | Page 5 of 28 LSB 07135-003 DOUT ADIS16354 ABSOLUTE MAXIMUM RATINGS Table 3. Parameter Acceleration Any Axis, Unpowered Any Axis, Powered VCC to GND Digital Input/Output Voltage to COM Analog Inputs to COM Operating Temperature Range Storage Temperature Range Rating 2000 g 2000 g −0.3 V to +6.0 V −0.3 V to +5.3 V −0.3 V to +3.6 V −40°C to +85°C −65°C to +125°C1, 2 Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; functional operation of the device at these or any other conditions above those indicated in the operational section of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Table 4. Package Characteristics Package Type 24-Lead Module 1 Extended exposure to temperatures outside the specified temperature range of −40°C to +85°C can adversely affect the accuracy of the factory calibration. For best accuracy, store the parts within the specified operating range of −40°C to +85°C. 2 Although the device is capable of withstanding short-term exposure to 150°C, long-term exposure threatens internal mechanical integrity. ESD CAUTION Rev. 0 | Page 6 of 28 θJA 39.8°C/W θJC 14.2°C/W Device Weight 16 grams ADIS16354 PIN CONFIGURATION AND FUNCTION DESCRIPTIONS ADIS16354 DIN DIO1 DIO2 VCC GND GND DNC DNC AUX_ADC DNC 5 7 9 11 13 15 17 19 21 23 2 4 6 8 10 12 14 16 18 20 22 24 DNC RST VCC VCC GND DNC DNC AUX_DAC DNC DNC NOTES 1. CONNECTOR PINS ARE NOT VISIBLE FROM THE TOP VIEW. 2. THIS REPRESENTATION DISPLAYS THE TOP VIEW PINOUT FOR THE MATING SOCKET CONNECTOR. 3. DNC = DO NOT CONNECT. 07135-032 SCLK 3 CS DNC 1 DOUT TOP VIEW (Not to Scale) Figure 4. Pin Configuration, Connector Top View Table 5. Pin Function Descriptions Pin No. 1, 2, 16 to 19, 22 to 24 3 4 5 6 7 8 9 10 to 12 13 to 15 20 21 Type 1 N/A I O I I I/O I I/O S S O I Description Do Not Connect SPI Serial Clock SPI Data Output SPI Data Input SPI Chip Select Digital Input/Output Reset Digital Input/Output Power Supply Power Ground Auxiliary, 12-Bit, DAC Output Auxiliary, 12-Bit, ADC Input S = supply, O = output, I = input. PIN 1 PIN 23 TOP VIEW Z X Y PIN 2 PIN 24 FLEX TO HOUSING 2 23 Figure 5. Pin Configuration, Connector Top View Rev. 0 | Page 7 of 28 1 POINT OF PERCUSSION (WHEN LINEAR ACCELEROMETER ORIGIN ALIGNMENT ENABLED) 07135-004 1 Mnemonic DNC SCLK DOUT DIN CS DIO1 RST DIO2 VCC GND AUX_DAC AUX_ADC ADIS16354 TYPICAL PERFORMANCE CHARACTERISTICS 0.4 12 0.3 8 0.2 4 BIAS (mg) SENSITIVITY (%) +1σ 0.1 µ 0 –1σ –0.1 µ +1σ 0 –4 –1σ –0.2 –5 10 25 40 55 70 TEMPERATURE (°C) –12 –20 07135-005 –0.4 –20 –5 10 25 40 TEMPERATURE (°C) 55 70 07135-008 –8 –0.3 Figure 9. Accelerometer Bias vs. Temperature Figure 6. Gyroscope Sensitivity vs. Temperature 1.00 1 ROOT ALLAN VARIANCE (g) 0.75 0.50 +1σ BIAS (°/s) 0.25 µ 0 –1σ –0.25 –0.50 0.1 +1σ µ 0.01 –1σ –5 10 25 40 55 70 TEMPERATURE (°C) 0.001 0.01 07135-006 –1.00 –20 0.1 1 10 100 1000 INTEGRATION TIME (Seconds) Figure 7. Gyroscope Bias vs. Temperature 07135-009 –0.75 Figure 10. Gyroscope Root Allan Variance 14.05 0.4 13.95 13.85 SENSITIVITY (°/s/LSB) 0 +1σ µ –1σ +1σ 13.75 µ 13.65 13.55 –1σ 13.45 –0.2 –0.4 –20 –5 10 25 40 TEMPERATURE (°C) 55 70 13.25 –360 –270 –180 –90 0 90 180 RATE (°/s) Figure 11. Gyroscope Linearity Figure 8. Accelerometer Sensitivity vs. Temperature Rev. 0 | Page 8 of 28 270 360 07135-010 13.35 07135-007 SENSITIVITY (%) 0.2 ADIS16354 35 PERCENTAGE OF POPULATION (%) ROOT ALLAN VARIANCE (g) 0.01 0.001 µ +1σ 0.0001 30 25 20 15 10 5 0.1 1 10 INTEGRATION TIME (Seconds) 100 0 07135-011 0.00001 0.01 –0.3 0 0.1 0.2 0.3 0.4 Figure 15. Gyroscope Bias Voltage Power Supply Sensitivity, 25°C 45 0.8 40 0.4 +1σ 0.2 µ 0 –0.2 –1σ –0.4 –0.8 –2.55 –1.70 –0.85 0 0.85 ACCELERATION (g) 1.70 2.55 30 25 20 15 10 5 0 –0.25 07135-012 –0.6 35 Figure 13. Accelerometer Nonlinearity –0.15 –0.05 0.05 0.15 ACCELEROMETER SENSITIVITY ERROR (%) 0.25 07135-015 PERCENTAGE OF POPULATION (%) 0.6 Figure 16. Accelerometer Sensitivity Error Distribution, 25°C 20 40 18 PERCENTAGE OF POPULATION (%) 45 35 30 25 20 15 10 5 16 14 12 10 8 6 4 2 –0.1 0 0.1 0.2 0.3 SENSITIVITY ERROR (%) 0.4 0 –0.10 –0.08 –0.06 –0.04 –0.02 07135-013 0 0 0.02 0.04 0.06 0.08 0.10 (°/s/g) Figure 14. Gyroscope Sensitivity Error, 25°C Figure 17. Gyroscope Bias Sensitivity to Linear Acceleration, 25°C Rev. 0 | Page 9 of 28 07135-016 NONLINEARITY (%) –0.1 BIAS VOLTAGE SENSITIVITY (°/s/V) Figure 12. Accelerometer Root Allan Variance PERCENTAGE OF POPULATION (%) –0.2 07135-014 –1σ ADIS16354 45 40 25 20 15 10 5 0 –0.10 –0.08 –0.06 –0.04 –0.02 0 0.02 0.04 0.06 0.08 0.10 GYROSCOPE AXIS NONORTHOGONALITY (°) 30 25 20 15 10 5 0 –0.5 –0.4 –0.3 –0.2 –0.1 0 0.1 0.2 0.3 0.4 ACCELEROMETER AXIS NONORTHOGONALITY (°) 0.5 Figure 21. Accelerometer Alignment Distribution, 25°C Figure 18. Gyroscope Alignment Distribution, 25°C 30 25 20 15 10 5 0 53.0 53.5 54.0 54.5 55.0 55.5 56.0 56.5 57.0 57.5 58.0 FAST MODE CURRENT (mA) 50 40 30 20 10 0 30.0 30.5 31.0 31.5 32.0 32.5 33.0 33.5 34.0 NORMAL MODE CURRENT (mA) 07135-021 PERCENTAGE OF POPULATION (%) 60 07135-018 PERCENTAGE OF POPULATION (%) 35 07135-020 PERCENTAGE OF POPULATION (%) 30 07135-017 PERCENTAGE OF POPULATION (%) 35 Figure 22. Normal Mode Power Supply Current Distribution, 25°C Figure 19. Fast Mode Power Supply Current Distribution, 25°C 0.5 30 PERCENTAGE OF POPULATION (%) 0.4 0.3 0.1 0 –0.1 –0.2 –0.3 20 15 10 5 Figure 20. Long-Term Bias Stability, 25°C 0 45 46 47 48 49 50 51 52 53 54 55 56 57 58 GYROSCOPE POSITIVE SELF-TEST (°/s) Figure 23. Gyroscope Positive Self-Test Distribution, 25°C Rev. 0 | Page 10 of 28 07135-022 20:19 19:27 18:35 07135-019 TIME (Hour:Minute) 17:44 16:52 16:00 15:09 14:17 13:25 12:33 11:42 9:58 10:50 9:06 8:15 7:07 6:02 5:10 4:19 3:27 2:35 1:43 –0.5 0.00 –0.4 0:51 BIAS (°/s) 0.2 25 ADIS16354 70 15 10 5 0 –57 –56 –55 –54 –53 –52 –51 –50 –49 –48 –47 –46 –45 –44 GYROSCOPE NEGATIVE SELF-TEST (°/s) 60 50 40 30 20 10 0 0.22 0.26 0.30 0.34 0.38 0.42 ACCELEROMETER SELF-TEST RESPONSE (g) Figure 25. Accelerometer Self-Test Distribution, 25°C Figure 24. Gyroscope Negative Self-Test Distribution, 25°C Rev. 0 | Page 11 of 28 0.46 07135-024 PERCENTAGE OF POPULATION (%) 20 07135-023 PERCENTAGE OF POPULATION (%) 25 ADIS16354 THEORY OF OPERATION OVERVIEW CONTROL REGISTER STRUCTURE The ADIS16354 integrates three orthogonal axes of gyroscope sensors with three orthogonal axes of accelerometer sensors, creating the basic six degrees of freedom (6DOF) in a single package. The accelerometers are oriented along the axis of rotation for each gyroscope. These six sensing elements are held together by a mechanical structure that provides tight force and motion coupling. Each sensor’s output signal is sampled using an ADC, and then the digital data is fed into a proprietary digital processing circuit. The digital processing circuit applies the correction tables to each sensor’s output, manages the input/output function using a simple register structure and serial interface, and provides many other features that simplify system-level designs. The ADIS16354 provides configuration control to many critical operating parameters by using a dual-memory register structure. The volatile SRAM register locations control operation of the part while the nonvolatile flash memory locations preserve the configuration settings. Updating a register’s contents only affects its SRAM location. Preserving the updates in its corresponding flash memory location requires initiation of the flash update command. This helps reduce the number of write cycles to the flash memory and consequently increases the endurance of the flash memory. During startup and reset-recovery sequences, the flash memory contents are automatically loaded into the SRAM register locations. GYROSCOPE SENSOR The auxiliary ADC function integrates a standard 12-bit ADC into the ADIS16354 to digitize other system-level analog signals. The output of the ADC can be monitored through the AUX_ADC register, as defined in Table 7. The ADC is a 12-bit successive approximation converter. The output data is presented in straight binary format with the full-scale range extending from 0 V to 2.5 V. ACCELEROMETER SENSOR The core acceleration sensor used in the ADIS16354 is a surface micromachined polysilicon structure built on top of the silicon wafer. Polysilicon springs suspend the structure over the surface of the wafer and provide a resistance against acceleration forces. Deflection of the structure is measured using a differential capacitor that consists of independent fixed plates and central plates attached to the moving mass. Acceleration deflects the beam and unbalances the differential capacitor, resulting in a differential output that is fed to a series of gain and demodulation stages that produce the electrical rate signal output. Figure 26 shows the equivalent circuit of the analog input structure of the ADC. The input capacitor (C1) is typically 4 pF and can be attributed to parasitic package capacitance. The two diodes provide ESD protection for the analog input. Care must be taken to ensure that the analog input signals are never outside the range of −0.3 V to +3.5 V. Signals outside this range causes the diodes to become forward-biased and to start conducting. The diodes can handle 10 mA without causing irreversible damage. The resistor is a lumped component that represents the on resistance of the switches. The value of this resistance is typically 100 Ω. Capacitor C2 represents the ADC sampling capacitor and is typically 16 pF. VDD D C1 FACTORY CALIBRATION The ADIS16354 provides a factory calibration that simplifies the process of integrating it into system-level designs. This calibration provides correction for initial sensor bias and sensitivity, power supply variation, temperature variation, axial alignment, and linear acceleration (gyroscopes). An extensive, three-dimensional characterization provides the basis for generating correction tables for each individual sensor. D R1 C2 07135-025 The core MEMS angular rate sensor (gyroscope) used in the ADIS16354 operates on the principle of a resonator gyroscope. Two polysilicon sensing structures each contain a dither frame, which is electrostatically driven to resonance. This provides the velocity element required to produce a Coriolis force during rotation. At two of the outer extremes of each frame, orthogonal to the dither motion, are movable fingers, which are placed between fixed fingers to form a capacitive pickoff structure that senses Coriolis motion. The resulting signal is fed to a series of gain and demodulation stages that produce the electrical rate signal output. AUXILIARY ADC FUNCTION Figure 26. Equivalent Analog Input Circuit Conversion Phase: Switch Open Track Phase: Switch Closed For ac applications, removing high frequency components from the analog input signal is recommended by the use of a low-pass filter on the analog input pin. In applications where harmonic distortion and signal-to-noise ratios are critical, the analog input must be driven from a low impedance source. Large source impedances significantly affect the ac performance of the ADC. This can necessitate the use of an input buffer amplifier. When no input amplifier is used to drive the analog input, the source impedance should be limited to values lower than 1 kΩ. Rev. 0 | Page 12 of 28 ADIS16354 BASIC OPERATION The ADIS16354 is designed for simple integration into system designs, requiring only a 5.0 V power supply and a 4-wire, industry-standard serial peripheral interface (SPI). All outputs and user-programmable functions are handled by a simple register structure. Each register is 16 bits in length and has its own unique bit map. The 16 bits in each register consist of an upper byte (D8 to D15) and a lower byte (D0 to D7), each with its own 6-bit address. Writing to Registers SERIAL PERIPHERAL INTERFACE (SPI) Reading the contents of a register requires a modification to the sequence illustrated in Figure 27. In this case, the first two bits in the DIN sequence are 0, followed by the address of the register. Each register has two addresses (an upper address and a lower address), but either one can be used to access the entire 16 bits of data. The final eight bits of the DIN sequence are irrelevant and can be counted as don’t cares during a read command. During the next data frame, the DOUT sequence contains the register’s 16-bit data, as shown in Figure 28. Although a single read command requires two separate data frames, the full-duplex mode minimizes this overhead, requiring only one extra data frame when continuously sampling. Figure 27 displays a typical data frame for writing a command to a control register. In this case, the first bit of the DIN sequence is a 1, followed by a 0, the 6-bit address of the target register, and the 8-bit data command. Because each write command covers a single byte of data, two data frames are required when writing the entire 16-bit space of a register. Reading from Registers The ADIS16354 serial peripheral interface (SPI) port includes four signals: chip select (CS), serial clock (SCLK), data input (DIN), and data output (DOUT). The CS line enables the ADIS16354 SPI port and frames each SPI event. When this signal is high, the DOUT line is in a high impedance state and the signals on DIN and SCLK have no impact on operation. A complete data frame contains 16 clock cycles. Because the SPI port operates in full-duplex mode, it supports simultaneous, 16-bit receive (DIN) and transmit (DOUT) functions during the same data frame. This enables the user to configure the next read cycle, while, at the same time, receiving the data associated with the previous configuration. Refer to Table 2, Figure 2, and Figure 3 for detailed information regarding timing and operation of the SPI port. DATA FRAME CS SCLK W/R A5 A4 A3 A2 A1 A0 REGISTER ADDRESS WRITE = 1 READ = 0 DC7 DC6 DC5 DC4 DC3 DC2 DC1 DATA FOR WRITE COMMANDS DON’T CARE FOR READ COMMANDS DC0 07135-026 DIN Figure 27. DIN Bit Sequence CS DATA FRAME DATA FRAME SCLK W/R BIT DOUT ADDRESS DON’T CARE NEXT COMMAND ZERO BASED ON PREVIOUS COMMAND 16-BIT REGISTER CONTENTS Figure 28. SPI Sequence for Read Commands Rev. 0 | Page 13 of 28 07135-027 DIN ADIS16354 DATA OUTPUT REGISTER ACCESS The ADIS16354 provides access to a full 6DOF set of calibrated motion measurements, power supply measurements, temperature measurements, and an auxiliary 12-bit ADC channel. This output data is continuously updated internally, regardless of user read rates. Table 6 describes the structure of all ADIS16354 output data registers. Table 6. Output Register Bit Map MSB LSB ND EA D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 The EA bit indicates a system error or an alarm condition that can result from various conditions, such as a power supply outof-range condition. See the Status and Diagnostics section for more details. The output data is either 12 bits or 14 bits in length. For the 12-bit output data, Bit D13 and Bit D12 are assigned don’t-care status. The output data register map is located in Table 7 and provides all of the necessary details for accessing each register’s data. Table 8 displays the output coding for the gyroscope output registers and Table 9 provides the output coding for the acceleration registers. Figure 29 provides an example of an SPI read cycle for the XGYRO_OUT register. The MSB holds the new data (ND) indicator. When the output registers are updated with new data, the ND bit goes to a 1 state. After the output data is read, it returns to a 0 state. Table 7. Data Output Register Information Name SUPPLY_OUT XGYRO_OUT YGYRO_OUT ZGYRO_OUT XACCL_OUT YACCL_OUT ZACCL_OUT XTEMP_OUT 2 YTEMP_OUT2 ZTEMP_OUT2 AUX_ADC 1 2 Function Power supply measurement X-axis gyroscope output measurement Y-axis gyroscope output measurement Z-axis gyroscope output measurement X-axis acceleration output measurement Y-axis acceleration output measurement Z-axis acceleration output measurement X-axis gyroscope sensor temperature measurement Y-axis gyroscope sensor temperature measurement Z-axis gyroscope sensor temperature measurement Auxiliary analog input data Addresses 0x03, 0x02 0x05, 0x04 0x07, 0x06 0x09, 0x08 0x0B, 0x0A 0x0D, 0x0C 0x0F, 0x0E 0x11, 0x10 0x13, 0x12 0x15, 0x14 0x17, 0x16 Data Length 12 bits 14 bits 14 bits 14 bits 14 bits 14 bits 14 bits 12 bits 12 bits 12 bits 12 bits Data Format Binary Twos complement Twos complement Twos complement Twos complement Twos complement Twos complement Twos complement Twos complement Twos complement Binary Scale Factor (per LSB) 1.8315 mV 0.07326 °/s 1 0.07326 °/s1 0.07326 °/s1 0.4672 mg 0.4672 mg 0.4672 mg 0.1453°C 0.1453°C 0.1453°C 0.6105 mV Assumes that the scaling is set to 300°/s. Typical condition, 25°C = 0 LSB. Table 8. Output Coding Example, XGYRO_OUT, YGYRO_OUT, and ZGYRO_OUT 1, 2 ±300°/s Range 80°/s 40°/s 0.07326°/s 0°/s −0.07326°/s −40°/s −80°/s 1 2 Rate of Rotation ±150°/s Range 40°/s 20°/s 0.03663°/s 0°/s −0.03663°/s −20°/s −40°/s ±75°/s Range 20°/s 10°/s 0.018315°/s 0°/s −0.018315°/s −10°/s −20°/s Binary Output 00 0100 0100 0100 00 0010 0010 0010 00 0000 0000 0001 00 0000 0000 0000 11 1111 1111 1111 11 1101 1101 1110 11 1011 1011 1100 Hexadecimal Output 0x0444 0x0222 0x0001 0x0000 0x3FFF 0x3DDE 0x3BBC Decimal 1092 546 1 0 −1 −546 −1092 The binary output includes the data bits for the output registers, which, in this case, are D0 to D13, per Table 6. Bits assigned EA and ND are not included. Zero offset null performance is assumed. Rev. 0 | Page 14 of 28 ADIS16354 Table 9. Output Coding Example, XACCL_OUT, YACCL_OUT, and ZACCL_OUT 1, 2 Acceleration (mg) 467.2 185.2 0.4672 0 −0.4672 −185.2 −467.2 2 Hexadecimal Output 0x03E8 0x018D 0x0001 0x0000 0x3FFF 0x3E73 0x3C18 Decimal 1000 397 1 0 −1 −397 −1000 The binary output includes the data bits for the output registers, which, in this case, are D0 to D13, per Table 6. Bits assigned EA and ND are not included. Zero offset null performance is assumed. CS SCLK DIN W/R BIT = 0 ADDRESS = 000101 DOUT DATA = 1011 1101 1101 1110 NEW DATA, NO ALARM, XGYRO_OUT = –40°/s NOTE: ±300°/s DYNAMIC RANGE SETTING Figure 29. Example Read Cycle Rev. 0 | Page 15 of 28 07135-028 1 Binary Output 00 0011 1110 1000 00 0001 1000 1101 00 0000 0000 0001 00 0000 0000 0000 11 1111 1111 1111 11 1110 0111 0011 11 1100 0001 1000 ADIS16354 PROGRAMMING AND CONTROL CONTROL REGISTER OVERVIEW CONTROL REGISTER STRUCTURE The ADIS16354 offers many programmable features controlled by writing commands to the appropriate control registers using the SPI. The following sections describe these controls and specify each function, along with the corresponding register configuration. The features available for configuration in this register space are: The ADIS16354 uses a temporary, RAM-based memory structure to facilitate the control registers listed in Table 10. The operational configuration is stored in a flash memory structure that automatically loads into the control registers during the start-up sequence. Each nonvolatile register has a corresponding flash memory location for storing the latest configuration contents. The contents of each nonvolatile register must be stored to flash manually. • • • • Calibration Global commands Operational control • Sample rate • Power management • Digital filtering • Dynamic range • DAC output • Digital input/output Operational status and diagnostics • Self-test • Status conditions • Alarms Note that the contents of these registers are nonvolatile after they are stored to flash. The flash update command, available in the COMMAND register, provides this function. The ENDURANCE register provides a counter, which allows for reliability management against the flash memory’s write cycle specification. Table 10. Control Register Mapping Register Name ENDURANCE Type R R Volatility Nonvolatile Volatile XGYRO_OFF YGYRO_OFF ZGYRO_OFF XACCL_OFF YACCL_OFF ZACCL_OFF ALM_MAG1 ALM_MAG2 ALM_SMPL1 ALM_SMPL2 ALM_CTRL AUX_DAC GPIO_CTRL MSC_CTRL SMPL_PRD SENS/AVG SLP_CNT STATUS COMMAND R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R W Nonvolatile Nonvolatile Nonvolatile Nonvolatile Nonvolatile Nonvolatile Nonvolatile Nonvolatile Nonvolatile Nonvolatile Nonvolatile Volatile Volatile Nonvolatile 1 Nonvolatile Nonvolatile Volatile Volatile N/A 1 Addresses 0x00, 0x01 0x02 to 0x17 0x18, 0x19 0x1A, 0x1B 0x1C, 0x1D 0x1E, 0x1F 0x20, 0x21 0x22, 0x23 0x24, 0x25 0x26, 0x27 0x28, 0x29 0x2A, 0x2B 0x2C, 0x2D 0x2E, 0x2F 0x30, 0x31 0x32, 0x33 0x34, 0x35 0x36, 0x37 0x38, 0x39 0x3A, 0x3B 0x3C, 0x3D 0x3E, 0x3F Bytes 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Function Flash memory write count Output data Reserved X-axis gyroscope bias offset factor Y-axis gyroscope bias offset factor Z-axis gyroscope bias offset factor X-axis acceleration bias offset factor Y-axis acceleration bias offset factor Z-axis acceleration bias offset factor Alarm 1 amplitude threshold Alarm 2 amplitude threshold Alarm 1 sample period Alarm 2 sample period Alarm control Auxiliary DAC data Auxiliary digital input/output control Miscellaneous control Internal sample period (rate) control Dynamic range/digital filter control Sleep mode control System status System command The contents of the lower byte are nonvolatile; the contents of the upper byte are volatile. Rev. 0 | Page 16 of 28 Reference Tables Table 30 Table 7 Table 11, Table 12 Table 11, Table 12 Table 11, Table 12 Table 13, Table 14 Table 13, Table 14 Table 13, Table 14 Table 33, Table 34 Table 33, Table 34 Table 35, Table 36 Table 35, Table 36 Table 37, Table 38 Table 23, Table 24 Table 25, Table 26 Table 28, Table 29 Table 17, Table 18 Table 21, Table 22 Table 19, Table 20 Table 31, Table 32 Table 15, Table 16 ADIS16354 CALIBRATION Precision Automatic Bias Null Calibration For applications that require point-of-use calibration, the ADIS16354 provides bias correction registers for all six sensors. Table 11, Table 12, Table 13, and Table 14 provide the details required for using these registers to calibrate the ADIS16354 sensors. The ADIS16354 also provides a single-command function that incorporates the optimal averaging time for generating the appropriate bias correction factors for all three gyroscope sensors. This command requires approximately 30 seconds to complete. For optimal calibration accuracy, the device should be stable (no motion) for this entire period. Once it has started, a reset command is required to stop it prematurely, if required. The following sequence starts this calibration option (see Table 16): Table 11. Gyroscope Bias Correction Registers Register XGYRO_OFF YGYRO_OFF ZGYRO_OFF Addresses 0x1B, 0x1A 0x1D, 0x1C 0x1F, 0x1E Common Parameters Default value = 0x0000 Scale = 0.018315°/s per LSB Twos complement, read/write Restoring Factory Calibration The ADIS16354 factory calibration can be restored by returning the contents of each bias correction register to their default value of zero. This command also flushes all of the data from the digital filter taps. To accomplish this function for all six sensor signal paths (see Table 16), Table 12. Gyroscope Bias Correction Register Bits Bits [15:13] [12:0] Write 0x10 to Address 0x3E Description Not used Data bits, typical adjustment range = ±75° Write 0x02 to Address 0x3E Table 13. Accelerometer Bias Correction Registers Register XACCL_OFF YACCL_OFF ZACCL_OFF Addresses 0x21, 0x20 0x23, 0x22 0x25, 0x24 Common Parameters Default value = 0x0000 Scale = 0.4672 mg per LSB Twos complement, read/write Linear Acceleration Bias Compensation (Gyroscopes) The ADIS16354 provides compensation for acceleration influences on the gyroscopes’ bias behavior, using the MSC_CTRL register. Set Bit 7 of Address 0x34 to 1 (see Table 29) Table 14. Accelerometer Bias Correction Register Bits Bits [15:12] [11:0] Description Not used Data bits, typical adjustment range = ±947 mg Manual Bias Calibration Because each offset bias register has read/write access, the bias of each sensor is adjustable. For example, if an output offset of 0.18°/s is observed in the Z-axis gyroscope, the ZGYRO_OFF register provides the calibration factor necessary to improve the accuracy. Using its sensitivity of 0.018315°/s, an adjustment of −10 LSBs is required. The twos complement, hexadecimal code of −10 LSBs is 0x1FF6. To implement this calibration factor, use the following pseudocode: Write 0xF6 to Address 0x1E, then write 0x1F to Address 0x1F This step reduces the 0.18°/s error term to 0.00315°/s. Automatic Bias Null Calibration The ADIS16354 provides a single-command, automatic bias calibration for all three gyroscope sensors. The COMMAND register provides this function, which measures all three gyroscope output registers, then loads the three bias correction registers with values that return their outputs to zero (null). A single register write command starts this process (see Table 16). Write 0x01 to Address 0x3E Linear Acceleration Origin Alignment The ADIS16354 provides origin alignment for the accelerometers to the point of percussion (see Figure 5), using the MSC_CTRL register. Set Bit 6 of Address 0x34 to a 1 (see Table 29) GLOBAL COMMANDS The ADIS16354 provides global commands for common operations such as calibration, flash update, auxiliary DAC latch, and software reset. Each global command has a unique control bit assigned to it in the COMMAND register and is initiated by writing a 1 to its assigned bit. The flash update command writes the contents of each nonvolatile register into flash memory for storage. This process takes approximately 100 ms and requires the power supply voltage to be within specification for the duration of the event. Note that this operation also automatically follows the autonull, precision autonull, and factory reset commands. After waiting the appropriate time for the flash update to complete, verify successful completion by reading the STATUS register (flash update error = 0, if successful). The DAC latch command loads the contents of AUX_DAC into the DAC latches, which control the actual output level. This overcomes the challenge of discontinuous outputs that would otherwise be associated with two separate write cycles for upper and lower bytes. Finally, the software reset command sends the ADIS16354 digital processor into a restart sequence, effectively accomplishing the same tasks as the RST line. Rev. 0 | Page 17 of 28 ADIS16354 Table 15. COMMAND Register Definition Address 0x3F, 0x3E Default N/A Format N/A Access Write only Table 16. COMMAND Bit Descriptions Bits [15:8] [7] [6:5] [4] [3] [2] [1] [0] Description Not used Software reset command Not used Precision autonull command Flash update command Auxiliary DAC data latch Factory calibration restore command Autonull command > 0x09 (normal mode), the SPI SCLK can run at a rate up to 300 kHz. The sample rate setting also affects the power dissipation. The normal mode power dissipation is approximately 67% less than the fast mode power dissipation. The two different modes of operation offer a system-level trade-off between performance (sample rate, serial transfer rate) and power dissipation. Power Management The ADIS16354 offers two different shutdown options: programmable shutdown period and indefinite shutdown. Raising Bit 8 activates the indefinite shutdown period. Writing the appropriate sleep time to the lower byte of the SLP_CNT register shuts the device down for the specified time. The following example illustrates this relationship: OPERATIONAL CONTROL Bits [7:0] = 00000110 = 6 codes = 3 seconds Internal Sample Rate The internal sample rate defines how often data output variables are updated, independent of the rate at which they are read out on the SPI port. The SMPL_PRD register controls the ADIS16354 internal sample rate and has two parts: a time base and a multiplier. The sample period can be calculated using the following equation: TS = TB × (NS + 1) At the completion of the programmed duration, the ADIS16354 returns to normal operation. If measurements are required before sleep period completion or if it is necessary to end the indefinite shutdown, the ADIS16354 can be awakened by pulling the CS line down to a 0 state, then returning it to a 1 state. Otherwise, the CS line must be kept in a 1 state to maintain sleep mode. When writing a sleep time to the SLP_CNT register, the CS signal must be raised to a 1 before the command takes effect. Power cycle recovery will be a normal startup, because the contents of SLP_CNT are volatile. where: TS is the sample period. TB is the time base. NS is the multiplier. The default value is the minimum register setting, 0x01, which corresponds to the maximum sample rate of 819.2 samples per second. The contents of this register are nonvolatile. Table 19. SLP_CNT Register Definition Address 0x3B, 0x3A 1 Scale1 0.5 sec Default 0x0000 Format Binary Access R/W Scale is the weight of each LSB in the lower byte of this register. Table 17. SMPL_PRD Register Definition Address 0x37, 0x36 Default 0x0001 Format N/A Table 20. SLP_CNT Bit Descriptions Access R/W Table 18. SMPL_PRD Bit Descriptions Bits [15:8] [7] [6:0] Description Not used Time base, 0 = 0.61035 ms, 1 = 18.921 ms Multiplier (add 1 before multiplying by the time base) An example calculation of the sample period for the device is If SMPL_PRD = 0x0007, Bits [7:0] = 00000111 Bit 7 = 0, so TB = 0.61035 ms Bits [6:0] = 0000111 = 7 = NS TS = TB × (NS + 1) = = 0.61035 ms × (7 + 1) = 4.8828 ms fS = 1∕TS = 204.8 SPS Bits [15:9] [8] [7:0] Description Not used Indefinite shutdown control bit Data bits, 0.5 sec/LSB Digital Filtering Each sensor’s signal conditioning circuit has an analog bandwidth of approximately 350 Hz. The ADIS16354 provides a Bartlett Window FIR filter for additional noise reduction on all of the output data registers. The SENS/AVG register controls the number of taps in power-of-two step sizes, from zero to six Filter setup requires one simple step: write the appropriate M factor to the assigned bits in the SENS/AVG register. The bit assignments are listed in Table 22. The frequency response relationship for this filter is: The sample rate setting has a direct impact on the SPI data rate capability. For SMPL_PRD settings ≤ 0x09 (fast mode), the SPI SCLK can run at a rate up to 2.0 MHz. For SMPL_PRD settings Rev. 0 | Page 18 of 28 H B ( f ) = H A2 ( f ) H A ( f ) = sin(π × N × f × t s ) N × sin(π × f × t s ) ADIS16354 0 Table 23. AUX_DAC Register Definition Address 0x31, 0x30 –20 Default 0x0000 Format Binary Access R/W MAGNITUDE (dB) –40 Table 24. AUX_DAC Bit Descriptions –60 Bits [15:12] [11:0] –80 Description Not used Data bits 0x0000 = 0 V output, 0x0FFF = 2.5 V output –100 –140 0.001 0.01 0.1 1 FREQUENCY (f/fS) 07135-029 N=2 N=4 N = 16 N = 64 –120 Figure 30. Bartlett Window FIR Frequency Response Dynamic Range The ADIS16354 provides three dynamic range settings: ±75°/s, ±150°/s, and ±300°/s. The lower dynamic range settings (75, 150) limit the minimum filter tap sizes in order to maintain the resolution as the measurement range decreases. The recommended order for programming the SENS/AVG register is upper byte (sensitivity), followed by lower byte (filtering). The contents of the SENS/AVG register are nonvolatile. Default 0x0402 Format N/A Access R/W Value 100 010 001 [7:3] [2:0] The ADIS16354 provides two general-purpose pins that enable digital input/output control using the SPI. The GPIO_CTRL control register establishes the configuration of these pins and handles the SPI-to-pin controls. Each pin provides the flexibility of both input (read) and output (write) operations. For example, writing 0x0202 to this register establishes Line 2 as an output and sets its level as a 1. Writing 0x0000 to this register establishes both lines as inputs, and their status can be read through Bit 8 and Bit 9 of this register. 1. 2. 3. Table 22. SENS/AVG Bit Descriptions Bits [15:11] [10:8] General-Purpose Input/Output The digital input/output lines are also available for data-ready and alarm/error indications. In the event of conflict, the following priority structure governs the digital input/output configuration: Table 21. SENS/AVG Register Definition Address 0x39, 0x38 See the COMMAND register for use of the DAC latch command, which enables the DAC to update its output based on the value in the AUX-DAC register. Description Not used Measurement range (sensitivity) selection 300°/s (default condition) 150°/s, filter taps ≥ 4 (Bits [2:0] ≥ 0x02) 75°/s, filter taps ≥ 16 (Bits [2:0] ≥ 0x04) Not used Filter tap setting, number of taps, N = 2M, for example, 011, N = 23 = 8 taps MSC_CTRL ALM_CTRL GPIO_CTRL Table 25. GPIO_CTRL Register Definition Address 0x33, 0x32 Default 0x0000 Format N/A Access R/W Table 26. GPIO_CTRL Bit Descriptions Bits [15:10] [9] Auxiliary DAC The auxiliary DAC provides a 12-bit level adjustment function. The AUX_DAC register controls the operation of this feature. It offers a rail-to-rail buffered output that has a range of 0 V to 2.5 V. The DAC can drive its output to within 5 mV of the ground reference when it is not sinking current. As the output approaches ground, the linearity begins to degrade (100 LSB beginning point). As the sink current increases, the nonlinear range increases. The DAC output latch function, contained in the COMMAND register, provides continuous operation while writing each byte of this register. The contents of this register are volatile, which means that the desired output level must be set after every reset and power cycle event. [8] [7:2] [1] [0] Description Not used General-purpose input/output Line 2 data level 1 = high, 0 = low General-purpose input/output Line 1 data level 1 = high, 0 = low Not used General-purpose input/output Line 2, data direction control 1 = output, 0 = input General-purpose input/output Line 1, data direction control 1 = output, 0 = input The contents of the GPIO_CTRL register are volatile. Rev. 0 | Page 19 of 28 ADIS16354 STATUS AND DIAGNOSTICS Self-Test The ADIS16354 provides a number of status and diagnostic functions. Table 27 provides a summary of these functions, along with their appropriate control registers. The MSC_CTRL register also provides a self-test function, which verifies the MEMS sensor’s mechanical integrity. There are two different self-test options: internal self-test and external self-test. Table 27. Status and Diagnostic Functions Function Data-ready input/output indicator Self-test, mechanical check for sensor element Status: Check for predefined error conditions Flash memory endurance Alarms: Configure and check for user-specific conditions Register MSC_CTRL MSC_CTRL STATUS ENDURANCE ALM_MAG1 ALM_MAG2 ALM_SMPL1 ALM_SMPL2 ALM_CTRL Data-Ready Input/Output Indicator The data-ready function provides an indication of updated output data. The MSC_CTRL register allows the user to configure either of the general-purpose input/output pins (DIO1 or DIO2) as a data-ready indicator signal. Table 28. MSC_CTRL Register Definition Address 0x35, 0x34 Default 0x0000 Format N/A Access R/W Table 29. MSC_CTRL Bit Descriptions Bits [15:11] [10] [9] [8] [7] [6] [5:3] [2] [1] [0] Description Not used Internal self-test enable (clears on completion) 1 = enabled, 0 = disabled Manual self-test, negative stimulus 1 = enabled, 0 = disabled Manual self-test, positive stimulus 1 = enabled, 0 = disabled Linear acceleration bias compensation for gyroscopes 1 = enabled, 0 = disabled Linear accelerometer origin alignment 1 = enabled, 0 = disabled Not used Data-ready enable 1 = enabled, 0 = disabled Data-ready polarity 1 = active high, 0 = active low Data-ready line select 1 = DIO2, 0 = DIO1 The internal test provides a simple, two-step process for checking the MEMS sensor. 1. 2. Start the process by writing a 1 to Bit 10 in the MSC_CTRL register. Check the result by reading Bit 5 of the STATUS register. If a failure is indicated, then Bits [10:15] of the STATUS register indicate which of the six sensors it is associated with. The entire cycle takes approximately 35 ms and the output data is not available during this time. The external self-test is a static condition that can be enabled and disabled. In this test, both positive and negative gyroscope MEMS sensor movements are available. For the accelerometers, only positive MEMS sensor movement is available. After writing to the appropriate control bit, the output registers reflect the changes after a delay that reflects the response time associated with the sensor/signal conditioning circuit. For example, the standard 350 Hz bandwidth reflects an exponential response with a time constant of 0.45 ms. Note that the digital filtering impacts this delay as well. The appropriate bit definitions for self-test are listed in Table 28 and Table 29. Flash Memory Endurance The ENDURANCE register maintains a running count of writes to the flash memory. It provides up to 32,768 counts. Note that if this count is exceeded, the register wraps around and goes back to zero, before beginning to increment again. Table 30. ENDURANCE Register Definition Address 0x01, 0x00 Rev. 0 | Page 20 of 28 Default N/A Format Binary Access Read only ADIS16354 Status Conditions Alarms The STATUS register contains the following error condition flags: alarm conditions, self-test status, overrange, SPI communication failure, control register update failure, and power supply range failure. See Table 31 and Table 32 for the appropriate register access and bit assignment for each flag. The ADIS16354 provides two independent alarm options for event detection. Event detections occur when output register data meets the configured conditions. Configuration options include the following: • The bits assigned for checking power supply range and sensor overrange automatically reset to zero when the error condition no longer exists. The remaining error flag bits in the STATUS register require a read to return them to zero. Note that a STATUS register read clears all of the bits to zero. If any error conditions remain, the bits revert to 1 during the next internal output register update cycle. Table 31. STATUS Register Definition Address 0x3D, 0x3C Default 0x0000 Format N/A Access Read only Table 32. STATUS Bit Descriptions Bits [15] [14] [13] [12] [11] [10] [9] [8] [7:6] [5] [4] [3] [2] [1] [0] Description Z-axis accelerometer self-diagnostic error flag 1 = failure, 0 = passing Y-axis accelerometer self-diagnostic error flag 1 = failure, 0 = passing X-axis accelerometer self-diagnostic error flag 1 = failure, 0 = passing Z-axis gyroscope self-diagnostic error flag 1 = failure, 0 = passing Y-axis gyroscope self-diagnostic error flag 1 = failure, 0 = passing X-axis gyroscope self-diagnostic error flag 1 = failure, 0 = passing Alarm 2 status 1 = active, 0 = inactive Alarm 1 status 1 = active, 0 = inactive Not used Self-test diagnostic error flag 1 = error condition, 0 = normal operation Sensor overrange (any of the six) 1 = error condition, 0 = normal operation SPI communications failure 1 = error condition, 0 = normal operation Control register update failed 1 = error condition, 0 = normal operation Power supply in range above 5.25 V 1 = above 5.25 V, 0 = below 5.25 V (normal) Power supply below 4.75 V 1 = below 4.75 V, 0 = above 4.75 V (normal) • • • • All output data registers are available for monitoring as the source data. The source data can be filtered or unfiltered. Comparisons can be static or dynamic (rate of change). The threshold levels and times are configurable. Comparison can be greater than or less than. The ALM_MAG1 register and the ALM_MAG2 register both establish the threshold level for detecting events. These registers take on the format of the source data and provide a bit for establishing the greater than/less than comparison direction. When making dynamic comparisons, the ALM_SMPL1 register and the ALM_SMPL2 register establish the number of averages taken for the source data as a reference for comparison. In this configuration, each subsequent source data sample is subtracted from the previous one, establishing an instantaneous delta. The ALM_CTRL register controls the source data selection, static/ dynamic selection, filtering selection, and digital input/output usage for the alarms. The rate of change calculation is YC = 1 N DS N DS ∑ y(n + 1) − y(n) n =1 Rate of change alarm is determined by comparing YC with M C according to ALM_MAG1 /ALM_MAG2 settings. where: NDS is the number of samples in ALM_SMPL1 and ALM_SMPL2. y(n) is the sampled output data. MC is the magnitude for comparison in ALM_MAG1 and ALM_MAG2. YC is the factor to compare with MC. Rev. 0 | Page 21 of 28 ADIS16354 Table 33. ALM_MAG1 and ALM_MAG2 Register Definitions Table 38. ALM_CTRL Bit Descriptions Register ALM_MAG1 ALM_MAG2 Bits [15:12] Addresses 0x27, 0x26 0x29, 0x28 Default 0x0000 0x0000 Format N/A N/A Access R/W R/W 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 Table 34. ALM_MAG1 and ALM_MAG2 Bit Descriptions Bits [15] [14] [13:0] Description Comparison polarity: 1 = greater than, 0 = less than Not used Data bits, format matches source data format Table 35. ALM_SMPL1 and ALM_SMPL2 Register Definitions Registers ALM_SMPL1 ALM_SMPL2 Addresses 0x2B, 0x2A 0x2D, 0x2C Default 0x0000 0x0000 Format Binary Binary Access R/W R/W Table 36. ALM_SMPL1 and ALM_SMPL2 Bit Descriptions Bits [15:8] [7:0] Description Not used Data bits Addresses 0x2F, 0x2E Default 0x0000 [11:8] [7] [6] [5] [4] Table 37. ALM_CTRL Register Definition Format N/A Access R/W Value [3] [2] [1] [0] Rev. 0 | Page 22 of 28 Description Alarm 2 source selection Disable Power supply output X-axis gyroscope output Y-axis gyroscope output Z-axis gyroscope output X-axis accelerometer output Y-axis accelerometer output Z-axis accelerometer output X-axis gyroscope temperature output Y-axis gyroscope temperature output Z-axis gyroscope temperature output Auxiliary ADC input Alarm 1 source selection (same as Alarm 2) Rate of change (ROC) enable for Alarm 2 1 = rate of change, 0 = static level Rate of change (ROC) enable for Alarm 1 1 = rate of change, 0 = static level Not used Comparison data filter setting 1 = filtered data, 0 = unfiltered data Not used Alarm output enable 1 = enabled, 0 = disabled Alarm output polarity 1 = active high, 0 = active low Alarm output line select 1 = DIO2, 0 = DIO1 ADIS16354 APPLICATIONS INFORMATION INSTALLATION GUIDELINES Electrical Connections Installing the ADIS16354 requires two steps: mechanical attachment of the body, followed by the electrical connection. This device is designed for postsolder reflow installation. It is not designed to survive the temperatures associated with normal solder reflow processes. The electrical interface for the ADIS16354 is a single connector, which is attached to a flexible circuit extension. Mechanical Attachment The ADIS16354 is designed for simple mechanical attachment. The open mounting tabs on each side of the body provide enough room for 2 mm (or 2-56) machine screws. Note that 316 stainless steel and aluminum screws are available for use in this attachment. When planning the installation process, the primary trade-off to consider is the attachment strength advantage of stainless steel against the nonmagnetic properties of aluminum for systems that employ magnetic sensors. In addition, the ADIS16354 provides alignment pinholes, one on each side. Location accuracy of the mating holes may force the use of a smaller pin. Figure 31 provides a graphical display of the mechanical attachment, and Figure 32 provides a recommendation for the physical layout of all the holes required for attaching the ADIS16354. One option for mating connectors can be found in Samtec’s CLM family. In this case, the part number starts with CLM-112-02. The flexible circuit has stress relief points to absorb environmental stresses, such as temperature cycling and vibration. Figure 32 provides the alignment hole locations for designs that employ the suggested connector mate. This connection is held by friction only. This figure assumes that the ADIS16354 and mating connector are on the same surface (plane). Proper Removal The flexible circuit interface can tear under excessive force conditions. An example of excessive force is attempting to break the electrical connection by pulling on the body of the ADIS16354, placing all of the stress on the flexible circuit. The electrical connector must be broken by an appropriate tool, which is designed to apply even pressure to each side of the rigid part of the flex cable. The recommended extraction sequence is to break the mate between the electrical interface, and then to remove the mechanical attachment hardware. 1.588mm HOLE AND SLOT FOR ALIGNMENT PINS, 2 EACH 07135-030 DRILL AND TAP HOLE FOR 2mm (2-56) SCREW, 2 EACH Figure 31. Mechanical Attachment Rev. 0 | Page 23 of 28 ADIS16354 DRILL AND INSERT 1.5mm PIN 2× (HOLE PLACEMENT INACCURACY MAY REQUIRE USE OF UNDERSIZED PIN). 26.700 BSC DRILL AND TAP FOR M2 SCREW AS REQUIRED 2×. 4 BSC 27.700 BSC 10 HOLE 2×. SEE SAMTEC MOUNTING DRAWING FOR CLM SERIES SOCKET. 8.350 0.500 BSC 2× 4 BSC THE LOCATION OF THE MATING CONNECTOR RELATIVE TO THE ALIGNMENT PINS MAY BE PLACED ±0.75mm FROM THIS DIMENSION AS DESIRED. PLACING THIS FURTHER OUT WILL HAVE LESS BEND/STRESS RELIEF IN THE FLEX. Figure 32. Hole Locations Rev. 0 | Page 24 of 28 07135-031 16.810 2× ADIS16354 OUTLINE DIMENSIONS 31.900 31.700 31.500 23.454 23.200 22.946 9.464 9.210 8.956 (2×) 2.382 BSC 17.41 17.21 17.01 (2×) 1.588 BSC TOP VIEW 22.964 22.710 22.456 1.588 BSC 10.60 BSC 10.50 BSC 21.410 21.210 21.010 BOTTOM VIEW 5.20 5.00 4.80 (2×) 14.950 14.550 14.150 PIN 24 4.20 4.00 3.80 (2×) 0.05 BSC PIN 1 7.18 BSC 1.00 BSC 2.00 BSC 12.10 BSC FRONT VIEW 23.504 23.250 22.996 2.660 2.500 2.340 SIDE VIEW 0.305 BSC (24×) 4.330 BSC DETAIL A 4.162 BSC 1.00 BSC (22×) 1.65 BSC 14.00 BSC 011108-C DETAIL A Figure 33. 24-Lead Module with Connector Interface (ML-24-2) Dimensions shown in millimeters ORDERING GUIDE Model ADIS16354AMLZ 1 ADIS16354/PCBZ1 ADIS16354/EVALZ1 1 Temperature Range −40°C to +85°C Package Description 24-Lead Module with Connector Interface Interface Board PC Evaluation System Z = RoHS Compliant Part. Rev. 0 | Page 25 of 28 Package Option ML-24-2 ADIS16354 NOTES Rev. 0 | Page 26 of 28 ADIS16354 NOTES Rev. 0 | Page 27 of 28 ADIS16354 NOTES ©2008 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. D07135-0-1/08(0) Rev. 0 | Page 28 of 28