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: −40°C to +70°C SPI-compatible serial interface 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: −40°C to +85°C The ADIS16448 iSensor® 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® 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 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 (ADIS163xx/ ADIS164xx). The ADIS16448 is packaged in a module that is approximately 24.1 mm × 37.7 mm × 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. B 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 ©2012–2013 Analog Devices, Inc. All rights reserved. Technical Support www.analog.com ADIS16448 Data Sheet TABLE OF CONTENTS Features .............................................................................................. 1 Status/Error Flags ....................................................................... 15 Applications ....................................................................................... 1 Memory Management ............................................................... 15 General Description ......................................................................... 1 Input/Output Configuration ......................................................... 16 Functional Block Diagram .............................................................. 1 Data Ready Indicator ................................................................. 16 Revision History ............................................................................... 2 General-Purpose Input/Output................................................ 16 Specifications..................................................................................... 3 Digital Processing Configuration ................................................. 17 Timing Specifications .................................................................. 5 Gyroscopes/Accelerometers ..................................................... 17 Absolute Maximum Ratings ............................................................ 6 Input Clock Configuration ....................................................... 17 ESD Caution .................................................................................. 6 Magnetometer/Barometer......................................................... 18 Pin Configuration and Function Descriptions ............................. 7 Calibration ....................................................................................... 19 Typical Performance Characteristics ............................................. 8 Gyroscopes .................................................................................. 19 User Registers .................................................................................... 9 Accelerometers ........................................................................... 19 User Interface .................................................................................. 10 Magnetometer Calibration ........................................................ 20 Reading Sensor Data .................................................................. 10 Flash Updates .............................................................................. 20 Device Configuration ................................................................ 11 Restoring Factory Calibration .................................................. 20 Output Data Registers .................................................................... 12 Alarms .............................................................................................. 21 Gyroscopes .................................................................................. 12 Static Alarm Use ......................................................................... 21 Accelerometers............................................................................ 12 Dynamic Alarm Use .................................................................. 21 Magnetometers ........................................................................... 13 Alarm Reporting ........................................................................ 21 Barometric Pressure ................................................................... 13 Applications Information .............................................................. 22 Remote Pressure Sensing ........................................................... 13 Power Supply Considerations ................................................... 22 Internal Temperature ................................................................. 13 ADIS16448/PCBZ ...................................................................... 22 System Functions ............................................................................ 14 PC-Based Evaluation Tools ....................................................... 22 Global Commands ..................................................................... 14 Outline Dimensions ....................................................................... 23 Product Identification ................................................................ 14 Ordering Guide .......................................................................... 23 Self-Test Function ....................................................................... 14 REVISION HISTORY 7/13—Rev. A to Rev. B Changes to Linear Acceleration Effect on Bias Test Conditions... 3 Changes Burst Read Function to Section .................................... 11 3/13—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/12—Revision 0: Initial Version Rev. B | Page 2 of 24 Data Sheet ADIS16448 SPECIFICATIONS TA = 25°C, 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 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 −40°C ≤ TA ≤ +70°C −40°C ≤ TA ≤ +70°C Axis to axis Axis to frame (package) Best fit straight line −40°C ≤ TA ≤ +70°C, 1 σ 1 σ, SMPL_PRD = 0x0001 1 σ, SMPL_PRD = 0x0001 −40°C ≤ TA ≤ +70°C Any axis, 1 σ −40°C ≤ TA ≤ +70°C ±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 −40°C ≤ TA ≤ +70°C −40°C ≤ TA ≤ +70°C Axis to axis Axis to frame (package) Best fit straight line −40°C ≤ TA ≤ +70°C, 1 σ 1 σ, SMPL_PRD = 0x0001 1 σ, SMPL_PRD = 0x0001 −40°C ≤ TA ≤ +70°C −40°C ≤ TA ≤ +70°C No filtering No filtering 25°C, see Table 20 for data format Relative to 25°C, 1 σ Axis to axis Axis to frame (package) Best fit straight line 25°C, 0 gauss stimulus −40°C ≤ TA ≤ +70°C 25°C, no filtering, rms 25°C, no filtering, rms −3 dB Rev. B | Page 3 of 24 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 ADIS16448 Parameter TEMPERATURE Sensitivity BAROMETERS Pressure Range, Operating Pressure Range Extended 3 Sensitivity Voltage Dependence Bias Supply Voltage Sensitivity Total Error Relative Error 4 Linearity 5 Noise LOGIC INPUTS 6 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 OUTPUTS6 Output High Voltage, VOH Output Low Voltage, VOL FLASH MEMORY Data Retention 8 FUNCTIONAL TIMES 9 Power-On Start-Up Time Reset Recovery Time 10 Flash Memory Back-Up Time Flash Memory Test Time Automatic Self-Test Time CONVERSION RATE xGYRO_OUT, xACCL_OUT xMAGN_OUT, BARO_OUT 11 Clock Accuracy Sync Input Clock 12 POWER SUPPLY Power Supply Current Data Sheet 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 25°C, 300 mbar to 1100 mbar −40°C to +85°C, 300 mbar to 1100 mbar 25°C, 300 mbar to 1100 mbar −40°C to +85°C, 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 7 TJ = 85°C 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 (−40°C to +70°C), electronics drift (high-temperature operating life test: 85°C, 500 hours), drift from temperature cycling (JESD22, Method A104-C, Method N, 500 cycles, −40°C to +85°C), 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 The extended pressure range is guaranteed by design. 4 The relative error assumes that the initial error, at 25°C, is corrected in the end application. 5 Linearity errors assume a full scale (FS) of 1000 mbar. 6 The digital I/O signals are driven by an internal 3.3 V supply, and the inputs are 5 V tolerant. 7 Endurance is qualified as per JEDEC Standard 22, Method A117, and measured at −40°C, +25°C, +85°C, and +125°C. 8 The data retention lifetime equivalent is at a junction temperature (TJ) of 85°C as per JEDEC Standard 22, Method A117. Data retention lifetime decreases with junction temperature. 9 These times do not include thermal settling and internal filter response times (330 Hz bandwidth), which may affect overall accuracy. 10 The RST line must be held low for at least 10 μs to assure a proper reset and recovery sequence. 11 The xMAGN_OUT and BARO_OUT registers update at a rate that is 1/16th that of the other output registers. 12 The sync input clock functions below the specified minimum value but at reduced performance levels. 1 Rev. B | Page 4 of 24 Data Sheet ADIS16448 TIMING SPECIFICATIONS TA = 25°C, 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 Min1 0.01 9 40 48.8 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 Timing Diagrams DOUT rise/fall times, not shown in Timing Diagrams CS high after SCLK edge Input sync positive pulse width Input sync to data ready valid transition Data invalid time Input sync period Normal Mode Typ Max 2.0 Min1 0.01 N/A2 Burst Read Typ Max 1.0 Unit MHz μs μs ns ns ns ns ns ns ns μs μs μs μs 48.8 100 100 24.4 48.8 24.4 48.8 5 5 12.5 12.5 5 5 5 25 12.5 12.5 5 5 685 210 685 210 910 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 tDSU DIN R/W A6 DB12 DB11 A4 A3 DB10 DB2 DB1 LSB tDHD 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. B | Page 5 of 24 09946-004 CLOCK ADIS16448 Data Sheet ABSOLUTE MAXIMUM RATINGS 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 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 −40°C to +85°C −65°C to +125°C1, 2 2 bar Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only; functional operation of the device at these or any other conditions above those indicated in the operational section of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Table 4. Package Characteristics Package Type 20-Lead Module (ML-20-2) Extended exposure to temperatures outside the specified temperature range of −40°C to +105°C can adversely affect the accuracy of the factory calibration. For best accuracy, store the parts within the specified operating range of −40°C to +105°C. 2 Although the device is capable of withstanding short-term exposure to 150°C, long-term exposure threatens internal mechanical integrity. 1 ESD CAUTION Rev. B | Page 6 of 24 θJA (°C/W) 36.5 θJC (°C/W) 16.9 Mass (grams) 15 Data Sheet ADIS16448 PIN CONFIGURATION AND FUNCTION DESCRIPTIONS ADIS16448 20 18 16 14 12 10 8 6 4 2 PIN 1 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. PIN 20 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. S is supply, O is output, I is input, N/A is not applicable. Rev. B | Page 7 of 24 09946-106 DIO3 1 DOUT DIN SCLK 3 DIO4/CLKIN 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) ADIS16448 Data Sheet 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. B | Page 8 of 24 1000 09946-128 –δ 09946-127 ROOT ALLAN VARIANCE (°/Hour) AVERAGE Data Sheet ADIS16448 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. B | Page 9 of 24 ADIS16448 Data Sheet 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). +3.3V 1 10µF SS 6 CS 3 SCLK MOSI 5 DIN MISO 4 DOUT IRQ 7 DIO1 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. 12 14 15 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. 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. B | Page 10 of 24 R/W D15 A6 A5 D14 D13 09946-013 SCLK DOUT 09946-010 11 ADIS16448 SCLK Description The ADIS16448 operates as a slave Maximum serial clock rate CPOL = 1 (polarity), CPHA = 1 (phase) Bit sequence Shift register/data length READING SENSOR DATA 10 SYSTEM PROCESSOR SPI MASTER Processor Setting Master SCLK Rate ≤ 2 MHz1 SPI Mode 3 MSB-First Mode 16-Bit Mode 09946-111 VDD I/O LINES ARE COMPATIBLE WITH 3.3V OR 5V LOGIC LEVELS Table 8. Generic Master Processor SPI Settings Data Sheet ADIS16448 Burst Read Function DEVICE CONFIGURATION 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. 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 15 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). CS 1 2 3 CS 13 SCLK SCLK GLOB_CMD DIAG_STAT XGYRO_OUT TEMP_OUT DIN = 1011 0111 0000 0100 = 0xB704, WRITES 0x04 TO ADDRESS 0x37. 09946-113 DOUT Figure 15. Example SPI Write Sequence Dual Memory Structure Figure 13. Burst Read Sequence SPI Read Test Sequence Figure 14 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. CS SCLK DIN = 0101 0110 0000 0000 = 0x5600 DOUT DOUT = 0100 0000 0100 0000 = 0x4040 = 16,448 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 16 provides a diagram of the dual memory structure used to manage operation and store critical user settings. 09946-011 MANUAL FLASH BACKUP Figure 14. SPI Test Read Pattern DIN = 0x5600, DOUT = 0x4040 NONVOLATILE FLASH MEMORY VOLATILE SRAM (NO SPI ACCESS) SPI ACCESS START-UP RESET Figure 16. SRAM and Flash Memory Diagram Rev. B | Page 11 of 24 09946-017 DIN 09 946-016 DIN DIN ADIS16448 Data Sheet OUTPUT DATA REGISTERS Each sensor in the ADIS16448 has a dedicated output register in the user register map (see Table 6). Figure 17 provides arrows, which describe the direction or rotation (gX, gY, gZ), acceleration (aX, aY, aZ), and magnetic field (mX, mY, mZ) that will produce a positive response in its output data. ACCELEROMETERS XACCL_OUT (see Table 13) contains x-axis accelerometer data (aX in Figure 17), YACCL_OUT (see Table 14) contains y-axis accelerometer data (aY in Figure 17), and ZACCL_OUT (see Table 15) contains z-axis accelerometer data (aZ in Figure 17). Table 16 illustrates the accelerometer data format with numerical examples. GYROSCOPES XGYRO_OUT (see Table 9) contains x-axis gyroscope data (gX in Figure 17), YGYRO_OUT (see Table 10) contains y-axis gyroscope data (gY in Figure 17), and ZGYRO_OUT (see Table 11) contains z-axis gyroscope data (gZ in Figure 17). Table 12 illustrates the gyroscope data format with numerical examples. Table 13. XACCL_OUT (Base Address = 0x0A), Read Only Bits [15:0] Table 9. XGYRO_OUT (Base Address = 0x04), Read Only Bits [15:0] Table 14. YACCL_OUT (Base Address = 0x0C), Read Only Description X-axis gyroscope data, twos complement format, 25 LSB/°/sec (SENS_AVG[15:8] = 0x04), 0°/sec = 0x0000 Bits [15:0] Table 10. YGYRO_OUT (Base Address = 0x06), Read Only Bits [15:0] Bits [15:0] Acceleration (g) +18 +2 ÷ 1200 +1 ÷ 1200 0 −1 ÷ 1200 −2 ÷ 1200 −18 Table 12. Rotation Rate, Twos Complement Format1 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 Decimal +21,600 +2 +1 0 −1 −2 −21,600 Hex 0x5460 0x0002 0x0001 0x0000 0xFFFF 0xFFFE 0xABA0 SENS_AVG[15:8] = 0x04, see Table 35. Z-AXIS aZ mZ gZ mX Y-AXIS X-AXIS mY aX aY gX gY 09946-206 1 Decimal +25,000 +2 +1 0 −1 −2 −25,000 Description Z-axis acceleration data, twos complement format, 1200 LSB/g, 0 g = 0x0000 Table 16. Acceleration, Twos Complement Format Description Z-axis gyroscope data, twos complement format, 25 LSB/°/sec (SENS_AVG[15:8] = 0x04), 0°/sec = 0x0000 Rotation Rate (°/sec) +1000 +2 ÷ 25 +1 ÷ 25 0 −1 ÷ 25 −2 ÷ 25 −1000 Description Y-axis acceleration data, twos complement format, 1200 LSB/g, 0 g = 0x0000 Table 15. ZACCL_OUT (Base Address = 0x0E), Read Only 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 X-axis acceleration data, twos complement format, 1200 LSB/g, 0 g = 0x0000 Figure 17. Inertial Sensor Direction Reference Rev. B | Page 12 of 24 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 Data Sheet ADIS16448 MAGNETOMETERS Table 22. Pressure, Binary, BARO_OUT XMAGN_OUT (see Table 17) contains x-axis magnetometer data (mX in Figure 17), YMAGN_OUT (see Table 18) contains y-axis magnetometer data (mY in Figure 17), and ZMAGN_OUT (see Table 19) contains z-axis magnetometer data (mZ in Figure 17). 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. Pressure 1200 mbar 1100 mbar 1000 mbar 0.04 mbar 0.02 mbar 0 mbar 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 REMOTE PRESSURE SENSING The ADIS16448 package offers a threaded hole (10-32) to support remote pressure sensing. Figure 18 provides an example of a fitting, which mates this hole to a barbed interface that enables a tight connection with rubber tubing (1/8”). 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 Table 18. YMAGN_OUT (Base Address = 0x12), Read Only Description Y-axis magnetic field intensity data, ±1.9 gauss twos complement, 7 LSB/mgauss, 0x0000 = 0 mgauss 09946-219 Bits [15:0] 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 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 BARO_OUT (see Table 21) contains the barometric pressure data. Table 22 provides several numerical format examples for BARO_OUT. Bits [15:0] Description Barometric pressure data, binary data format, 20 µbar per LSB, 0x0000 = 0 mbar INTERNAL TEMPERATURE 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 will 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.07386°C/LSB, 31°C = 0x000 Table 24. Temperature, Twos Complement Format BAROMETRIC PRESSURE Table 21. BARO_OUT (Base Address = 0x16), Read Only Figure 18. Barb Fitting for Remote Pressure Sensing Temperature (°C) +105 +85 +31.14772 +31.07386 +31 +30.92614 +30.85228 −40 Rev. B | Page 13 of 24 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 non-earth magnetic fields are low, in comparison to the earth’s magnetic field. 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:3] 2 1 Table 26. LOT_ID1 (Base Address = 0x52), Read Only Bits [15:0] Description Lot identification, binary code 0 Table 27. LOT_ID2 (Base Address = 0x54), Read Only Bits [15:0] 1 The bit is automatically reset to 0 after finishing the test. Description Lot identification, binary code Table 28. PROD_ID (Base Address = 0x56), Read Only Bits [15:0] Description (Default = 0x4040) Product identification = 0x4040 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 22 1 = enabled, 0 = disabled 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. B | Page 14 of 24 Data Sheet ADIS16448 Magnetometer/Barometer New Data Indicator STATUS/ERROR FLAGS 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. DIAG_STAT[0] does not require a read of this register to return to 0. If the power supply voltage goes back into range, this flag clears automatically. 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. 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 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. 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. B | Page 15 of 24 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. B | Page 16 of 24 Data Sheet ADIS16448 DIGITAL PROCESSING CONFIGURATION GYROSCOPES/ACCELEROMETERS 0 Figure 20 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. –20 MAGNITUDE (dB) –40 –80 –100 –140 0.001 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. 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. Table 35. SENS_AVG (Base Address = 0x38), Read/Write 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 19 for filter response 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. [7:3] [2:0] BARTLETT WINDOW FIR FILTER 1 NB GYROSCOPES LOW-PASS, TWO-POLE (404Hz, 757Hz) ACCELEROMETERS LOW-PASS, SINGLE-POLE (330Hz) CLOCK 819.2SPS 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) AVERAGE/ DECIMATION FILTER 1 ND ÷ND x(n) n=1 D = SMPL_PRD[12:8] ND = 2D ND = NUMBER OF TAPS EXTERNAL CLOCK ENABLED BY SMPL_PRD[0] = 0 Figure 20. Sampling and Frequency Response Block Diagram Rev. B | Page 17 of 24 ND 09946-019 Bits [15:11] [10:8] Digital Filtering ADC 1 Figure 19. Bartlett Window, FIR Filter Frequency Response (Phase Delay = N Samples) INPUT CLOCK CONFIGURATION LOW-PASS FILTER 330Hz 0.1 FREQUENCY (f/fS) Description (Default = 0x0001) Not used D, decimation rate setting, binomial, see Figure 20 Not used Clock 1 = internal sampling clock, 819.2 SPS 0 = external sampling clock MEMS SENSOR 0.01 09946-018 N=2 N=4 N = 16 N = 64 –120 Table 34. SMPL_PRD (Base Address = 0x36), Read/Write Bits [15:13] [12:8] [7:1] 0 –60 ADIS16448 Data Sheet 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. at a value of 16 and decrement every time the gyroscope data updates. When it reaches a value of 1, it will return 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 will start Rev. B | Page 18 of 24 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 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 21 illustrates that they contain bias correction factors that adjust to the sensor data immediately before it loads into the output register. ADC FACTORY CALIBRATION AND FILTERING xGYRO_OUT xACCL_OUT xGYRO_OFF xACCL_OFF Figure 21. 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 2. 3. 4. 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. 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 21. 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 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 Table 39. ZGYRO_OFF (Base Address = 0x1E), Read/Write Bits [15:0] 1. Table 42. ZACCL_OFF (Base Address = 0x24), Read/Write Table 38. YGYRO_OFF (Base Address = 0x1C), Read/Write Bits [15:0] 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: ACCELEROMETERS 09946-020 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). 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. B | Page 19 of 24 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] Point of Percussion Alignment 1. 2. 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: 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 22. 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 22. 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 23. Bits [15:0] 1 + xMAGN_SIC ADC FACTORY CALIBRATION AND FILTERING xMAGN_OUT 09946-022 MAGNETIC SENSOR xMAGN_HIC Figure 23. Hard Iron and Soft Iron Factor Correction Bits [15:0] Description (Default = 0x0000) X-axis hard iron correction factor, twos complement, 7 LSB/mgauss, 0x0000 = 0 Description (Default = 0x0000) Y-axis hard iron correction factor, twos complement, 7 LSB/mgauss, 0x0000 = 0 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. RESTORING FACTORY CALIBRATION Table 44. YMAGN_HIC (Base Address = 0x28), Read/Write Bits [15:0] Description (Default = 0x8000) Z-axis soft iron correction factor, twos complement format, 1 LSB = 100%/32,767 0x7FFF = 100% increase (2×) 0x8000 = 100% decrease (0×) FLASH UPDATES Table 43. XMAGN_HIC (Base Address = 0x26), 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 (2×) 0x8000 = 100% decrease (0×) Table 48. ZMAGN_SIC (Base Address = 0x30), Read/Write 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. Description (Default = 0x8000) X-axis soft iron correction factor, twos complement format, 1 LSB = 100%/32,767 0x7FFF = 100% increase (2×) 0x8000 = 100% decrease (0×) 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. B | Page 20 of 24 Data Sheet ADIS16448 ALARMS Table 53. ALM_CTRL (Base Address = 0x48), Read/Write Alarm 1 and Alarm 2 provide two independent alarms with programmable levels, polarity, and data sources. 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. 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 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. [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 0xCD36, 0xCCAF 0xC704, 0xC6E2 0xC503, 0xC448 0xC866 Rev. B | Page 21 of 24 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 ADIS16448 Data Sheet APPLICATIONS INFORMATION POWER SUPPLY CONSIDERATIONS Installation 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 following steps provide an example installation process for using these three components: ADIS16448/PCBZ The ADIS16448/PCBZ includes one ADIS16448AMLZ, one interface PCB, and one flexible connector/cable. This particular flexible cable mates the ADIS16448AMLZ to any system that uses the ADIS1636x, ADIS16375, ADIS16385, ADIS1640x, or ADIS1648x IMU products, which all use a 24-pin interface, rather than the 20-pin interface that the ADIS16448 uses. This combination of components enables quicker installation for prototype evaluation and algorithm development. Figure 24 provides a mechanical design example for using these three components in a system. 15mm TO 45mm 11 2 15.05mm 1 12 11 2 1 10.07mm J2 ADIS16448BMLZ The EVAL-ADIS supports PC-based evaluation of the ADIS16448. Go to www.analog.com/EVAL-ADIS, to download the user guide (UG-287) and software (IMU evaluation). 30.10mm FLEXIBLE CONNECTOR/CABLE PC-BASED EVALUATION TOOLS J1 20.15mm INTERFACE PCB 09946-021 NOTES 1. USE FOUR M2 MACHINE SCREWS TO ATTACH THE ADIS16448. 2. USE FOUR M3 MACHINE SCREWS TO ATTACH THE INTERFACE PCB. Figure 24. Physical Diagram for Mounting the ADIS16448/PCBZ Figure 25 provides the pin assignments for the interface board. RST 1 2 SCLK DNC 1 2 GND CS 3 4 DOUT DNC 3 4 DIO3 DNC 5 6 DIN GND 5 6 DIO4 GND 7 8 GND DNC 7 8 DNC GND 9 10 VDD DNC 9 10 DNC VDD 11 12 VDD DIO2 11 12 DIO1 09946-122 J2 J1 Drill and tap M2 and M3 holes in the system frame, according to the locations in Figure 24. Install the ADIS16448 using M2 machine screws. Use a mounting torque of 25 inch-ounces. Install the interface PCB using M3 machine screws. Connect J1 on the interface flex to the ADIS16448AMLZ connector. Connect J2 on the interface flex to J3 on the interface PCB. Note that J2 (interface flex) has 20 pins and J3 (interface PCB) has 24 pins. Make sure that Pin 1 on J2 (interface flex) connects to Pin 20 on J3 (interface PCB). J3 has a Pin 1 indicator to help guide this connection. Use J1 and J2 on the interface PCB to make the electrical connection with the system supply and embedded processor, using 12-pin, 1 mm ribbon cables. The following parts may be useful in building this type of cable: 3M Part Number 152212-0100-GB (ribbon crimp connector) and 3M Part Number 3625/12 (ribbon cable). The C1/C2 pads on the interface PCB do not have capacitors on them, but these pads can support the suggested power supply capacitor of 10 μF (see Figure 9). 23.75mm 33.40mm 12 Figure 25. J1/J2 Pin Assignments for Interface PCB Rev. B | Page 22 of 24 Data Sheet ADIS16448 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 26. 20-Lead Module with Connector Interface (ML-20-2) Dimensions shown in millimeters ORDERING GUIDE Model1 ADIS16448AMLZ ADIS16448/PCBZ 1 Temperature Range −40°C to +85°C Package Description 20-Lead Module with Connector Interface Interface PCB Z = RoHS Compliant Part. Rev. B | Page 23 of 24 Package Option ML-20-2 ADIS16448 Data Sheet NOTES ©2012–2013 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. D09946-0-7/13(B) Rev. B | Page 24 of 24