Analog Devices ADIS16407 User manual

Ten Degrees of Freedom Inertial Sensor
ADIS16407
Rev. 0
Information furnished by Analog Devices is believed to be accurate and reliable. However, no
responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other
rights of third parties that may result from its use. Specifications subject to change without notice. No
license is granted by implication or otherwise under any patent or patent rights of Analog Devices.
Trademarks and registered trademarks are the property of their respective owners.
One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A.
Tel: 781.329.4700 www.analog.com
Fax: 781.461.3113 ©2011 Analog Devices, Inc. All rights reserved.
FEATURES
Triaxial digital gyroscope with digital range scaling
±75°/sec, ±150°/sec, ±300°/sec settings
Axis-to-axis alignment, <0.05°
Triaxial digital accelerometer, ±18 g minimum
Triaxial digital magnetometer, ±2.5 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
210 ms start-up time, 4 ms sleep mode recovery time
Factory calibrated sensitivity, bias, and axial alignment
Calibration temperature range: −40°C to +85°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
Sleep mode for power management
DAC output voltage
Enable external sample clock input up to 1.1 kHz
Single command self test
Single-supply operation: 4.75 V to 5.25 V
2000 gshock survivability
Operating temperature range: −40°C to +105°C
APPLICATIONS
Platform stabilization and control
Navigation
Robotics
GENERAL DESCRIPTION
The ADIS16407 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 ADIS16407 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 (gyro bias). As a result,
each sensor has its own dynamic compensation formulas that
provide accurate sensor measurements.
The ADIS16407 provides a simple, cost-effective method for
integrating accurate, multiaxis inertial sensing into industrial
systems, especially when compared with the complexity and
investment associated with discrete designs. All necessary motion
testing and calibration are part of the production process at the
factory, greatly reducing system integration time. Tight orthogonal
alignment simplifies inertial frame alignment in navigation systems.
The SPI and register structure provide a simple interface for
data collection and configuration control.
The ADIS16407 has a compatible pinout for systems that currently
use ADIS1635x, ADIS1636x, and ADIS1640x IMU products.
The ADIS16407 is packaged in a module that is approximately
23 mm × 23 mm × 23 mm and has a standard connector interface.
FUNCTIONAL BLOCK DIAGRAM
CONTROLLLER
CLOCK
TRIAXIAL
GYRO
TRIAXIAL
ACCEL
POWER
MANAGEMENT
CS
SCLK
DIN
DOUT
GND
VDD
TEMP
VDD
DIO1 DIO2 DIO3 DIO4 RST
SPI
TRIAXIAL
MAGN
PRESSURE
SELF TEST I/O ALARMS
OUTPUT
DATA
REGISTERS
USER
CONTROL
REGISTERS
CALIBRATION
AND
FILTERS
ADIS16407
09797-001
Figure 1.
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 2 of 24
TABLE OF CONTENTS
Features .............................................................................................. 1
Applications....................................................................................... 1
General Description ......................................................................... 1
Functional Block Diagram .............................................................. 1
Revision History ............................................................................... 2
Specifications..................................................................................... 3
Timing Specifications .................................................................. 6
Absolute Maximum Ratings............................................................ 7
ESD Caution.................................................................................. 7
Pin Configuration and Function Descriptions............................. 8
Typical Performance Characteristics ............................................. 9
Basic Operation............................................................................... 10
Reading Sensor Data.................................................................. 10
Output Data Registers................................................................ 11
Input ADC Channel................................................................... 13
Device Configuration ................................................................ 13
User Registers.................................................................................. 14
System Functions............................................................................ 15
Global Commands ..................................................................... 15
Power Management.................................................................... 15
Product Identification................................................................ 15
Memory Management ............................................................... 15
Self Test Function ....................................................................... 16
Status/Error Flags ....................................................................... 16
Input/Output Configuration......................................................... 17
Data Ready Input/Output Indicator ........................................ 17
General-Purpose Input/Output................................................ 17
Auxiliary DAC ............................................................................ 17
Digital Processing Configuration................................................. 18
Sample Rate................................................................................. 18
Input Clock Configuration ....................................................... 18
Digital Filtering........................................................................... 18
Dynamic Range .......................................................................... 18
Calibration....................................................................................... 19
Gyroscopes.................................................................................. 19
Accelerometers ........................................................................... 20
Magnetometer Calibration........................................................ 20
Flash Updates.............................................................................. 21
Restoring Factory Calibration .................................................. 21
Alarms.............................................................................................. 22
Static Alarm Use ......................................................................... 22
Dynamic Alarm Use .................................................................. 22
Alarm Reporting ........................................................................ 22
Applications Information .............................................................. 23
Installation/Handling................................................................. 23
Gyroscope Bias Optimization................................................... 23
Interface Printed Circuit Board (PCB).................................... 23
Outline Dimensions....................................................................... 24
Ordering Guide .......................................................................... 24
REVISION HISTORY
4/11—Revision 0: Initial Version
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 3 of 24
SPECIFICATIONS
TA= 25°C, VDD = 5 V, angular rate = 0°/sec, dynamic range = ±300°/sec ± 1 g, unless otherwise noted.
Table 1.
Parameter Test Conditions/Comments Min Typ Max Unit
GYROSCOPES
Dynamic Range ±300 ±350 °/sec
Initial Sensitivity Dynamic range = ±300°/sec 0.0495 0.05 0.0505 °/sec/LSB
Dynamic range = ±150°/sec 0.025 °/sec/LSB
Dynamic range = ±75°/sec 0.0125 °/sec/LSB
Sensitivity Temperature Coefficient −40°C ≤ TA≤ +85°C ±40 ppm/°C
Misalignment Axis to axis ±0.05 Degrees
Axis to frame (package) ±0.5 Degrees
Nonlinearity Best fit straight line ±0.1 % of FS
Initial Bias Error ±1 σ ±3 °/sec
In-Run Bias Stability 1 σ, SMPL_PRD = 0x0001 0.007 °/sec
Angular Random Walk 1 σ, SMPL_PRD = 0x0001 1.9 °/√hr
Bias Temperature Coefficient −40°C ≤ TA≤ +85°C ±0.01 °/sec/°C
Linear Acceleration Effect on Bias Any axis, 1 σ (MSC_CTRL[7] = 1) 0.05 °/sec/g
Bias Voltage Sensitivity VDD = 4.75 V to 5.25 V ±0.3 °/sec/V
Output Noise ±300°/sec range, no filtering 0.8 °/sec rms
Rate Noise Density f = 25 Hz, ±300°/sec range, no filtering 0.044 °/sec/√Hz rms
3 dB Bandwidth 330 Hz
Sensor Resonant Frequency 14.5 kHz
ACCELEROMETERS Each axis
Dynamic Range ±18 g
Initial Sensitivity 3.285 3.33 3.38 mg/LSB
Sensitivity Temperature Coefficient −40°C ≤ TA≤ +85°C ±50 ppm/°C
Misalignment Axis to axis 0.2 Degrees
Axis to frame (package) ±0.5 Degrees
Nonlinearity Best fit straight line 0.1 % of FS
Initial Bias Error ±1 σ ±50 mg
In-Run Bias Stability 1 σ, SMPL_PRD = 0x0001 0.2 mg
Velocity Random Walk 1 σ, SMPL_PRD = 0x0001 0.2 m/sec/√hr
Bias Temperature Coefficient −40°C ≤ TA≤ +85°C ±0.3 mg/°C
Bias Voltage Sensitivity VDD = 4.75 V to 5.25 V 2.5 mg/V
Output Noise No filtering 9 mgrms
Noise Density No filtering 0.5 mg/√Hz rms
3 dB Bandwidth 330 Hz
Sensor Resonant Frequency 5.5 kHz
MAGNETOMETER
Dynamic Range ±2.5 ±3.5 gauss
Initial Sensitivity 25°C 0.49 0.5 0.51 mgauss/LSB
Sensitivity Temperature Coefficient 25°C, 1 σ 600 ppm/°C
Misalignment Axis to axis 0.25 Degrees
Axis to frame (package) 0.5 Degrees
Nonlinearity Best fit straight line 0.5 % of FS
Initial Bias Error 25°C, 0 gauss stimulus ±4 mgauss
Bias Temperature Coefficient −40°C ≤ TA≤ +85°C 0.5 mgauss/°C
Output Noise 25°C, no filtering, rms 1.15 mgauss
Noise Density 25°C, no filtering, rms 0.06 mgauss/√Hz
Bandwidth −3 dB 1540 Hz
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 4 of 24
Parameter Test Conditions/Comments Min Typ Max Unit
BAROMETER
Pressure Range
Operating 300 1100 mbar
Extended110 1200 mbar
Sensitivity BARO_OUT only20.08 mbar/LSB
Total Error 25°C, 300 mbar to 1100 mbar 1.5 mbar
Relative Error3−40°C to +85°C, 300 mbar to 1100 mbar 2.5 mbar
Linearity425°C, 300 mbar to 1100 mbar 0.1 % of FS
−40°C to +85°C, 300 mbar to 1100 mbar 0.15 % of FS
Noise 0.027 mbar rms
TEMPERATURE SENSOR
Scale Factor 25°C, output = 0x0000 0.14 °C/LSB
ADC INPUT
Resolution 12 Bits
Integral Nonlinearity ±2 LSB
Differential Nonlinearity ±1 LSB
Offset Error ±4 LSB
Gain Error ±2 LSB
Input Range 0 3.3 V
Input Capacitance During acquisition 20 pF
DAC OUTPUT 5 kΩ/100 pF to GND
Resolution 12 Bits
Relative Accuracy 101 LSB ≤ input code ≤ 4095 LSB ±4 LSB
Differential Nonlinearity ±1 LSB
Offset Error ±5 mV
Gain Error ±0.5 %
Output Range 0 3.3 V
Output Impedance 2 Ω
Output Settling Time 10 µs
LOGIC INPUTS5
Input High Voltage, VIH 2.0 V
Input Low Voltage, VIL 0.8 V
CS signal to wake up from sleep mode 0.55 V
CS Wake-Up Pulse Width 20 s
Logic 1 Input Current, IIH V
IH = 3.3 V ±0.2 ±10 µA
Logic 0 Input Current, IIL V
IL = 0 V
All Pins Except RST 40 60 µA
RST Pin 1 mA
Input Capacitance, CIN 10 pF
DIGITAL OUTPUTS5
Output High Voltage, VOH I
SOURCE = 1.6 mA 2.4 V
Output Low Voltage, VOL I
SINK = 1.6 mA 0.4 V
FLASH MEMORY Endurance610,000 Cycles
Data Retention7T
J= 85°C 20 Years
FUNCTIONAL TIMES8Time until new data is available
Power-On Start-Up Time 210 ms
Reset Recovery Time 90 ms
Sleep Mode Recovery Time 7 ms
Flash Memory Update Time 75 ms
Flash Memory Test Time 30 ms
Automatic Self Test Time SMPL_PRD = 0x0001 52 ms
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 5 of 24
Parameter Test Conditions/Comments Min Typ Max Unit
CONVERSION RATE SPS
xGYRO_OUT, xACCL_OUT, xMAGN_OUT SMPL_PRD = 0x0001 819.2 SPS
BAR_OUT, BARO_OUTL9SMPL_PRD = 0x0001 51.2 SPS
Clock Accuracy ±3 %
Sync Input Clock10 0.8 1.1 kHz
POWER SUPPLY Operating voltage range, VDD 4.75 5.0 5.25 V
Power Supply Current 70 mA
Sleep mode 1.4 mA
1The extended pressure range is guaranteed by design.
2See Table 22 for the BAR_OUTL register details, which offer additional digital resolution improvements.
3The relative error assumes that the initial error, at +25°C, is corrected in the end application.
4Linearity errors assume a full scale (FS) of 1000 mbar.
5The digital I/O signals are driven by an internal 3.3 V supply, and the inputs are 5 V tolerant.
6Endurance is qualified as per JEDEC Standard 22, Method A117, and measured at −40°C, +25°C, +85°C, and +125°C.
7The 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.
8These times do not include thermal settling and internal filter response times (330 Hz bandwidth), which may affect overall accuracy.
9The BARO_OUT and BARO_OUTL registers sample at a rate that is 1/16th that of the other output registers.
10 The sync input clock functions below the specified minimum value, but at reduced performance levels.
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 6 of 24
TIMING SPECIFICATIONS
TA= 25°C, VDD = 5 V, unless otherwise noted.
Table 2.
Normal Mode Burst Read
Parameter Description Min1Typ Max Min1Typ Max Unit
fSCLK Serial clock 0.01 2.0 0.01 1.0 MHz
tSTALL Stall period between data 9 1/fSCLK µs
tREADRATE Read rate 40 µs
tCS Chip select to SCLK edge 48.8 48.8 ns
tDAV DOUT valid after SCLK edge 100 100 ns
tDSU DIN setup time before SCLK rising edge 24.4 24.4 ns
tDHD DIN hold time after SCLK rising edge 48.8 48.8 ns
tSCLKR, tSCLKF SCLK rise/fall times, not shown in Timing Diagrams 5 12.5 5 12.5 ns
tDR, tDF DOUT rise/fall times, not shown inTiming Diagrams 5 12.5 5 12.5 ns
tSFS CS high after SCLK edge 5 5 ns
t1 Input sync positive pulse width 5 5 µs
txInput sync low time 100 100 µs
t2 Input sync to data ready output 600 600 µs
t3 Input sync period 910 910 µs
1Guaranteed by design and characterization, but not tested in production.
Timing Diagrams
CS
SCLK
DOUT
DIN
123456 1516
R/W A5A6 A4 A3 A2 D2
MSB DB14
D1 LSB
DB13 DB12 DB10DB11 DB2 LSBDB1
t
CS
t
SFS
t
DAV
t
DHD
t
DSU
09797-002
Figure 2. SPI Timing and Sequence
CS
SCLK
t
READRATE
t
STALL
09797-003
Figure 3. Stall Time and Data Rate
t3
tX
t2
t1
SYNC
CLOCK (DIO4)
DATA
READY
07570-004
Figure 4. Input Clock Timing Diagram
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 7 of 24
ABSOLUTE MAXIMUM RATINGS
Table 3.
Parameter Rating
Acceleration
Any Axis, Unpowered 2000 g
Any Axis, Powered 2000 g
VDD to GND −0.3 V to +6.0 V
Digital Input Voltage to GND −0.3 V to +5.3 V
Digital Output Voltage to GND −0.3 V to +3.6 V
Analog Input to GND −0.3 V to +3.6 V
Temperature
Operating Range −40°C to +105°C
Storage Range −65°C to +125°C1, 2
Pressure 6 bar
1Extended 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.
2Although the device is capable of withstanding short-term exposure to
150°C, long-term exposure threatens internal mechanical integrity.
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 θJA θ
JC Device Weight
24-Lead Module
(ML-24-2)
39.8°C/W 14.2°C/W 16 grams
ESD CAUTION
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 8 of 24
PIN CONFIGURATION AND FUNCTION DESCRIPTIONS
NOTES
1. THIS VIEW REPRESENTS THE TOP VIEW OF THE MATING CONNECTOR.
2. WHEN CONNECTED, THE PINS ARE NOT VISIBLE.
3. MATING CONNECTOR: SAMTEC CLM-112-02 OR EQUIVALENT.
4. DNC = DO NOT CONNECT.
1
DIO3
SCLK
DIN
DIO1
DIO2
VDD
GND
GND
DNC
DNC
AUX_ADC
DNC
DIO4/CLKIN
DOUT
CS
RST
VDD
VDD
GND
DNC
DNC
AUX_DAC
DNC
DNC
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
ADIS16407
TOP VIEW
(Not to Scale)
09797-005
Figure 5. Pin Configuration
PIN 1
PIN 23
09797-006
Figure 6. Axial Orientation
Table 5. Pin Function Descriptions
Pin No. Mnemonic Type1Description
1 DIO3 I/O Configurable Digital Input/Output.
2 DIO4/CLKIN I/O Configurable Digital Input/Output or Sync Clock Input.
3 SCLK I SPI Serial Clock.
4 DOUT O SPI Data Output. Clocks the output on the SCLK falling edge.
5 DIN I SPI Data Input. Clocks the input on the SCLK rising edge.
6 CS I SPI Chip Select.
7 DIO1 I/O Configurable Digital Input/Output.
8 RST I Reset.
9 DIO2 I/O Configurable Digital Input/Output.
10, 11, 12 VDD S Power Supply.
13, 14, 15 GND S Power Ground.
16, 17, 18, 19, 22, 23, 24 DNC N/A Do Not Connect. Do not connect to these pins.
20 AUX_DAC O Auxiliary, 12-Bit DAC Output.
21 AUX_ADC I Auxiliary, 12-Bit ADC Input.
1S is supply, O is output, I is input, N/A is not applicable.
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 9 of 24
TYPICAL PERFORMANCE CHARACTERISTICS
0.001
0.01
0.1
0.1 1 10 100 1k 10k
Tau (sec)
ROOT
A
LLAN VARIANCE (°/sec)
–1σ
MEAN
+1σ
09797-007
Figure 7. Gyroscope Root Allan Variance
0.0001
0.001
0.01
0.1 1 10 100 1k 10k
Tau (sec)
ROOT
A
LLAN VARIANCE (g)
–1σ
MEAN
+1σ
09797-008
Figure 8. Accelerometer Root Allan Variance
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 10 of 24
BASIC OPERATION
The ADIS16407 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 6 (pin
functions).
SYSTEM
PROCESSOR
SPI MASTER
ADIS16407
SCLK
CS
DIN
DOUT
SCLK
SS
MOSI
MISO
5V
IRQ DIO1
VDD
I/O LINES ARE COMPATIBLE WITH
3.3V OR 5V LOGIC LEVELS
10
6
3
5
4
7
11 12
13 14 15
09797-009
Figure 9. Electrical Connection Diagram
Table 6. Generic Master Processor Pin Names and Functions
Pin Name Function
SS Slave select
SCLK Serial clock
MOSI Master output, slave input
MISO Master input, slave output
IRQ Interrupt request
The ADIS16407 SPI interface supports full duplex serial commu-
nication (simultaneous transmit and receive) and uses the bit
sequence shown in Figure 13. Table 7 provides a list of the most
common settings that require attention to initialize the serial
port of a processor for the ADIS16407 SPI interface.
Table 7. Generic Master Processor SPI Settings
Processor Setting Description
Master The ADIS16407 operates as a slave
SCLK Rate ≤ 2 MHz1Maximum serial clock rate
SPI Mode 3 CPOL = 1 (polarity), CPHA = 1 (phase)
MSB-First Mode Bit sequence
16-Bit Mode Shift register/data length
1For burst read, SCLK rate ≤ 1 MHz.
READING SENSOR DATA
The ADIS16407 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 13.
Bit DC7 to Bit DC0 are don’t care 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.
XGYRO_OUT
DIN
DOUT
YGYRO_OUT ZGYRO_OUT
0x0400 0x0600 0x0800
09797-010
Figure 10. SPI Read Example
DOUT = 1111 1001 1101 1010 = 0xF9DA = –1574 LSBs => –19.675°/sec
DIN = 0000 0100 0000 0000 = 0x0400
SCLK
CS
DIN
DOUT
09797-011
Figure 11. Example SPI Read, Second 16-Bit Sequence
Burst Read Function
The burst read function enables the user to read all output registers
using one command on the DIN line and shortens the stall time
between each 16-bit segment to one SCLK cycle (see Table 2).
Figure 12 provides the burst read sequence of data on each SPI
signal. The sequence starts with writing 0x3E00 to DIN, followed
by each output register clocking out on DOUT, in the order in
which they appear in Table 8.
0x3E00 DON’T CARE
123 15
CS
SCLK
DIN
DOUT XGYRO_OUTSUPPLY_OUT AUX_ADC
09797-012
Figure 12. Burst Read Sequence
R/W R/W
A6 A5 A4 A3 A2 A1 A0 DC7 DC6 DC5 DC4 DC3 DC2 DC1 DC0
D0D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15
CS
SCLK
DIN
DOUT
A6 A5
D13D14D15
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.
09797-013
Figure 13. SPI Communication Bit Sequence
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 11 of 24
OUTPUT DATA REGISTERS
The output registers in Table 8 provide the most recent sensor
data produced by the ADIS16407. Each output register has flags
for new data indication and error/alarm conditions, which
reduces the need to monitor DIAG_STAT.
Table 8. Output Data Register Formats
Register Address Measurement
SUPPLY_OUT 0x02 Power supply
XGYRO_OUT 0x04 Gyroscope, x-axis
YGYRO_OUT 0x06 Gyroscope, y-axis
ZGYRO_OUT 0x08 Gyroscope, z-axis
XACCL_OUT 0x0A Accelerometer, x-axis
YACCL_OUT 0x0C Accelerometer, y-axis
ZACCL_OUT 0x0E Accelerometer, z-axis
XMAGN_OUT 0x10 Magnetometer, x-axis
YMAGN_OUT 0x12 Magnetometer, y-axis
ZMAGN_OUT 0x14 Magnetometer, z-axis
BARO_OUT 0x16 Barometer/pressure, higher
BARO_OUTL 0x18 Barometer/pressure, lower
TEMP_OUT10x1A Internal temperature
AUX_ADC 0x1C Auxiliary ADC
1This is most useful for monitoring relative changes in the temperature.
Y-AXIS
a
Y
g
Y
g
X
X-AXIS
a
X
Z-AXIS
a
Z
g
Z
m
X
m
Y
m
Z
09797-014
Figure 14. Inertial Sensor Direction Reference
Gyroscopes
Figure 14 provides arrows (gX, gY, gZ) that indicate the direction
of rotation, which produces a positive response in the gyroscope
output registers: XGYRO_OUT (x-axis, Table 9), YGYRO_OUT
(y-axis, Tabl e 10), and ZGYRO_OUT (z-axis, Table 11). Table 1 2
illustrates the gyroscope data format.
Table 9. XGYRO_OUT (Base Address = 0x04), Read Only
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:0] X-axis gyroscope data, twos complement format,
0.05°/sec per LSB, when SENS_AVG[15:8] = 0x04
Table 10. YGYRO_OUT (Base Address = 0x06), Read Only
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:0] Y-axis gyroscope data, twos complement format,
0.05°/sec per LSB, when SENS_AVG[15:8] = 0x04
Table 11. ZGYRO_OUT (Base Address = 0x08), Read Only
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:0] Z-axis gyroscope data, twos complement format,
0.05°/sec per LSB, when SENS_AVG[15:8] = 0x04
Table 12. Rotation Rate, Twos Complement Format
Rotation Rate Decimal Hex Binary
+300°/sec +6000 0x1770 xx01 0111 0111 0000
+0.1°/sec +2 0x0002 xx00 0000 0000 0010
+0.05°/sec +1 0x0001 xx00 0000 0000 0001
0°/sec 0 0x0000 xx00 0000 0000 0000
−0.05°/sec −1 0x3FFF xx11 1111 1111 1111
−0.1°/sec −2 0x3FFE xx11 1111 1111 1110
−300°/sec −6000 0x2890 xx10 1000 1001 0000
Accelerometers
Figure 14 provides arrows (aX, aY, aZ) that indicate the direction
of acceleration, which produces a positive response in the
gyroscope output registers: XACCL_OUT (x-axis, Table 13),
YACCL_OUT (y-axis, Table 14), and ZACCL_OUT (z-axis,
Tabl e 15). Table 16 illustrates the accelerometer data format.
Table 13. XACCL_OUT (Base Address = 0x0A), Read Only
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:0] X-axis acceleration data, twos complement format,
0.25 mgper LSB
Table 14. YACCL_OUT (Base Address = 0x0C), Read Only
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:0] Y-axis acceleration data, twos complement format,
0.25 mgper LSB
Table 15. ZACCL_OUT (Base Address = 0x0E), Read Only
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:0] Z-axis acceleration data, twos complement format,
0.25 mgper LSB
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 12 of 24
Table 16. Acceleration, Twos Complement Format
Acceleration Decimal Hex Binary
+18 g+5401 0x1519 xx01 0101 0001 1001
+6.667 mg+2 0x0002 xx00 0000 0000 0010
+3.333 mg+1 0x0001 xx00 0000 0000 0001
0 g0 0x0000 xx00 0000 0000 0000
−3.333 mg−1 0x3FFF xx11 1111 1111 1111
−6.667 mg−2 0x3FFE xx11 1111 1111 1110
−18 g−5401 0x2AE7 xx10 1010 1110 0111
Magnetometers
Figure 14 provides arrows (mX, mY, mZ) that indicate the direction
of the magnetic field, which produces a positive response in the
gyroscope output registers: XMAGN_OUT (x-axis, Table 17),
YMAGN_OUT (y-axis, Table 18), and ZAMAGN_OUT (z-axis,
Table 19). Table 2 0 illustrates the magnetic field intensity data
format.
Table 17. XMAGN_OUT (Base Address = 0x10), Read Only
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:0] X-axis magnetic field intensity data, twos complement
format, 0.5 mgauss per LSB
Table 18. YMAGN_OUT (Base Address = 0x12), Read Only
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:0] Y-axis magnetic field intensity data, twos complement
format, 0.5 mgauss per LSB
Table 19. ZMAGN_OUT (Base Address = 0x14), Read Only
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:0] Z-axis magnetic field intensity data, twos complement
format, 0.5 mgauss per LSB
Table 20. Magnetometer, Twos Complement Format
Magnetic Field Decimal Hex Binary
+2.5 gauss +5000 0x1388 xx01 0011 1000 1000
+0.001 gauss +2 0x0002 xx00 0000 0000 0010
+0.0005 gauss +1 0x0001 xx00 0000 0000 0001
0 gauss 0 0x0000 xx00 0000 0000 0000
−0.0005 gauss −1 0x3FFF xx11 1111 1111 1111
−0.0005 gauss −2 0x3FFE xx11 1111 1111 1110
−2.5 gauss −5000 0x2C78 xx10 1100 0111 1000
Barometric Pressure
The barometric pressure measurements are contained in two
registers, BARO_OUT (Table 21) and BARO_OUTL (Table 22)
registers. Table 23 provides several numerical format examples
for BARO_OUT, which is sufficient for most applications.
Use BAR_OUTL and the following steps to increase the
numerical resolution by 8-bits for best performance:
1. Read BAR_OUT and multiply by 256 (shift 8 bits)
2. Read BAR_OUTL and max off upper 8 bits
3. Add results together for a 24-bit result,
where 1 LSB = 0.0003125 and 0x00000 = 0 mbar
Table 21. BARO_OUT (Base Address = 0x16), Read Only
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:0] Barometric pressure data, binary data format,
0.08 mbar per LSB, 0x0000 = 0 mbar
Table 22. BARO_OUTL (Base Address = 0x18), Read Only
Bits Description
[15:8] Not used
[7:0] Barometric pressure data, binary data format,
0.0003125 mbar per LSB, 0x0000 = 0 mbar
Table 23. Pressure, Binary, BARO_OUT Only
Pressure
(mbar) Decimal Hex Binary
1200 15,000 0x3A98 xx11 1010 1001 1000
1100 13,750 0x35B6 xx11 0101 1011 0110
1000 12,500 0x30D4 xx11 0000 1101 0100
0.16 2 0x0002 xx00 0000 0000 0010
0.08 1 0x0001 xx00 0000 0000 0001
0 0 0x0000 xx00 0000 0000 0000
Internal Temperature
The internal temperature measurement data loads into the
TEMP_OUT (Table 24) register. Table 25 illustrates the
temperature data format.
Table 24. TEMP_OUT (Base Address = 0x1A), Read Only
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:12] Not used
[11:0] Internal temperature data, twos complement,
0.136°C/LSB, 25°C = 0x000
Table 25. Temperature, Twos Complement Format
Temperature Decimal Hex Binary
+105°C +588 LSB 0x24C xxxx 0010 0100 1100
+85°C +441 LSB 0x1B9 xxxx 0001 1011 1001
+25.272°C +2 LSB 0x002 xxxx 0000 0000 0010
+25.136°C +1 LSB 0x001 xxxx 0000 0000 0001
+25°C 0 LSB 0x000 xxxx 0000 0000 0000
+24.864°C −1 LSB 0xFFF xxxx 1111 1111 1111
+24.728°C −2 LSB 0xFFE xxxx 1111 1111 1110
−40°C −478 LSB 0xE22 xxxx 1110 0010 0010
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 13 of 24
Power Supply Table 29. Analog Input, Offset Binary Format
Input Voltage Decimal Hex Binary
3.3 V 4095
The SUPPLY_OUT register (Table 26) provides a measurement
of the voltage that is on the VDD pins of the device. Table 27
illustrates the power supply data format.
Table 26. SUPPLY_OUT (Base Address = 0x02), Read Only
0xFFF xxxx 1111 1111 1111
1 V 1241 0x4D9 xxxx 0100 1101 1001
1.6118 mV 2 0x002 xxxx 0000 0000 0010
805.9 µV 1 0x001 xxxx 0000 0000 0001
0 V 0
Bits Description 0x000 xxxx 0000 0000 0000
[15] New data indicator (ND), 1 = new data in register DEVICE CONFIGURATION
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags The control registers in Table 30 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 13. 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 0x03 to Address 0x3A (SMPL_PRD[15:8]),
using DIN = 0xB703. This example reduces the sample rate by a
factor of eight (see Table 46).
[13:12] Not used
[11:0] Power supply measurement data, binary format,
2.418 mV/LSB, 0 V = 0x000
Table 27. Power Supply Data, Binary Format
Voltage Decimal Hex Binary
+5.25 V 2171 0x87B xxxx 1000 0111 1011
+5.0 V 2068 0x814 xxxx 1000 0001 0100
+4.75 V 1964 0x7AC xxxx 0111 1010 1100
1 V 414
S
CL
K
CS
DIN
DIN = 1011 0111 0000 0011 = 0xB703, WRITES 0x03 TO ADDRESS 0x3A.
09797-016
0x19E xxxx 0001 1001 1110
4.836 mV 2 0x002 xxxx 0000 0000 0010
2.418 mV 1 0x001 xxxx 0000 0000 0001
0 V 0 0x000 xxxx 0000 0000 0000
INPUT ADC CHANNEL Figure 16. Example SPI Write Sequence
Dual Memory Structure
The AUX_ADC register provides access to the auxiliary ADC
input channel. The ADC is a 12-bit successive approximation
converter that has an input circuit equivalent to the one shown
in Figure 15. The maximum input is 3.3 V. The ESD protection
diodes can handle 10 mA without causing irreversible damage.
The on resistance (R1) of the switch has a typical value of 100 Ω.
The sampling capacitor, C2, has a typical value of 16 pF.
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 75 ms process time. Table 3 0 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.
C2
C1
R1
V
C
C
D
D
09797-015
Figure 15. Equivalent Analog Input Circuit
(Conversion Phase: Switch Open,
Track Phase: Switch Closed)
Table 28. AUX_ADC (Base Address = 0x1C), Read Only
NONVOLATILE
FLASH MEMORY
(NO SPI ACCESS)
MANUAL
FLASH
BACKUP
START-UP
RESET
VOLATILE
SRAM
SPI ACCESS
09797-017
Bits Description
[15] New data indicator (ND), 1 = new data in register
[14] Error/alarm, 1 = active, see DIAG_STAT for error flags
[13:12] Not used
[11:0] Analog input channel data, binary format,
0.8059 mV/LSB, 0 V = 0x000 Figure 17. SRAM and Flash Memory Diagram
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 14 of 24
USER REGISTERS
Table 30. User Register Memory Map1
Name R/W Flash Backup Address2Default Function Bit Assignments
FLASH_CNT R Yes 0x00 N/A Flash memory write count See Table 38
SUPPLY_OUT R No 0x02 N/A Power supply measurement See Table 26
XGYRO_OUT R No 0x04 N/A X-axis gyroscope output See Table 9
YGYRO_OUT R No 0x06 N/A Y-axis gyroscope output See Table 10
ZGYRO_OUT R No 0x08 N/A Z-axis gyroscope output See Table 11
XACCL_OUT R No 0x0A N/A X-axis accelerometer output See Table 13
YACCL_OUT R No 0x0C N/A Y-axis accelerometer output See Table 14
ZACCL_OUT R No 0x0E N/A Z-axis accelerometer output See Table 15
XMAGN_OUT R No 0x10 N/A X-axis magnetometer measurement See Table 17
YMAGN_OUT R No 0x12 N/A Y-axis magnetometer measurement See Table 18
ZMAGN_OUT R No 0x14 N/A Z-axis magnetometer measurement See Table 19
BARO_OUT R No 0x16 N/A Barometer pressure measurement, high word See Table 21
BARO_OUTL R No 0x18 N/A Barometer pressure measurement, low word See Table 22
TEMP_OUT R No 0x1A N/A Temperature output See Table 24
AUX_ADC R No 0x1C N/A Auxiliary ADC measurement See Table 28
XGYRO_OFF R/W Yes 0x1E 0x0000 X-axis gyroscope bias offset factor See Table 49
YGYRO_OFF R/W Yes 0x20 0x0000 Y-axis gyroscope bias offset factor See Table 50
ZGYRO_OFF R/W Yes 0x22 0x0000 Z-axis gyroscope bias offset factor See Table 51
XACCL_OFF R/W Yes 0x24 0x0000 X-axis acceleration bias offset factor See Table 52
YACCL_OFF R/W Yes 0x26 0x0000 Y-axis acceleration bias offset factor See Table 53
ZACCL_OFF R/W Yes 0x28 0x0000 Z-axis acceleration bias offset factor See Table 54
XMAGN_HIC R/W Yes 0x2A 0x0000 X-axis magnetometer, hard iron factor See Table 55
YMAGN_HIC R/W Yes 0x2C 0x0000 Y-axis magnetometer, hard iron factor See Table 56
ZMAGN_HIC R/W Yes 0x2E 0x0000 Z-axis magnetometer, hard iron factor See Table 57
XMAGN_SIC R/W Yes 0x30 0x0800 X-axis magnetometer, soft iron factor See Table 58
YMAGN_SIC R/W Yes 0x32 0x0800 Y-axis magnetometer, soft iron factor See Table 59
ZMAGN_SIC R/W Yes 0x34 0x0800 Z-axis magnetometer, soft iron factor See Table 60
GPIO_CTRL R/W No 0x36 0x0000 Auxiliary digital input/output control See Table 42
MSC_CTRL R/W Yes 0x38 0x0006 Miscellaneous control See Table 39
SMPL_PRD R/W Yes 0x3A 0x0001 Internal sample period (rate) control See Table 46
SENS_AVG R/W Yes 0x3C 0x0402 Dynamic range and digital filter control See Table 47
SLP_CTRL W No 0x3E N/A Sleep mode control See Table 33
DIAG_STAT R No 0x40 0x0000 System status See Table 40
GLOB_CMD W N/A 0x42 0x0000 System command See Table 32
ALM_MAG1 R/W Yes 0x44 0x0000 Alarm 1 amplitude threshold See Table 62
ALM_MAG2 R/W Yes 0x46 0x0000 Alarm 2 amplitude threshold See Table 63
ALM_SMPL1 R/W Yes 0x48 0x0000 Alarm 1 sample size See Table 64
ALM_SMPL2 R/W Yes 0x4A 0x0000 Alarm 2 sample size See Table 65
ALM_CTRL R/W Yes 0x4C 0x0000 Alarm control See Table 66
AUX_DAC R/W No 0x4E 0x0000 Auxiliary DAC data See Table 43
Reserved N/A N/A 0x50 N/A Reserved
LOT_ID1 R Yes 0x52 N/A Lot identification number See Table 34
LOT_ID2 R Yes 0x54 N/A Lot identification number See Table 35
PROD_ID R Yes 0x56 0x4107 Product identifier See Table 36
SERIAL_NUM R Yes 0x58 N/A See Table 37
1N/A means not applicable.
2Each 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.
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 15 of 24
SYSTEM FUNCTIONS
The ADIS16407 provides a number of system level controls for
managing its operation, using the registers in Table 31.
Table 31. System Tool Registers
Register Name Address Description
MSC_CTRL 0x38 Self test, calibration, data ready
SLP_CTRL 0x3E Sleep mode control
DIAG_STAT 0x40 Error flags
GLOB_CMD 0x42 Single command functions
LOT_ID1 0x52 Lot Identification Code 1
LOT_ID2 0x54 Lot Identification Code 2
PROD_ID 0x56 Product identifier
SERIAL_NUM 0x58 Serial number
GLOBAL COMMANDS
The GLOB_CMD register in Table 32 provides trigger bits for
software reset, flash memory management, DAC control, 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 = 0xC280) to initiate a software reset, which stops the sensor
operation and runs the device through its start-up sequence. Set
GLOB_CMD[3] = 1 (DIN = 0xC208) 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.
Table 32. GLOB_CMD (Base Address = 0x42), Write Only
Bits Description (Default = 0x0000)
[15:8] Not used
[7] Software reset
[6:4] Not used
[3] Flash update
[2] Auxiliary DAC data latch
[1] Factory calibration restore
[0] Gyroscope bias correction
POWER MANAGEMENT
The SLP_CTRL register (see Table 33 ) provides two sleep
modes for system level management: normal and timed. Set
SLP_CTRL[8] = 1 (DIN = 0xBF01) to start normal sleep mode.
When the device is in sleep mode, the following events can cause
it to wake up: asserting CS from high to low, asserting RST from
high to low, or cycling the power. Use SLP_CTRL[7:0] to put the
device into sleep mode for a specified period. For example,
SLP_CNT[7:0] = 0x64 (DIN = 0xBE64) puts the ADIS16407 to
sleep for 50 seconds.
Table 33. SLP_CTRL (Base Address = 0x3E), Write Only
Bits Description
[15:9] Not used
[8] Normal sleep mode (1 = start sleep mode)
[7:0] Timed sleep mode (write 0x01 to 0xFF to start)
Sleep mode duration, binary, 0.5 sec/LSB
PRODUCT IDENTIFICATION
The PROD_ID register in Tabl e 36 contains the binary equivalent
of 16,407. 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 34 and Table 35 combine to provide a
unique, 32-bit lot identification code. The SERIAL_NUM
register in Table 37 contains a binary number that represents
the serial number on the device label. The assigned serial
numbers in SERIAL_NUM are lot specific.
Table 34. LOT_ID1 (Base Address = 0x52), Read Only
Bits Description
[15:0] Lot identification, binary code
Table 35. LOT_ID2 (Base Address = 0x54), Read Only
Bits Description
[15:0] Lot identification, binary code
Table 36. PROD_ID Bit (Base Address = 0x56), Read Only
Bits Description (Default = 0x4017)
[15:0] Product identification = 0x4017
Table 37. SERIAL_NUM (Base Address = 0x58), Read Only
Bits Description
[15:12] Reserved
[11:0] Serial number, 1 to 4094 (0xFFE)
MEMORY MANAGEMENT
The FLASH_CNT register in Table 38 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 also performed at the completion of the GLOB_CMD[1:0]
functions (see Table 32).
Table 38. FLASH_CNT (Base Address = 0x00), Read Only
Bits Description
[15:0] Binary counter
Checksum Test
Set MSC_CTRL[11] = 1 (DIN = 0xB908) to perform a check-
sum 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). Check the results in the DIAG_STAT register, which
is in Table 40. DIAG_STAT[6] equals 0 if the sum matches the
correct value, and 1 if it does not. Make sure that the power
supply is within specification for the entire 20 ms that this
function takes to complete.
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 16 of 24
SELF TEST FUNCTION
The MSC_CTRL register in Table 39 provides a self test function
for the gyroscopes and accelerometers. 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 move-
ment in each element simulates its response to actual rotation/
acceleration and generates a predictable electrical response in the
sensor outputs. The ADIS16407 exercises this function and compares
the response to an expected range of responses and reports a pass/fail
response to DIAG_STAT[5]. If this is high, the DIAG_STAT[15:10]
provide pass/fail flags for each inertial sensor.
Table 39. MSC_CTRL (Base Address = 0x38), Read/Write
Bits Description (Default = 0x0006)
[15:12] Not used
[11] Checksum memory test (cleared upon completion)1
1 = enabled, 0 = disabled
[10] Internal self test (cleared upon completion)1
1 = enabled, 0 = disabled
[9:8] Do not use, always set to 00
[7] Linear acceleration bias compensation for gyroscopes
1 = enabled, 0 = disabled
[6] Point of percussion, see Figure 6
1 = enabled, 0 = disabled
[5:3] Not used
[2] Data ready enable
1 = enabled, 0 = disabled
[1] Data ready polarity
1 = active high, 0 = active low
[0] Data ready line select
1 = DIO2, 0 = DIO1
1The bit is automatically reset to 0 after finishing the test.
STATUS/ERROR FLAGS
The DIAG_STAT register in Table 40 provides error flags for
a number of functions. Each flag uses 1 to indicate an error con-
dition 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 40. DIAG_STAT (Base Address = 0x40), Read Only
Bits Description (Default = 0x0000)
[15] Z-axis accelerometer self test failure
1 = fail, 0 = pass
[14] Y-axis accelerometer self test failure
1 = fail, 0 = pass
[13] X-axis accelerometer self test failure
1 = fail, 0 = pass
[12] Z-axis gyroscope self test failure
0 = pass
[11] Y-axis gyroscope self test failure
1 = fail, 0 = pass
[10] X-axis gyroscope self test failure
1 = fail, 0 = pass
[9] Alarm 2 status
1 = active, 0 = inactive
[8] Alarm 1 status
1 = active, 0 = inactive
[7] Not used
[6] Flash test, checksum flag
1 = fail, 0 = pass
[5] Self test diagnostic error flag
1 = fail, 0 = pass
[4] Sensor overrange
1 = overrange, 0 = normal
[3] SPI communication failure
1 = fail, 0 = pass
[2] Flash update failure
1 = fail, 0 = pass
[1] Power supply high
1 = VDD > 5.25 V
0 = VDD ≤ 5.25 V
[0] Power supply low
1 = VDD < 4.75 V
0 = VDD ≥ 4.75 V
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 17 of 24
INPUT/OUTPUT CONFIGURATION
Table 41 provides a summary of registers that provide input/output
configuration and control.
Table 41. Input/Output Registers
Register Name Address Description
GPIO_CTRL 0x36 General-purpose I/O control
MSC_CTRL 0x38 Self test, calibration, data ready
AUX_DAC 0x4E Output voltage control, AUX_DAC
DATA READY INPUT/OUTPUT INDICATOR
The factory default setting of MSC_CTRL[2:0] = 110 establishes
DIO1 as a positive polarity data ready signal. See Table 39 for
additional data ready configuration options. For example, set
MSC_CTRL[2:0] = 100 (DIN = 0xB804) to change the polarity of
the data ready signal on DIO1 for interrupt inputs that require
negative logic inputs for activation. The pulse width is typically
between 60 μs and 150 μs, including jitter (±30 μs).
GENERAL-PURPOSE INPUT/OUTPUT
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 46). GPIO_CTRL in Table 42 has the lowest priority
for configuring DIO1, DIO2, and DIO4, and has absolute
control over DIO3.
Table 42. GPIO_CTRL (Base Address = 0x36), Read/Write
Bits Description (Default = 0x0000)
[15:12] Not used
[11] General-Purpose I/O Line 4 (DIO4) data level
[10] General-Purpose I/O Line 3 (DIO3) data level
[9] General-Purpose I/O Line 2 (DIO2) data level
[8] General-Purpose I/O Line 1 (DIO1) data level
[7:4] Not used
[3] General-Purpose I/O Line 4 (DIO4) direction control
1 = output, 0 = input
[2] General-Purpose I/O Line 3 (DIO3) direction control
1 = output, 0 = input
[1] General-Purpose I/O Line 2 (DIO2) direction control
1 = output, 0 = input
[0] General-Purpose I/O Line 1 (DIO1) direction control
1 = output, 0 = input
Example Input/Output Configuration
For example, set GPIO_CTRL[3:0] = 0100 (DIN = 0xB604)
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 = 0xB704). Then, read
GPIO_CTRL[7:0] (DIN = 0x3600) and mask off GPIO_CTRL[9:8]
and GPIO_CTRL[11] to monitor the digital signal levels on
DIO4, DIO2, and DIO1.
AUXILIARY DAC
The AUX_DAC register in Table 43 provides user controls for
setting the output voltage on the AUX_DAC pin. The 12-bit
AUX_DAC line can drive its output to within 5 mV of the ground
reference when it is not sinking current. As the output approaches
0 V, the linearity begins to degrade (~100 LSB starting point). As
the sink current increases, the nonlinear range increases. The
DAC latch command in GLOB_CMD[2] (see Table 32) moves
the values of the AUX_DAC register into the DAC input register,
enabling both bytes to take effect at the same time. This prevents
undesirable output levels, which reflect single byte changes of
the AUX_DAC register.
Table 43. AUX_DAC (Base Address = 0x4E), Read/Write
Bits Description (Default = 0x0000)
[15:12] Not used
[11:0] Data bits, scale factor = 0.8059 mV/LSB, offset binary
format, 0 V = 0 LSB
Table 44. Setting AUX_DAC = 1 V
DIN Description
0xCED9 AUX_DAC[7:0] = 0xD9 (217 LSB)
0xCF04 AUX_DAC[15:8] = 0x04 (1024 LSB)
0xC204 GLOB_CMD[2] = 1; move values into the DAC input
register, resulting in a 1 V output level
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 18 of 24
DIGITAL PROCESSING CONFIGURATION
Table 45. Digital Processing Registers
Register Name Address Description
SMPL_PRD 0x3A Sample rate control
SENS_AVG 0x3C Digital filtering and range control
SAMPLE RATE
The internal sampling system produces new data in the output
data registers at a rate of 819.2 SPS. The SMPL_PRD register in
Tabl e 46 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 deci-
mated 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 = 0xBB04)
to set the decimation factor to 16. This reduces the update rate
to 51 SPS and the bandwidth to 25 Hz.
Table 46. SMPL_PRD (Base Address = 0x3A), Read/Write
Bits Description (Default = 0x0001)
[15:13] Not used
[12:8] D, decimation rate setting, binomial, see Figure 19
[7:1] Not used
[0] Clock
1 = internal 819.2 SPS
0 = external
INPUT CLOCK CONFIGURATION
SMPL_PRD[0] provides a control for synchronizing the internal
sampling to an external clock source. Set SMPL_PRD[0] = 0
(DIN = 0xBA00) and GPIO_CTRL[3] = 0 (DIN = 0xB600) to
enable the external clock. See Table 2 and Figure 4 for timing
information.
DIGITAL FILTERING
The SENS_AVG register in Table 47 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 19). For example, set SENS_AVG[2:0] = 100 (DIN = 0xBC04)
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
–20
–40
–60
–80
–100
–120
–140
0.001 0.01 0.1 1
MAGNITUDE (dB)
FREQUENCY (
f
/
f
S
)
N = 2
N = 4
N = 16
N = 64
09797-018
Figure 18. Bartlett Window, FIR Filter Frequency Response
(Phase Delay = N Samples)
DYNAMIC RANGE
The SENS_AVG[10:8] bits provide three dynamic range settings
for this gyroscope. The lower dynamic range settings (±75°/sec
and ±150°/sec) limit the minimum filter tap sizes to maintain
resolution. For example, set SENS_AVG[10:8] = 010 (DIN =
0xBD02) for a measurement range of ±150°/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 47. SENS_AVG (Base Address = 0x3C), Read/Write
Bits Description (Default = 0x0402)
[15:11] Not used
[10:8] Measurement range (sensitivity) selection
100 = ±300°/sec (default condition)
010 = ±150°/sec, filter taps ≥ 4 (Bits[2:0] ≥ 0x02)
001 = ±75°/sec, filter taps ≥ 16 (Bits[2:0] ≥ 0x04)
[7:3] Not used
[2:0] Filter Size Variable B
Number of taps in each stage; NB= 2B
See Figure 18 for filter response
MEMS
SENSOR
LOW-PASS
FILTER
330Hz
CLOCK
1024SPS
ADC
BARTLETT WINDOW
FIR FILTER
A
VERAGE/
DECIMATION
FILTER
EXTERNAL CLOCK ENABLED
BY SMPL_PRD[0] = 0
GYROSCOPES
LOW-PASS, TWO-POLE (404Hz, 757Hz)
ACCELEROMETERS
LOW-PASS, SINGLE-POLE (330Hz)
B = SENS_AVG[2:0]
NB= 2B
NB= NUMBER OF TAPS
(PER STAGE)
D = SMPL_PRD[12:8]
ND= 2D
ND= NUMBER OF TAPS
÷ND
x(n)
n= 1
1NB
NBx(n)
n= 1
1NB
NBx(n)
n= 1
1ND
ND
09797-019
Figure 19. Sampling and Frequency Response Block Diagram
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 19 of 24
CALIBRATION
The mechanical structure and assembly process of the ADIS16407
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.
Tabl e 48 provides a list of registers that can help optimize system
performance after installation. Figure 20 illustrates the summing
function for the offset correction register of each sensor.
Table 48. Registers for User Calibration
Register Address Description
XGYRO_OFF 0x1E Gyroscope bias, x-axis
YGYRO_OFF 0x20 Gyroscope bias, y-axis
ZGYRO_OFF 0x22 Gyroscope bias, z-axis
XACCL_OFF 0x24 Accelerometer bias, x-axis
YACCL_OFF 0x26 Accelerometer bias, y-axis
ZACCL_OFF 0x28 Accelerometer bias, z-axis
XMAGN_HIC 0x2A Hard iron correction, x-axis
YMAGN_HIC 0x2C Hard iron correction, y-axis
ZMAGN_HIC 0x2E Hard iron correction, z-axis
XMAGN_SIC 0x30 Soft iron correction, x-axis
YMAGN_SIC 0x32 Soft iron correction, y-axis
ZMAGN_SIC 0x34 Soft iron correction, z-axis
MSC_CTRL 0x38 Miscellaneous calibration
GLOB_CMD 0x42 Automatic calibration
GYROSCOPES
The XGYRO_OUT (Table 49), YGYRO_OUT (Table 50 ), and
ZGYRO_OUT (Table 51 ) registers provide user-programmable
bias adjustment function for the x-, y-, and z-axis gyroscopes,
respectively. Figure 20 illustrates that they contain bias correction
factors that adjust to the sensor data immediately before it loads
into the output register.
XGYRO_OFF
X-AXIS
MEMS
GYRO ADC
FACTORY
CALIBRATION
AND
FILTERING
XGYRO_OUT
09797-020
Figure 20. User Calibration, XGYRO_OFF Example
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 gyro-
scope 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 49. XGYRO_OFF (Base Address = 0x1E), Read/Write
Bits Description (Default = 0x0000)
[15:14] Not used
[13:0] X-axis, gyroscope offset correction factor,
twos complement, 0.0125°/sec per LSB
Table 50. YGYRO_OFF (Base Address = 0x20), Read/Write
Bits Description (Default = 0x0000)
[15:14] Not used
[13:0] Y-axis, gyroscope offset correction factor,
twos complement, 0.0125°/sec per LSB
Table 51. ZGYRO_OFF (Base Address = 0x22), Read/Write
Bits Description (Default = 0x0000)
[15:14] Not used
[13:0] Z-axis, gyroscope offset correction factor,
twos complement, 0.0125°/sec per LSB
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 (Table 4 9), and write the correction factors
to the correction registers. For example, lower the x-axis bias by
10 LSB (0.125°/sec) by setting XGYRO_OFF = 0x1FF6 (DIN =
0x9F1F, 0x9EF6).
Single Command Bias Correction
GLOB_CMD[0] (Table 32) 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], Table 46),
to automatically average the gyroscope data and improve the
accuracy of this function, as follows:
1. Set SENS_AVG[10:8] = 001 (DIN = 0xBD01) to optimize
the xGYRO_OUT sensitivity to 0.0125°/sec/LSB.
2. Set SMPL_PRD[12:8] = 0x10 (DIN = 0xBB10) to set the
decimation rate to 65,536 (216), which provides an averaging
time of 80 seconds (65,536 ÷ 819.2 SPS).
3. Wait for 80 seconds while keeping the device motionless.
4. Set GLOB_CMD[0] = 1 (DIN = 0xC201) and wait for the
time it takes to perform the flash memory backup (~75 ms).
Downloaded from Elcodis.com electronic components distributor

