Tactical Grade, Ten Degrees of Freedom Inertial Sensor ADIS16488A Data Sheet FEATURES GENERAL DESCRIPTION Triaxial, digital gyroscope, 450/sec dynamic range 0.05 orthogonal alignment error 5.1/hr in-run bias stability 0.26/hr angular random walk 0.01% nonlinearity Triaxial, digital accelerometer, 18 g Triaxial, delta angle and delta velocity outputs Triaxial, digital magnetometer, 2.5 gauss Digital pressure sensor, 300 mbar to 1100 mbar Fast start-up time, ~500 ms Factory-calibrated sensitivity, bias, and axial alignment Calibration temperature range: -40C to +85C SPI-compatible serial interface Embedded temperature sensor Programmable operation and control Automatic and manual bias correction controls 4 FIR filter banks, 120 configurable taps Digital input/output: data-ready alarm indicator, external clock Alarms for condition monitoring Power-down/sleep mode for power management Optional external sample clock input: up to 2.4 kHz Single command self test Single-supply operation: 3.0 V to 3.6 V 2000 g shock survivability Operating temperature range: -55C to +105C (CML) The ADIS16488A iSensor(R) device is a complete inertial system that includes a triaxis gyroscope, a triaxis accelerometer, triaxis magnetometer, and pressure sensor. Each inertial sensor in the ADIS16488A combines industry-leading iMEMS(R) technology with signal conditioning that optimizes dynamic performance. The factory calibration characterizes each sensor for sensitivity, bias, alignment, and linear acceleration (gyroscope bias). As a result, each sensor has its own dynamic compensation formulas that provide accurate sensor measurements. The ADIS16488A provides a simple, cost-effective method for integrating accurate, multiaxis inertial sensing into industrial systems, especially when compared with the complexity and investment associated with discrete designs. All necessary motion testing and calibration are part of the production process at the factory, greatly reducing system integration time. Tight orthogonal alignment simplifies inertial frame alignment in navigation systems. The SPI and register structure provide a simple interface for data collection and configuration control. The ADIS16488A uses the same footprint and connector system as the ADIS16375, ADIS16480, and ADIS16485, which greatly simplifies the upgrade process. The ADIS16488A is packaged in a module that is approximately 47 mm x 44 mm x 14 mm and includes a standard connector interface. APPLICATIONS Platform stabilization and control Navigation Personnel tracking Instrumentation Robotics FUNCTIONAL BLOCK DIAGRAM VDD DIO1 DIO2 DIO3 DIO4 RST SELF TEST ALARMS I/O POWER MANAGEMENT GND TRIAXIAL GYRO OUTPUT DATA REGISTERS TRIAXIAL ACCEL CONTROLLER TRIAXIAL MAGN CALIBRATION AND FILTERS PRESSURE SCLK SPI USER CONTROL REGISTERS DIN DOUT CLOCK ADIS16488A VDD VDDRTC 11855-001 TEMP CS Figure 1. Rev. C Document Feedback 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 (c)2014-2015 Analog Devices, Inc. All rights reserved. Technical Support www.analog.com ADIS16488A Data Sheet TABLE OF CONTENTS Features .............................................................................................. 1 Firmware Revision ..................................................................... 19 Applications ....................................................................................... 1 Product Identification................................................................ 20 General Description ......................................................................... 1 Digital Signal Processing ............................................................... 21 Functional Block Diagram .............................................................. 1 Gyroscopes/Accelerometers ..................................................... 21 Revision History ............................................................................... 2 Averaging/Decimation Filter .................................................... 21 Specifications..................................................................................... 3 Magnetometer/Barometer ......................................................... 21 Timing Specifications .................................................................. 5 FIR Filter Banks .......................................................................... 22 Absolute Maximum Ratings............................................................ 7 Calibration ....................................................................................... 24 Thermal Resistance ...................................................................... 7 Gyroscopes .................................................................................. 24 ESD Caution .................................................................................. 7 Accelerometers ........................................................................... 25 Pin Configuration and Function Descriptions ............................. 8 Magnetometers ........................................................................... 25 Typical Performance Characteristics ............................................. 9 Barometers .................................................................................. 27 Theory of Operation ...................................................................... 10 Restoring Factory Calibration .................................................. 27 Register Structure ....................................................................... 10 Point of Percussion Alignment ................................................. 27 SPI Communication ................................................................... 10 Alarms .............................................................................................. 28 Device Configuration ................................................................ 11 Static Alarm Use ......................................................................... 28 Reading Sensor Data .................................................................. 11 Dynamic Alarm Use .................................................................. 29 User Registers .................................................................................. 12 System Controls .............................................................................. 30 Output Data Registers .................................................................... 15 Global Commands ..................................................................... 30 Inertial Sensor Data Format...................................................... 15 Memory Management ............................................................... 30 Rotation Rate (Gyroscope) ........................................................ 15 General-Purpose Input/Output................................................ 31 Acceleration................................................................................. 16 Power Management ................................................................... 31 Delta Angles ................................................................................ 16 Applications Information .............................................................. 33 Delta Velocity .............................................................................. 17 Mounting Best Practices ............................................................ 33 Magnetometers ........................................................................... 17 Evaluation Tools ......................................................................... 34 Barometer .................................................................................... 18 Power Supply Considerations ................................................... 34 Internal Temperature ................................................................. 18 Outline Dimensions ....................................................................... 35 Status/Alarm Indicators ............................................................. 18 Ordering Guide .......................................................................... 35 REVISION HISTORY 8/15--Rev. B to Rev. C Changes to Table 72, Table 73, and Table 74 ............................... 24 Changes to Table 82, Table 83, and Table 84 ............................... 25 2/15--Rev. A to Rev. B Change to Features Section ............................................................. 1 Changes to t2 Parameter, Table 2, and Figure 2 ............................ 5 Added Table 3; Renumbered Sequentially .................................... 5 Changes to Figure 4 .......................................................................... 6 Change to Dual Memory Structure Section................................ 11 Change to Table 72, Table 73, and Table 74 ................................ 24 Change to Table 82, Table 83, and Table 84 ................................ 25 5/14--Rev. 0 to Rev. A Changes to Table 71, Table 72, and Table 73 ............................... 23 Changes to Table 81, Table 82, and Table 83 ............................... 24 1/14--Revision 0: Initial Version Rev. C | Page 2 of 35 Data Sheet ADIS16488A SPECIFICATIONS TC = 25C, VDD = 3.3 V, angular rate = 0/sec, dynamic range = 450/sec 1 g, 300 mbar to 1100 mbar, unless otherwise noted. Table 1. Parameter GYROSCOPES Dynamic Range Sensitivity Repeatability 1 Sensitivity Temperature Coefficient Misalignment Nonlinearity Bias Repeatability1, 2 In-Run Bias Stability Angular Random Walk Bias Temperature Coefficient Linear Acceleration Effect on Bias Output Noise Rate Noise Density 3 dB Bandwidth Sensor Resonant Frequency ACCELEROMETERS Dynamic Range Sensitivity Repeatability1 Sensitivity Temperature Coefficient Misalignment Nonlinearity Bias Repeatability1, 2 In-Run Bias Stability Velocity Random Walk Bias Temperature Coefficient Output Noise Noise Density 3 dB Bandwidth Sensor Resonant Frequency MAGNETOMETER Dynamic Range Sensitivity Initial Sensitivity Tolerance Sensitivity Temperature Coefficient Misalignment Nonlinearity Initial Bias Error Bias Temperature Coefficient Output Noise Noise Density 3 dB Bandwidth Test Conditions/Comments Min Typ 450 x_GYRO_OUT and x_GYRO_LOW (32-bit) -40C TC +85C -40C TC +85C, 1 Axis to axis Axis to frame (package) Best fit straight line, FS = 450/sec -40C TC +85C, 1 1 1 -40C TC +85C, 1 Any axis, 1 (CONFIG[7] = 1) No filtering f = 10 Hz to 40 Hz, no filtering Max Unit 480 /sec /sec/LSB % ppm/C Degrees Degrees % of FS /sec /hr /hr /sec/C /sec/g /sec rms /sec/Hz rms Hz kHz 3.052 x 10-7 1 35 0.05 1.0 0.01 0.2 5.1 0.26 0.0025 0.009 0.135 0.0059 330 18 Each axis 18 x_ACCL_OUT and x_ACCL_LOW (32-bit) -40C TC +85C -40C TC +85C, 1 Axis to axis Axis to frame (package) Best fit straight line, 10 g Best fit straight line, 18 g -40C TC +85C, 1 1 1 -40C TC +85C No filtering f = 10 Hz to 40 Hz, no filtering 1.221 x 10-8 0.5 25 0.035 1.0 0.1 0.5 16 0.07 0.029 0.1 1.29 0.063 330 5.5 2.5 0.1 2 ADIS16488BMLZ, -40C TC +85C, 1 ADIS16488CMLZ, -40C TC +85C, 1 Axis to axis Axis to frame (package) Best fit straight line 0 gauss stimulus ADIS16488BMLZ, -40C TC +85C, 1 ADIS16488CMLZ, -40C TC +85C, 1 No filtering f = 2 Hz to 5 Hz, no filtering Rev. C | Page 3 of 35 275 60 0.35 1.0 0.5 15 0.3 0.03 0.22 0.042 330 g g/LSB % ppm/C Degrees Degrees % of FS % of FS mg mg m/sec/hr mg/C mg rms mg/Hz rms Hz kHz gauss mgauss/LSB % ppm/C ppm/C Degrees Degrees % of FS mgauss mgauss/C mgauss/C mgauss rms mgauss/Hz Hz ADIS16488A Parameter BAROMETER Pressure Range Sensitivity Error with Supply Total Error Relative Error 3 Nonlinearity 4 Linear-g Sensitivity Noise TEMPERATURE SENSOR Scale Factor LOGIC INPUTS 5 Input High Voltage, VIH Input Low Voltage, VIL CS Wake-Up Pulse Width Logic 1 Input Current, IIH Logic 0 Input Current, IIL All Pins Except RST RST Pin Input Capacitance, CIN DIGITAL OUTPUTS Output High Voltage, VOH Output Low Voltage, VOL FLASH MEMORY Data Retention 7 FUNCTIONAL TIMES 8 Power-On Start-Up Time Reset Recovery Time 9 Sleep Mode Recovery Time Flash Memory Update Time Test Time Automatic Self Test Time CONVERSION RATE Initial Clock Accuracy Temperature Coefficient Sync Input Clock POWER SUPPLY, VDD Power Supply Current 11 POWER SUPPLY, VDDRTC Real-Time Clock Supply Current Data Sheet Test Conditions/Comments Extended BAROM_OUT and BAROM_LOW (32-bit) Min Typ Max Unit 1100 1200 6.1 x 10-7 0.04 4.5 2.5 0.1 0.2 0.005 0.025 mbar mbar mbar/LSB %/V mbar mbar % of FS % of FS mbar/g mbar rms 0.00565 C/LSB 300 10 -40C TC +85C Best fit straight line, FS = 1100 mbar -40C TC +85C 1 g, 1 Output = 0x0000 at 25C (5C) 2.0 0.8 20 VIH = 3.3 V VIL = 0 V 10 10 0.33 10 ISOURCE = 0.5 mA ISINK = 2.0 mA Endurance 6 TJ = 85C Time until data is available 2.4 0.4 100,000 20 Using internal clock, 100 SPS Operating voltage range Normal mode, VDD = 3.3 V, Sleep mode, VDD = 3.3 V Power-down mode, VDD = 3.3 V Operating voltage range Normal mode, VDDRTC = 3.3 V V V s A A mA pF V V Cycles Years 500 500 500 ms ms s 375 50 12 2.46 0.02 40 ms ms ms kSPS % ppm/C kHz V mA mA A V A 0.7 10 3.0 2.4 3.6 245 12.2 45 3.0 3.6 13 The repeatability specifications represent analytical projections based on the following drift contributions and conditions: temperature hysteresis (-40C to +85C), electronics drift (high temperature operating life test: +110C, 500 hours), drift from temperature cycling (JESD22, Method A104-C, Method N, 500 cycles, -55C to +85C), rate random walk (10-year projection), and broadband noise. 2 Bias repeatability describes a long-term behavior over a variety of conditions. Short-term repeatability relates to the in-run bias stability and noise density specifications. 3 The relative error assumes that the initial error, at 25C, is corrected in the end application. 4 Specification assumes a full scale (FS) of 1000 mbar. 5 The digital input/output signals use a 3.3 V system. 6 Endurance is qualified as per JEDEC Standard 22, Method A117, measured at -40C, +25C, +85C, and +125C. 7 The data retention specification assumes a junction temperature (TJ) of 85C per JEDEC Standard 22, Method A117. Data retention lifetime decreases with TJ. 8 These times do not include thermal settling and internal filter response times, which may affect overall accuracy. 9 The RST line must be in a low state for at least 10 s to assure a proper reset initiation and recovery. 10 Device functions at clock rates below 0.7 kHz, but at reduced performance levels. 11 Supply current transients can reach 600 mA during initial start up or reset recovery. 1 Rev. C | Page 4 of 35 Data Sheet ADIS16488A TIMING SPECIFICATIONS TC = 25C, VDD = 3.3 V, unless otherwise noted. Table 2. Parameter fSCLK tSTALL 2 tCLS tCHS tCS Description Serial clock Stall period between data Serial clock low period Serial clock high period Chip select to clock edge tDAV tDSU tDHD tDR, tDF tDSOE tHD tSFS tDSHI t1 t2 t3 DOUT valid after SCLK edge DIN setup time before SCLK rising edge DIN hold time after SCLK rising edge DOUT rise/fall times, 100 pF loading CS assertion to data out active SCLK edge to data out invalid Last SCLK edge to CS deassertion CS deassertion to data out high impedance Input sync pulse width Input sync to data invalid Input sync period 1 2 Min 1 0.01 2 31 31 32 Normal Mode Typ Max1 15 Unit MHz s ns ns ns 10 ns ns ns ns ns ns ns ns s s s 2 2 3 0 0 32 0 5 8 11 9 490 417 Guaranteed by design and characterization, but not tested in production. See Table 3 for exceptions to the stall time rating Table 3. Register Specific Stall Times Register FNCTIO_CTRL FLTR_BNK0 FLTR_BNK1 NULL_CFG GLOB_CMD[1] GLOB_CMD[2] GLOB_CMD[3] GLOB_CMD[6] GLOB_CMD[7] Function Configure DIOx functions Enable/select FIR filter banks Enable/select FIR filter banks Configure autonull bias function Self-test Flash memory test Flash memory update Factory calibration restore Software reset Rev. C | Page 5 of 35 Minimum Stall Time (s) 15 10 10 10 12,000 50,000 375,000 75,000 120,000 ADIS16488A Data Sheet Timing Diagrams CS tCHS tCS 1 2 3 tCLS 4 5 tSFS 6 15 16 SCLK DOUT tDAV MSB DB14 tHD DB13 tDSU DIN R/W A6 DB12 tDR DB11 DB10 DB2 tDSHI DB1 tDHD A5 LSB tDF A4 A3 A2 D2 D1 11855-002 tDSOE LSB Figure 2. SPI Timing and Sequence tSTALL 11855-003 CS SCLK Figure 3. Stall Time and Data Rate t2 t3 t1 SYNC CLOCK (CLKIN) OUTPUT REGISTERS DATA VALID DATA VALID Figure 4. Input Clock Timing Diagram Rev. C | Page 6 of 35 11855-004 DATA READY Data Sheet ADIS16488A ABSOLUTE MAXIMUM RATINGS THERMAL RESISTANCE Table 4. Parameter Acceleration Any Axis, Unpowered Any Axis, Powered VDD to GND Digital Input Voltage to GND Digital Output Voltage to GND Operating Temperature Range ADIS16488BMLZ ADIS16488CMLZ Storage Temperature Range1 Barometric Pressure 1 Rating Table 5. Package Characteristics 2000 g 2000 g -0.3 V to +3.6 V -0.3 V to VDD + 0.2 V -0.3 V to VDD + 0.2 V Package Type 24-Lead Module (ML-24-6) ESD CAUTION -40C to +105C -55C to +105C -65C to +150C 2 bar Extended exposure to temperatures that are lower than -55C or higher than +105C can adversely affect the accuracy of the factory calibration. Stresses at or above those listed under Absolute Maximum Ratings may cause permanent damage to the product. This is a stress rating only; functional operation of the product at these or any other conditions above those indicated in the operational section of this specification is not implied. Operation beyond the maximum operating conditions for extended periods may affect product reliability. Rev. C | Page 7 of 35 JA 22.8C/W JC 10.1C/W Device Weight 48 g ADIS16488A Data Sheet PIN CONFIGURATION AND FUNCTION DESCRIPTIONS ADIS16488A DNC DNC DNC DNC DNC GND VDD VDD RST CS DOUT DIO4 TOP VIEW (Not to Scale) 24 22 20 18 16 14 12 10 8 6 4 2 PIN 23 19 17 15 13 11 9 7 5 3 1 DNC DNC DNC GND GND VDD DIO2 DIO1 DIN SCLK DIO3 NOTES 1. THIS REPRESENTATION DISPLAYS THE TOP VIEW PINOUT FOR THE MATING SOCKET CONNECTOR. 2. THE ACTUAL CONNECTOR PINS ARE NOT VISIBLE FROM THE TOP VIEW. 3. MATING CONNECTOR: SAMTEC CLM-112-02 OR EQUIVALENT. 4. DNC = DO NOT CONNECT TO THESE PINS. PIN 1 PIN 2 Figure 5. Mating Connector Pin Assignments 11855-006 21 11855-005 23 VDDRTC PIN 1 Figure 6. Axial Orientation (Top Side Facing Up) Table 6. Pin Function Descriptions Pin No. 1 2 3 4 5 6 7 8 9 10, 11, 12 13, 14, 15 16 to 22, 24 23 Mnemonic DIO3 DIO4 SCLK DOUT DIN CS DIO1 RST DIO2 VDD GND DNC VDDRTC Type Input/output Input/output Input Output Input Input Input/output Input Input/output Supply Supply Not applicable Supply Description Configurable Digital Input/Output. Configurable Digital Input/Output. SPI Serial Clock. SPI Data Output. Clocks output on SCLK falling edge. SPI Data Input. Clocks input on SCLK rising edge. SPI Chip Select. Configurable Digital Input/Output. Reset. Configurable Digital Input/Output. Power Supply. Power Ground. Do Not Connect. Do not connect to these pins. Real-Time Clock Power Supply. Rev. C | Page 8 of 35 Data Sheet ADIS16488A TYPICAL PERFORMANCE CHARACTERISTICS 0.3 AVERAGE AVERAGE BIAS ERROR (/sec) 0.2 +1 10 +3 0.1 0 -3 -0.1 -1 1 0.01 0.1 1 10 100 1000 10000 INTEGRATION PERIOD (Seconds) -0.3 -50 -40 -30 -20 -10 0 Figure 7. Gyroscope Allan Variance, 25C 0.001 10 20 30 40 50 60 70 80 90 100 110 TEMPERATURE (C) 11855-209 -0.2 11855-007 ROOT ALLAN VARIANCE (/Hour) 100 Figure 9. Gyroscope Bias Error vs. Temperature 0.8 AVERAGE AVERAGE SENSITIVITY ERROR (% FS) ROOT ALLAN VARIANCE ( g) 0.6 +1 0.0001 -1 0.4 0.2 +3 0 -0.2 -3 -0.4 0.1 1 10 100 1000 INTEGRATION PERIOD (Seconds) 10000 -0.8 -50 -40 -30 -20 -10 0 10 20 30 40 50 60 70 80 90 100 110 TEMPERATURE (C) Figure 10. Gyroscope Scale (Sensitivity) Error vs. Temperature Figure 8. Accelerometer Allan Variance, 25C Rev. C | Page 9 of 35 11855-210 0.00001 0.01 11855-008 -0.6 ADIS16488A Data Sheet THEORY OF OPERATION I/O LINES ARE COMPATIBLE WITH 3.3V LOGIC LEVELS The register structure and SPI port provide a bridge between the sensor processing system and an external, master processor. It contains both output data and control registers. The output data registers include the latest sensor data, a real-time clock, error flags, alarm flags, and identification data. The control registers include sample rate, filtering, input/output, alarms, calibration, and diagnostic configuration options. All communication between the ADIS16488A and an external processor involves either reading or writing to one of the user registers. TRIAXIS GYRO TRIAXIS ACCEL TRIAXIS MAGN +3.3V VDD BARO 10 SYSTEM PROCESSOR SPI MASTER 11 12 23 SS 6 CS 3 SCLK MOSI 5 DIN MISO 4 DOUT IRQ 9 DIO2 14 15 Figure 11. Electrical Connection Diagram Table 7. Generic Master Processor Pin Names and Functions Mnemonic SS IRQ MOSI MISO SCLK Function Slave select Interrupt request Master output, slave input Master input, slave output Serial clock CONTROL REGISTERS The register structure uses a paged addressing scheme that is composed of 13 pages, with each page containing 64 register locations. Each register is 16 bits wide, with each byte having its own unique address within the memory map of that page. The SPI port has access to one page at a time, using the bit sequence shown in Figure 13. Select the page to activate for SPI access by writing its code to the PAGE_ID register. Read the PAGE_ID register to determine which page is currently active. Table 9 displays the PAGE_ID contents for each page, together with their basic functions. The PAGE_ID register is located at Address 0x00 on every page. Table 9. User Register Page Assignments Embedded processors typically use control registers to configure their serial ports for communicating with SPI slave devices, such as the ADIS16488A. Table 8 provides a list of settings describing the SPI protocol of the ADIS16488A. The initialization routine of the master processor typically establishes these settings using firmware commands to write them into its serial control registers. Table 8. Generic Master Processor SPI Settings Processor Setting Master SCLK 15 MHz SPI Mode 3 MSB-First Mode 16-Bit Mode CONTROLLER Figure 12. Basic Operation 11855-009 13 OUTPUT REGISTERS TEMP SENSOR ADIS16488A SCLK DSP 11855-010 The four SPI signals facilitate synchronous, serial data communication. Connect the reset line (RST) to VDD or do not connect it to anything for normal operation. The factory default configuration provides users with a data ready signal on the DIO2 pin, which pulses high when new data is available in the output data registers. REGISTER STRUCTURE SPI The ADIS16488A is an autonomous sensor system that self starts when it has a valid power supply. After running through its initialization process, it begins sampling, processing, and loading calibrated sensor data into the output registers, which are accessible using the SPI port. The SPI port typically connects to a compatible port on an embedded processor, using the connections as shown in Figure 11. Description The ADIS16488A operates as a slave Maximum serial clock rate CPOL = 1 (polarity), and CPHA = 1 (phase) Bit sequence Shift register/data length Page 0 1 2 3 PAGE_ID 0x00 0x01 0x02 0x03 4 5 6 7 8 9 10 11 12 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C Function Output data, clock, identification Reserved Calibration Control: sample rate, filtering, input/output, alarms Serial number FIR Filter Bank A, Coefficient 0 to Coefficient 59 FIR Filter Bank A, Coefficient 60 to Coefficient 119 FIR Filter Bank B, Coefficient 0 to Coefficient 59 FIR Filter Bank B, Coefficient 60 to Coefficient 119 FIR Filter Bank C, Coefficient 0 to Coefficient 59 FIR Filter Bank C, Coefficient 60 to Coefficient 119 FIR Filter Bank D, Coefficient 0 to Coefficient 59 FIR Filter Bank D, Coefficient 60 to Coefficient 119 SPI COMMUNICATION If the previous command was a read request, the SPI port supports full duplex communication, which enables external processors to write to DIN while reading DOUT (see Figure 13). Figure 13 provides a guideline for the bit coding on both DIN and DOUT. Rev. C | Page 10 of 35 Data Sheet ADIS16488A CS SCLK DIN DOUT R/W D15 A6 A5 A4 A3 A2 A1 A0 DC7 DC6 DC5 DC4 DC3 DC2 DC1 DC0 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 R/W D15 A6 A5 D14 D13 11855-015 NOTES 1. DOUT BITS ARE PRODUCED ONLY WHEN THE PREVIOUS 16-BIT DIN SEQUENCE STARTS WITH R/W = 0. 2. WHEN CS IS HIGH, DOUT IS IN A THREE-STATE, HIGH IMPEDANCE MODE, WHICH ALLOWS MULTIFUNCTIONAL USE OF THE LINE FOR OTHER DEVICES. Figure 13. SPI Communication Bit Sequence DEVICE CONFIGURATION MANUAL FLASH BACKUP The SPI provides write access to the control registers, one byte at a time, using the bit assignments shown in Figure 13. Each register has 16 bits, where Bits[7:0] represent the lower address (listed in Table 10) and Bits[15:8] represent the upper address. Write to the lower byte of a register first, followed by a write to its upper byte (the only register that changes with a single write to its lower byte is the PAGE_ID register). CS Figure 14. SPI Sequence for Activating the Control Page (DIN = 0x8003) Dual Memory Structure Writing configuration data to a control register updates its SRAM contents, which are volatile. After optimizing each relevant control register setting in a system, use the manual flash update command, which is located in GLOB_CMD[3] on Page 3 of the register map. Activate the manual flash update command by turning to Page 3 (DIN = 0x8003) and setting GLOB_CMD[3] = 1 (DIN = 0x8208, then DIN = 0x8300). For a flash memory update, ensure that the power supply is within specification for the entire processing time (see Table 1). Table 10 provides a memory map for all of the user registers, which includes a column of flash backup information. A yes in this column indicates that a register has a mirror location in flash and, when backed up properly, automatically restores itself during startup or after a reset. Figure 15 provides a diagram of the dual memory structure that supports all device operations and stores critical user settings. (NO SPI ACCESS) SPI ACCESS 11855-012 START-UP RESET Figure 15. SRAM and Flash Memory Diagram READING SENSOR DATA The ADIS16488A automatically starts up and activates Page 0 for data register access. Write 0x00 to the PAGE_ID register (DIN = 0x8000) to activate Page 0 for data access after accessing any other page. A single register read requires two 16-bit SPI cycles. The first cycle requests the contents of a register using the bit assignments in Figure 13, and then the register contents follow DOUT during the second sequence. The first bit in a DIN command is zero, followed by either the upper or lower address for the register. The last eight bits are don't care, but the SPI requires the full set of 16 SCLKs to receive the request. Figure 16 includes two register reads in succession, which starts with DIN = 0x1A00, to request the contents of the Z_GYRO_OUT register, and follows with 0x1800, to request the contents of the Z_GYRO_LOW register. DIN DOUT 0x1A00 0x1800 NEXT ADDRESS Z_GYRO_OUT Z_GYRO_LOW Figure 16. SPI Read Example Figure 17 provides an example of the four SPI signals when reading PROD_ID in a repeating pattern. This is an effective pattern to use for troubleshooting the SPI interface setup and communications because the contents of PROD_ID are predefined and stable. CS SCLK DIN DIN = 0111 1110 0000 0000 = 0x7E00 DOUT DOUT = 0100 0000 0110 1000 = 0x4068 = 16,488 (PROD_ID) Figure 17. SPI Read Example, Second 16-Bit Sequence Rev. C | Page 11 of 35 11855-014 DIN DIN = 1000 0000 0000 0011 = 0x8003, WRITES 0x03 TO ADDRESS 0x00 11855-011 SCLK VOLATILE SRAM 11855-013 For a write command, the first bit in the DIN sequence is set to 1. Address Bits[A6:A0] represent the target address, and Data Command Bits[DC7:DC0] represent the data being written to the location. Figure 14 provides an example of writing 0x03 to Address 0x00 (PAGE_ID [7:0]) using DIN = 0x8003. This write command activates the control page for SPI access. NONVOLATILE FLASH MEMORY ADIS16488A Data Sheet USER REGISTERS Table 10. User Register Memory Map (N/A = Not Applicable) Name PAGE_ID Reserved SEQ_CNT SYS_E_FLAG DIAG_STS ALM_STS TEMP_OUT X_GYRO_LOW X_GYRO_OUT Y_GYRO_LOW Y_GYRO_OUT Z_GYRO_LOW Z_GYRO_OUT X_ACCL_LOW X_ACCL_OUT Y_ACCL_LOW Y_ACCL_OUT Z_ACCL_LOW Z_ACCL_OUT X_MAGN_OUT Y_MAGN_OUT Z_MAGN_OUT BAROM_LOW BAROM_OUT Reserved X_DELTANG_LOW X_DELTANG_OUT Y_DELTANG_LOW Y_DELTANG_OUT Z_DELTANG_LOW Z_DELTANG_OUT X_DELTVEL_LOW X_DELTVEL_OUT Y_DELTVEL_LOW Y_DELTVEL_OUT Z_DELTVEL_LOW Z_DELTVEL_OUT Reserved TIME_MS_OUT TIME_DH_OUT TIME_YM_OUT PROD_ID Reserved PAGE_ID Reserved X_GYRO_SCALE Y_GYRO_SCALE Z_GYRO_SCALE X_ACCL_SCALE Y_ACCL_SCALE R/W 1 R/W N/A R R R R R R R R R R R R R R R R R R R R R R N/A R R R R R R R R R R R R N/A R/W R/W R/W R N/A R/W N/A R/W R/W R/W R/W R/W Flash No N/A No No No No No No No No No No No No No No No No No No No No No No N/A No No No No No No No No No No No No N/A Yes Yes Yes Yes N/A No N/A Yes Yes Yes Yes Yes PAGE_ID 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x02 0x02 0x02 0x02 0x02 0x02 0x02 Address 0x00 0x02 to 0x04 0x06 0x08 0x0A 0x0C 0x0E 0x10 0x12 0x14 0x16 0x18 0x1A 0x1C 0x1E 0x20 0x22 0x24 0x26 0x28 0x2A 0x2C 0x2E 0x30 0x32 to 0x3E 0x40 0x42 0x44 0x46 0x48 0x4A 0x4C 0x4E 0x50 0x52 0x54 0x56 0x58 to 0x76 0x78 0x7A 0x7C 0x7E 0x00 to 0x7E 0x00 0x02 0x04 0x06 0x08 0x0A 0x0C Default 0x00 N/A N/A 0x0000 0x0000 0x0000 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A 0x4068 N/A 0x00 N/A 0x0000 0x0000 0x0000 0x0000 0x0000 Register Description Page identifier Reserved Sequence counter Output, system error flags Output, self test error flags Output, alarm error flags Output, temperature Output, x-axis gyroscope, low word Output, x-axis gyroscope, high word Output, y-axis gyroscope, low word Output, y-axis gyroscope, high word Output, z-axis gyroscope, low word Output, z-axis gyroscope, high word Output, x-axis accelerometer, low word Output, x-axis accelerometer, high word Output, y-axis accelerometer, low word Output, y-axis accelerometer, high word Output, z-axis accelerometer, low word Output, z-axis accelerometer, high word Output, x-axis magnetometer, high word Output, y-axis magnetometer, high word Output, z-axis magnetometer, high word Output, barometer, low word Output, barometer, high word Reserved Output, x-axis delta angle, low word Output, x-axis delta angle, high word Output, y-axis delta angle, low word Output, y-axis delta angle, high word Output, z-axis delta angle, low word Output, z-axis delta angle, high word Output, x-axis delta velocity, low word Output, x-axis delta velocity, high word Output, y-axis delta velocity, low word Output, y-axis delta velocity, high word Output, z-axis delta velocity, low word Output, z-axis delta velocity, high word Reserved Factory configuration time: minutes/seconds Factory configuration date/time: day/hour Factory configuration date: year/month Output, product identification (16,488) Reserved Page identifier Reserved Calibration, scale, x-axis gyroscope Calibration, scale, y-axis gyroscope Calibration, scale, z-axis gyroscope Calibration, scale, x-axis accelerometer Calibration, scale, y-axis accelerometer Rev. C | Page 12 of 35 Format N/A N/A Table 57 Table 48 Table 49 Table 50 Table 46 Table 15 Table 11 Table 16 Table 12 Table 17 Table 13 Table 22 Table 18 Table 23 Table 19 Table 24 Table 20 Table 39 Table 40 Table 41 Table 45 Table 43 N/A Table 29 Table 25 Table 30 Table 26 Table 31 Table 27 Table 36 Table 32 Table 37 Table 33 Table 38 Table 34 N/A Table 125 Table 126 Table 127 Table 54 N/A N/A N/A Table 72 Table 73 Table 74 Table 82 Table 83 Data Sheet Name Z_ACCL_SCALE XG_BIAS_LOW XG_BIAS_HIGH YG_BIAS_LOW YG_BIAS_HIGH ZG_BIAS_LOW ZG_BIAS_HIGH XA_BIAS_LOW XA_BIAS_HIGH YA_BIAS_LOW YA_BIAS_HIGH ZA_BIAS_LOW ZA_BIAS_HIGH HARD_IRON_X HARD_IRON_Y HARD_IRON_Z SOFT_IRON_S11 SOFT_IRON_S12 SOFT_IRON_S13 SOFT_IRON_S21 SOFT_IRON_S22 SOFT_IRON_S23 SOFT_IRON_S31 SOFT_IRON_S32 SOFT_IRON_S33 BR_BIAS_LOW BR_BIAS_HIGH Reserved USER_SCR_1 USER_SCR_2 USER_SCR_3 USER_SCR_4 FLSHCNT_LOW FLSHCNT_HIGH PAGE_ID GLOB_CMD Reserved FNCTIO_CTRL GPIO_CTRL CONFIG DEC_RATE NULL_CNFG SLP_CNT Reserved FILTR_BNK_0 FILTR_BNK_1 Reserved ALM_CNFG_0 ALM_CNFG_1 ALM_CNFG_2 Reserved XG_ALM_MAGN YG_ALM_MAGN ADIS16488A R/W 1 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 R/W R/W R/W R/W R/W R/W R/W R/W R/W N/A R/W R/W R/W R/W R R R/W W N/A R/W R/W R/W R/W R/W R/W N/A R/W R/W N/A R/W R/W R/W N/A R/W R/W Flash Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes Yes Yes Yes Yes Yes No No N/A Yes Yes Yes Yes Yes No N/A Yes Yes N/A Yes Yes Yes N/A Yes Yes PAGE_ID 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x02 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 Address 0x0E 0x10 0x12 0x14 0x16 0x18 0x1A 0x1C 0x1E 0x20 0x22 0x24 0x26 0x28 0x2A 0x2C 0x2E 0x30 0x32 0x34 0x36 0x38 0x3A 0x3C 0x3E 0x40 0x42 0x44 to 0x72 0x74 0x76 0x78 0x7A 0x7C 0x7E 0x00 0x02 0x04 0x06 0x08 0x0A 0x0C 0x0E 0x10 0x12 to 0x14 0x16 0x18 0x1A to 0x1E 0x20 0x22 0x24 0x26 0x28 0x2A Default 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 N/A 0x0000 0x0000 0x0000 0x0000 N/A N/A 0x0000 N/A N/A 0x000D 0x00X0 2 0x00C0 0x0000 0x070A N/A N/A 0x0000 0x0000 N/A 0x0000 0x0000 0x0000 N/A 0x0000 0x0000 Register Description Calibration, scale, z-axis accelerometer Calibration, offset, gyroscope, x-axis, low word Calibration, offset, gyroscope, x-axis, high word Calibration, offset, gyroscope, y-axis, low word Calibration, offset, gyroscope, y-axis, high word Calibration, offset, gyroscope, z-axis, low word Calibration, offset, gyroscope, z-axis, high word Calibration, offset, accelerometer, x-axis, low word Calibration, offset, accelerometer, x-axis, high word Calibration, offset, accelerometer, y-axis, low word Calibration, offset, accelerometer, y-axis, high word Calibration, offset, accelerometer, z-axis, low word Calibration, offset, accelerometer, z-axis, high word Calibration, hard iron, magnetometer, x-axis Calibration, hard iron, magnetometer, y-axis Calibration, hard iron, magnetometer, z-axis Calibration, soft iron, magnetometer, S11 Calibration, soft iron, magnetometer, S12 Calibration, soft iron, magnetometer, S13 Calibration, soft iron, magnetometer, S21 Calibration, soft iron, magnetometer, S22 Calibration, soft iron, magnetometer, S23 Calibration, soft iron, magnetometer, S31 Calibration, soft iron, magnetometer, S32 Calibration, soft iron, magnetometer, S33 Calibration, offset, barometer, low word Calibration, offset, barometer, high word Reserved User Scratch Register 1 User Scratch Register 2 User Scratch Register 3 User Scratch Register 4 Diagnostic, flash memory count, low word Diagnostic, flash memory count, high word Page identifier Control, global commands Reserved Control, input/output pins, functional definitions Control, input/output pins, general purpose Control, clock, and miscellaneous correction Control, output sample rate decimation Control, automatic bias correction configuration Control, power-down/sleep mode Reserved Filter selection Filter selection Reserved Alarm configuration Alarm configuration Alarm configuration Reserved Alarm, x-axis gyroscope threshold setting Alarm, y-axis gyroscope threshold setting Rev. C | Page 13 of 35 Format Table 84 Table 68 Table 65 Table 69 Table 66 Table 70 Table 67 Table 79 Table 76 Table 80 Table 77 Table 81 Table 78 Table 85 Table 86 Table 87 Table 89 Table 90 Table 91 Table 92 Table 93 Table 94 Table 95 Table 96 Table 97 Table 100 Table 99 N/A Table 121 Table 122 Table 123 Table 124 Table 116 Table 117 N/A Table 115 N/A Table 118 Table 119 Table 75 Table 56 Table 71 Table 120 N/A Table 58 Table 59 N/A Table 111 Table 112 Table 113 N/A Table 101 Table 102 ADIS16488A Data Sheet Name ZG_ALM_MAGN XA_ALM_MAGN YA_ALM_MAGN ZA_ALM_MAGN XM_ALM_MAGN YM_ALM_MAGN ZM_ALM_MAGN BR_ALM_MAGN Reserved FIRM_REV FIRM_DM FIRM_Y Reserved Reserved SERIAL_NUM Reserved PAGE_ID FIR_COEF_Axxx PAGE_ID FIR_COEF_Axxx R/W 1 R/W R/W R/W R/W R/W R/W R/W R/W N/A R R R N/A N/A R N/A R/W R/W R/W R/W Flash Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes Yes Yes N/A N/A Yes N/A No Yes No Yes PAGE_ID 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0x04 0x04 0x04 0x05 0x05 0x06 0x06 Address 0x2C 0x2E 0x30 0x32 0x34 0x36 0x38 0x3A 0x3C to 0x76 0x78 0x7A 0x7C 0x7E 0x00 to 0x18 0x20 0x22 to 0x7F 0x00 0x02 to 0x7E 0x00 0x02 to 0x7E Default 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 N/A N/A N/A N/A N/A N/A N/A N/A 0x0000 N/A 0x0000 N/A PAGE_ID FIR_COEF_Bxxx PAGE_ID FIR_COEF_Bxxx R/W R/W R/W R/W No Yes No Yes 0x07 0x07 0x08 0x08 0x00 0x02 to 0x7E 0x00 0x02 to 0x7E 0x0000 N/A 0x0000 N/A PAGE_ID FIR_COEF_Cxxx PAGE_ID FIR_COEF_Cxxx R/W R/W R/W R/W No Yes No Yes 0x09 0x09 0x0A 0x0A 0x00 0x02 to 0x7E 0x00 0x02 to 0x7E 0x0000 N/A 0x0000 N/A PAGE_ID FIR_COEF_Dxxx PAGE_ID FIR_COEF_Dxxx R/W R/W R/W R/W No Yes No Yes 0x0B 0x0B 0x0C 0x0C 0x00 0x02 to 0x7E 0x00 0x02 to 0x7E 0x0000 N/A 0x0000 N/A 1 2 Register Description Alarm, z-axis gyroscope threshold setting Alarm, x-axis accelerometer threshold Alarm, y-axis accelerometer threshold Alarm, z-axis accelerometer threshold Alarm, x-axis magnetometer threshold Alarm, y-axis magnetometer threshold Alarm, z-axis magnetometer threshold Alarm, barometer threshold setting Reserved Firmware revision Firmware programming date: day/month Firmware programming date: year Reserved Reserved Serial number Reserved Page identifier FIR Filter Bank A, Coefficient 0 through Coefficient 59 Page identifier FIR Filter Bank A, Coefficient 60 through Coefficient 119 Page identifier FIR Filter Bank B, Coefficient 0 through Coefficient 59 Page identifier FIR Filter Bank B, Coefficient 60 through Coefficient 119 Page identifier FIR Filter Bank C, Coefficient 0 through Coefficient 59 Page identifier FIR Filter Bank C, Coefficient 60 through Coefficient 119 Page identifier FIR Filter Bank D, Coefficient 0 through Coefficient 59 Page identifier FIR Filter Bank D, Coefficient 60 through Coefficient 119 R is read only, W is write only, R/W is read and write, and N/A means not applicable. The GPIO_CTRL[7:4] bits reflect the logic levels on the DIOx lines and do not have a default setting. Rev. C | Page 14 of 35 Format Table 103 Table 104 Table 105 Table 106 Table 107 Table 108 Table 109 Table 110 N/A Table 51 Table 52 Table 53 N/A N/A Table 55 N/A N/A Table 60 N/A Table 60 N/A Table 61 N/A Table 61 N/A Table 62 N/A Table 62 N/A Table 63 N/A Table 63 Data Sheet ADIS16488A OUTPUT DATA REGISTERS After the ADIS16488A completes its start-up process, the PAGE_ID register contains 0x0000, which sets Page 0 as the active page for SPI access. Page 0 contains the output data, realtime clock, status, and product identification registers. Table 12. Y_GYRO_OUT (Page 0, Base Address = 0x16) Bits [15:0] Description Y-axis gyroscope data; twos complement, 450/sec range, 0/sec = 0x0000, 1 LSB = 0.02/sec INERTIAL SENSOR DATA FORMAT Table 13. Z_GYRO_OUT (Page 0, Base Address = 0x1A) The gyroscope, accelerometer, delta angle, delta velocity, and barometer output data registers use a 32-bit, twos complement format. Each output uses two registers to support this resolution. Figure 18 provides an example of how each register contributes to each inertial measurement. In this case, X_GYRO_OUT is the most significant word (upper 16 bits), and X_GYRO_LOW is the least significant word (lower 16 bits). In many cases, using the most significant word registers alone provides sufficient resolution for preserving key performance metrics. Rotation Rate +450/sec +0.04/sec +0.02/sec 0/sec -0.02/sec -0.04/sec -450/sec X_GYRO_LOW 0 15 0 X-AXIS GYROSCOPE DATA Figure 18. Gyroscope Output Format Example, DEC_RATE > 0 Decimal +22,500 +2 +1 0 -1 -2 -22,500 Hex 0x57E4 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0xA81C Table 15. X_GYRO_LOW (Page 0, Base Address = 0x10) ROTATION RATE (GYROSCOPE) Bits [15:0] The registers that use the x_GYRO_OUT format are the primary registers for the gyroscope measurements (see Table 11, Table 12, and Table 13). When processing data from these registers, use a 16-bit, twos complement data format. Table 14 provides x_GYRO_OUT digital coding examples. Description X-axis gyroscope data; additional resolution bits Table 16. Y_GYRO_LOW (Page 0, Base Address = 0x14) Bits [15:0] Description Y-axis gyroscope data; additional resolution bits Table 17. Z_GYRO_LOW (Page 0, Base Address = 0x18) Table 11. X_GYRO_OUT (Page 0, Base Address = 0x12) Bits [15:0] Description X-axis gyroscope data; twos complement, 450/sec range, 0/sec = 0x0000, 1 LSB = 0.02/sec Description Z-axis gyroscope data; additional resolution bits Z-AXIS aZ mZ gZ mX X-AXIS mY Y-AXIS gX PIN 23 aX 11855-017 aY gY Binary 0101 0111 1110 0100 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1010 1000 0001 1100 The registers that use the x_GYRO_LOW naming format provide additional resolution for the gyroscope measurements (see Table 15, Table 16, and Table 17). The MSB has a weight of 0.01/sec, and each subsequent bit has 1/2 the weight of the previous one. The arrows in Figure 19 represent the direction of the motion, which produces a positive output response in the output register of each sensor. The accelerometers respond to both dynamic and static forces associated with acceleration, including gravity. When lying perfectly flat, as shown in Figure 19, the z-axis accelerometer output is 1 g, and the x and y accelerometers are 0 g. Bits [15:0] Description Z-axis gyroscope data; twos complement, 450/sec range, 0/sec = 0x0000, 1 LSB = 0.02/sec Table 14. x_GYRO_OUT Data Format Examples 11855-016 X_GYRO_OUT 15 Bits [15:0] PIN 1 Figure 19. Inertial Sensor Direction Reference Diagram Rev. C | Page 15 of 35 ADIS16488A Data Sheet ACCELERATION The registers that use the x_ACCL_OUT format are the primary registers for the accelerometer measurements (see Table 18, Table 19, and Table 20). When processing data from these registers, use a 16-bit, twos complement data format. Table 21 provides x_ACCL_OUT digital coding examples. Table 18. X_ACCL_OUT (Page 0, Base Address = 0x1E) Bits [15:0] Description X-axis accelerometer data; twos complement, 18 g range, 0 g = 0x0000, 1 LSB = 0.8 mg Table 19. Y_ACCL_OUT (Page 0, Base Address = 0x22) Bits [15:0] Description Z-axis accelerometer data; twos complement, 18 g range, 0 g = 0x0000, 1 LSB = 0.8 mg Table 21. x_ACCL_OUT Data Format Examples Acceleration +18 g +1.6 mg +0.8 mg 0 mg -0.8 mg -1.6 mg -18 g Decimal +22,500 +2 +1 0 -1 -2 -22,500 Hex 0x57E4 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0xA81C Binary 0101 0111 1110 0100 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1010 1000 0001 1100 The registers that use the x_ACCL_LOW naming format provide additional resolution for the accelerometer measurements (see Table 22, Table 23, and Table 24). The MSB has a weight of 0.4 mg, and each subsequent bit has 1/2 the weight of the previous one. Description X-axis accelerometer data; additional resolution bits Table 23. Y_ACCL_LOW (Page 0, Base Address = 0x20) Bits [15:0] Description Y-axis accelerometer data; additional resolution bits Table 24. Z_ACCL_LOW (Page 0, Base Address = 0x24) Bits [15:0] ( 1 D -1 x + x ,n D + d -1 2 f S d = 0 x ,n D + d ) where: D is the decimation rate = DEC_RATE + 1. fs is the sample rate. d is the incremental variable in the summation formula. x is the x-axis rate of rotation (gyroscope). n is the sample time, prior to the decimation filter. The x_DELTANG_LOW registers (see Table 29, Table 30, and Table 31) provide additional resolution bits for the delta angle and combine with the x_DELTANG_OUT registers to provide a 32-bit, twos complement number. The MSB in the x_DELTANG_LOW registers have a weight of ~0.011 (720/216), and each subsequent bit carries a weight of 1/2 of the previous one. Table 25. X_DELTANG_OUT (Page 0, Base Address = 0x42) Bits [15:0] Description X-axis delta angle data; twos complement, 720 range, 0 = 0x0000, 1 LSB = 720/215 = ~0.022 Table 26. Y_DELTANG_OUT (Page 0, Base Address = 0x46) Bits [15:0] Description Y-axis delta angle data; twos complement, 720 range, 0 = 0x0000, 1 LSB = 720/215 = ~0.022 Table 27. Z_DELTANG_OUT (Page 0, Base Address = 0x4A) Table 22. X_ACCL_LOW (Page 0, Base Address = 0x1C) Bits [15:0] x ,n D = When using the internal sample clock, fS is equal to 2460 SPS. When using the external clock option, fS is equal to the frequency of the external clock, which is limited to a minimum of 2 kHz, to prevent overflow in the x_DELTANG_xxx registers at high rotation rates. See Table 56 and Figure 20 for more information on the DEC_RATE register (decimation filter). Description Y-axis accelerometer data; twos complement, 18 g range, 0 g = 0x0000, 1 LSB = 0.8 mg Table 20. Z_ACCL_OUT (Page 0, Base Address = 0x26) Bits [15:0] The delta angle outputs represent an integration of the gyroscope measurements and use the following formula for all three axes (x-axis displayed): Description Z-axis accelerometer data; additional resolution bits DELTA ANGLES The x_DELTANG_OUT registers are the primary output registers for the delta angle calculations. When processing data from these registers, use a 16-bit, twos complement data format (see Table 25, Table 26, and Table 27). Table 28 provides x_DELTANG_OUT digital coding examples. Bits [15:0] Description Z-axis delta angle data; twos complement, 720 range, 0 = 0x0000, 1 LSB = 720/215 = ~0.022 Table 28. x_DELTANG_OUT Data Format Examples Angle () +720 x (215 - 1)/215 +1440/215 +720/215 0 -720/215 -1440/215 -720 Decimal +32,767 +2 +1 0 -1 -2 -32,768 Hex 0x7FFF 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0x8000 Binary 0111 1111 1110 1111 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1000 0000 0000 0000 Table 29. X_DELTANG_LOW (Page 0, Base Address = 0x40) Bits [15:0] Rev. C | Page 16 of 35 Description X-axis delta angle data; additional resolution bits Data Sheet ADIS16488A Table 30. Y_DELTANG_LOW (Page 0, Base Address = 0x44) Table 35. x_DELTVEL_OUT, Data Format Examples Bits [15:0] Velocity (m/sec) +200 x (215 - 1)/215 +400/215 +200/215 0 -200/215 -400/215 -200 Description Y-axis delta angle data; additional resolution bits Table 31. Z_DELTANG_LOW (Page 0, Base Address = 0x48) Bits [15:0] Description Z-axis delta angle data; additional resolution bits DELTA VELOCITY The registers that use the x_DELTVEL_OUT format are the primary registers for the delta velocity calculations. When processing data from these registers, use a 16-bit, twos complement data format (see Table 32, Table 33, and Table 34). Table 35 provides x_DELTVEL_OUT digital coding examples. The delta velocity outputs represent an integration of the accelerometer measurements and use the following formula for all three axes (x-axis displayed): Vx ,n D ( 1 D -1 = x a + a x ,n D + d -1 2 f S d = 0 x ,n D + d ) Table 36. X_DELTVEL_LOW (Page 0, Base Address = 0x4C) Bits [15:0] Description X-axis delta velocity data; twos complement, 200 m/sec range, 0 m/sec = 0x0000 1 LSB = 200 m/sec / 215 = ~6.104 mm/sec Bits [15:0] Description Y-axis delta velocity data; additional resolution bits Description Y-axis delta velocity data; twos complement, 200 m/sec range, 0 m/sec = 0x0000 1 LSB = 200 m/sec / 215 = ~6.104 mm/sec The registers that use the x_MAGN_OUT format are the primary registers for the magnetometer measurements. When processing data from these registers, use a 16-bit, twos complement data format. Table 39, Table 40, and Table 41 provide the numerical format for each register, and Table 42 provides x_MAGN_OUT digital coding examples. Table 39. X_MAGN_OUT (Page 0, Base Address = 0x28) Bits [15:0] Description X-axis magnetometer data; twos complement, 3.2767 gauss range, 0 gauss = 0x0000, 1 LSB = 0.1 mgauss Table 40. Y_MAGN_OUT (Page 0, Base Address = 0x2A) Bits [15:0] Table 34. Z_DELTVEL_OUT (Page 0, Base Address = 0x56) Description Z-axis delta velocity data; twos complement, 200 m/sec range, 0 m/sec = 0x0000 1 LSB = 200 m/sec / 215 = ~6.104 mm/sec Description Z-axis delta velocity data; additional resolution bits MAGNETOMETERS Table 33. Y_DELTVEL_OUT (Page 0, Base Address = 0x52) Bits [15:0] Description X-axis delta velocity data; additional resolution bits Table 38. Z_DELTVEL_LOW (Page 0, Base Address = 0x54) Table 32. X_DELTVEL_OUT (Page 0, Base Address = 0x4E) Bits [15:0] Binary 0111 1111 1111 1111 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1000 0000 0000 0000 Table 37. Y_DELTVEL_LOW (Page 0, Base Address = 0x50) When using the internal sample clock, fS is equal to 2460 SPS. When using the external clock option, fS is equal to the frequency of the external clock, which is limited to a minimum of 2 kHz, to prevent overflow in the x_DELTVEL_xxx registers at high rotation rates. See Table 56 and Figure 20 for more information on the DEC_RATE register (decimation filter). Bits [15:0] Hex 0x7FFF 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0x8000 The x_DELTVEL_LOW registers (see Table 36, Table 37, and Table 38) provide additional resolution bits for the delta velocity and combine with the x_DELTVEL_OUT registers to provide a 32-bit, twos complement number. The MSB in the x_DELTVEL_LOW registers have a weight of ~3.052 mm/sec (200 m/sec / 216), and each subsequent bit carries a weight of 1/2 of the previous one. Bits [15:0] where: D is the decimation rate = DEC_RATE + 1. fS is the sample rate. d is the incremental variable in the summation formula. ax is the x-axis linear acceleration. n is the sample time, prior to the decimation filter. Decimal +32,767 +2 +1 0 -1 -2 -32,768 Description Y-axis magnetometer data; twos complement, 3.2767 gauss range, 0 gauss = 0x0000, 1 LSB = 0.1 mgauss Table 41. Z_MAGN_OUT (Page 0, Base Address = 0x2C) Bits [15:0] Rev. C | Page 17 of 35 Description Z-axis magnetometer data; twos complement, 3.2767 gauss range, 0 gauss = 0x0000, 1 LSB = 0.1 mgauss ADIS16488A Data Sheet Table 42. x_MAGN_OUT Data Format Examples Table 46. TEMP_OUT (Page 0, Base Address = 0x0E) Magnetic Field +3.2767 gauss +0.2 mgauss +0.1 mgauss 0 gauss -0.1 mgauss -0.2 mgauss -3.2768 gauss Bits [15:0] Decimal +32,767 +2 +1 0 -1 -2 -32,768 Hex 0x7FFF 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0x8000 Binary 0111 1111 1111 1111 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1000 0000 0000 0000 BAROMETER The BAROM_OUT register (see Table 43) and BAROM_LOW register (see Table 45) provide access to the barometric pressure data. These two registers combine to provide a 32-bit, twos complement format. Some applications can use BAROM_OUT by itself. For cases where the finer resolution available from BAROM_LOW is valuable, combine them in the same manner as the gyroscopes (see Figure 18). When processing data from the BAROM_OUT register alone, use a 16-bit, twos complement data format. Table 43 provides the numerical format for BAROM_ OUT, and Table 44 provides digital coding examples. Table 43. BAROM_OUT (Page 0, Base Address = 0x30) Bits [15:0] Description Barometric pressure; twos complement, 1.31 bar range, 0 bar = 0x0000, 40 bar/LSB Table 44. BAROM_OUT Data Format Examples Pressure (Bar) +0.00004 x (215 - 1) +0.00008 +0.00004 0 -0.00004 -0.00008 -0.00004 x 215 Decimal +32,767 +2 +1 0 -1 -2 -32,768 Hex 0x7FFF 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0x8000 Binary 0111 1111 1110 1111 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1000 0000 0000 0000 The BAROM_LOW register provides additional resolution for the barometric pressure measurement. The MSB has a weight of 20 bar, and each subsequent bit carries a weight of 1/2 of the previous one. Table 45. BAROM_LOW (Page 0, Base Address = 0x2E) Bits [15:0] Description Barometric pressure; additional resolution bits INTERNAL TEMPERATURE The TEMP_OUT register provides an internal temperature measurement for observing relative temperature changes inside the ADIS16488A (see Table 46). Table 47 provides TEMP_OUT digital coding examples. Note that this temperature reflects a higher temperature than that of ambient temperature, due to self heating. Description Temperature data; twos complement, 0.00565C per LSB, 25C = 0x0000 Table 47. TEMP_OUT Data Format Examples Temperature (C) +85 +25 + 0.0113 +25 + 0.00565 +25 +25 - 0.00565 +25 - 0.0113 -40 Decimal +10,619 +2 +1 0 -1 -2 -11,504 Hex 0x297B 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0xD310 Binary 0010 1001 0111 1011 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1101 0011 0001 0000 STATUS/ALARM INDICATORS The SYS_E_FLAG register in Table 48 provides the system error flags and new data bits for the magnetometer and barometer outputs. The new data flags trigger data collection of the magnetometer and barometer (x_MAGN_OUT and BAROM_xxx registers) because they update at a fixed rate that is not dependent on the DEC_RATE setting. Reading the SYS_E_FLAG register clears all of its error flags and returns each bit to a zero value, with the exception of Bit 7. If SYS_E_FLAG[7] is high, use the software reset (GLOB_CMD[7] (see Table 115) to clear this condition and restore normal operation. If any bit in the SYS_E_FLAG register is associated with an error condition that remains after reading this register, this bit automatically returns to an alarm value of 1. Table 48. SYS_E_FLAG (Page 0, Base Address = 0x08) Bits [15] [14:10] 9 8 7 6 5 4 3 [2:1] 0 1 2 Description (Default = 0x0000) Watch dog timer flag (1 = timed out) Not used New data flag, barometer (1 = new, unread data)1 New data flag, magnetometer (1 = new, unread data)2 Processing overrun (1 = error) Flash memory update, result of GLOB_CMD[3] = 1 (1 = failed update, 0 = update successful) Inertial self-test failure (1 = DIAG_STS 0x0000) Sensor overrange (1 = at least one sensor overranged) SPI communication error (1 = error condition, when the number of SCLK pulses is not equal to a multiple of 16) Not used Alarm status flag (1 = ALM_STS 0x0000) This flag restores to zero after reading the contents on BAROM_OUT. This flag restores to zero after reading one x_MAGN_OUT register. Rev. C | Page 18 of 35 Data Sheet ADIS16488A The DIAG_STS register in Table 49 provides the flags for the internal self test function, which is from GLOB_CMD[1] (see Table 115). Note that the flag of the barometer, DIAG_STS[11], updates only after start-up and reset operations and that reading the DIAG_STS register causes all of its bits to restore to 0. The bits only return to 1 if the error condition persists. Table 49. DIAG_STS (Page 0, Base Address = 0x0A) Bits [15:12] 11 10 9 8 [7:6] 5 4 3 2 1 0 Table 51. FIRM_REV (Page 3, Base Address = 0x78) Bits [15:12] [11:8] [7:4] [3:0] Description (Default = 0x0000) Not used Self test failure, barometer (1 = failed at start-up) Self test failure, z-axis magnetometer (1 = failure) Self test failure, y-axis magnetometer (1 = failure) Self test failure, x-axis magnetometer (1 = failure) Not used Self test failure, z-axis accelerometer (1 = failure) Self test failure, y-axis accelerometer (1 = failure) Self test failure, x-axis accelerometer (1 = failure) Self test failure, z-axis gyroscope (1 = failure) Self test failure, y-axis gyroscope (1 = failure) Self test failure, x-axis gyroscope (1 = failure) The FIRM_DM register (see Table 52) contains the month and day of the factory configuration date. FIRM_DM[15:12] and FIRM_DM[11:8] contain digits that represent the month of the factory configuration in a BCD format. For example, November is the 11th month in a year and is represented by FIRM_DM[15:8] = 0x11. FIRM_DM[7:4] and FIRM_DM[3:0] contain digits that represent the day of factory configuration in a BCD format. For example, the 27th day of the month is represented by FIRM_DM[7:0] = 0x27. Table 52. FIRM_DM (Page 3, Base Address = 0x7A) The ALM_STS register in Table 50 provides the alarm bits for the programmable alarm levels of each sensor. Note that reading the ALM_STS register causes all of its bits to restore to 0. The bits only return to 1 if the error condition persists. Bits [15:12] Table 50. ALM_STS (Page 0, Base Address = 0x0C) [7:4] Bits [15:12] 11 10 9 8 [7:6] 5 4 3 2 1 0 Description Firmware revision BCD code, tens digit Numerical format = 4-bit binary, range = 0 to 9 Firmware revision BCD code, ones digit Numerical format = 4-bit binary, range = 0 to 9 Firmware revision BCD code, tenths digit Numerical format = 4-bit binary, range = 0 to 9 Firmware revision BCD code, hundredths digit Numerical format = 4-bit binary, range = 0 to 9 Description (Default = 0x0000) Not used Barometer alarm flag (1 = alarm is active) Z-axis magnetometer alarm flag (1 = alarm is active) Y-axis magnetometer alarm flag (1 = alarm is active) X-axis magnetometer alarm flag (1 = alarm is active) Not used Z-axis accelerometer alarm flag (1 = alarm is active) Y-axis accelerometer alarm flag (1 = alarm is active) X-axis accelerometer alarm flag (1 = alarm is active) Z-axis gyroscope alarm flag (1 = alarm is active) Y-axis gyroscope alarm flag (1 = alarm is active) X-axis gyroscope alarm flag (1 = alarm is active) FIRMWARE REVISION The FIRM_REV register (see Table 51) provides the firmware revision for the internal firmware. This register uses a binary coded decimal (BCD) format, where each nibble represents a digit. For example, if FIRM_REV = 0x1234, the firmware revision is 12.34. The tens digit is equal to 1, the ones digit is equal to 2, the tenths digit is equal to 3, and the hundredths digit is equal to 4. [11:8] [3:0] Description Factory configuration month BCD code, tens digit, numerical format = 4-bit binary, range = 0 to 2 Factory configuration month BCD code, ones digit, numerical format = 4-bit binary, range = 0 to 9 Factory configuration day BCD code, tens digit Numerical format = 4-bit binary, range = 0 to 3 Factory configuration day BCD code, ones digit Numerical format = 4-bit binary, range = 0 to 9 The FIRM_Y register (see Table 53) contains the year of the factory configuration date. For example, the year, 2013, is represented by FIRM_Y = 0x2013. Table 53. FIRM_Y (Page 3, Base Address = 0x7C) Bits [15:12] [11:8] [7:4] [3:0] Rev. C | Page 19 of 35 Description Factory configuration year BCD code, thousands digit, numerical format = 4-bit binary, range = 0 to 9 Factory configuration year BCD code, hundreds digit, numerical format = 4-bit binary, range = 0 to 9 Factory configuration year BCD code, tens digit, numerical format = 4-bit binary, range = 0 to 3 Factory configuration year BCD code, ones digit, numerical format = 4-bit binary, range = 0 to 9 ADIS16488A Data Sheet PRODUCT IDENTIFICATION Table 54. PROD_ID (Page 0, Base Address = 0x7E) The PROD_ID register (see Table 54) contains the binary equivalent of the device number (16,488 = 0x4068), and the SERIAL_NUM register (see Table 55) contains a lot-specific serial number. Bits [15:0] Description (Default = 0x4068) Product identification = 0x4068 Table 55. SERIAL_NUM (Page 4, Base Address = 0x20) Bits [15:0] Rev. C | Page 20 of 35 Description Lot-specific serial number Data Sheet ADIS16488A DIGITAL SIGNAL PROCESSING GYROSCOPES/ACCELEROMETERS MAGNETOMETER/BAROMETER Figure 20 provides a signal flow diagram for all of the components and settings that influence the frequency response for the accelerometers and gyroscopes. The sample rate for each accelerometer and gyroscope is 9.84 kHz. Each sensor has its own averaging/decimation filter stage, which reduces the update rate to 2.46 kSPS. When using the external clock option (FNCTIO_CTRL[7:4], see Table 118), the input clock drives a four-sample burst at a sample rate of 9.84 kSPS, which feeds into the 4x averaging/decimation filter. This results in a data rate that is equal to the input clock frequency. When using the internal sampling clock, the magnetometer output registers (x_MAGN_OUT) update at a rate of 102.5 SPS and the barometer output registers (BAROM_xxx) update at a rate of 51.25 SPS. When using the external clock, the magnetometers update at a rate of 1/24th of the input clock frequency and the barometers update at a rate that is 1/48th of the input clock frequency. The update rates for the magnetometer and barometers do not change with the DEC_RATE register settings. SYS_E_FLAG[9:8] (see Table 48) offers new data indicator bits that indicate fresh, unread data is in the x_MAGN_OUT and BAROM_xxx registers. The SEQ_CNT register provides a counter function to help determine when there is new data in the magnetometer and barometer registers. AVERAGING/DECIMATION FILTER The DEC_RATE register (see Table 56) provides user control for the final filter stage (see Figure 20), which averages and decimates the accelerometers, gyroscopes, delta angle, and delta velocity data. The output sample rate is equal to 2460/(DEC_RATE + 1). When SEQ_CNT = 0x0001, there is new data in the magnetometer and barometer output registers. During initialization, the SEQ_CNT register helps to synchronize read loops for new data in both magnetometer and barometer outputs. When beginning a continuous read loop, read SEQ_CNT, then subtract this value from the maximum value shown (range) in Table 57 to predict the number of internal sample cycles until both magnetometer and barometer registers contain new data samples. When using the external clock option (FNCTIO_CTRL[7:4], see Table 118), replace the 2460 number in this relationship with the input clock frequency. For example, turn to Page 3 (DIN = 0x8003), and set DEC_RATE = 0x18 (DIN = 0x8C18, then DIN = 0x8D00) to reduce the output sample rate to 98.4 SPS (2460 / 25). Table 56. DEC_RATE (Page 3, Base Address = 0x0C) Description (Default = 0x0000) Don't care Decimation rate, binary format, maximum = 2047, see Figure 20 for impact on sample rate Table 57. SEQ_CNT (Page 0, Base Address = 0x06) Bits [15:11] [6:0] Description Don't care Binary counter: range = 1 to 48/(DEC_RATE + 1) 2.46kHz, fs MEMS SENSOR 1 4 330Hz GYROSCOPE 2-POLE: 404Hz, 757Hz ACCELEROMETER 1-POLE: 330Hz INTERNAL CLOCK 9.84kHz fs 4 FIR FILTER BANK /4 4x AVERAGE DECIMATION FILTER 1 D D /D SELECTABLE AVERAGE/DECIMATION FILTER FIR FILTER BANK D = DEC_RATE[10:0] + 1 FILTR_BNK_0 FILTR_BNK_1 DIOx OPTIONAL INPUT CLOCK FNCTIO_CTRL[7] = 1 fs < 2400Hz NOTES 1. WHEN FNCTIO_CTRL[7] = 1, EACH CLOCK PULSE ON THE DESIGNATED DIOx LINE (FNCTIO_CTRL[5:4]) STARTS A 4-SAMPLE BURST, AT A SAMPLE RATE OF 9.84kHz. THESE FOUR SAMPLES FEED INTO THE 4x AVERAGE/DECIMATION FILTER, WHICH PRODUCES A DATA RATE THAT IS EQUAL TO THE INPUT CLOCK FREQUENCY. Figure 20. Sampling and Frequency Response Signal Flow Rev. C | Page 21 of 35 11855-018 Bits [15:11] [10:0] ADIS16488A Data Sheet Table 59. FILTR_BNK_1 (Page 3, Base Address = 0x18) FIR FILTER BANKS The ADIS16488A provides four configurable, 120-tap FIR filter banks. Each coefficient is 16 bits wide and occupies its own register location for each page. When designing a FIR filter for these banks, use a sample rate of 2.46 kHz and scale the coefficients so that their sum equals 32,768. For filter designs that have less than 120 taps, load the coefficients into the lower portion of the filter and start with Coefficient 1. To prevent adding phase delay to the response, ensure that all unused taps are equal to zero. The FILTR_BNK_x registers provide three bits per sensor, which configure the filter bank (A, B, C, D) and turn filtering on and off. For example, turn to Page 3 (DIN = 0x8003), then write 0x0057 to FILTR_BNK_0 (DIN = 0x9657, DIN = 0x9700) to set the x-axis gyroscope to use the FIR filter in Bank D, to set the y-axis gyroscope to use the FIR filter in Bank B, and to enable these FIR filters in both x- and y-axis gyroscopes. Note that the filter settings update after writing to the upper byte; therefore, always configure the lower byte first. In cases that require configuration to only the lower byte of either FILTR_BNK_0 or FILTR_BNK_1, complete the process by writing 0x00 to the upper byte. Table 58. FILTR_BNK_0 (Page 3, Base Address = 0x16) Bits 15 14 [13:12] 11 [10:9] 8 [7:6] 5 [4:3] 2 [1:0] Description (Default = 0x0000) Don't care Y-axis accelerometer filter enable (1 = enabled) Y-axis accelerometer filter bank selection: 00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D X-axis accelerometer filter enable (1 = enabled) X-axis accelerometer filter bank selection: 00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D Z-axis gyroscope filter enable (1 = enabled) Z-axis gyroscope filter bank selection: 00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D Y-axis gyroscope filter enable (1 = enabled) Y-axis gyroscope filter bank selection: 00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D X-axis gyroscope filter enable (1 = enabled) X-axis gyroscope filter bank selection: 00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D Bits [15:12] 11 [10:9] 8 [7:6] 5 [4:3] 2 [1:0] Description (Default = 0x0000) Don't care Z-axis magnetometer filter enable (1 = enabled) Z-axis magnetometer filter bank selection: 00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D Y-axis magnetometer filter enable (1 = enabled) Y-axis magnetometer filter bank selection: 00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D X-axis magnetometer filter enable (1 = enabled) X-axis magnetometer filter bank selection: 00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D Z-axis accelerometer filter enable (1 = enabled) Z-axis accelerometer filter bank selection: 00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D Filter Memory Organization Each filter bank uses two pages of the user register structure. See Table 60, Table 61, Table 62, and Table 63 for the register addresses in each filter bank. Table 60. Filter Bank A Memory Map Page 5 5 5 5 5 PAGE_ID 0x05 0x05 0x05 0x05 0x05 Address 0x00 0x02 to 0x07 0x08 0x0A 0x0C to 0x7C 5 6 6 6 6 6 0x05 0x06 0x06 0x06 0x06 0x06 0x7E 0x00 0x02 to 0x07 0x08 0x0A 0x0C to 0x7C 6 0x06 0x7E Register PAGE_ID Not used FIR_COEF_A000 FIR_COEF_A001 FIR_COEF_A002 to FIR_COEF_A058 FIR_COEF_A059 PAGE_ID Not used FIR_COEF_A060 FIR_COEF_A061 FIR_COEF_A062 to FIR_COEF_A118 FIR_COEF_D119 Table 61. Filter Bank B Memory Map Page 7 7 7 7 7 PAGE_ID 0x07 0x07 0x07 0x07 0x07 Address 0x00 0x02 to 0x07 0x08 0x0A 0x0C to 0x7C 7 8 8 8 8 8 0x07 0x08 0x08 0x08 0x08 0x08 0x7E 0x00 0x02 to 0x07 0x08 0x0A 0x0C to 0x7C 8 0x08 0x7E Rev. C | Page 22 of 35 Register PAGE_ID Not used FIR_COEF_B000 FIR_COEF_B001 FIR_COEF_B002 to FIR_COEF_B058 FIR_COEF_B059 PAGE_ID Not used FIR_COEF_B060 FIR_COEF_B061 FIR_COEF_B062 to FIR_COEF_B118 FIR_COEF_B119 Data Sheet ADIS16488A Table 62. Filter Bank C Memory Map Default Filter Performance Page 9 9 9 9 9 The FIR filter banks have factory-programmed filter designs. They are all low-pass filters that have unity dc gain. Table 64 provides a summary of each filter design, and Figure 21 shows the frequency response characteristics. The phase delay is equal to 1/2 of the total number of taps. Address 0x00 0x02 to 0x07 0x08 0x0A 0x0C to 0x7C 9 10 10 10 10 10 0x09 0x0A 0x0A 0x0A 0x0A 0x0A 0x7E 0x00 0x02 to 0x07 0x08 0x0A 0x0C to 0x7C 10 0x0A 0x7E Register PAGE_ID Not used FIR_COEF_C000 FIR_COEF_C001 FIR_COEF_C002 to FIR_COEF_C058 FIR_COEF_C059 PAGE_ID Not used FIR_COEF_C060 FIR_COEF_C061 FIR_COEF_C062 to FIR_COEF_C118 FIR_COEF_C119 Table 64. FIR Filter Descriptions, Default Configuration FIR Filter Bank A B C D -10 Address 0x00 0x02 to 0x07 0x08 0x0A 0x0C to 0x7C 11 12 12 12 12 12 0x0B 0x0C 0x0C 0x0C 0x0C 0x0C 0x7E 0x00 0x02 to 0x07 0x08 0x0A 0x0C to 0x7C 12 0x0C 0x7E Register PAGE_ID Not used FIR_COEF_D000 FIR_COEF_D001 FIR_COEF_D002 to FIR_COEF_D058 FIR_COEF_D059 PAGE_ID Not used FIR_COEF_D060 FIR_COEF_D061 FIR_COEF_D062 to FIR_COEF_D118 FIR_COEF_D119 -20 MAGNITUDE (dB) PAGE_ID 0x0B 0x0B 0x0B 0x0B 0x0B -3 dB Frequency (Hz) 310 55 275 63 0 Table 63. Filter Bank D Memory Map Page 11 11 11 11 11 Taps 120 120 32 32 B D A NO FIR FILTERING C -30 -40 -50 -60 -70 -80 -90 -100 0 200 400 600 800 1000 FREQUENCY (Hz) Figure 21. FIR Filter Frequency Response Curves Rev. C | Page 23 of 35 1200 11855-019 PAGE_ID 0x09 0x09 0x09 0x09 0x09 ADIS16488A Data Sheet CALIBRATION Bias Null Command The ADIS16488A factory calibration produces correction formulas for the gyroscopes, accelerometers, magnetometers, and barometers, and then programs them into the flash memory. In addition, there are a series of user configurable calibration registers for in-system tuning. The continuous bias estimator (CBE) accumulates and averages data in a 64-sample FIFO. The average time (tA) for the bias estimates relies on the sample time base setting in NULL_CNFG[3:0] (see Table 71). Using the bias null command in GLOB_CMD[0] (see Table 115), load the correction factors of the CBE into the gyroscope offset correction registers (see Table 65, Table 66, Table 67, Table 68, Table 69, and Table 70). On/off controls for the sensors, provided by NULL_CNFG[13:8], update when issuing a bias null command. The factory default configuration for NULL_CNFG enables the bias null command for the gyroscopes, disables the bias null command for the accelerometers, and establishes the average time to ~26.64 seconds. GYROSCOPES The user calibration for the gyroscopes includes registers for adjusting bias and sensitivity, as shown in Figure 22. 1 + X_GYRO_SCALE FACTORY CALIBRATION AND FILTERING XG_BIAS_HIGH X_GYRO_OUT X_GYRO_LOW 11855-020 X-AXIS GYRO XG_BIAS_LOW Figure 22. User Calibration Signal Path, Gyroscopes Manual Bias Correction The xG_BIAS_HIGH registers (see Table 65, Table 66, and Table 67) and xG_BIAS_LOW registers (see Table 68, Table 69, and Table 70) provide a bias adjustment function for the output of each gyroscope sensor. Table 65. XG_BIAS_HIGH (Page 2, Base Address = 0x12) Bits [15:0] Description (Default = 0x0000) X-axis gyroscope offset correction, upper word twos complement, 0/sec = 0x0000, 1 LSB = 0.02/sec Table 66. YG_BIAS_HIGH (Page 2, Base Address = 0x16) Bits [15:0] Description (Default = 0x0000) Y-axis gyroscope offset correction, upper word; twos complement, 0/sec = 0x0000, 1 LSB = 0.02/sec Table 67. ZG_BIAS_HIGH (Page 2, Base Address = 0x1A) Bits [15:0] Description (Default = 0x0000) Z-axis gyroscope offset correction, upper word; twos complement, 0/sec = 0x0000, 1 LSB = 0.02/sec Table 68. XG_BIAS_LOW (Page 2, Base Address = 0x10) Bits [15:0] Description (Default = 0x0000) X-axis gyroscope offset correction, lower word; twos complement, 0/sec = 0x0000, 1 LSB = 0.02/sec / 216 = ~0.000000305/sec Table 69. YG_BIAS_LOW (Page 2, Base Address = 0x14) Bits [15:0] Description (Default = 0x0000) Y-axis gyroscope offset correction, lower word; twos complement, 0/sec = 0x0000, 1 LSB = 0.02/sec / 216 = ~0.000000305/sec Table 70. ZG_BIAS_LOW (Page 2, Base Address = 0x18) Bits [15:0] Description (Default = 0x0000) Z-axis gyroscope offset correction, lower word twos complement, 0/sec = 0x0000, 1 LSB = 0.02/sec / 216 = ~0.000000305/sec Table 71. NULL_CNFG (Page 3, Base Address = 0x0E) Bits [15:14] 13 12 11 10 9 8 [7:4] [3:0] Description (Default = 0x070A) Not used Z-axis acceleration bias correction enable (1 = enabled) Y-axis acceleration bias correction enable (1 = enabled) X-axis acceleration bias correction enable (1 = enabled) Z-axis gyroscope bias correction enable (1 = enabled) Y-axis gyroscope bias correction enable (1 = enabled) X-axis gyroscope bias correction enable (1 = enabled) Not used Time base control (TBC), range: 0 to 13 (default = 10); tB = 2TBC/2460, time base tA = 64 x tB, average time Turn to Page 3 (DIN = 0x8003) and set GLOB_CMD[0] = 1 (DIN = 0x8201, then DIN = 0x8300) to update the user offset registers with the correction factors of the CBE. Ensure that the inertial platform is stable during the entire average time for optimal bias estimates. Manual Sensitivity Correction The x_GYRO_SCALE registers enable sensitivity adjustment (see Table 72, Table 73, and Table 74). Table 72. X_GYRO_SCALE (Page 2, Base Address = 0x04) Bits [15:0] Description (Default = 0x0000) X-axis gyroscope scale correction; twos complement, 0x0000 = unity gain, 1 LSB = 1 / 215 = ~0.003052% Table 73. Y_GYRO_SCALE (Page 2, Base Address = 0x06) Bits [15:0] Description (Default = 0x0000) Y-axis gyroscope scale correction; twos complement, 0x0000 = unity gain, 1 LSB = 1 / 215 = ~0.003052% Table 74. Z_GYRO_SCALE (Page 2, Base Address = 0x08) Bits [15:0] Rev. C | Page 24 of 35 Description (Default = 0x0000) Z-axis gyroscope scale correction; twos complement, 0x0000 = unity gain, 1 LSB = 1 / 215 = ~0.003052% Data Sheet ADIS16488A Linear Acceleration on Effect on Gyroscope Bias Table 79. XA_BIAS_LOW (Page 2, Base Address = 0x1C) MEMS gyroscopes typically have a bias response to linear acceleration that is normal to their axis of rotation. The ADIS16488A offers an optional compensation function for this effect; the factory default setting (0x00C0) for the CONFIG register enables this function. To turn it off, turn to Page 3 (DIN = 0x8003) and set CONFIG[7] = 0 (DIN = 0x8A40, DIN = 0x8B00). Note that this also keeps the point of percussion alignment function enabled. Bits [15:0] Table 80. YA_BIAS_LOW (Page 2, Base Address = 0x20) Bits [15:0] Table 75. CONFIG (Page 3, Base Address = 0x0A) Bits [15:8] 7 6 [5:2] 1 0 Description (Default = 0x0000) X-axis accelerometer offset correction, low word, twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg / 216 = ~0.0000122 mg Description (Default = 0x0000) Y-axis accelerometer offset correction, low word, twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg / 216 = ~0.0000122 mg Table 81. ZA_BIAS_LOW (Page 2, Base Address = 0x24) Description (Default = 0x00C0) Not used Linear-g compensation for gyroscopes (1 = enabled) Point of percussion alignment (1 = enabled) Not used Real-time clock, daylight savings time (1: enabled, 0: disabled) Real-time clock control (1: relative/elapsed timer mode, 0: calendar mode) Bits [15:0] Description (Default = 0x0000) Z-axis accelerometer offset correction, low word;, twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg / 216 = ~0.0000122 mg Manual Sensitivity Correction The x_ACCL_SCALE registers enable sensitivity adjustment (see Table 82, Table 83, Table 84). Table 82. X_ACCL_SCALE (Page 2, Base Address = 0x0A) ACCELEROMETERS Bits [15:0] The user calibration for the accelerometers includes registers for adjusting bias and sensitivity, as shown in Figure 23. Description (Default = 0x0000) X-axis accelerometer scale correction, twos complement, 0x0000 = unity gain, 1 LSB = 1 / 215 = ~0.003052% 1 + X_ACCL_SCALE FACTORY CALIBRATION AND FILTERING XA_BIAS_HIGH Table 83. Y_ACCL_SCALE (Page 2, Base Address = 0x0C) X_ACCL_OUT X_ACCL_LOW 11855-021 X-AXIS ACCL XA_BIAS_LOW Bits [15:0] Figure 23. User Calibration Signal Path, Gyroscopes Table 84. Z_ACCL_SCALE (Page 2, Base Address = 0x0E) Manual Bias Correction The xA_BIAS_HIGH (see Table 76, Table 77, and Table 78) and xA_BIAS_LOW (see Table 79, Table 80, and Table 81) registers provide a bias adjustment function for the output of each accelerometer sensor. The xA_BIAS_HIGH registers use the same format as x_ACCL_OUT registers. The xA_BIAS_LOW registers use the same format as x_ACCL_LOW registers. Table 76. XA_BIAS_HIGH (Page 2, Base Address = 0x1E) Bits [15:0] Bits [15:0] Bits [15:0] Description (Default = 0x0000) Y-axis accelerometer offset correction, high word, twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg The user calibration registers enable both hard iron and soft iron correction, as shown in the following relationship: M XC 1 S11 M YC S21 M ZC S31 S12 S13 M X H X 1 S22 S23 M Y H Y S32 1 S33 M Z H Z where the MX, MY, and MZ variables represent the magnetometer data prior to application of the user correction formula, and the MXC, MYC, and MZC represent the magnetometer data after the application of the user correction formula. Table 78. ZA_BIAS_HIGH (Page 2, Base Address = 0x26) Bits [15:0] Description (Default = 0x0000) Z-axis accelerometer scale correction, twos complement, 0x0000 = unity gain, 1 LSB = 1 / 215 = ~0.003052% MAGNETOMETERS Description (Default = 0x0000) X-axis accelerometer offset correction, high word, twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg Table 77. YA_BIAS_HIGH (Page 2, Base Address = 0x22) Description (Default = 0x0000) Y-axis accelerometer scale correction, twos complement, 0x0000 = unity gain, 1 LSB = 1 / 215 = ~0.003052% Description (Default = 0x0000) Z-axis accelerometer offset correction, high word, twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg Rev. C | Page 25 of 35 ADIS16488A Data Sheet Hard Iron Correction Table 90. SOFT_IRON_S12 (Page 2, Base Address = 0x30) Table 85, Table 86, and Table 87 describe the register format for the hard iron correction factors: HX, HY, and HZ. These registers use a twos complement format. Table 88 provides some numerical examples for converting the digital codes for these registers into their decimal equivalent. Bits [15:0] Description (Default = 0x0000) Magnetometer soft iron correction factor, S12, twos complement format, see Table 98 for examples Table 91. SOFT_IRON_S13 (Page 2, Base Address = 0x32) Table 85. HARD_IRON_X (Page 2, Base Address = 0x28) Bits [15:0] Bits [15:0] Table 92. SOFT_IRON_S21 (Page 2, Base Address = 0x34) Description (Default = 0x0000) X-axis magnetometer hard iron correction factor, HX, twos complement, 3.2767 gauss range, 0.1 mgauss/LSB, 0 gauss = 0x0000 (see Table 88) Bits [15:0] Table 86. HARD_IRON_Y (Page 2, Base Address = 0x2A) Bits [15:0] Description (Default = 0x0000) Y-axis magnetometer hard iron correction factor, HY, twos complement, 3.2767 gauss range, 0.1 mgauss/LSB, 0 gauss = 0x0000 (see Table 88) Table 87. HARD_IRON_Z (Page 2, Base Address = 0x2C) Bits [15:0] Description (Default = 0x0000) Z-axis magnetometer hard iron correction factor, Hz, twos complement, 3.2767 gauss range, 0.1 mgauss/LSB, 0 gauss = 0x0000 (see Table 88) Description (Default = 0x0000) Magnetometer soft iron correction factor, S13, twos complement format, see Table 98 for examples Description (Default = 0x0000) Magnetometer soft iron correction factor, S21, twos complement format, see Table 98 for examples Table 93. SOFT_IRON_S22 (Page 2, Base Address = 0x36) Bits [15:0] Description (Default = 0x0000) Magnetometer soft iron correction factor, S22, twos complement format, see Table 98 for examples Table 94. SOFT_IRON_S23 (Page 2, Base Address = 0x38) Bits [15:0] Description (Default = 0x0000) Magnetometer soft iron correction factor, S23, twos complement format, see Table 98 for examples Table 88. HARD_IRON_x Numerical Examples Table 95. SOFT_IRON_S31 (Page 2, Base Address = 0x3A) Magnetic Field +3.2767 gauss +0.2 mgauss +0.1 mgauss 0 gauss -0.1 mgauss -0.2 mgauss -3.2768 gauss Table 96. SOFT_IRON_S32 (Page 2, Base Address = 0x3C) Decimal +32,767 +2 +1 0 -1 -2 -32,768 Hex 0x7FFF 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0x8000 Binary 0111 1111 1111 1111 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1000 0000 0000 0000 Bits [15:0] Description (Default = 0x0000) Magnetometer soft-iron correction factor, S31, twos complement format, see Table 98 for examples Description (Default = 0x0000) Magnetometer soft iron correction factor, S32, twos complement format, see Table 98 for examples Table 97. SOFT_IRON_S33 (Page 2, Base Address = 0x3E) Soft Iron Correction Matrix The soft iron correction matrix contains correction factors for both sensitivity (S11, S22, S33) and alignment (S12, S13, S21, S23, S31, S32). The registers that represent each soft iron correction factor are in Table 89 (S11), Table 90 (S12), Table 91 (S13), Table 92 (S21), Table 93 (S22), Table 94 (S23), Table 95 (S31), Table 96 (S32), and Table 97 (S33). Table 98 offers some numerical examples for converting between the digital codes and their effect on the magnetometer output, in terms of percent change. Table 89. SOFT_IRON_S11 (Page 2, Base Address = 0x2E) Bits [15:0] Bits [15:0] Description (Default = 0x0000) Magnetometer soft iron correction factor, S11, twos complement format, see Table 98 for examples Bits [15:0] Description (Default = 0x0000) Magnetometer soft iron correction factor, S33, twos complement format, see Table 98 for examples Table 98. Soft Iron Correction, Numerical Examples Delta (%) +100 - 1/216 +200/215 +100/215 0 -100/215 -200/215 -100 Rev. C | Page 26 of 35 Decimal +32,767 +2 +1 0 -1 -2 -32,768 Hex 0x7FFF 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0x8000 Binary 0111 1111 1111 1111 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1000 0000 0000 0000 Data Sheet ADIS16488A BAROMETERS RESTORING FACTORY CALIBRATION The BR_BIAS_HIGH register (see Table 99) and BR_BIAS_LOW register (Table 100) provide an offset control function and use the same format as the output registers, BAROM_OUT and BAROM_LOW. Turn to Page 3 (DIN = 0x8003) and set GLOB_CMD[6] = 1 (DIN = 0x8240, DIN = 0x8300) to execute the factory calibration restore function. This function resets each user calibration register to 0, resets all sensor data to 0, and automatically updates the flash memory within 72 ms. See Table 115 for more information on GLOB_CMD. Table 99. BR_BIAS_HIGH (Page 2, Base Address = 0x42) Description (Default = 0x0000) Barometric pressure bias correction factor, high word, twos complement, 1.3 bar measurement range, 0 bar = 0x0000, 1 LSB = 40 bar Table 100. BR_BIAS_LOW (Page 2, Base Address = 0x40) Bits [15:0] Description (Default = 0x0000) Barometric pressure bias correction factor, low word, twos complement, 1.3 bar measurement range, 0 bar = 0x0000, 1 LSB = 40 bar / 216 = ~0.00061 bar POINT OF PERCUSSION ALIGNMENT CONFIG[6] offers a point of percussion alignment function that maps the accelerometer sensors to the corner of the package identified in Figure 24. To activate this feature, turn to Page 3 (DIN = 0x8003), then set CONFIG[6] = 1 (DIN = 0x8A40, DIN = 0x8B00). See Table 75 for more information on the CONFIG register. PIN 23 PIN 1 POINT OF PERCUSSION ALIGNMENT REFERENCE POINT. SEE CONFIG[6]. Figure 24. Point of Percussion Reference Point Rev. C | Page 27 of 35 11855-022 Bits [15:0] ADIS16488A Data Sheet ALARMS Each sensor has an independent alarm function that provides controls for alarm magnitude, polarity, and enabling a dynamic rate-of-change option. The ALM_STS register (see Table 50) contains the alarm output flags and the FNCTIO_CTRL register (see Table 118) provides an option for configuring one of the digital input/output lines as an alarm indicator. Bits [15:0] Description (Default = 0x0000) Y-axis magnetometer alarm threshold settings, twos complement, 0 gauss = 0x0000, 1 LSB = 0.1 mgauss Table 109. ZM_ALM_MAGN (Page 3, Base Address = 0x38) STATIC ALARM USE The static alarm setting compares the output of each sensor with the trigger settings in the xx_ALM_MAGN registers (see Table 101 through Table 110) of that sensor. Table 101. XG_ALM_MAGN (Page 3, Base Address = 0x28) Bits [15:0] Table 108. YM_ALM_MAGN (Page 3, Base Address = 0x36) Description (Default = 0x0000) X-axis gyroscope alarm threshold settings, twos complement, 0/sec = 0x0000, 1 LSB = 0.02/sec Bits [15:0] Description (Default = 0x0000) Z-axis magnetometer alarm threshold settings, twos complement, 0 gauss = 0x0000, 1 LSB = 0.1 mgauss Table 110. BR_ALM_MAGN (Page 3, Base Address = 0x3A) Bits [15:0] Description (Default = 0x0000) Z-axis barometer alarm threshold settings, twos complement, 0 bar = 0x0000, 1 LSB = 40 bar Table 102. YG_ALM_MAGN (Page 3, Base Address = 0x2A) Static Alarm Polarity Controls Bits [15:0] The alarm polarity settings, located in the ALM_CNFG_x registers (see Table 111 to Table 113), establish the relationship for the condition that causes the corresponding alarm flag to be active. For example, when ALM_CNFG_0[13] = 1, the alarm flag for the x-axis accelerometer (ALM_STS[3], see Table 50) becomes active (equal to 1) when X_ACCL_OUT is greater than XA_ALM_MAGN. Description (Default = 0x0000) Y-axis gyroscope alarm threshold settings, twos complement, 0/sec = 0x0000, 1 LSB = 0.02/sec Table 103. ZG_ALM_MAGN (Page 3, Base Address = 0x2C) Bits [15:0] Description (Default = 0x0000) Z-axis gyroscope alarm threshold settings, twos complement, 0/sec = 0x0000, 1 LSB = 0.02/sec Table 104. XA_ALM_MAGN (Page 3, Base Address = 0x2E) Bits [15:0] Description (Default = 0x0000) X-axis accelerometer alarm threshold settings, twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg Table 105. YA_ALM_MAGN (Page 3, Base Address = 0x30) Bits [15:0] Description (Default = 0x0000) Y-axis accelerometer alarm threshold settings, twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg Table 106. ZA_ALM_MAGN (Page 3, Base Address = 0x32) Bits [15:0] Description (Default = 0x0000) Z-axis accelerometer alarm threshold settings, twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg Table 107. XM_ALM_MAGN (Page 3, Base Address = 0x34) Bits [15:0] Description (Default = 0x0000) X-axis magnetometer alarm threshold settings, twos complement, 0 gauss = 0x0000, 1 LSB = 0.1 mgauss Table 111. ALM_CNFG_0 (Page 3, Base Address = 0x20) Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Rev. C | Page 28 of 35 Description (Default = 0x0000) X-axis accelerometer alarm (1 = enabled) Not used X-axis accelerometer alarm polarity (1 = greater than) X-axis accelerometer dynamic enable (1 = enabled) Z-axis gyroscope alarm (1 = enabled) Not used Z-axis gyroscope alarm polarity (1 = greater than) Z-axis gyroscope dynamic enable (1 = enabled) Y-axis gyroscope alarm (1 = enabled) Not used Y-axis gyroscope alarm polarity (1 = greater than) Y-axis gyroscope dynamic enable (1 = enabled) X-axis gyroscope alarm (1 = enabled) Not used X-axis gyroscope alarm polarity (1 = greater than) X-axis gyroscope dynamic enable (1 = enabled) Data Sheet ADIS16488A Table 112. ALM_CNFG_1 (Page 3, Base Address = 0x22) Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Description (Default = 0x0000) Y-axis magnetometer alarm (1 = enabled) Not used Y-axis magnetometer alarm polarity (1 = greater than) Y-axis magnetometer dynamic enable (1 = enabled) X-axis magnetometer (1 = enabled) Not used X-axis magnetometer alarm polarity (1 = greater than) X-axis magnetometer dynamic enable (1 = enabled) Z-axis accelerometer alarm (1 = enabled) Not used Z-axis accelerometer alarm polarity (1 = greater than) Z-axis accelerometer dynamic enable (1 = enabled) Y-axis accelerometer alarm (1 = enabled) Not used Y-axis accelerometer alarm polarity (1 = greater than) Y-axis accelerometer dynamic enable (1 = enabled) DYNAMIC ALARM USE The dynamic alarm setting provides the option to compare the change in the output of each sensor over a period of 48.7 ms with that sensor's xx_ALM_MAGN register. Alarm Example Table 114 offers an alarm configuration example, which sets the z-axis gyroscope alarm to trip when Z_GYRO_OUT > 131.1/sec (0x199B). Table 114. Alarm Configuration Example DIN 0xAC9B 0xAD19 0xA000 0xA103 Table 113. ALM_CNFG_2 (Page 3, Base Address = 0x24) Bits [15:8] 7 6 5 4 3 2 1 0 Description (Default = 0x0000) Not used Barometer alarm (1 = enabled) Not used Barometer alarm polarity (1 = greater than) Barometer dynamic enable (1 = enabled) Z-axis magnetometer alarm (1 = enabled) Not used Z-axis magnetometer alarm polarity (1 = greater than) Z-axis magnetometer dynamic enable (1 = enabled) Rev. C | Page 29 of 35 Description Set ZG_ALM_MAGN[7:0] = 0x9B Set ZG_ALM_MAGN[15:8] = 0x19 Set ALM_CNFG_0[7:0] = 0x00 Set ALM_CNFG_0[15:8] = 0x03 ADIS16488A Data Sheet SYSTEM CONTROLS The ADIS16488A provides a number of system level controls for managing its operation, which include reset, self test, calibration, memory management, and input/output configuration. GLOBAL COMMANDS The GLOB_CMD register (see Table 115) provides trigger bits for several operations. Write 1 to the appropriate bit in GLOB_CMD to start a function. After the function completes, the bit restores to 0. Table 115. GLOB_CMD (Page 3, Base Address = 0x02) Bits [15:8] 7 6 [5:4] 3 2 1 0 Description Not used Software reset Factory calibration restore Not used Flash memory update Flash memory test Self test Bias null Execution Time Not applicable 120 ms 75 ms Not applicable 375 ms 50 ms 12 ms See Table 71 MEMORY MANAGEMENT The data retention of the flash memory depends on temperature and the number of write cycles. Figure 25 characterizes the dependence on temperature, and the FLSHCNT_LOW and FLSHCNT_HIGH registers (see Table 116 and Table 117) provide a running count of flash write cycles. The flash updates every time GLOB_CMD[6], GLOB_CMD[3], or GLOB_CMD[0] is set to 1. Table 116. FLSHCNT_LOW (Page 2, Base Address = 0x7C) Bits [15:0] Description Binary counter; number of flash updates, lower word Table 117. FLSHCNT_HIGH (Page 2, Base Address = 0x7E) Bits [15:0] Description Binary counter; number of flash updates, upper word 600 Turn to Page 3 (DIN = 0x8003) and then set GLOB_CMD[7] = 1 (DIN = 0x8280, DIN = 0x8300) to reset the operation, which removes all data, initializes all registers from their flash settings, and starts data collection. This function provides a firmware alternative to the RST pin (see Table 6, Pin 8). RETENTION (Years) Software Reset Automatic Self-Test 300 Measure the output on each sensor. Activate the self test on each sensor. Measure the output on each sensor. Deactivate the self test on each sensor. Calculate the difference with self test on and off. Compare the difference with internal pass/fail criteria. Report the pass/fail results for each sensor in DIAG_STS. After waiting 12 ms for this test to complete, turn to Page 0 (DIN = 0x8000) and read DIAG_STS using DIN = 0x0A00. Using an external clock can extend this time. When using an external clock of 100 Hz, this time extends to 35 ms. Note that 100 Hz is too slow for optimal sensor performance. 0 30 40 55 70 85 100 125 JUNCTION TEMPERATURE (C) 135 150 11855-023 150 Turn to Page 3 (DIN = 0x8003) and then set GLOB_CMD[1] = 1 (DIN = 0x8202, then DIN = 0x8300) to run an automatic self test routine, which executes the following steps: 1. 2. 3. 4. 5. 6. 7. 450 Figure 25. Flash Memory Retention Flash Memory Test Turn to Page 3 (DIN = 0x8003), and then set GLOB_CMD[2] = 1 (DIN = 0x8204, DIN = 0x8300) to run a checksum test of the internal flash memory, which compares a factory programmed value with the current sum of the same memory locations. The result of this test loads into SYS_E_FLAG[6]. Turn to Page 0 (DIN = 0x8000) and use DIN = 0x0800 to read SYS_E_FLAG. GENERAL-PURPOSE INPUT/OUTPUT There are four general-purpose input/output pins: DIO1, DIO2, DIO3, and DIO4. The FNCTIO_CTRL register controls the basic function of each input/output pin, which provides a number of useful functions. Each input/output pin only supports one function at a time. In cases where a single pin has two different assignments, the enable bit for the lower priority function automatically resets to zero and is disabled. The priority is (1) data ready, (2) sync clock input, (3) alarm indicator, and (4) general purpose, where 1 identifies the highest priority and 4 indicates the lowest priority. Rev. C | Page 30 of 35 Data Sheet ADIS16488A Table 118. FNCTIO_CTRL (Page 3, Base Address = 0x06) Table 119. GPIO_CTRL (Page 3, Base Address = 0x08) Bits [15:12] 11 10 [9:8] Bits [15:8] 7 6 5 4 3 7 6 [5:4] 3 2 [1:0] Description (Default = 0x000D) Not used Alarm indicator: 1 = enabled, 0 = disabled Alarm indicator polarity: 1 = positive, 0 = negative Alarm indicator line selection: 00 = DIO1, 01 = DIO2, 10 = DIO3, 11 = DIO4 Sync clock input enable: 1 = enabled, 0 = disabled Sync clock input polarity: 1 = rising edge, 0 = falling edge Sync clock input line selection: 00 = DIO1, 01 = DIO2, 10 = DIO3, 11 = DIO4 Data-ready enable: 1 = enabled, 0 = disabled Data ready polarity: 1 = positive, 0 = negative Data ready line selection: 00 = DIO1, 01 = DIO2, 10 = DIO3, 11 = DIO4 2 1 0 1 Data-Ready Indicator Description (Default = 0x00X0)1 Don't care General-Purpose input/output Line 4 (DIO4) data level General-Purpose input/output Line 3 (DIO3) data level General-Purpose input/output Line 2 (DIO2) data level General-Purpose input/output Line 1 (DIO1) data level General-Purpose input/output Line 4 (DIO4) direction control (1 = output, 0 = input) General-Purpose input/output Line 3 (DIO3) direction control (1 = output, 0 = input) General-Purpose input/output Line 2 (DIO2) direction control (1 = output, 0 = input) General-Purpose input/output Line 1 (DIO1) direction control (1 = output, 0 = input) The GPIO_CTRL[7:4] bits reflect the logic levels on the DIOx lines and do not have a default setting. FNCTIO_CTRL[3:0] provide some configuration options for using one of the DIOx lines as a data ready indicator signal, which can drive the interrupt control line of a processor. The factory default assigns DIO2 as a positive polarity, data ready signal. Use the following sequence to change this assignment to DIO1 with a negative polarity: turn to Page 3 (DIN = 0x8003) and set FNCTIO_CTRL[3:0] = 1000 (DIN = 0x8608, then DIN = 0x8700). The timing jitter on the data ready signal is 1.4 s. POWER MANAGEMENT Input Sync/Clock Control For timed sleep mode, turn to Page 3 (DIN = 0x8003), write the amount of sleep time to SLP_CNT[7:0] and then, set SLP_CNT[8] = 1 (DIN = 0x9101) to start the sleep period. FNCTIO_CTRL[7:4] provide some configuration options for using one of the DIOx lines as an input synchronization signal for sampling inertial sensor data. For example, use the following sequence to establish DIO4 as a positive polarity, input clock pin and keep the factory default setting for the data ready function: turn to Page 3 (DIN = 0x8003) and set FNCTIO_CTRL[7:0] = 0xFD (DIN = 0x86FD, then DIN = 0x8700). Note that this command also disables the internal sampling clock, and no data sampling occurs without the input clock signal. When selecting a clock input frequency, consider the 330 Hz sensor bandwidth because undersampling the sensors can degrade noise and stability performance. General-Purpose Input/Output Control When FNCTIO_CTRL does not configure a DIOx pin, GPIO_CTRL provides register controls for general-purpose use of the pin. GPIO_CTRL[3:0] provides input/output assignment controls for each line. When the DIOx lines are inputs, monitor their level by reading GPIO_CTRL[7:4]. When the DIOx lines are used as outputs, set their level by writing to GPIO_CTRL[7:4]. For example, use the following sequence to set DIO1 and DIO3 as high and low output lines, respectively, and set DIO2 and DIO4 as input lines. Turn to Page 3 (DIN = 0x8003) and set GPIO_CTRL[7:0] = 0x15 (DIN = 0x8815, then DIN = 0x8900). The SLP_CNT register (see Table 120) provides controls for both power-down mode and sleep modes. The trade-off between power-down mode and sleep mode is between idle power and recovery time. Power-down mode offers the best idle power consumption but requires the most time to recover. In addition, all volatile settings are lost during power-down but are preserved during sleep mode. For a timed power-down period, change the last command to set SLP_CNT[9] = 1 (DIN = 0x9102). To power down or sleep for an indefinite period, set SLP_CNT[7:0] = 0x00 first, then set either SLP_CNT[8] or SLP_CNT[9] to 1. Note that the command takes effect when the CS line goes high. To awaken the device from sleep or power-down mode, use one of the following options to restore normal operation: * * * Assert CS from high to low. Pulse RST low, then high again. Cycle the power. For example, set SLP_CNT[7:0] = 0x64 (DIN = 0x9064), then set SLP_CNT[8] = 1 (DIN = 0x9101) to start a sleep period of 100 seconds. If the sleep mode and power-down mode bits are both set high, the normal sleep mode bit (SLP_CNT[8]) takes precedence. Table 120. SLP_CNT (Page 3, Base Address = 0x10) Bits [15:10] 9 8 [7:0] Rev. C | Page 31 of 35 Description Not used Power-down mode Normal sleep mode Programmable time bits; 1 sec/LSB; 0x00 = indefinite ADIS16488A Data Sheet General-Purpose Registers The USER_SCR_x registers (see Table 121, Table 122, Table 123, and Table 124) provide four 16-bit registers for storing data. Table 121. USER_SCR_1 (Page 2, Base Address = 0x74) Bits [15:0] Description User defined Write the current time to each time data register after setting CONFIG[0] = 1 (DIN = 0x8003, DIN = 0x8A01). Note that CONFIG[1] provides a bit for managing daylight savings time. After the CONFIG and TIME_xx_OUT registers are configured, set GLOB_CMD[3] = 1 (DIN = 0x8003, DIN = 0x8204, DIN = 0x8300) to back up these settings in flash, and use a separate 3.3 V source to supply power to the VDDRTC function. Note that access to time data in the TIME_xx_OUT registers requires normal operation (VDD = 3.3 V and full startup), but the timer function only requires that VDDRTC = 3.3 V when the remainder of the ADIS16488A is turned off. Table 122. USER_SCR_2 (Page 2, Base Address = 0x76) Bits [15:0] Description User defined Table 123. USER_SCR_3 (Page 2, Base Address = 0x78) Bits [15:0] Description User defined Table 124. USER_SCR_4 (Page 2, Base Address = 0x7A) Bits [15:0] The real-time clock registers reflect the newly updated values only after the next seconds tick of the clock that follows the write to TIME_YM_OUT[14:8] (year). Writing to TIME_YM_OUT[14:8] activates all timing values; therefore, always write to this location last when updating the timer, even if the year information does not require updating. Description User defined Table 125. TIME_MS_OUT (Page 0, Base Address = 0x78) Real-Time Clock Configuration/Data The VDDRTC power supply pin (see Table 6, Pin 23) provides a separate supply for the real-time clock (RTC) function. This enables the RTC to keep track of time, even when the main supply (VDD) is off. Bits [15:14] [13:8] [7:6] [5:0] Description Not used Minutes, binary data, range = 0 to 59 Not used Seconds, binary data, range = 0 to 59 Configure the RTC function by selecting one of two modes in CONFIG[0] (see Table 75). The real-time clock data is available in the TIME_MS_OUT register (see Table 125), TIME_DH_OUT register (see Table 126), and TIME_YM_OUT register (see Table 127). When using the elapsed timer mode, the time data registers start at 0x0000 when the device starts up (or resets) and begin keeping time in a manner that is similar to a stopwatch. Table 126. TIME_DH_OUT (Page 0, Base Address = 0x7A) When using the clock/calendar mode, write the current time to the real-time registers in the following sequence: seconds (TIME_ MS_OUT[5:0]), minutes (TIME_ MS_OUT[13:8]), hours (TIME_DH_OUT[5:0]), day (TIME_DH_OUT[12:8]), month (TIME_YM_OUT[3:0]), and year (TIME_YM_OUT[14:8]). The updates to the timer only become active after a write is completed correctly to the TIME_YM_OUT[14:8] byte. Bits [15] [14:8] [7:4] [3:0] Bits [15:13] [12:8] [7:6] [5:0] Description Not used Day, binary data, range = 1 to 31 Not used Hours, binary data, range = 0 to 23 Table 127. TIME_YM_OUT (Page 0, Base Address = 0x7C) Rev. C | Page 32 of 35 Description Not used Year, binary data, range = 0 to 99, relative to 2000 A.D. Not used Month, binary data, range = 1 to 12 Data Sheet ADIS16488A APPLICATIONS INFORMATION MOUNTING BEST PRACTICES Figure 26. Mounting Example For best performance, follow these simple rules when installing the ADIS16488A into a system: 1. 2. 3. Eliminate opportunity for translational force (x- and y-axis direction, per Figure 6) application on the electrical connector. Isolate mounting force to the four corners, on the portion of the package surface that surrounds the mounting holes. Use uniform mounting forces on all four corners. The suggested torque setting is 40 inch-ounces (0.285 N-m). These three rules help prevent irregular force profiles, which can warp the package and introduce bias errors in the sensors. Figure 26 provides an example that leverages washers to set the package off the mounting surface and uses 2.85 mm pass-through holes and backside washers/nuts for attachment. Figure 27 and Figure 28 provide some details for mounting hole and connector alignment pin drill locations. For more information on mounting the ADIS16488A, see the AN-1295 Application Note. Rev. C | Page 33 of 35 Figure 27. Suggested PCB Layout Pattern, Connector Down ADIS16488A Data Sheet 0.4334 [11.0] 0.019685 [0.5000] (TYP) ADIS16488A begins its start-up process. Figure 29 offers a broad perspective that shows when to expect the spikes in current, whereas Figure 30 provides more detail on the current/time behavior during the peak transient condition, which typically occurs approximately 350 ms after VDD reaches 2.85 V. 0.0240 [0.610] 0.054 [1.37] 0.0394 [1.00] 0.1800 [4.57] T VDD 0.0394 [1.00] 11855-026 0.022 DIA (TYP) NONPLATED 0.022 DIA THRU HOLE (TYP) THRU HOLE 2x NONPLATED THRU HOLE 1 Figure 28. Suggested Layout and Mechanical Design When Using Samtec P/N CLM-112-02-G-D-A for the Mating Connector EVALUATION TOOLS Breakout Board, ADIS16IMU1/PCBZ CURRENT 4 CH1 2.00V CH4 100mA 1.00ms 1.00MS/s CH1 T 9.800% 1M POINTS 2.72V 11855-129 The ADIS16IMU1/PCBZ (sold separately) provides a breakout board function for the ADIS16488A, which means that it provides access to the ADIS16488A through larger connectors that support standard 1 mm ribbon cabling. It also provides four mounting holes for attachment of the ADIS16488A to the breakout board. Figure 29. Transient Current Demand, Start Up PC-Based Evaluation, EVAL-ADIS T The EVAL-ADIS provides the system support PC-based evaluation of the ADIS16488A. POWER SUPPLY CONSIDERATIONS i t C dV dt CURRENT 4 CH4 100mA In addition to managing the initial voltage ramp, take note of the transient current demand that the ADIS16488A requires during its start-up/self initialization process. When VDD reaches 2.85 V, the Rev. C | Page 34 of 35 1.00ms 1.00MS/s CH1 T 9.800% 1M POINTS 2.72V Figure 30. Transient Current Demand, Peak Demand 11855-128 The ADIS16488A has approximately 24 F of capacitance across the VDD and GND pins. Whereas this capacitor bank provides a large amount of localized filtering, it also presents an opportunity for excessive charging current when the VDD voltage ramps too quickly. Use the following relationship to help determine the appropriate VDD voltage profile, with respect to any current-limit functions that can cause the power supply to lose regulation and potentially introduce unsafe conditions for the ADIS16488A. Data Sheet ADIS16488A OUTLINE DIMENSIONS 44.254 44.000 43.746 O 2.40 BSC (4 PLACES) 39.854 39.600 39.346 15.00 BSC 20.10 19.80 19.50 2.20 BSC (8 PLACES) DETAIL A 1.942 1.642 1.342 PIN 1 8.25 BSC 42.854 42.600 42.346 1.00 BSC 47.254 47.000 46.746 DETAIL A BOTTOM VIEW 14.254 14.000 13.746 DETAIL B FRONT VIEW 6.50 BSC 5.50 BSC 5.50 BSC 2.84 BSC 1.00 BSC PITCH 0.30 SQ BSC DETAIL B 12-07-2012-E 3.454 3.200 2.946 Figure 31. 24-Lead Module with Connector Interface [MODULE] (ML-24-6) Dimensions shown in millimeters ORDERING GUIDE Model1 ADIS16488BMLZ ADIS16488CMLZ 1 Temperature Range -40C to +105C -55C to +105C Package Description 24-Lead Module with Connector Interface [MODULE] 24-Lead Module with Connector Interface [MODULE] Z = RoHS Compliant Part. (c)2014-2015 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. D11855-0-8/15(C) Rev. C | Page 35 of 35 Package Option ML-24-6 ML-24-6 Mouser Electronics Authorized Distributor Click to View Pricing, Inventory, Delivery & Lifecycle Information: Analog Devices Inc.: ADIS16488BMLZ ADIS16488CMLZ