Compact, Precision Ten Degrees of Freedom Inertial Sensor ADIS16448 Data Sheet FEATURES GENERAL DESCRIPTION Triaxial digital gyroscope with digital range scaling 250/sec, 500/sec, 1000/sec settings Axis-to-axis alignment, <0.05 Triaxial digital accelerometer, 18 g minimum Triaxial digital magnetometer, 1.9 gauss minimum Digital barometer, 10 mbar to 1200 mbar Calibrated pressure range: 300 mbar to 1100 mbar Autonomous operation and data collection No external configuration commands required 205 ms start-up time Factory calibrated sensitivity, bias, and axial alignment Calibration temperature range: -40C to +85C SPI-compatible serial interface Burst mode read sequence with optional CRC-16 Embedded temperature sensor Programmable operation and control Automatic and manual bias correction controls Bartlett window FIR length, number of taps Digital I/O: data ready, alarm indicator, general-purpose Alarms for condition monitoring Enable external sample clock input up to 1.1 kHz Single command self test Single-supply operation: 3.15 V to 3.45 V 2000 g shock survivability Operating temperature range: -40C to +105C The ADIS16448 iSensor(R) device is a complete inertial system that includes a triaxial gyroscope, a triaxial accelerometer, a triaxial magnetometer, and pressure sensors. Each sensor in the ADIS16448 combines industry-leading iMEMS(R) technology with signal conditioning that optimizes dynamic performance. The factory calibration characterizes each sensor for sensitivity, bias, and alignment. As a result, each sensor has its own dynamic compensation formulas that provide accurate sensor measurements. The ADIS16448 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 structures provide a simple interface for data collection and configuration control. The ADIS16448 has a compatible pinout for systems that currently use other Analog Devices, Inc., IMU products, such as ADIS16334 or ADIS16485. The ADIS16448 is packaged in a module that is approximately 24.1 mm x 37.7 mm x 10.8 mm and has a standard connector interface. APPLICATIONS Platform stabilization and control Navigation Robotics FUNCTIONAL BLOCK DIAGRAM DIO1 DIO2 DIO3 DIO4/CLKIN RST SELF TEST I/O VDD ALARMS POWER MANAGEMENT GND TRIAXIAL GYRO CONTROLLLER TRIAXIAL MAGN CALIBRATION AND FILTERS CLOCK ADIS16448 VDD CS SCLK SPI USER CONTROL REGISTERS PRESSURE TEMP OUTPUT DATA REGISTERS DIN DOUT 09946-001 TRIAXIAL ACCEL Figure 1. Rev. H 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)2012-2019 Analog Devices, Inc. All rights reserved. Technical Support www.analog.com ADIS16448 Data Sheet TABLE OF CONTENTS Features .............................................................................................. 1 Memory Management ............................................................... 17 Applications ....................................................................................... 1 Input/Output Configuration ......................................................... 18 General Description ......................................................................... 1 Data Ready Indicator ................................................................. 18 Functional Block Diagram .............................................................. 1 General-Purpose Input/Output................................................ 18 Revision History ............................................................................... 2 Digital Processing Configuration ................................................. 19 Specifications..................................................................................... 4 Gyroscopes/Accelerometers ..................................................... 19 Timing Specifications .................................................................. 6 Input Clock Configuration ....................................................... 19 Absolute Maximum Ratings............................................................ 7 Magnetometer/Barometer ......................................................... 20 ESD Caution .................................................................................. 7 Calibration ....................................................................................... 21 Pin Configuration and Function Descriptions ............................. 8 Gyroscopes .................................................................................. 21 Typical Performance Characteristics ............................................. 9 Accelerometers ........................................................................... 21 User Registers .................................................................................. 10 Magnetometer Calibration ........................................................ 22 User Interface .................................................................................. 11 Flash Updates .............................................................................. 23 Reading Sensor Data .................................................................. 11 Restoring Factory Calibration .................................................. 23 Device Configuration ................................................................ 12 Alarms .............................................................................................. 24 Output Data Registers .................................................................... 13 Static Alarm Use ......................................................................... 24 Gyroscopes .................................................................................. 13 Dynamic Alarm Use .................................................................. 24 Accelerometers............................................................................ 13 Alarm Reporting ........................................................................ 24 Magnetometers ........................................................................... 14 Applications Information .............................................................. 25 Barometric Pressure ................................................................... 14 Mounting Tips ............................................................................ 25 Remote Pressure Sensing ........................................................... 15 Power Supply Considerations ................................................... 25 Internal Temperature ................................................................. 15 ADIS16IMU2/PCBZ.................................................................. 25 System Functions ............................................................................ 16 PC-Based Evaluation Tools ....................................................... 25 Global Commands ..................................................................... 16 X-Ray Sensitivity ........................................................................ 25 Product Identification ................................................................ 16 Outline Dimensions ....................................................................... 26 Self-Test Function....................................................................... 16 Ordering Guide .......................................................................... 26 Status/Error Flags ....................................................................... 17 REVISION HISTORY 1/2019--Rev. G to Rev. H Added Endnote 3, Table 1; Renumbered Sequentially ................ 5 Changes to Digital Filtering Section ................................................. 19 Added X-Ray Sensitivity Section .................................................. 25 5/2018--Rev. F to Rev. G Changes to ADIS16IMU2/PCBZ Section and PC-Based Evaluation Tools Section................................................................ 24 4/2017--Rev. E to Rev. F Updated Layout ................................................................... Universal Changed ADIS16448/PCBZ Section to ADIS16IMU2/PCBZ Section .............................................................................................. 25 Changes to ADIS16IMU2/PCBZ Section, Figure 25, and Figure 26 .......................................................................................... 25 Changes to Ordering Guide .......................................................... 26 Deleted Installation Section .......................................................... 27 8/2015--Rev. D to Rev. E Change to Features Section ..............................................................1 Changes to Input Sync Positive Pulse Width and Input Sync to Data Ready Valid Transition Parameters, Table 2 .........................7 Changes to Figure 13 Caption ...................................................... 14 Added Burst Read Function with CRC Section ......................... 14 Changes to Figure 14...................................................................... 14 Changes to Table 30 ....................................................................... 18 5/2015--Rev. C to Rev. D Changed ADIS16448AMLZ to ADIS16448BMLZ ... Throughout Change to Features Section and General Description Section....1 Changes to Table 1.............................................................................3 Changes to Table 3.............................................................................6 Rev. H | Page 2 of 26 Data Sheet ADIS16448 Change to Figure 9 ..........................................................................10 Changes to Ordering Guide ...........................................................23 9/2014--Rev. B to Rev. C Changes to General Description Section .......................................... 1 Changes Status/Error Flags Section ..............................................15 Changes to Table 54 .........................................................................21 Added Mounting Tips Section ......................................................22 7/2013--Rev. A to Rev. B Changes to Linear Acceleration Effect on Bias Test Conditions ..... 3 Changes to Burst Read Function Section.....................................11 3/2013--Rev. 0 to Rev. A Changed Start-Up Time from 192 ms to 205 ms .......................... 1 Changes to Table 1 ............................................................................ 3 Changed VDD from 5 V to 3.3 V, Changed tSTALL from 1/fSCLK to N/A, and Added Endnote 2; Table 2 ............................................... 5 Changes to Burst Read Function Section .................................... 11 Changes to Table 23 ........................................................................ 13 Changes to Single Command Bias Correction Section ............. 19 Changes to ADIS16448/PCBZ Section ........................................ 22 Deleted Mounting, Approaches Section ...................................... 22 Updated Outline Dimensions........................................................ 23 Changes to Ordering Guide ........................................................... 23 8/2012--Revision 0: Initial Version Rev. H | Page 3 of 26 ADIS16448 Data Sheet SPECIFICATIONS TA = 25C, VDD = 3.3 V, angular rate = 0/sec, dynamic range = 1000/sec 1 g, unless otherwise noted. Table 1. Parameter GYROSCOPES Dynamic Range Initial 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 Bias Supply Sensitivity Output Noise Rate Noise Density -3 dB Bandwidth Sensor Resonant Frequency ACCELEROMETERS Dynamic Range Sensitivity Repeatability1 Sensitivity Temperature Coefficient Misalignment Nonlinearity Bias Repeatability1, 2, 3 In-Run Bias Stability Velocity Random Walk Bias Temperature Coefficient Bias Supply Sensitivity Output Noise Noise Density -3 dB Bandwidth Sensor Resonant Frequency MAGNETOMETERS Dynamic Range Initial Sensitivity Sensitivity Temperature Coefficient Misalignment Nonlinearity Initial Bias Error Bias Temperature Coefficient Output Noise Noise Density Bandwidth Test Conditions/Comments Min Typ 1000 1200 0.04 0.02 0.01 1000/sec, see Table 12 500/sec, see Table 12 250/sec, see Table 12 -40C TA +85C -40C TA +85C Axis to axis Axis to frame (package) Best fit straight line -40C TA +85C, 1 1 , SMPL_PRD = 0x0001 1 , SMPL_PRD = 0x0001 -40C TA +85C Any axis, 1 -40C TA +85C 1000/sec range, no filtering f = 25 Hz, 1000/sec range, no filtering Max 1 40 0.05 0.5 0.1 0.5 14.5 0.66 0.005 0.015 0.2 0.27 0.0135 330 17.5 Unit /sec /sec/LSB /sec/LSB /sec/LSB % ppm/C Degrees Degrees % of FS /sec /hr /hr /sec/C /sec/g /sec/V /sec rms /sec/Hz rms Hz kHz Each axis 18 See Table 16 for data format -40C TA +85C -40C TA +85C Axis to axis Axis to frame (package) Best fit straight line -40C TA +85C, 1 1 , SMPL_PRD = 0x0001 1 , SMPL_PRD = 0x0001 -40C TA +85C -40C TA +85C No filtering No filtering 25C, see Table 20 for data format Relative to 25C, 1 Axis to axis Axis to frame (package) Best fit straight line 25C, 0 gauss stimulus -40C TA +85C 25C, no filtering, rms 25C, no filtering, rms -3 dB Rev. H | Page 4 of 26 0.833 1 40 0.2 0.5 0.2 20 0.25 0.11 0.15 5 5.1 0.23 330 5.5 1.9 140.04 142.9 800 0.25 0.5 0.1 4 0.11 2.4 0.4 25 145.76 g mg/LSB % ppm/C Degrees Degrees % of FS mg mg m/sec/hr mg/C mg/V mg rms mg/Hz rms Hz kHz gauss gauss/LSB ppm/C Degrees Degrees % of FS mgauss mgauss/C mgauss mgauss/Hz Hz Data Sheet Parameter TEMPERATURE Sensitivity BAROMETERS Pressure Range, Operating Pressure Range Extended 4 Sensitivity Voltage Dependence Bias Supply Voltage Sensitivity Total Error Relative Error 5 Linearity 6 Noise LOGIC INPUTS 7 Input High Voltage, VIH Input Low Voltage, VIL Logic 1 Input Current, IIH Logic 0 Input Current, IIL All Pins Except RST RST Pin Input Capacitance, CIN DIGITAL OUTPUTS7 Output High Voltage, VOH Output Low Voltage, VOL FLASH MEMORY Data Retention 9 FUNCTIONAL TIMES 10 Power-On Start-Up Time Reset Recovery Time 11 Flash Memory Back-Up Time Flash Memory Test Time Automatic Self-Test Time CONVERSION RATE xGYRO_OUT, xACCL_OUT xMAGN_OUT, BARO_OUT 12 Clock Accuracy Sync Input Clock 13 POWER SUPPLY Power Supply Current ADIS16448 Test Conditions/Comments Min See Table 23 Typ Max 0.07386 300 10 C/LSB 1100 1200 0.02 0.18 3.24 1.5 2.5 0.1 0.2 0.08 25C, 300 mbar to 1100 mbar -40C to +85C, 300 mbar to 1100 mbar 25C, 300 mbar to 1100 mbar -40C to +85C, 300 mbar to 1100 mbar 2.0 VIH = 3.3 V VIL = 0 V 0.2 40 1 10 ISOURCE = 1.6 mA ISINK = 1.6 mA Endurance 8 TJ = 85C Time until new data is available Unit 0.8 10 60 2.4 0.4 10,000 20 mbar mbar mbar/LSB %/V mbar/V mbar mbar % of FS % of FS mbar rms V V A A mA pF V V Cycles Years SMPL_PRD = 0x0001 205 90 75 20 45 ms ms ms ms ms SMPL_PRD = 0x0001 SMPL_PRD = 0x0001 819.2 51.2 SPS SPS % kHz V mA Operating voltage range, VDD 0.8 3.15 3.3 76 3 1.1 3.45 104 The repeatability specifications represent analytical projections, which are based off of the following drift contributions and conditions: temperature hysteresis (-40C to +85C), electronics drift (high-temperature operating life test: 85C, 500 hours), drift from temperature cycling (JESD22, Method A104-C, Method N, 500 cycles, -40C 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 is related to the in-run bias stability and noise density specifications. 3 X-ray exposure may degrade this performance metric. 4 The extended pressure range is guaranteed by design. 5 The relative error assumes that the initial error, at 25C, is corrected in the end application. 6 Linearity errors assume a full scale (FS) of 1000 mbar. 7 The digital I/O signals are driven by an internal 3.3 V supply, and the inputs are 5 V tolerant. 8 Endurance is qualified as per JEDEC Standard 22, Method A117, and measured at -40C, +25C, +85C, and +125C. 9 The data retention lifetime equivalent is at a junction temperature (TJ) of 85C as per JEDEC Standard 22, Method A117. Data retention lifetime decreases with junction temperature. 10 These times do not include thermal settling and internal filter response times (330 Hz bandwidth), which may affect overall accuracy. 11 The RST line must be held low for at least 10 s to assure a proper reset and recovery sequence. 12 The xMAGN_OUT and BARO_OUT registers update at a rate that is 1/16th that of the other output registers. 13 The sync input clock functions below the specified minimum value but at reduced performance levels. 1 Rev. H | Page 5 of 26 ADIS16448 Data Sheet TIMING SPECIFICATIONS TA = 25C, VDD = 3.3 V, unless otherwise noted. Table 2. Parameter fSCLK tSTALL tREADRATE t tDAV tDSU tDHD tSCLKR, tSCLKF tDR, tDF tSFS t1 tSTDR tNV t3 CS 1 2 Normal Mode Min 1 Typ Max 0.01 2.0 9 40 48.8 100 24.4 48.8 5 12.5 5 12.5 5 25 600 210 910 Description Serial clock Stall period between data Read rate Chip select to SCLK edge DOUT valid after SCLK edge DIN setup time before SCLK rising edge DIN hold time after SCLK rising edge SCLK rise/fall times, not shown in the Timing Diagrams section DOUT rise/fall times, not shown in the Timing Diagrams section CS high after SCLK edge Input sync positive pulse width Input sync to data ready valid transition Data invalid time Input sync period Burst Read Min1 Typ Max 0.01 1.0 N/A 2 48.8 100 24.4 48.8 5 5 12.5 12.5 5 25 600 210 910 Guaranteed by design and characterization, but not tested in production. When using the burst read mode, the stall period is not applicable. Timing Diagrams CS tCS tSFS 1 2 3 4 5 6 15 16 SCLK tDAV MSB DB14 DB13 DIN R/W A6 DB12 DB11 A4 A3 DB10 DB2 DB1 LSB tDHD tDSU A5 A2 D2 D1 09946-002 DOUT LSB Figure 2. SPI Timing and Sequence tREADRATE tSTALL 09946-003 CS SCLK Figure 3. Stall Time and Data Rate t3 tSTDR t1 DATA READY tNV Figure 4. Input Clock Timing Diagram Rev. H | Page 6 of 26 09946-004 CLOCK Unit MHz s s ns ns ns ns ns ns ns s s s s Data Sheet ADIS16448 ABSOLUTE MAXIMUM RATINGS Table 4. Package Characteristics Table 3. Parameter Acceleration Any Axis, Unpowered Any Axis, Powered VDD to GND Digital Input Voltage to GND Digital Output Voltage to GND Temperature Operating Range Storage Range Pressure Rating Package Type 20-Lead Module (ML-20-2) 2000 g 2000 g -0.3 V to +3.45 V -0.3 V to +VDD + 0.3 V -0.3 V to +VDD + 0.3 V ESD CAUTION -40C to +105C -65C to +125C1, 2 2 bar Extended exposure to temperatures outside the specified temperature range of -40C to +105C can adversely affect the accuracy of the factory calibration. For best accuracy, store the parts within the specified operating range of -40C to +105C. 2 Although the device is capable of withstanding short-term exposure to 150C, long-term exposure threatens internal mechanical integrity. 1 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. H | Page 7 of 26 JA (C/W) 36.5 JC (C/W) 16.9 Mass (grams) 15 ADIS16448 Data Sheet PIN CONFIGURATION AND FUNCTION DESCRIPTIONS ADIS16448 DIO3 20 18 16 14 12 10 8 6 4 2 PIN 1 PIN 20 USE THIS OPENING FOR REMOTE PRESSURE SENSING. HOLE IS TAPPED FOR 10-32 SCREW THREADS. 09946-005 NOTES 1. THIS REPRESENTATION DISPLAYS THE TOP VIEW WHEN THE CONNECTOR IS VISIBLE AND FACING UP. 2. MATING CONNECTOR: SAMTEC CLM-110-02 OR EQUIVALENT. 3. DNC = DO NOT CONNECT. Figure 5. Pin Configuration Figure 6. Pin Locations Table 5. Pin Function Descriptions Pin No. 1 2 3 4 5 6 7 8 9 10, 11, 12 13, 14, 15 16, 17, 18, 19, 20 1 Mnemonic DIO3 DIO4/CLKIN SCLK DOUT DIN CS DIO1 RST DIO2 VDD GND DNC Type 1 I/O I/O I O I I I/O I I/O S S N/A Description Configurable Digital Input/Output. Configurable Digital Input/Output or Sync Clock Input. SPI Serial Clock. SPI Data Output. Clocks the output on the SCLK falling edge. SPI Data Input. Clocks the input on the 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. I is input, O is output, S is supply, and N/A is not applicable. Rev. H | Page 8 of 26 09946-106 SCLK 1 DIO4/CLKIN DIN 3 DOUT DIO1 5 CS DIO2 7 RST VDD 9 VDD GND 11 VDD GND 13 GND DNC 15 DNC 17 DNC 19 DNC DNC TOP VIEW (Not to Scale) Data Sheet ADIS16448 TYPICAL PERFORMANCE CHARACTERISTICS 10 1000 AVERAGE ROOT ALLAN VARIANCE (mg) 100 + 10 - 1 + 0.1 1 0.01 0.1 1 10 100 TAU (Seconds) 1000 Figure 7. Gyroscope Root Allan Variance 0.01 0.01 0.1 1 10 100 TAU (Seconds) Figure 8. Accelerometer Root Allan Variance Rev. H | Page 9 of 26 1000 09946-128 - 09946-127 ROOT ALLAN VARIANCE (/Hour) AVERAGE ADIS16448 Data Sheet USER REGISTERS Table 6. User Register Memory Map 1 Name FLASH_CNT Reserved XGYRO_OUT YGYRO_OUT ZGYRO_OUT XACCL_OUT YACCL_OUT ZACCL_OUT XMAGN_OUT YMAGN_OUT ZMAGN_OUT BARO_OUT TEMP_OUT XGYRO_OFF YGYRO_OFF ZGYRO_OFF XACCL_OFF YACCL_OFF ZACCL_OFF XMAGN_HIC YMAGN_HIC ZMAGN_HIC XMAGN_SIC YMAGN_SIC ZMAGN_SIC GPIO_CTRL MSC_CTRL SMPL_PRD SENS_AVG SEQ_CNT DIAG_STAT GLOB_CMD ALM_MAG1 ALM_MAG2 ALM_SMPL1 ALM_SMPL2 ALM_CTRL Reserved LOT_ID1 LOT_ID2 PROD_ID SERIAL_NUM 1 2 R/W R N/A R R R R R R R R R R R 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 R W R/W R/W R/W R/W R/W N/A R R R R Flash Backup Yes N/A No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes N/A No N/A Yes Yes Yes Yes Yes N/A Yes Yes Yes Yes Address 2 0x00 0x02 0x04 0x06 0x08 0x0A 0x0C 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 0x46 0x48 0x4A to 0x51 0x52 0x54 0x56 0x58 Default 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 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0006 0x0001 0x0402 N/A 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 N/A N/A N/A 0x4040 N/A Function Flash memory write count N/A X-axis gyroscope output Y-axis gyroscope output Z-axis gyroscope output X-axis accelerometer output Y-axis accelerometer output Z-axis accelerometer output X-axis magnetometer measurement Y-axis magnetometer measurement Z-axis magnetometer measurement Barometer pressure measurement, high word Temperature output X-axis gyroscope bias offset factor Y-axis gyroscope bias offset factor Z-axis gyroscope bias offset factor X-axis acceleration bias offset factor Y-axis acceleration bias offset factor Z-axis acceleration bias offset factor X-axis magnetometer, hard iron factor Y-axis magnetometer, hard iron factor Z-axis magnetometer, hard iron factor X-axis magnetometer, soft iron factor Y-axis magnetometer, soft iron factor Z-axis magnetometer, soft iron factor Auxiliary digital input/output control Miscellaneous control Internal sample period (rate) control Dynamic range and digital filter control xMAGN_OUT and BARO_OUT counter System status System command Alarm 1 amplitude threshold Alarm 2 amplitude threshold Alarm 1 sample size Alarm 2 sample size Alarm control Reserved Lot identification number Lot identification number Product identifier Lot-specific serial number Bit Assignments See Table 32 See Table 9 See Table 10 See Table 11 See Table 13 See Table 14 See Table 15 See Table 17 See Table 18 See Table 19 See Table 21 See Table 23 See Table 37 See Table 38 See Table 39 See Table 40 See Table 41 See Table 42 See Table 43 See Table 44 See Table 45 See Table 46 See Table 47 See Table 48 See Table 33 See Table 30 See Table 34 See Table 35 See Table 36 See Table 31 See Table 25 See Table 49 See Table 50 See Table 51 See Table 52 See Table 53 See Table 26 See Table 27 See Table 28 See Table 29 N/A means not applicable. Each register contains two bytes. The address of the lower byte is displayed. The address of the upper byte is equal to the address of the lower byte plus 1. Rev. H | Page 10 of 26 Data Sheet ADIS16448 USER INTERFACE The ADIS16448 is an autonomous system that requires no user initialization. When it has a valid power supply, it initializes itself and starts sampling, processing, and loading sensor data into the output registers at a sample rate of 819.2 SPS. DIO1 pulses high after each sample cycle concludes. The SPI interface enables simple integration with many embedded processor platforms, as shown in Figure 9 (electrical connection) and Table 7 (pin functions). The ADIS16448 provides two different options for acquiring sensor data: single register and burst register. 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 12. Bit DC7 to Bit DC0 are don't cares for a read, and then the output register contents follow on DOUT during the second sequence. Figure 10 includes three single register reads in succession. In this example, the process starts with DIN = 0x0400 to request the contents of XGYRO_OUT, then follows with 0x0600 to request YGYRO_OUT and 0x0800 to request ZGYRO_OUT. Full duplex operation enables processors to use the same 16-bit SPI cycle to read data from DOUT while requesting the next set of data on DIN. Figure 11 provides an example of the four SPI signals when reading XGYRO_OUT in a repeating pattern. ADIS16448 SS 6 CS SCLK 3 SCLK MOSI 5 DIN MISO 4 DOUT IRQ 7 DIO1 15 14 09946-009 13 Figure 9. Electrical Connection Diagram Table 7. Generic Master Processor Pin Names and Functions Pin Name SS SCLK MOSI MISO IRQ For burst read, SCLK rate 1 MHz. READING SENSOR DATA 12 11 10 SYSTEM PROCESSOR SPI MASTER 1 10F Function Slave select Serial clock Master output, slave input Master input, slave output Interrupt request DIN 0x0400 DOUT 0x0600 0x0800 XGYRO_OUT YGYRO_OUT ZGYRO_OUT Figure 10. SPI Read Example The ADIS16448 SPI interface supports full duplex serial communication (simultaneous transmit and receive) and uses the bit sequence shown in Figure 12. Table 8 provides a list of the most common settings that require attention to initialize the serial port of a processor for the ADIS16448 SPI interface. CS SCLK DIN DIN = 0000 0100 0000 0000 = 0x0400 DOUT DOUT = 1111 10011101 1010 = 0xF9DA = -1574 LSBs -62.96/sec Figure 11. Example SPI Read, Second 16-Bit Sequence CS DIN 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 NOTES 1. THE DOUT BIT PATTERN REFLECTS THE ENTIRE CONTENTS OF THE REGISTER IDENTIFIED BY [A6:A0] IN THE PREVIOUS 16-BIT DIN SEQUENCE WHEN R/W = 0. 2. IF R/W = 1 DURING THE PREVIOUS SEQUENCE, DOUT IS NOT DEFINED. Figure 12. SPI Communication Bit Sequence Rev. H | Page 11 of 26 R/W D15 A6 A5 D14 D13 09946-013 SCLK DOUT 09946-010 +3.3V Description The ADIS16448 operates as a slave Maximum serial clock rate CPOL = 1 (polarity), CPHA = 1 (phase) Bit sequence Shift register/data length 09946-111 VDD I/O LINES ARE COMPATIBLE WITH 3.3V LOGIC LINES Table 8. Generic Master Processor SPI Settings Processor Setting Master SCLK Rate 2 MHz1 SPI Mode 3 MSB-First Mode 16-Bit Mode ADIS16448 Data Sheet Burst Read Function CS 3 13 XGYRO_OUT TEMP_OUT SCLK GLOB_CMD DOUT DIAG_STAT 09946-113 DIN Figure 13. Burst Read Sequence, MSC_CTRL[4] = 0 Burst Read Function with CRC 1 2 3 14 DIAG_STAT XGYRO_OUT CRC-16 SCLK DOUT DOUT = 0100 0000 0100 0000 = 0x4040 = 16,448 Figure 15. SPI Test Read Pattern DIN = 0x5600, DOUT = 0x4040 DEVICE CONFIGURATION The control registers in Table 6 provide users with a variety of configuration options. The SPI provides access to these registers, one byte at a time, using the bit assignments in Figure 12. Each register has 16 bits, where Bits[7:0] represent the lower address, and Bits[15:8] represent the upper address. Figure 16 provides an example of writing 0x04 to Address 0x36 (SMPL_PRD[15:8], using DIN = 0xB704. This example reduces the sample rate by a factor of eight (see Table 34). SCLK DIN DIN = 1011 0111 0000 0100 = 0xB704, WRITES 0x04 TO ADDRESS 0x37. Figure 16. Example SPI Write Sequence 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, set GLOB_CMD[3] = 1 (DIN = 0xBE08) to backup these settings in nonvolatile flash memory. The flash backup process requires a valid power supply level for the entire process time, 75 ms. Table 6 provides a user register memory map that includes a flash backup column. A yes in this column indicates that a register has a mirror location in flash and, when backed up properly, it automatically restores itself during startup or after a reset. Figure 17 provides a diagram of the dual memory structure used to manage operation and store critical user settings. GLOB_CMD MANUAL FLASH BACKUP 09946-113 DIN DOUT CS When MSC_CTRL[4] = 1, the ADIS16448 adds a CRC-16 code at the end of the burst mode response (after TEMP_OUT), on the DOUT line. This increases the total number of 16-bit segments in the burst read operation to 14. The CRC-16 code derives from the CCIT CRC-16 method and provides a simple mechanism for verifying the correct communication of data during a burst mode sequence. This method strings together the data from the burst read output into a continuous binary number (176 bits), divides it by 0x1021, and uses the remainder of this operation as the CRC-16 code. The 176-bit binary number contains the contents of the following registers, which are in their order of significance in the 176-bit number: XGYRO_OUT (most significant 16-bits), YGYRO_OUT, ZGYRO_OUT, XACCL_OUT, YACCL_OUT, ZACCL_OUT, XMAGN_OUT, YMAGN_OUT, ZMAGN_OUT, BARO_OUT, and TEMP_OUT (least significant 16-bits). CS DIN = 0101 0110 0000 0000 = 0x5600 09 946-016 2 1 DIN Figure 14. Burst Ready Sequence, MSC_CTRL[4] = 1 SPI Read Test Sequence Figure 15 provides a test pattern for testing the SPI communication. In this pattern, write 0x5600 to the DIN line in a repeating pattern and raise chip select for at least 9 s between each 16-bit sequence. Starting with the second 16-bit sequence, DOUT produces the contents of the PROD_ID (see Table 28) register, 0x4040. Rev. H | Page 12 of 26 NONVOLATILE FLASH MEMORY VOLATILE SRAM (NO SPI ACCESS) SPI ACCESS START-UP RESET Figure 17. SRAM and Flash Memory Diagram 09946-017 CS SCLK 09946-011 The burst read function provides a way to read all of the data in one continuous stream of bits (no stall time). As shown in Figure 13, start this mode by setting DIN = 0x3E00, while keeping CS low for 12 additional, 16-bit read cycles. These 12 cycles produce the following sequence of output registers on DOUT: DIAG_STAT, XGYRO_OUT, YGYRO_OUT, ZGYRO_OUT, XACCL_OUT, YACCL_OUT, ZACCL_OUT, XMAGN_OUT, YMAGN_OUT, ZMAGN_OUT, BARO_OUT, and TEMP_OUT. Data Sheet ADIS16448 OUTPUT DATA REGISTERS Each sensor in the ADIS16448 has a dedicated output register in the user register map (see Table 6). Figure 18 provides arrows, which describe the direction or rotation (gX, gY, gZ), acceleration (aX, aY, aZ), and magnetic field (mX, mY, mZ) that produce a positive response in its output data. GYROSCOPES XGYRO_OUT (see Table 9) contains x-axis gyroscope data (gX in Figure 18), YGYRO_OUT (see Table 10) contains y-axis gyroscope data (gY in Figure 18), and ZGYRO_OUT (see Table 11) contains z-axis gyroscope data (gZ in Figure 18). Table 12 illustrates the gyroscope data format with numerical examples. Table 9. XGYRO_OUT (Base Address = 0x04), Read Only Bits [15:0] Description X-axis gyroscope data, twos complement format, 25 LSB//sec (SENS_AVG[15:8] = 0x04), 0/sec = 0x0000 Table 10. YGYRO_OUT (Base Address = 0x06), Read Only Bits [15:0] Description Y-axis gyroscope data, twos complement format, 25 LSB//sec (SENS_AVG[15:8] = 0x04), 0/sec = 0x0000 Table 11. ZGYRO_OUT (Base Address = 0x08), Read Only Bits [15:0] Description Z-axis gyroscope data, twos complement format, 25 LSB//sec (SENS_AVG[15:8] = 0x04), 0/sec = 0x0000 Table 12. Rotation Rate, Twos Complement Format1 Rotation Rate (/sec) +1000 +2 / 25 +1 / 25 0 -1 / 25 -2 / 25 -1000 1 Decimal +25,000 +2 +1 0 -1 -2 -25,000 Hex 0x61A8 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0x9E58 Binary 0110 0001 1010 1000 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1001 1110 0101 1000 ACCELEROMETERS XACCL_OUT (see Table 13) contains x-axis accelerometer data (aX in Figure 18), YACCL_OUT (see Table 14) contains y-axis accelerometer data (aY in Figure 18), and ZACCL_OUT (see Table 15) contains z-axis accelerometer data (aZ in Figure 18). Table 16 illustrates the accelerometer data format with numerical examples. Table 13. XACCL_OUT (Base Address = 0x0A), Read Only Bits [15:0] Description X-axis acceleration data, twos complement format, 1200 LSB/g, 0 g = 0x0000 Table 14. YACCL_OUT (Base Address = 0x0C), Read Only Bits [15:0] Description Y-axis acceleration data, twos complement format, 1200 LSB/g, 0 g = 0x0000 Table 15. ZACCL_OUT (Base Address = 0x0E), Read Only Bits [15:0] Description Z-axis acceleration data, twos complement format, 1200 LSB/g, 0 g = 0x0000 Table 16. Acceleration, Twos Complement Format Acceleration (g) +18 +2 / 1200 +1 / 1200 0 -1 / 1200 -2 / 1200 -18 SENS_AVG[15:8] = 0x04, see Table 35. Rev. H | Page 13 of 26 Decimal +21,600 +2 +1 0 -1 -2 -21,600 Hex 0x5460 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0xABA0 Binary 0101 0100 0101 0000 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1010 1011 1010 0000 ADIS16448 Data Sheet Z-AXIS aZ mZ gZ mX Y-AXIS X-AXIS mY aX aY gX 09946-206 gY Figure 18. Inertial Sensor Direction Reference MAGNETOMETERS XMAGN_OUT (see Table 17) contains x-axis magnetometer data (mX in Figure 18), YMAGN_OUT (see Table 18) contains y-axis magnetometer data (mY in Figure 18), and ZMAGN_OUT (see Table 19) contains z-axis magnetometer data (mZ in Figure 18). Table 20 illustrates the magnetometer data format with numerical examples. The lower four bits of each magnetometer output data register (xMAGN_OUT[3:0]) are not active at the maximum update rate of 51.2 SPS. They become active when using SMPL_PRD[12:8] to average and decimate the data. The number of bits that become active is equal to the decimation setting number in SMPL_PRD[12:8]. For example, if SMPL_PRD[15:8] = 0x02, xMAGN_OUT[15:2] are active and xMAGN_OUT[1:0] are inactive. Table 17. XMAGN_OUT (Base Address = 0x10), Read Only Bits [15:0] Description X-axis magnetic field intensity data, 1.9 gauss twos complement, 7 LSB/mgauss, 0x0000 = 0 mgauss BAROMETRIC PRESSURE BARO_OUT (see Table 21) contains the barometric pressure data. Table 22 provides several numerical format examples for BARO_OUT. Table 21. BARO_OUT (Base Address = 0x16), Read Only Bits [15:0] Table 22. Pressure, Binary, BARO_OUT Pressure 1200 mbar 1100 mbar 1000 mbar 0.04 mbar 0.02 mbar 0 mbar Table 18. YMAGN_OUT (Base Address = 0x12), Read Only Bits [15:0] Description Y-axis magnetic field intensity data, 1.9 gauss twos complement, 7 LSB/mgauss, 0x0000 = 0 mgauss Table 19. ZMAGN_OUT (Base Address = 0x14), Read Only Bits [15:0] Description Z-axis magnetic field intensity data, 1.9 gauss twos complement, 7 LSB/mgauss, 0x0000 = 0 mgauss Table 20. Magnetometer, Twos Complement Format Magnetic Field (mgauss) +1900 +2 / 7 +1 / 7 0 +1 / 7 +2 / 7 -1900 Decimal +13,300 +2 +1 0 -1 -2 -13,300 Hex 0x33F4 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0xCC0C Description Barometric pressure data, binary data format, 20 bar per LSB, 0x0000 = 0 mbar Binary 0011 0011 1111 0100 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 1111 1111 1111 1111 1111 1111 1111 1110 1100 1100 0000 1100 Rev. H | Page 14 of 26 Decimal 60,000 55,000 50,000 2 1 0 Hex 0xEA60 0xD6D8 0xC350 0x0002 0x0001 0x0000 Binary 1110 1010 0110 0000 1101 0110 1101 1000 1100 0011 0101 0000 0000 0000 0000 0010 0000 0000 0000 0001 0000 0000 0000 0000 Data Sheet ADIS16448 REMOTE PRESSURE SENSING INTERNAL TEMPERATURE The ADIS16448 package offers a threaded hole (10-32) to support remote pressure sensing. Figure 19 provides an example of a fitting, which mates this hole to a barbed interface that enables a tight connection with rubber tubing (1/8). The internal temperature measurement data loads into the TEMP_OUT (see Table 23) register. Table 24 illustrates the temperature data format. Note that this temperature represents an internal temperature reading, which does not precisely represent external conditions. The intended use of TEMP_OUT is to monitor relative changes in temperature. Table 23. TEMP_OUT (Base Address = 0x18), Read Only Bits [15:12] [11:0] Description Not used Twos complement, 0.07386C/LSB, 31C = 0x000 09946-219 Table 24. Temperature, Twos Complement Format Figure 19. Barb Fitting for Remote Pressure Sensing Temperature (C) +105 +85 +31.14772 +31.07386 +31 +30.92614 +30.85228 -40 Rev. H | Page 15 of 26 Decimal +1002 +731 +2 +1 0 -1 -2 -962 Hex 3EA 2DB 2 0 0 FFF FFE C3E Binary 0011 1110 1010 0010 1101 1011 0000 0000 0010 0000 0000 0001 0000 0000 0000 1111 1111 1111 1111 1111 1110 1100 0011 1110 ADIS16448 Data Sheet SYSTEM FUNCTIONS GLOBAL COMMANDS SELF-TEST FUNCTION The GLOB_CMD register in Table 25 provides trigger bits for software reset, flash memory management, and calibration control. Start each of these functions by writing a 1 to the assigned bit in GLOB_CMD. After completing the task, the bit automatically returns to 0. For example, set GLOB_CMD[7] = 1 (DIN = 0xBE80) to initiate a software reset. Set GLOB_CMD[3] = 1 (DIN = 0xBE08) to back up the user register contents in nonvolatile flash. This sequence includes loading the control registers with the data in their respective flash memory locations prior to producing new data. The MSC_CTRL register in Table 30 provides a self-test function for the gyroscopes, accelerometers, magnetometers, and barometers. Note that the magnetometer results assume that the nonearth magnetic fields are low, in comparison to the magnetic field of the earth. This function allows the user to verify the mechanical integrity of each MEMS sensor. When enabled, the self test applies an electrostatic force to each internal sensor element, which causes them to move. The movement in each element simulates its response to actual rotation/acceleration and generates a predictable electrical response in the sensor outputs. Set MSC_CTRL[10] = 1 (DIN = 0xB504) to activate the internal self test routine, which compares the response to an expected range of responses and reports a pass/fail response to DIAG_STAT[5]. If this is high, review DIAG_STAT[15:10] to identify the failing sensor. Table 25. GLOB_CMD (Base Address = 0x3E), Write Only Bits [15:8] 7 [6:4] 3 2 1 0 Description (Default = 0x0000) Not used Software reset Not used Flash update Not used Factory calibration restore Gyroscope bias correction Table 30. MSC_CTRL (Base Address = 0x34), Read/Write Bits [15:12] 11 10 PRODUCT IDENTIFICATION The PROD_ID register in Table 28 contains the binary equivalent of 16,448. It provides a product specific variable for systems that need to track this in their system software. The LOT_ID1 and LOT_ID2 registers in Table 26 and Table 27 combine to provide a unique, 32-bit lot identification code. The SERIAL_NUM register in Table 29 contains a binary number that represents the serial number on the device label. The assigned serial numbers in SERIAL_NUM are lot specific. [9:8] 7 6 5 4 Table 26. LOT_ID1 (Base Address = 0x52), Read Only Bits [15:0] Description Lot identification, binary code 3 2 Table 27. LOT_ID2 (Base Address = 0x54), Read Only Bits [15:0] Description Lot identification, binary code 1 Table 28. PROD_ID (Base Address = 0x56), Read Only Bits [15:0] 0 Description (Default = 0x4040) Product identification = 0x4040 1 The bit is automatically reset to 0 after finishing the test. Table 29. SERIAL_NUM (Base Address = 0x58), Read Only Bits [15:12] [11:0] Description (Default = 0x0006) Not used Checksum memory test (cleared upon completion)1 1 = enabled, 0 = disabled Internal self test (cleared upon completion)1 1 = enabled, 0 = disabled Do not use, always set to 00 Not used Point of percussion, see Figure 23 1 = enabled, 0 = disabled Not used CRC-16 code for burst mode 1 = include the CRC-16 code in burst read output sequence 0 = do not include the CRC-16 code in burst read output sequence Not used Data ready enable 1 = enabled, 0 = disabled Data ready polarity 1 = active high when data is valid 0 = active low when data is valid Data ready line select 1 = DIO2, 0 = DIO1 Description Reserved Serial number, 1 to 4094 (0xFFE) Rev. H | Page 16 of 26 Data Sheet ADIS16448 STATUS/ERROR FLAGS Magnetometer/Barometer New Data Indicator The DIAG_STAT register in Table 31 provides error flags for a number of functions. Each flag uses 1 to indicate an error condition and 0 to indicate a normal condition. Reading this register provides access to the status of each flag and resets all of the bits to 0 for monitoring future operation. If the error condition remains, the error flag returns to 1 at the conclusion of the next sample cycle. The SPI communication error flag in DIAG_STAT[3] indicates that the number of SCLKs in a SPI sequence did not equal a multiple of 16 SCLKs. DIAG_STAT[7] indicates that all four registers have new, unread data in them. This bit rises to 1 after the xMAGN_OUT and BARO_OUT registers have new data updates. It lowers to zero after one of the registers are accessed using a SPI-driven read command. This bit does not return to zero after reading DIAG_STAT. Table 31. DIAG_STAT (Base Address = 0x3C), Read Only Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Description (Default = 0x0000) Z-axis accelerometer self-test failure 1 = fail, 0 = pass Y-axis accelerometer self-test failure 1 = fail, 0 = pass X-axis accelerometer self-test failure 1 = fail, 0 = pass Z-axis gyroscope self-test failure 0 = pass Y-axis gyroscope self-test failure 1 = fail, 0 = pass X-axis gyroscope self-test failure 1 = fail, 0 = pass Alarm 2 status 1 = active, 0 = inactive Alarm 1 status 1 = active, 0 = inactive New data, xMAGN_OUT/BARO_OUT Flash test, checksum flag 1 = fail, 0 = pass Self-test diagnostic error flag 1 = fail, 0 = pass Sensor overrange 1 = overrange, 0 = normal SPI communication failure 1 = fail, 0 = pass Flash update failure 1 = fail, 0 = pass Barometer functional test 1 = fail, 0 = pass Magnetometer functional test 1 = fail, 0 = pass MEMORY MANAGEMENT The FLASH_CNT register in Table 32 provides a 16-bit counter that helps track the number of write cycles to the nonvolatile flash memory. The flash updates every time a manual flash update occurs. A manual flash update is initiated by the GLOB_CMD[3] bit and is performed at the completion of the GLOB_CMD[1:0] functions (see Table 25). Table 32. FLASH_CNT (Base Address = 0x00), Read Only Bits [15:0] Description Binary counter Checksum Test Set MSC_CTRL[11] = 1 (DIN = 0xB508) to perform a checksum test of the internal program memory. This function takes a summation of the internal program memory and compares it with the original summation value for the same locations (from factory configuration). If the sum matches the correct value, DIAG_STAT[6] is equal to 0. If it does not match, DIAG_STAT[6] is equal to 1. Make sure that the power supply is within specification for the entire 20 ms that this function takes to complete. Rev. H | Page 17 of 26 ADIS16448 Data Sheet INPUT/OUTPUT CONFIGURATION DATA READY INDICATOR Table 33. GPIO_CTRL (Base Address = 0x32), Read/Write The data ready indicator provides a signal that indicates when the registers are updating, so that system processors can avoid data collision, a condition when internal register updates happen at the same time that an external processor requests it. The data ready signal has valid and invalid states. Using the transition from invalid to valid to trigger an interrupt service routine provides the most time for data acquisition (before the next register update). See Figure 4 and Table 2 for specific timing information. MSC_CTRL[2:0] (see Table 30) provide control bits for enabling this function, selecting the polarity of the valid state and I/O line assignment (DIO1, DIO2). The factory default setting of MSC_CTRL[2:0] = 110 (DIN = 0xB406) establishes DIO1 as a data ready output line and assigns the valid state with a logic high (1). Set MSC_CTRL[2:0] = 100 (DIN = 0xB404) to change the polarity of the data ready signal on DIO1 for interrupt inputs that require negative logic inputs for activation. Bits [15:12] 11 10 9 8 [7:4] 3 GENERAL-PURPOSE INPUT/OUTPUT For example, set GPIO_CTRL[3:0] = 0100 (DIN = 0xB204) to set DIO3 as an output signal pin and DIO1, DIO2, and DIO4 as input signal pins. Set the output on DIO3 to 1 by setting GPIO_CTRL[10] = 1 (DIN = 0xB304). Then, read GPIO_CTRL[7:0] (DIN = 0x3200) and mask off GPIO_CTRL[9:8] and GPIO_CTRL[11] to monitor the digital signal levels on DIO4, DIO2, and DIO1. DIO1, DIO2, DIO3, and DIO4 are configurable, general-purpose input/output lines that serve multiple purposes. The data ready controls in MSC_CTRL[2:0] have the highest priority for configuring DIO1 and DIO2. The alarm indicator controls in ALM_CTRL[2:0] have the second highest priority for configuring DIO1 and DIO2. The external clock control associated with SMPL_PRD[0] has the highest priority for DIO4 configuration (see Table 34). GPIO_CTRL in Table 33 has the lowest priority for configuring DIO1, DIO2, and DIO4, and has absolute control over DIO3. 2 1 0 Description (Default = 0x0000) Not used General-Purpose I/O Line 4 (DIO4) data level General-Purpose I/O Line 3 (DIO3) data level General-Purpose I/O Line 2 (DIO2) data level General-Purpose I/O Line 1 (DIO1) data level Not used General-Purpose I/O Line 4 (DIO4) direction control 1 = output, 0 = input General-Purpose I/O Line 3 (DIO3) direction control 1 = output, 0 = input General-Purpose I/O Line 2 (DIO2) direction control 1 = output, 0 = input General-Purpose I/O Line 1 (DIO1) direction control 1 = output, 0 = input Example Input/Output Configuration Rev. H | Page 18 of 26 Data Sheet ADIS16448 DIGITAL PROCESSING CONFIGURATION GYROSCOPES/ACCELEROMETERS 0 -20 -40 MAGNITUDE (dB) -60 -80 -100 -140 0.001 Description (Default = 0x0001) Not used D, decimation rate setting, binomial, see Figure 21 Not used Clock 1 = internal sampling clock, 819.2 SPS 0 = external sampling clock INPUT CLOCK CONFIGURATION SMPL_PRD[0] (see Table 34) provides a control for synchronizing the internal sampling to an external clock source. Set SMPL_PRD[0] = 0 (DIN = 0xB600) and GPIO_CTRL[3] = 0 (DIN = 0xB200) to enable the external clock. See Table 2 and Figure 4 for timing information. 0.1 1 Figure 20. Bartlett Window, FIR Filter Frequency Response (Phase Delay = N Samples) Dynamic Range The SENS_AVG[10:8] bits provide three dynamic range settings for the gyroscopes. The lower dynamic range settings (250/sec and 500/sec) limit the minimum filter tap sizes to maintain resolution. For example, set SENS_AVG[10:8] = 010 (DIN = 0xB902) for a measurement range of 500/sec. Because this setting can influence the filter settings, program SENS_AVG[10:8] before programming SENS_AVG[2:0] if more filtering is required. Table 35. SENS_AVG (Base Address = 0x38), Read/Write Bits [15:11] [10:8] Digital Filtering The SENS_AVG register in Table 35 provides user controls for the low-pass filter. This filter contains two cascaded averaging filters that provide a Bartlett window, FIR filter response (see Figure 20). For example, set SENS_AVG[2:0] = 100 (DIN = 0xB804) to set each stage to 16 taps. When used with the default sample rate of 819.2 SPS and zero decimation (SMPL_PRD[15:8] = 0x00), this value reduces the sensor bandwidth to approximately 16 Hz. 0.01 FREQUENCY (f/fS) Table 34. SMPL_PRD (Base Address = 0x36), Read/Write Bits [15:13] [12:8] [7:1] 0 N=2 N=4 N = 16 N = 64 -120 09946-018 Figure 21 provides a diagram that describes all signal-processing components for the gyroscopes and accelerometers. The internal sampling system produces new data in the xGYRO_OUT and xACCL_OUT output data registers at a rate of 819.2 SPS. The SMPL_PRD register in Table 34 provides two functional controls that affect sampling and register update rates. SMPL_PRD[12:8] provides a control for reducing the update rate, using an averaging filter with a decimated output. These bits provide a binomial control that divides the data rate by a factor of 2 every time this number increases by 1. For example, set SMPL_PRD[15:8] = 0x04 (DIN = 0xB704) to set the decimation factor to 16. This reduces the update rate to 51.2 SPS and the bandwidth to ~25 Hz. The SMPL_PRD[12:8] setting affects the update rate for the TEMP_OUT register (see Table 23) as well. [7:3] [2:0] Rev. H | Page 19 of 26 Description (Default = 0x0402) Not used Measurement range (sensitivity) selection 100 = 1000/sec (default condition) 010 = 500/sec, filter taps 4 (Bits[2:0] 0x02) 001 = 250/sec, filter taps 16 (Bits[2:0] 0x04) Not used Filter Size Variable B Number of taps in each stage; NB = 2B See Figure 20 for filter response ADIS16448 Data Sheet BARTLETT WINDOW FIR FILTER LOW-PASS FILTER 330Hz 1 NB ADC GYROSCOPES LOW-PASS, TWO-POLE (404Hz, 757Hz) CLOCK 819.2SPS ACCELEROMETERS LOW-PASS, SINGLE-POLE (330Hz) NB x(n) n=1 1 NB NB x(n) n=1 B = SENS_AVG[2:0] NB = 2B NB = NUMBER OF TAPS (PER STAGE) 1 ND ND /ND x(n) n=1 D = SMPL_PRD[12:8] ND = 2D ND = NUMBER OF TAPS 09946-019 MEMS SENSOR AVERAGE/ DECIMATION FILTER EXTERNAL CLOCK ENABLED BY SMPL_PRD[0] = 0 Figure 21. Sampling and Frequency Response Block Diagram MAGNETOMETER/BAROMETER The magnetometer (xMAGN_OUT) and barometer output registers (BARO_OUT) update at a rate of 51.2 SPS. When using the external clock, these registers update at a rate of 1/16th of the input clock frequency. The update rates for the magnetometer and barometers do not change with the SMPL_PRD [15:8] register settings, unless SMPL_PRD[15:8] > 0x04. New Data Indicators DIAG_STAT[7] (see Table 31) offers a new data bit for the magnetometer (xMAGN_OUT) and barometer output registers (BARO_OUT) registers. This bit rises to a 1, right after the xMAGN_OUT and BARO_OUT registers receive fresh data. It returns to 0 after one of the four registers experiences a read request. a value of 16 and decrements every time the gyroscope data updates. When it reaches a value of 1, it returns to a value 16 after the next gyroscope update cycle. When SEQ_CNT equals 16, the magnetometer (xMAGN_OUT) and barometer (BARO_OUT) registers contain new data. The SEQ_CNT register can be useful during initialization to help synchronize read loops for new data in both magnetometer and barometer outputs. When beginning a continuous read loop, read SEQ_CNT to determine the number of sample cycles that must pass, before the magnetometer and barometer registers update. Table 36. SEQ_CNT (Base Address = 0x3A), Read Only Bits [15:11] [6:0] The SEQ_CNT register (see Table 36) provides a counter function to help determine when there is new data in the magnetometer and barometer registers. When using the full sample rate (SMPL_PRD[15:8] = 0x00), SEQ_CNT starts at Rev. H | Page 20 of 26 Description Don't care Binary counter: 16 to 1, when D = 0 Counter range = 16/2D - 1, when 1 D 4 See Table 34 for more information on D Data Sheet ADIS16448 CALIBRATION The mechanical structure and assembly process of the ADIS16448 provide excellent position and alignment stability for each sensor, even after subjected to temperature cycles, shock, vibration, and other environmental conditions. The factory calibration includes a dynamic characterization of each gyroscope and accelerometer over temperature and generates sensor specific correction formulas. GYROSCOPES FACTORY CALIBRATION AND FILTERING 2. 3. 4. xGYRO_OUT xACCL_OUT xGYRO_OFF xACCL_OFF Figure 22. User Calibration, Gyroscopes, and Accelerometers Gyroscope Bias Error Estimation Any system level calibration function must start with an estimate of the bias errors, which typically comes from a sample of gyroscope output data, when the device is not in motion. The sample size of data depends on the accuracy goals. Figure 7 provides a trade-off relationship between averaging time and the expected accuracy of a bias measurement. Vibration, thermal gradients, and power supply instability can influence the accuracy of this process. Table 37. XGYRO_OFF (Base Address = 0x1A), Read/Write Bits [15:0] Description (Default = 0x0000) X-axis, gyroscope offset correction factor, twos complement, 0.01/sec/LSB, 0/sec = 0x0000 Description (Default = 0x0000) Y-axis, gyroscope offset correction factor, twos complement, 0.01/sec/LSB, 0/sec = 0x0000 Table 39. ZGYRO_OFF (Base Address = 0x1E), Read/Write Bits [15:0] The XACCL_OFF (see Table 40), YACCL_OFF (see Table 41), and ZACCL_OFF (see Table 42) registers provide user programmable bias adjustment function for the X-, Y-, and Z-axis accelerometers, respectively. These registers adjust the accelerometer data in the same manner as XGYRO_OFF in Figure 22. Table 40. XACCL_OFF (Base Address = 0x20), Read/Write Bits [15:0] Description (Default = 0x0000) X-axis, accelerometer offset correction factor, twos complement, 1/1200 g/LSB, 0 g = 0x0000 Table 41. YACCL_OFF (Base Address = 0x22), Read/Write Bits [15:14] [13:0] Description (Default = 0x0000) Not used Y-axis, accelerometer offset correction factor, twos complement, 1/1200 g/LSB, 0 g = 0x0000 Table 42. ZACCL_OFF (Base Address = 0x24), Read/Write Table 38. YGYRO_OFF (Base Address = 0x1C), Read/Write Bits [15:0] Set SENS_AVG[10:8] = 001 (DIN = 0xB901) to optimize the xGYRO_OUT sensitivity to 0.01/sec/LSB. Set SMPL_PRD[12:8] = 0x10 (DIN = 0xB710) to set the decimation rate to 65,536 (216), which provides an averaging time of 80 seconds (65,536 / 819.2 SPS). Wait for 80 seconds while keeping the device motionless. Set GLOB_CMD[0] = 1 (DIN = 0xBE01) and wait for the time it takes to perform the flash memory backup. ACCELEROMETERS 09946-020 ADC GLOB_CMD[0] (see Table 25) loads the xGYRO_OFF registers with the values that are the opposite of the values that are in xGYRO_OUT, at the time of initiation. Use this command, together with the decimation filter (SMPL_PRD[12:8], see Table 34), to automatically average the gyroscope data and improve the accuracy of this function, as follows: 1. The XGYRO_OFF (see Table 37), YGYRO_OFF (see Table 38), and ZGYRO_OFF (see Table 39) registers provide userprogrammable bias adjustment function for the X-, Y-, and Z-axis gyroscopes, respectively. Figure 22 illustrates that they contain bias correction factors that adjust to the sensor data immediately before it loads into the output register. MEMS SENSOR Single Command Bias Correction Description (Default = 0x0000) Z-axis, gyroscope offset correction factor, twos complement, 0.01/sec/LSB, 0/sec = 0x0000 Gyroscope Bias Correction Factors When the bias estimate is complete, multiply the estimate by -1 to change its polarity, convert it into digital format for the offset correction registers (see Table 37, Table 38, and Table 39), and write the correction factors to the correction registers. For example, lower the X-axis bias by 10 LSB (0.1/sec) by setting XGYRO_OFF = 0xFFF6 (DIN = 0x9BFF, 0x9AF6). Bits [15:14] [13:0] Description (Default = 0x0000) Not used Z-axis, accelerometer offset correction factor, twos complement, 1/1200 g/LSB, 0 g = 0x0000 Accelerometer Bias Error Estimation Under static conditions, orient each accelerometer in positions where the response to gravity is predictable. A common approach to this is to measure the response of each accelerometer when they are oriented in peak response positions, that is, where 1 g is the ideal measurement position. Next, average the +1 g and -1 g accelerometer measurements together to estimate the residual bias error. Using more points in the rotation can improve the accuracy of the response. Rev. H | Page 21 of 26 ADIS16448 Data Sheet Accelerometer Bias Correction Factors Table 45. ZMAGN_HIC (Base Address = 0x2A), Read/Write When the bias estimate is complete, multiply the estimate by -1 to change its polarity, convert it to the digital format for the offset correction registers (see Table 40, Table 41 or Table 42) and write the correction factors to the correction registers. For example, lower the x-axis bias by 12 LSB (10 mg) by setting XACCL_OFF = 0xFFF4 (DIN = 0xA1FF, 0xA0F4). Bits [15:0] Description (Default = 0x0000) Z-axis hard iron correction factor, twos complement, 7 LSB/mgauss, 0x0000 = 0 mgauss Hard Iron Factors When the hard iron error estimation is complete, take the following steps: Point of Percussion Alignment 1. 2. Set MSC_CTRL[6] = 1 (DIN = 0xB446) to enable this feature and maintain the factory default settings for DIO1. This feature performs a point of percussion translation to the point identified in Figure 23. See Table 30 for more information on MSC_CTRL. 3. Multiply the estimate by -1 to change its polarity. Convert it into digital format for the hard iron correction registers (see Table 43). Write the correction factors to the registers. For example, lower the x-axis bias by 10 LSB (~1.429 mgauss) by setting XMAGN_HIC = 0xFFF6 (DIN = 0xA7FF, 0xA6F6) Soft Iron Effects The XMAGN_SIC (see Table 46), YMAGN_SIC (see Table 47), and ZMAGN_SIC (see Table 48) registers provide an adjustment variable for the magnetometer sensitivity adjustment in each magnetometer response to simplify the process of performing a system level soft iron correction. Table 46. XMAGN_SIC (Base Address = 0x2C), Read/Write 09946-119 ORIGIN ALIGNMENT REFERENCE POINT SEE MSC_CTRL[6]. Bits [15:0] Figure 23. Point of Percussion Physical Reference MAGNETOMETER CALIBRATION Table 47. YMAGN_SIC (Base Address = 0x2E), Read/Write The ADIS16448 provides registers that contribute to both hard iron and soft iron correction factors, as shown in Figure 24. Bits [15:0] 1 + xMAGN_SIC ADC FACTORY CALIBRATION AND FILTERING Table 48. ZMAGN_SIC (Base Address = 0x30), Read/Write xMAGN_HIC Bits [15:0] Figure 24. Hard Iron and Soft Iron Factor Correction Hard Iron Correction The XMAGN_HIC (see Table 43), YMAGN_HIC (see Table 44), and ZMAGN_HIC (see Table 45) registers provide the user programmable bias adjustment function for the X-, Y-, and Z-axis magnetometers, respectively. Hard iron effects result in an offset of the magnetometer response. Table 43. XMAGN_HIC (Base Address = 0x26), Read/Write Bits [15:0] Description (Default = 0x0000) X-axis hard iron correction factor, twos complement, 7 LSB/mgauss, 0x0000 = 0 Table 44. YMAGN_HIC (Base Address = 0x28), Read/Write Bits [15:0] Description (Default = 0x8000) Y-axis soft iron correction factor, twos complement format, 1 LSB = 100%/32,767 0x7FFF = 100% increase (2x), 0x8000 = 100% decrease (0x) xMAGN_OUT 09946-022 MAGNETIC SENSOR Description (Default = 0x8000) X-axis soft iron correction factor, twos complement format, 1 LSB = 100%/32,767 0x7FFF = 100% increase (2x), 0x8000 = 100% decrease (0x) Description (Default = 0x0000) Y-axis hard iron correction factor, twos complement, 7 LSB/mgauss, 0x0000 = 0 Rev. H | Page 22 of 26 Description (Default = 0x8000) Z-axis soft iron correction factor, twos complement format, 1 LSB = 100%/32,767 0x7FFF = 100% increase (2x), 0x8000 = 100% decrease (0x) Data Sheet ADIS16448 FLASH UPDATES RESTORING FACTORY CALIBRATION When using the user calibration registers to optimize system level accuracy, set GLOB_CMD[3] = 1 (DIN = 0xBE04) to save these settings in nonvolatile flash memory. Be sure to consider the endurance rating of the flash memory when determining how often to update the user correction factors in the flash memory. Set GLOB_CMD[1] = 1 (DIN = 0xBE02) to execute the factory calibration restore function, which resets the gyroscope and accelerometer offset registers to 0x0000 and all sensor data to 0. Then, it automatically updates the flash memory and restarts sampling and processing data. See Table 25 for information on GLOB_CMD. Rev. H | Page 23 of 26 ADIS16448 Data Sheet ALARMS Alarm 1 and Alarm 2 provide two independent alarms with programmable levels, polarity, and data sources. Table 53. ALM_CTRL (Base Address = 0x48), Read/Write Bits [15:12] STATIC ALARM USE The static alarms setting compares the data source selection (ALM_CTRL[15:8]) with the values in the ALM_MAGx registers listed in Table 49 and Table 50, using ALM_MAGx[15] to determine the trigger polarity. The data format in these registers matches the format of the data selection in ALM_CTRL[15:8]. See Table 54, Alarm 1, for a static alarm configuration example. Table 49. ALM_MAG1 (Base Address = 0x40), Read/Write Bits [15:0] Description (Default = 0x0000) Threshold setting; matches for format of ALM_CTRL[11:8] output register selection Table 50. ALM_MAG2 (Base Address = 0x42), Read/Write Bits [15:0] Description (Default = 0x0000) Threshold setting; matches for format of ALM_CTRL[15:12] output register selection DYNAMIC ALARM USE The dynamic alarm setting monitors the data selection for a rate-of-change comparison. The rate-of-change comparison is represented by the magnitude in the ALM_MAGx registers over the time represented by the number-of-samples setting in the ALM_SMPLx registers, located in Table 51 and Table 52. See Table 54, Alarm 2, for a dynamic alarm configuration example. Table 51. ALM_SMPL1 (Base Address = 0x44), Read/Write Bits [15:8] [7:0] Description (Default = 0x0000) Not used Binary, number of samples (both 0x00 and 0x01 = 1) Table 52. ALM_SMPL2 (Base Address = 0x46), Read/Write Bits [15:8] [7:0] Description (Default = 0x0000) Not used Binary, number of samples (both 0x00 and 0x01 = 1) ALARM REPORTING [11:8] 7 6 5 4 3 2 1 0 Description (Default = 0x0000) Alarm 2 data source selection 0000 = disable 0001 = XGYRO_OUT 0010 = YGYRO_OUT 0011 = ZGYRO_OUT 0100 = XACCL_OUT 0101 = YACCL_OUT 0110 = ZACCL_OUT 0111 = XMAGN_OUT 1001 = YMAGN_OUT 1010 = ZMAGN_OUT 1011 = BARO_OUT 1100 = TEMP_OUT Alarm 1 data source selection (same as Alarm 2) Alarm 2, dynamic/static (1 = dynamic, 0 = static) Alarm 1, dynamic/static (1 = dynamic, 0 = static) Alarm 2, polarity (1 = greater than ALM_MAG2) Alarm 1, polarity (1 = greater than ALM_MAG1) Data source filtering (1 = filtered, 0 = unfiltered) Alarm indicator (1 = enabled, 0 = disabled) Alarm indicator active polarity (1 = high, 0 = low) Alarm output line select (1 = DIO2, 0 = DIO1) Alarm Example Table 54 offers an example that configures Alarm 1 to trigger when filtered ZACCL_OUT data drops below 0.7 g and Alarm 2 to trigger when filtered ZGYRO_OUT data changes by more than 50/sec over a 100 ms period, or 500/sec2. The filter setting helps reduce false triggers from noise and refines the accuracy of the trigger points. The ALM_SMPL2 setting of 82 samples provides a comparison period that is approximately equal to 100 ms for an internal sample rate of 819.2 SPS. Table 54. Alarm Configuration Example DIN 0xC936, 0xC8AF The DIAG_STAT[9:8] bits provide error flags that indicate an alarm condition. The ALM_CTRL[2:0] bits provide controls for a hardware indicator using DIO1 or DIO2. 0xC313, 0xC288 0xC10A, 0xC0F0 0xC652 Rev. H | Page 24 of 26 Description ALM_CTRL = 0x36AF Alarm 2: dynamic, -ZGYRO_OUT (-time, ALM_SMPL2) > ALM_MAG2 Alarm 1: static, ZACCL_OUT < ALM_MAG1, filtered data DIO2 output indicator, positive polarity ALM_MAG2 = 0x04E2 = 1,250 LSB = 50/sec ALM_MAG1 = 0x0348 = 840 LSB = +0.7 g ALM_SMPL2[7:0] = 0x52 = 82 samples 82 samples / 819.2 SPS = ~100 ms Data Sheet ADIS16448 APPLICATIONS INFORMATION MOUNTING TIPS two components with the ADIS16448 inertial measurement unit (IMU) in a system. The mounting and installation process can influence gyroscope bias repeatability and other key parametric behaviors. To preserve the best performance, use the following guidelines when developing an attachment approach for the ADIS16448: Figure 25 provides the pin assignments for J1 on the ADIS16IMU2/PCBZ breakout board. * * * Focus mounting force at the machine screw locations. Avoid direct force application on the substrate. Avoid placing mounting pressure on the package lid, except for the edges that border the exposed side of the substrate. * Use a consistent mounting torque of 28 inch-ounces on mounting hardware. * Avoid placing translational forces on the electrical connector. For additional mounting ideas and tips, refer to the AN-1305 Application Note. 1 2 SCLK CS 3 4 DOUT DNC 5 6 DIN GND 7 8 GND GND 9 10 VDD VDD 11 12 VDD DIO1 13 14 DIO2 DIO3 15 16 DIO4/CLKIN 09946-211 J1 RST Figure 25. J1Pin Assignments for the ADIS16IMU2/PCBZ The C1 and C2 locations on the ADIS16IMU2/PCBZ provide users with the pads to install 10 F of capacitance across VDD and GND, which Figure 9 recommends for best performance. POWER SUPPLY CONSIDERATIONS PC-BASED EVALUATION TOOLS The power supply must be within 3.15 V and 3.45 V for normal operation and optimal performance. During start up, the internal power conversion system starts drawing current when VDD reaches 1.6 V. The internal processor begins initializing when VDD is equal to 2.35 V. After the processor starts, VDD must reach 2.7 V within 128 ms. Also, make sure that the power supply drops below 1.6 V to shut the device down. Figure 9 shows a 10 F capacitor on the power supply. Using this capacitor supports optimal noise performance in the sensors. The EVAL-ADIS2 supports PC-based evaluation of the ADIS16448. Refer to the EVAL-ADIS2 Evaluation System Wiki Guide for more information on connecting the ADIS16448 to the EVAL-ADIS2 system. X-RAY SENSITIVITY Exposure to high dose rate X-rays, such as those in production systems that inspect solder joints in electronic assemblies, may affect accelerometer bias errors. For optimal performance, avoid exposing the ADIS16448 to this type of inspection. ADIS16IMU2/PCBZ The ADIS1644X/FLEX and ADIS16IMU2/PCBZ accessories provide a simplified method for connecting to an embedded processor platform or to the EVAL-ADIS2 evaluation system. Figure 26 provides a mechanical design example for using these 15mm TO 45mm 23.75mm 33.40mm J2 2 1 16 J1 15 15.05mm 20.15mm 24 ADIS16448BMLZ ADIS1644X/FLEX (FLEXIBILE CONNECTOR/CABLE) 23 2 1 ADIS16IMU2/PCBZ (INTERFACE BOARD) NOTES 1. USE FOUR M2 MACHINE SCREWS TO ATTACH THE ADIS16448. 2. USE FOUR M3 MACHINE SCREWS TO ATTACH THE INTERFACE PCB. Figure 26. Physical Diagram for ADIS16448 Accessories Rev. H | Page 25 of 26 30.10mm 09946-021 10.07mm ADIS16448 Data Sheet OUTLINE DIMENSIONS 24.53 24.15 23.77 20.150 BSC 2.00 BSC 2.00 BSC 2.60 2.40 DIA. 2.20 6.70 BSC 10-32 THREADED HOLE 4.70 4.50 4.30 30.10 BSC 33.40 BSC 38.08 37.70 37.32 1.00 BSC 0.66 BSC TOP VIEW 19.55 BSC 2.96 2.70 2.44 7.57 BSC 7.89 7.63 7.37 2.30 BSC (2 PLCS) 12.50 BSC 29.200 BSC SIDE VIEW 2.30 BSC (2 PLCS) 1.00 BSC PITCH 2.84 BSC (Pin Height) 10.23 BSC 5.18 BSC (PCB to Connector) END VIEW 03-14-2013-D 11.10 10.80 10.50 Figure 27. 20-Lead Module with Connector Interface (ML-20-2) Dimensions shown in millimeters ORDERING GUIDE Model 1, 2 ADIS16448BMLZ ADIS16448BMLZ-P 1 2 Temperature Range -40C to +105C -40C to +105C Package Description 20-Lead Module with Connector Interface 20-Lead Module with Connector Interface Package Option ML-20-2 ML-20-2 Z = RoHS Compliant Part. The ADIS16448BMLZ-P includes Parylene-C coating on the internal substrate and components, which has a thickness of 0.001" (20%), along with a connector that has gold plating that is at least 0.00003 inches thick. (c)2012-2019 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. D09946-0-1/19(H) Rev. H | Page 26 of 26