Tri-Axis Inertial Sensor ADIS16355 FEATURES AUX_ADC AUX_DAC TEMPERATURE SENSORS 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 ACCELLERATION SENSOR GND POWER MANAGEMENT ALARMS RST AUX I/O DIO1 DIO2 06522-001 Tri-axis gyroscope with digital range scaling 75, 150, 300/s settings 14-bit resolution Tri-axis accelerometer 10 g measurement range 14-bit resolution 350 Hz bandwidth Factory calibrated sensitivity, bias, and alignment ADIS16350: +25C, ADIS16355: -40C to +85C 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 Figure 1. APPLICATIONS Guidance and control Platform control and stabilization Motion control and analysis Inertial measurement units General navigation Image stabilization RoboticsFunctional Block Diagram GENERAL DESCRIPTION The ADIS16350/5 iSensorTM is a complete triple axis gyroscope and triple axis accelerometer inertial sensing system. This sensor combines the Analog Devices Inc. iMEMS(R) 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 system interface and programming. The ADIS16355 provides calibration over a temperature range of -40C to +85C. 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. 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. System integration is simplified with the following additional programmable features: * In-system auto bias calibration * Digital filtering and sample rate * Self test * Power management * Condition monitoring * Auxiliary digital input/output This compact module is approximately 23 mm x 23 mm x 23 mm and provides a convenient flex-based connector system. Rev. PrG 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 (c)2007 Analog Devices, Inc. All rights reserved. ADIS16355 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 10/31--Revision PrG: Document performance, pending release Rev. PrG | Page 2 of 28 ADIS16355 SPECIFICATIONS Table 1. TA = -40C to +85C, VCC = 5.0 V, angular rate = 0/s, dynamic range 300/sec, 1 g, unless otherwise noted Parameter GYROSCOPE SENSITIVITY Initial Temperature Coefficient Gyro Axis Nonorthogonality Gyro 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 Temperature Coefficient Axis Nonorthogonality Axis Misalignment Nonlinearity ACCELEROMETER BIAS In-Run Bias Stability 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 Conditions Each axis 25C, dynamic range = 300/s 25C, dynamic range = 150/s 25C, dynamic range = 75/s ADIS16350, See Figure 5 ADIS16355, See TBD 25C, difference from 90 ideal 25C, relative to base -plate and guide pins Best fit straight line Min Typ Max 0.0725 0.07326 0.03663 0.01832 600 40 0.05 0.5 0.1 0.0740 Unit /s/LSB /s/LSB /s/LSB ppm/C ppm/C Degree Degree % of FS 25C, 1 25C ADIS16350, See Figure 6 ADIS16355, See Any axis, 1 , (linear acceleration bias compensation enabled) VCC = 4.75 V to 5.25 V 0.015 4.2 0.1 0.01 0.05 /s /hr /s/C /s/C /s/g 0.25 /s/V 25C, 300/s range, no filtering 25C, 150/s range, 4-tap filter setting 25C, 75/s range, 16-tap filter setting 25C, 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 25 8 2.471 10 2.522 100 40 0.25 0.5 0.2 1105 -1105 LSB LSB ms Each axis 25C ADIS16350 ADIS16355 25C, difference from 90 ideal 25C, relative to base-plate and guide pins Best fit straight line 2.572 g mg/LSB ppm/C ppm/C Degree Degree % of FS 25C, 1 25C ADIS16350 ADIS16355 0.7 2.0 4 0.5 mg m/s/hr mg/C mg/C 25C, no filtering 25C, no filtering 35 1.85 mg rms mg/Hz rms 350 10 Hz kHz 73 Rev. PrG | Page 3 of 28 146 219 LSB ADIS16355 Parameter TEMPERATURE SENSOR Output at 25C Scale Factor 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 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 OUTPUTS Output High Voltage, VOH Output Low Voltage, VOL SLEEP TIMER Timeout Period1 FLASH MEMORY Endurance2 Data Retention3 CONVERSION RATE Maximum Sample Rate Minimum Sample Rate START-UP TIME4 Initial Power Up Sleep Mode Recovery POWER SUPPLY Operating Voltage Range, VCC Power Supply Current Conditions Min Typ Max 0 6.88 LSB LSB/C 12 2 1 4 2 20 Bits LSB LSB LSB LSB V pF 12 4 1 5 0.5 0 to 2.5 2 10 Bits LSB LSB mV % V s 0 During acquisition 5 k/100 pF to GND For Code 101 to Code 4095 2.5 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.8 V V 0.55 V 0.2 10 A -40 -1 10 -60 A mA pF 2.4 0.5 0.4 V V 128 Sec 10,000 20 TJ = 85C SMPL_PRD = 0x01 SPML_PRD = 0xFF 4.75 Normal mode at 25C Fast mode at 25C Sleep mode at 25C 1 Unit Cycles Years 819.2 0.413 SPS SPS 150 3 ms ms 5.0 33 57 500 5.25 V mA mA A Guaranteed by design Endurance is qualified as per JEDEC Standard 22 Method A117 and measured at -40C, +25C, +85C, and +125C. Retention lifetime equivalent at junction temperature (TJ) 85C as per JEDEC Standard 22 Method A117. Retention lifetime decreases with junction temperature. 4 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 3 Rev. PrG | Page 4 of 28 ADIS16355 TIMING SPECIFICATIONS TA = 25C, Vcc = 5.0 V, angular rate = 0/s, unless otherwise noted. Table 2. Parameter fSCLK Min1 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 edge2 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 edge3 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. 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. 2 TIMING DIAGRAMS tDATARATE CS 06522-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. PrG | Page 5 of 28 LSB 06522-003 DOUT ADIS16355 ABSOLUTE MAXIMUM RATINGS Table 3. Parameter Acceleration Any Axis, Unpowered Any Axis, Powered VCC to COM 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 -40C to +85C -65C to +125C1, 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 of the specified temperature range of -40C to +85C can adversely affect the accuracy of the factory calibration. For best accuracy, store the parts within the specified operating range of -40C to +85C. 2 Although the device is capable of withstanding short-term exposure to +150C, long-term exposure threatens internal mechanical integrity. ESD CAUTION Rev. PrG | Page 6 of 28 JA 39.8C/W JC 14.2C/W Device Weight 16 grams ADIS16355 PIN CONFIGURATION AND FUNCTION DESCRIPTIONS PIN 1 PIN 23 TOP VIEW Z X Y PIN 24 FLEX TO HOUSING 2 23 1 Figure 4. Pin Configuration, Connector Top View Table 5. Pin Function Descriptions Pin No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 Mnemonic DNC DNC SCLK DOUT DIN CS DIO1 RST DIO2 VCC VCC VCC GND GND GND DNC DNC DNC DNC AUX_DAC AUX_ADC DNC DNC DNC Type1 N/A N/A I O I I I/O I I/O S S S S S S N/A N/A N/A N/A O I N/A N/A N/A Description Do not connect 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 supply Power supply Power ground Power ground Power ground Do not connect Do not connect Do not connect Do not connect Auxiliary, 12-bit, DAC output Auxiliary, 12-bit, ADC input Do not connect Do not connect Do not connect S = supply, O = output, I = input. Rev. PrG | Page 7 of 28 POINT OF PERCUSSION (WHEN LINEAR ACCELEROMETER ORIGIN ALIGNMENT ENABLED) 06522-004 PIN 2 ADIS16355 TYPICAL PERFORMANCE CHARACTERISTICS 5 4 3 0.40 +1 0.30 0.20 Sensitivity - % 1 0 -1 -1 +1 0.10 0.00 -1 -0.10 -2 -0.20 -3 -0.30 -4 -0.40 -50 -5 -50 06522-030 SENSITIVITY (%) 2 -35 -20 -5 10 25 40 55 70 85 -35 -20 -5 10 25 40 55 70 85 100 TEMPERATURE (oC) 100 Gyroscope Sensitivity vs. Temperature TEMPERATURE (C) Figure 8. ADIS16355 Gyroscope Sensitivity vs. Temperature Figure 5. ADIS16350 Gyroscope Sensitivity vs. Temperature 20 15 1.00 10 0.75 +1 0.50 BIAS (deg/sec) BIAS (/s) 5 0 -5 -1 +1 0.25 0.00 -1 -0.25 -0.50 -0.75 -15 -1.00 -50 -20 -50 06522-031 -10 -35 -20 -5 10 25 40 55 70 85 -35 -20 -5 10 25 40 55 70 85 100 85 100 TEMPERATURE (oC) 100 Gyroscope Bias vs. Temperature TEMPERATURE (C) Figure 6. ADIS16350 Gyroscope Bias vs. Temperature Figure 9. ADIS16350 Gyroscope Bias vs. Temperature 1.0 0.8 0.6 1.00 +1 0.75 0.50 Sensitivity (%) 0.2 0 -1 -0.2 -0.4 +1 0.00 -0.25 -1 -0.75 -0.6 -0.8 -1.0 -50 0.25 -0.50 06522-032 SENSITIVITY (%) 0.4 -35 -20 -5 10 25 40 55 70 85 100 -1.00 -50 -35 -20 -5 10 25 40 55 70 TEMPERATURE (oC) Accelerometer Sensitivity vs. Temperature TEMPERATURE (C) Figure 7. ADIS16350 Accelerometer Sensitivity vs. Temperature Figure 10. ADIS16350 Accelerometer Sensitivity vs. Temperature Rev. PrG | Page 8 of 28 ADIS16355 400 300 60 200 40 +1 +1 BIAS (mg) BIAS (mg) 100 0 -100 0 -1 -20 -40 -200 -1 -60 -50 06522-033 -300 -400 -50 20 -35 -20 -5 10 25 40 55 70 85 -35 -20 -5 10 25 40 55 70 85 100 TEMPERATURE (oC) 100 Accelerometer Bias vs. Temperature TEMPERATURE (C) Figure 11. ADIS16350 Accelerometer Bias vs. Temperature Figure 14. ADIS16350 Accelerometer Bias vs. Temperature 45 40 PERCENTAGE OF POPULATION (%) 0.1 +1 MEAN 0.01 35 30 25 20 15 10 5 -1 0 -0.1 0 0.1 0.2 0.3 0.4 SENSITIVITY ERROR (%) 0.1 1 10 100 1000 INTEGRATION TIME (Seconds) 06522-005 0.001 0.01 06522-010 ROOT ALLAN VARIANCE (/s) 1 Figure 15. Gyroscope Sensitivity Error, +25C Figure 12. Gyroscope Root Allan Variance 35 +1 0.001 MEAN -1 0.0001 0.01 0.1 1 10 100 1000 30 25 20 15 10 5 0 -0.3 -0.2 -0.1 0 0.1 0.2 BIAS VOLTAGE SENSITIVITY (/s/V) 0.3 0.4 06522-011 PERCENTAGE OF POPULATION (%) 0.01 06522-008 ROOT ALLAN VARIANCE (g) 0.1 Figure 16. Gyroscope Bias Voltage Power Supply Sensitivity, +25C INTEGRATION TIME (Seconds) Figure 13. Accelerometer Root Allan Variance Rev. PrG | Page 9 of 28 ADIS16355 14.05 35 SENSITIVITY (/s/LSB) 13.85 25 20 15 +1 13.75 MEAN 13.65 13.55 -1 13.45 10 0 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.3 0.3 0.4 0.5 SENSITIVITY ERROR (%) 13.25 -360 -270 -180 -90 0 90 180 270 06522-006 13.35 5 06522-013 PERCENTAGE OF POPULATION (%) 13.95 30 360 RATE (/s) Figure 20. Gyroscope Linearity Figure 17. Accelerometer Sensitivity Error Distribution, +25C 0.5 20 0.4 0.3 16 0.2 14 BIAS (/s) 12 10 8 0.1 0 -0.1 -0.2 6 -0.3 4 20:19 06522-017 19:27 18:35 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 TIME (Hour:Minute) Figure 21. Long-Term Bias Stability, +25C Figure 18. Gyroscope Bias Sensitivity to Linear Acceleration, +25C 25 30 25 20 15 10 5 15 10 5 0 0 0.02 0.04 0.06 0.08 0.10 GYROSCOPE AXIS NONORTHOGANALITY () -0.24 06522-015 0 -0.10 -0.08 -0.06 -0.04 -0.02 20 -0.16 -0.08 0 0.08 0.16 0.24 ACCELEROMETER AXIS NONORTHOGANALITY () 06522-018 PERCENTAGE OF POPULATION (%) 35 PERCENTAGE OF POPULATION (%) 3:27 0.02 0.04 0.06 0.08 0.10 2:35 0 (/s/g) 1:43 -0.5 06522-014 0 -0.10 -0.08 -0.06 -0.04 -0.02 0.00 -0.4 2 0:51 PERCENTAGE OF POPULATION (%) 18 Figure 22. Accelerometer Alignment Distribution, +25C Figure 19. Gyroscope Alignment Distribution, +25C Figure 23. Normal Mode Power Supply Current Distribution, +25C Rev. PrG | Page 10 of 28 ADIS16355 35 20 15 10 5 30 25 20 15 10 5 0 0 45 46 47 48 49 50 51 52 53 54 55 56 57 58 GYROSCOPE POSITIVE SELF-TEST (/s) 0.30 0.32 0.34 0.36 0.38 0.40 0.42 0.44 0.46 0.48 ACCELEROMETER SELF-TEST (g) Figure 24. Gyroscope Positive Self-Test Distribution, +25C 06522-022 PERCENTAGE OF POPULATION (%) 25 06522-020 PERCENTAGE OF POPULATION (%) 30 Figure 26. Accelerometer Self-Test Distribution, +25C 2.722 SENSITIVITY (mg/LSB) 2.622 20 15 10 +1 MEAN 2.522 -1 2.422 2.322 -16 0 -57 -56 -55 -54 -53 -52 -51 -50 -49 -48 -47 -46 -45 -44 GYROSCOPE NEGATIVE SELF-TEST (/s) Figure 25 Gyroscope Negative Self-Test Distribution, +25C Rev. PrG | Page 11 of 28 -12 -8 -4 0 4 8 ACCELERATION (g) Figure 27. Accelerometer Linearity 12 16 06522-009 5 06522-021 PERCENTAGE OF POPULATION (%) 25 ADIS16355 THEORY OF OPERATION OVERVIEW CONTROL REGISTER STRUCTURE The ADIS16350 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 ADIS16350 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 ADIS16350 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 ADIS16350 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 28 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. This 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 ADIS16350 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, axial alignment, and linear acceleration (gyroscopes). An extensive, three-dimensional characterization, provides the basis for generating correction tables for each individual sensor. The ADIS16355 provides the same calibration, over temperature. D R1 C2 06522-023 The core angular rate sensor (gyroscope) used in the ADIS16350 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 necessary velocity element to produce a Coriolis force during rotation. At two of the outer extremes of each frame, orthogonal to the dither motion, are movable fingers 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 28. 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. PrG | Page 12 of 28 ADIS16355 BASIC OPERATION The ADIS16350 is designed for simple integration into system designs, requiring only a 5.0 V power supply and a four-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 29. 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 8 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 30. 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 29 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 ADIS16350 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 ADIS16350 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 one 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 06522-024 DIN Figure 29. 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 30. SPI Sequence for Read Commands Rev. PrG | Page 13 of 28 06522-025 DIN ADIS16355 DATA OUTPUT REGISTER ACCESS The ADIS16350 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 updating internally, regardless of user read rates. Table 6 describes the structure of all ADIS16350 output data registers. indicates a system error or an alarm condition that can result from various conditions, such as a power supply out of 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'tcare" status. Table 6. Output Register Bit Map 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 output coding for the acceleration registers. Figure 31 provides an example of an SPI read cycle for the XGYRO_OUT register. MSB LSB ND EA D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 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. The EA bit Table 7. Data Output Register Information Name SUPPLY_OUT XGYRO_OUT YGYRO_OUT ZGYRO_OUT XACCL_OUT YACCL_OUT ZACCL_OUT XTEMP_OUT2 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 /s1 0.07326 /s1 0.07326 /s1 2.522 mg 2.522 mg 2.522 mg 0.1453C 0.1453C 0.1453C 0.6105 mV Hex Output 0x0444 0x0222 0x0001 0x0000 0x3FFF 0x3DDE 0x3BBC Decimal 1092 546 1 0 -1 -546 -1092 Assumes that the scaling is set to 300/s. Typical condition, 25C = 0 LSB Table 8. Output Coding Example, XGYRO_OUT, YGYRO_OUT, and ZGYRO_OUT1, 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 Two MSBs have been masked off and are not considered in the coding. Zero offset null performance are assumed. Rev. PrG | Page 14 of 28 ADIS16355 Table 9. Output Coding Example, XACCL_OUT, YACCL_OUT, and ZACCL_OUT1, 2 Acceleration (g) 2.522 1 0.002522 0 -0.002522 -1 -2.522 2 Hexadecimal Output 0x03E8 0x018D 0x0001 0x0000 0x3FFF 0x3E73 0x3C18 Decimal 1000 397 1 0 -1 -397 -1000 Two MSBs have been masked off and are not considered in the coding. Zero offset null performance are 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 31. Example Read Cycle Rev. PrG | Page 15 of 28 06522-026 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 ADIS16355 PROGRAMMING AND CONTROL CONTROL REGISTER OVERVIEW CONTROL REGISTER STRUCTURE The ADIS16350 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 ADIS16350 uses a temporary, RAM-based memory structure to facilitate the control registers displayed 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 the control register are only nonvolatile when they are stored to flash. The flash update command, made 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 Volatility Nonvolatile 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 Nonvolatile1 Nonvolatile Nonvolatile Volatile Volatile N/A 1 Addresses 0x00, 0x01 0x02 to 0x17 0x18, 0x019 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 lower byte are volatile. Rev. PrG | 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 ADIS16355 CALIBRATION Precision Automatic Bias Null Calibration For applications that require point of use calibration, the ADIS16350 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 ADIS16350 sensors. The ADIS16350 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. 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 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 = 2.522 mg per LSB Twos complement, read/write The ADIS16350 provides compensation for acceleration influences on the gyroscopes' bias behavior, using the MSC_CTRL register. Linear Acceleration Origin Alignment Description Not used Data bits, typical adjustment range = 5.16 g The ADIS16350 provides origin alignment for the accelerometers, to the point of percussion (see Figure 4), using the MSC_CTRL register. Manual Bias Calibration Since 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 pseudo code: Write 0xF6 to Address 0x1E, then write 0x1F to Address 0x1F This step reduces the 0.18/s error to 0.00315/s. Automatic Bias Null Calibration The ADIS16350 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 Bias Compensation (Gyroscopes) Set Bit 7 of Address 0x34 to 1 (see Table 29) Table 14. Accelerometer Bias Correction Register Bits Bits [15:12] [11:0] Restoring Factory Calibration The ADIS16350 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 sixsensor signal paths (see Table 16): Table 12. Gyroscope Bias Correction Register Bits Bits [15:13] [12:0] Write 0x10 to Address 0x3E Set Bit 6 of Address 0x34 to a 1 (see Table 29) GLOBAL COMMANDS The ADIS16350 provides global commands for common operations such as calibration, flash update, auxiliary DAC latch, and software reset. Each of these global commands 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 auto null, precision auto null, 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 = zero, if successful). The DAC latch command loads the contents of AUX_DAC into the DAC latches. Since the AUX_DAC contents must be updated one byte at a time, this command ensures a stable DAC output voltage during updates. Finally, the software reset command sends the ADIS16350 digital processor into a restart sequence, effectively accomplishing the same tasks as the RST line. Rev. PrG | Page 17 of 28 ADIS16355 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 auto null command Flash update command Auxiliary DAC data latch Factory calibration restore command Auto null command The sample rate setting has a direct impact on the SPI data rate capability. For SMPL_PRD settings less than, or equal to 0x09 (fast mode), the SPI SCLK can run at a rate up to 2.0 MHz. For SMPL_PRD settings greater than 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 In addition to offering two different performance modes for power optimization, the ADIS16350 offers a programmable shutdown period. Writing the appropriate sleep time to the SLP_CNT register shuts the device down for the specified time. The following example illustrates this relationship: OPERATIONAL CONTROL 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 ADIS16350 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 x (NS + 1) where: TS is the sample period. TB is the time base. NS is the multiplier. Bits[7:0] = 00000110 = 6 codes = 3 seconds After completing the sleep period, the ADIS16350 returns to normal operation. If measurements are required before sleep period completion, the ADIS16350 can be awakened by pulling the CS line to down to a 0 state, then returning it back to a 1 state. Otherwise, the CS line must be kept in a 1 (high) state to maintain sleep mode. When writing a sleep time to the SLP_CNT register, the time between the 16th SCLK edge and the CS rising edge must be less than 10 s in fast mode and 80 s on normal mode. 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 Table 17. SMPL_PRD Register Definition Address 0x37, 0x36 Default 0x0001 Format N/A Format Binary Access R/W Scale is the weight of each LSB. Bits [15:8] [7: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 TB = 0.61035 ms Bits[6:0] = 000000111 = 7 = NS TS = TB x (NS + 1) = = 0.61035 ms x (7 + 1) = 4.8828 ms fS = 1TS = 204.8 SPS Default 0x0000 Table 20. SLP_CNT Bit Descriptions Access R/W Table 18. SMPL_PRD Bit Descriptions Bits [15:8] [7] [6:0] Scale1 0.5 sec Description Not used Data bits Digital Filtering Each sensor's signal conditioning circuit has an analog bandwidth of approximately 350 Hz. The ADIS16350 provides a Bartlett Window FIR filter for additional noise reduction on all of the output data registers. The SENS/AVG register stores the number of taps in this filter in seven, power-of-two step sizes (that is, N = 2M = 1, 2, 4, 16, 32, and 64). 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: H B ( f ) = H A2 ( f ) H A ( f ) = Rev. PrG | Page 18 of 28 sin( x N x f x t s ) N x sin( x f x t s ) ADIS16355 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 N=2 N=4 N = 16 N = 64 -140 0.001 General-Purpose Input/Output 0.01 0.1 1 FREQUENCY (f/fS) 06522-027 -120 Figure 32. Bartlett Window FIR Frequency Response Dynamic Range The ADIS16350 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. Table 21. SENS/AVG Register Definition Address 0x39, 0x38 Default 0x0402 Format N/A Access R/W Table 22. SENS/AVG Bit Descriptions Bits [15:11] [10:8] Value 100 010 001 [7:3] [2:0] Description Not used Measurement range (sensitivity) selection 300/s (default condition) 150/s, filter taps 4 (Bit 2:0 0x02) 75/s, filter taps 16 (Bit 2:0 0x04) Not used Filter tap setting, M = decimal of these bits (number of taps, N = 2M) The ADIS16350 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. The contents of this register are volatile. For example, writing a 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. 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: 1. MSC_CTRL 2. ALM_CTRL 3. GPIO_CTRL Table 25. GPIO_CTRL Register Definition Address 0x33, 0x32 Format N/A Access R/W Table 26. GPIO_CTRL Bit Descriptions Bits [15:10] [9] [8] 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. Default 0x0000 [7:2] [1] [0] Rev. PrG | Page 19 of 28 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 ADIS16355 STATUS AND DIAGNOSTICS Self Test The ADIS16350 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: (1) internal self-test and (2) 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 provides the opportunity to configure either of the general-purpose input/output pins (DIO1 and 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. Start the process by writing a 1 to Bit 10 in the MSC_CTRL register. 2. Check the result by reading Bit 5 of the STATUS register. If a failure is indicated, then Bit 10 to Bit 15 of the STATUS register indicates 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. PrG | Page 20 of 28 Default N/A Format Binary Access Read only ADIS16355 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 out of range. See Table 31 and Table 32 for the appropriate register access and bit assignment for each flag. The ADIS16350 provides two independent alarm options for event detection. Event detections occur when output register data meets the configured conditions. Configuration options are: 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 in order 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 over range (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 /2 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. PrG | Page 21 of 28 ADIS16355 Table 33. ALM_MAG1 and ALM_MAG2 Register Definitions Table 38. ALM_CTRL Bit Designations 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 Designations 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_SIMPL2 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_SIMPL2 Bit Designations Bit [15:8] [7:0] Description Not used Data bits Addresses 0x2F, 0x2E Default 0x0000 [11:8] [7] [6] Table 37. ALM_CTRL Register Definition Format N/A Access R/W Value [5] [4] [3] [2] [1] [0] Rev. PrG | 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 output 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 ADIS16355 APPLICATIONS INFORMATION INSTALLATION GUIDELINES Electrical Connections Installing the ADIS16350 requires two steps: mechanical attachment of the body followed by the electrical connection. This device is designed for post-solder reflow installation. It is not designed to survive the temperatures associated with normal solder reflow processes. The electrical interface for the ADIS16350 is a single connector, which is attached to a flexible circuit extension, and strengthened by a rigid 0.7 mm thick PCB (FR4 equivalent material). Mechanical Attachment The ADIS16350 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 tradeoff 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 ADIS16350 provides 1.5 mm alignment pinholes, one on each side. Location accuracy of the mating holes may force the use of a smaller pin. Figure 33 provides a graphical display of the mechanical attachment and Figure 34 provides a recommendation for the physical layout of all the holes required for attaching the ADIS16350. This connector is a dual-row, 2-12, 1 mm male header, which mates to Samtec part number CLM-112-02-L-D-A or the equivalent. The flexible circuit has stress relief points to absorb environmental stresses, such as temperature cycling and vibration. Figure 34 provides the alignment hole locations for designs that employ the suggested connector mate. This connection is held by friction only. 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 ADIS16350's body, 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 06522-028 DRILL AND TAP HOLE FOR 2mm (2-56) SCREW, 2 EACH Figure 33. Mechanical Attachment Rev. PrG | Page 23 of 28 ADIS16355 DRILL AND INSERT 1.5mm PIN 2x (HOLE PLACEMENT INACCURACY MAY REQUIRE USE OF UNDERSIZED PIN). 26.700 BSC DRILL AND TAP FOR M2 SCREW AS REQUIRED 2x. 4 BSC 27.700 BSC 10 HOLE 2x. SEE SAMTEC MOUNTING DRAWING FOR CLM SERIES SOCKET. 8.350 0.500 BSC 2x 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 34. Hole Locations Rev. PrG | Page 24 of 28 06522-029 16.810 2x ADIS16355 OUTLINE DIMENSIONS 31.900 31.700 31.500 23.454 23.200 22.946 9.464 9.210 8.956 (2x) 2.382 BSC 17.41 17.21 17.01 (2x) 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 (2x) 14.950 14.550 14.150 PIN 24 4.20 4.00 3.80 (2x) 7.18 BSC 1.00 BSC 0.05 BSC PIN 1 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 (24x) 5.30 5.00 4.70 DETAIL A 1.00 BSC (22x) 4.330 BSC 1.65 BSC 081507-B DETAIL A 14.00 BSC Figure 35. ADIS16350 Module with Connector Interface (ML-24-2) Dimensions shown in millimeters ORDERING GUIDE Model ADIS16350AMLZ1 ADIS16350/PCBZ1 ADIS16350/EVALZ1 ADIS16355AMLZ1 ADIS16355/PCBZ1 ADIS16355/EVALZ1 1 Temperature Range -40C to +85C -40C to +85C Package Description 24-Lead Module with Connector Interface Interface Board PC Evaluation System 24-Lead Module with Connector Interface Interface Board PC Evaluation System Z = RoHS Compliant Part. Rev. PrG | Page 25 of 28 Package Option ML-24-2 ML-24-2 ADIS16355 NOTES Rev. PrG | Page 26 of 28 ADIS16355 NOTES Rev. PrG | Page 27 of 28 ADIS16355 NOTES (c)2007 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. PR06874-0-10/07(PrG) Rev. PrG | Page 28 of 28