ADIS16407
Rev. 0 | Page 20 of 24
ACCELEROMETERS
The XACCL_OUT (Table 52), YACCL_OUT (Table 53 ), and
ZACCL_OUT (Table 5 4) 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 functions in Figure 20.
Table 52. XACCL_OFF (Base Address = 0x24), Read/Write
Bits Description (Default = 0x0000)
[15:14] Not used
[13:0] X-axis, accelerometer offset correction factor,
twos complement, 0.25 mg/LSB
Table 53. YACCL_OFF (Base Address = 0x26), Read/Write
Bits Description (Default = 0x0000)
[15:14] Not used
[13:0] Y-axis, accelerometer offset correction factor,
twos complement, 0.25 mg/LSB
Table 54. ZACCL_OFF (Base Address = 0x28), Read/Write
Bits Description (Default = 0x0000)
[15:14] Not used
[13:0] Z-axis, accelerometer offset correction factor,
twos complement, 0.25 mg/LSB
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 gand
−1 gaccelerometer measurements together to estimate the
residual bias error. Using more points in the rotation can
improve the accuracy of the response.
Accelerometer Bias Correction Factors
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 (Table 5 2), and write the correction
factors to the correction registers. For example, lower the x-axis
bias by 10 LSB (33.3 mg) by setting XACCL_OFF = 0x1FF6
(DIN = 0xA51F, 0xA4F6).
Point of Percussion Alignment
Set MSC_CTRL[6] = 1 (DIN = 0xB846) 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 21. See Table 39 for more information on MSC_CTRL.
ORIGIN ALIGNMENT REFERENCE POINT
SEE MSC_CTRL[6].
09797-021
Figure 21. Point of Percussion Physical Reference
MAGNETOMETER CALIBRATION
The ADIS16407 provides registers that contribute to both hard
iron and soft iron correction factors, as shown in Figure 22.
ADC
+
XMAGN_OUT
×
MAGNETIC
SENSOR
FACTORY
CALIBRATION
AND FILTERING
XMAGN_SIC
XMAGN_HIC
09797-022
Figure 22. Hard Iron and Soft Iron Factor Correction
Hard Iron Correction
The XMAGN_HIC (Table 55), YMAGN_HIC (Table 56), and
ZMAGN_HIC (Table 57) 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 magneto-
meter response.
Table 55. XMAGN_HIC (Base Address = 0x2A), Read/Write
Bits Description (Default = 0x0800)
[15:14] Not used
[13:0] X-axis hard iron correction factor,
twos complement, 0.5 mgauss/LSB
Table 56. YMAGN_HIC (Base Address = 0x2C), Read/Write
Bits Description (Default = 0x0800)
[15:14] Not used
[13:0] Y-axis hard iron correction factor,
twos complement, 0.5 mgauss/LSB
Table 57. ZMAGN_HIC (Base Address = 0x2E), Read/Write
Bits Description (Default = 0x0800)
[15:14] Not used
[13:0] Z-axis hard iron correction factor,
twos complement, 0.5 mgauss/LSB
Downloaded from Elcodis.com electronic components distributor
Table of contents