Tactical Grade
Ten Degrees of Freedom Inertial Sensor
Data Sheet
ADIS16488
Rev. B
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 ©20112012 Analog Devices, Inc. All rights reserved.
FEATURES
Triaxial, digital gyroscope, ±450°/sec dynamic range
0.05° orthogonal alignment
6°/hr in-run bias stability
0.3°/√hr angular random walk
0.01% nonlinearity
Triaxial, digital accelerometer, ±18 g
Triaxial, delta angle and delta velocity outputs
Triaxial, digital magnetometer, ±2.5 gauss
Digital pressure sensor, 300 mbar to 1100 mbar
Fast start-up time, ~500 ms
Factory-calibrated sensitivity, bias, and axial alignment
Calibration temperature range: −40°C to +70°C
SPI-compatible serial interface
Embedded temperature sensor
Programmable operation and control
Automatic and manual bias correction controls
4 FIR filter banks, 120 configurable taps
Digital I/O: data-ready alarm indicator, external clock
Alarms for condition monitoring
Power-down/sleep mode for power management
Optional external sample clock input: up to 2.4 kHz
Single-command self-test
Single-supply operation: 3.0 V to 3.6 V
2000 g shock survivability
Operating temperature range: −40°C to +85°C
APPLICATIONS
Platform stabilization and control
Navigation
Personnel tracking
Instrument
Robotics
GENERAL DESCRIPTION
The ADIS16488 iSensor® device is a complete inertial system
that includes a triaxis gyroscope, a triaxis accelerometer, triaxis
magnetometer, and pressure sensor. Each inertial sensor in the
ADIS16488 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 ADIS16488 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 ADIS16488 uses the same footprint and connector system as
the ADIS16375, which greatly simplifies the upgrade process. It
comes in a module that is approximately 47 mm × 44 mm ×
14 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
VDDRTC
RST
SPI
TRIAXIAL
MAGN
PRESSURE
SELF-TEST I/O ALARMS
OUTPUT
DATA
REGISTERS
USER
CONTROL
REGISTERS
CALIBRATION
AND
FILTERS
ADIS16488
10277-001
Figure 1.
ADIS16488 Data Sheet
Rev. B | Page 2 of 36
TABLE OF CONTENTS
Features .............................................................................................. 1
Applications ....................................................................................... 1
General Description ......................................................................... 1
Functional Block Diagram .............................................................. 1
Revision History ............................................................................... 2
Specifications ..................................................................................... 3
Timing Specifications .................................................................. 5
Absolute Maximum Ratings ............................................................ 6
ESD Caution .................................................................................. 6
Pin Configuration and Function Descriptions ............................. 7
Typical Performance Characteristics ............................................. 8
Basic Operation ................................................................................. 9
Register Structure ......................................................................... 9
SPI Communication ................................................................... 10
Device Configuration ................................................................ 10
Reading Sensor Data .................................................................. 10
User Registers .................................................................................. 11
Output Data Registers .................................................................... 14
Inertial Sensor Data Format ...................................................... 14
Rotation Rate (Gyroscope) ........................................................ 14
Acceleration ................................................................................. 15
Delta Angles ................................................................................ 15
Delta Velocity .............................................................................. 16
Magnetometers ........................................................................... 17
Barometer .................................................................................... 17
Internal Temperature ................................................................. 17
Status/Alarm Indicators ............................................................. 18
Firmware Revision ..................................................................... 19
Product Identification ................................................................ 19
Digital Signal Processing ............................................................... 20
Gyroscopes/Accelerometers ..................................................... 20
Averaging/Decimation Filter .................................................... 20
Magnetometer/Barometer ......................................................... 20
FIR Filter Banks .......................................................................... 21
Calibration ....................................................................................... 23
Gyroscopes .................................................................................. 23
Accelerometers ........................................................................... 24
Magnetometers ........................................................................... 24
Barometers .................................................................................. 26
Restoring Factory Calibration .................................................. 26
Point of Percussion Alignment ................................................. 26
Alarms .............................................................................................. 27
Static Alarm Use ......................................................................... 27
Dynamic Alarm Use .................................................................. 27
System Controls .............................................................................. 29
Global Commands ..................................................................... 29
Memory Management ............................................................... 29
General-Purpose I/O ................................................................. 29
Power Management ................................................................... 30
Applications Information .............................................................. 32
Prototype Interface Board ......................................................... 32
Installation Tips .......................................................................... 32
Outline Dimensions ....................................................................... 33
Ordering Guide .......................................................................... 33
REVISION HISTORY
2/12—Rev. A to Rev. B
Change to Features Section ............................................................. 1
Changes to Table 3 ............................................................................ 6
Changes to Figure 7 and Figure 8 ................................................... 8
Changes to Delta Angles Section .................................................. 15
Changes to Delta Velocity Section, Table 31, Table 32, Table 33,
and Table 34 ..................................................................................... 16
Change to Status/Alarm Indicators Section ................................ 18
Changes to Gyroscopes/Accelerometers Section,
Averaging/Decimation Filter Section, Magnetometer/Barometer
Section, and Figure 20 .................................................................... 20
Changes to Input Sync/Clock Control Section ........................... 30
Changes to Prototype Interface Board Section and
Figure 26 .......................................................................................... 30
12/11—Rev. 0 to Rev. A
Changes to Specifications Section ................................................... 3
Changes to System/Alarm Indicators Section ............................ 18
Changes to Averaging/Decimation Filter Section ...................... 20
Changes to General-Purpose I/O Section ................................... 29
Changes to Input Sync/Clock Control Section........................... 30
10/11—Revision 0: Initial Version
Data Sheet ADIS16488
Rev. B | Page 3 of 36
SPECIFICATIONS
TA = 25°C, VDD = 3.3 V, angular rate = 0°/sec, dynamic range = ±450°/sec ± 1 g, 300 mbar to 1100 mbar, unless otherwise noted.
Table 1.
Parameter Test Conditions/Comments Min Typ Max Unit
GYROSCOPES
Dynamic Range ±450 ±480 °/sec
Sensitivity x_GYRO_OUT and x_GYRO_LOW (32-bit) 3.052 × 10−7 °/sec/LSB
Initial Sensitivity Tolerance ±1 %
Sensitivity Temperature Coefficient −40°C ≤ TA ≤ +70°C, 1 σ ±35 ppm/°C
Misalignment Axis-to-axis ±0.05 Degrees
Axis-to-frame (package)
Degrees
Nonlinearity Best-fit straight line, FS = 450°/sec 0.01 % of FS
Initial Bias Error 1 σ ±0.2 °/sec
In-Run Bias Stability 1 σ 6.25 °/hr
Angular Random Walk 1 σ 0.3 °/√hr
Bias Temperature Coefficient −40°C ≤ TA ≤ +70°C, 1 σ ±0.0025 °/sec/°C
Linear Acceleration Effect on Bias
Any axis, 1 σ (CONFIG[7] = 1)
°/sec/
g
Output Noise No filtering 0.16 °/sec rms
Rate Noise Density f = 25 Hz, no filtering 0.0066 °/sec/√Hz rms
3 dB Bandwidth 330 Hz
Sensor Resonant Frequency 18 kHz
ACCELEROMETERS Each axis
Dynamic Range ±18 g
Sensitivity x_ACCL_OUT and x_ACCL_LOW (32-bit) 1.221 × 10−8 g/LSB
Initial Sensitivity Tolerance
±0.5
%
Sensitivity Temperature Coefficient −40°C ≤ TA ≤ +85°C, 1 σ ±25 ppm/°C
Misalignment Axis-to-axis ±0.035 Degrees
Axis-to-frame (package) ±1.0 Degrees
Nonlinearity Best-fit straight line, ±10 g 0.1 % of FS
Best-fit straight line, ±18 g 0.5 % of FS
Initial Bias Error
1 σ
m
g
In-Run Bias Stability 1 σ 0.1 mg
Velocity Random Walk 1 σ 0.029 m/sec/√hr
Bias Temperature Coefficient −40°C ≤ TA ≤ +85°C ±0.1 mg/°C
Output Noise No filtering 1.5 mg rms
Noise Density f = 25 Hz, no filtering 0.067 mg/√Hz rms
3 dB Bandwidth 330 Hz
Sensor Resonant Frequency 5.5 kHz
MAGNETOMETER
Dynamic Range ±2.5 gauss
Sensitivity 0.1 mgauss/LSB
Initial Sensitivity Tolerance ±2 %
Sensitivity Temperature Coefficient 1 σ 275 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 0 gauss stimulus ±15 mgauss
Bias Temperature Coefficient −40°C ≤ TA ≤ +85°C, 1 σ 0.3 mgauss/°C
Output Noise No filtering 0.45 mgauss
Noise Density f = 25 Hz, no filtering 0.054 mgauss/√Hz
3 dB Bandwidth 330 Hz
ADIS16488 Data Sheet
Rev. B | Page 4 of 36
Parameter Test Conditions/Comments Min Typ Max Unit
BAROMETER
Pressure Range 300 1100 mbar
Extended 10 1200 mbar
Sensitivity BAROM_OUT and BAROM_LOW (32-bit) 6.1 × 10−7 mbar/LSB
Error with Supply
%/V
Total Error 4.5 mbar
Relative Error1 −40°C to +85°C 2.5 mbar
Linearity2 Best fit straight line, FS = 1100 mbar 0.1 % of FS
−40°C to +85°C 0.2 % of FS
Linear-g Sensitivity ±1 g, 1 σ 0.005 mbar/g
Noise
mbar rms
TEMPERATURE SENSOR
Scale Factor Output = 0x0000 at 25°C (±5°C) 0.00565 °C/LSB
LOGIC INPUTS3
Input High Voltage, VIH 2.0 V
Input Low Voltage, VIL 0.8 V
CS Wake-Up Pulse Width 20 µs
Logic 1 Input Current, IIH VIH = 3.3 V 10 µA
Logic 0 Input Current, IIL VIL = 0 V
All Pins Except RST 10 µA
RST Pin 0.33 mA
Input Capacitance, C
IN
pF
DIGITAL OUTPUTS
Output High Voltage, VOH ISOURCE = 0.5 mA 2.4 V
Output Low Voltage, V
OL
I
SINK
= 2.0 mA
0.4
V
FLASH MEMORY Endurance4 100,000 Cycles
Data Retention5 TJ = 85°C 20 Years
FUNCTIONAL TIMES6 Time until data is available
Power-On Start-up Time 500 ms
Reset Recovery Time 500 ms
Sleep Mode Recovery Time 500 µs
Flash Memory Update Time 375 ms
Flash Memory Test Time 50 ms
Automatic Self-Test Time Using internal clock, 100 SPS 12 ms
CONVERSION RATE 2.46 kSPS
Initial Clock Accuracy 0.02 %
Temperature Coefficient 40 ppm/°C
Sync Input Clock 0.77 2.4 kHz
POWER SUPPLY, VDD Operating voltage range 3.0 3.6 V
Power Supply Current8 Normal mode, VDD = 3.3 V, µ ± σ 254 mA
Sleep mode, VDD = 3.3 V 12.2 mA
Power-down mode, VDD = 3.3 V
µA
POWER SUPPLY, VDDRTC Operating voltage range 3.0 3.6 V
Real-Time Clock Supply Current Normal mode, VDDRTC = 3.3 V 13 µA
1 The relative error assumes that the initial error, at 25°C, is corrected in the end application.
2 Linearity errors assume a full scale (FS) of 1000 mbar.
3 The digital I/O signals are driven by an internal 3.3 V supply, and the inputs are 5 V tolerant.
4 Endurance is qualified as per JEDEC Standard 22, Method A117, and measured at −40°C, +25°C, +85°C, and +125°C.
5 The data retention specification assumes a junction temperature (TJ) of 8C as per JEDEC Standard 22, Method A117. Data retention lifetime decreases with TJ.
6 These times do not include thermal settling and internal filter response times, which may affect overall accuracy.
7 Device functions at clock rates below 0.7 kHz, but at reduced performance levels.
8 Supply current transients can reach 450 mA for 400 µs during start-up and reset recovery.
Data Sheet ADIS16488
Rev. B | Page 5 of 36
TIMING SPECIFICATIONS
TA = 25°C, VDD = 3.3 V, unless otherwise noted.
Table 2.
Normal Mode
Parameter Description Min1 Typ Max1 Unit
fSCLK Serial clock 0.01 15 MHz
tSTALL Stall period between data 2 µs
tCLS Serial clock low period 31 ns
t
CHS
Serial clock high period
31
ns
tCS Chip select to clock edge 32 ns
tDAV DOUT valid after SCLK edge 10 ns
t
DSU
DIN setup time before SCLK rising edge
2
ns
tDHD DIN hold time after SCLK rising edge 2 ns
tDR, tDF DOUT rise/fall times, ≤100 pF loading 3 8 ns
tDSOE CS assertion to data out active 0 11 ns
tHD SCLK edge to data out invalid 0 ns
tDSHI CS deassertion to data out high impedance 0 9 ns
t1 Input sync pulse width 5 µs
t2 Input sync to data-ready output 490 µs
t3 Input sync period 417 µs
1 Guaranteed by design and characterization, but not tested in production.
Timing Diagrams
CS
SCLK
DOUT
DIN
1 2 3 4 5 6 15 16
R/W A5A6 A4 A3 A2 D2
MSB DB14
D1 LSB
DB13 DB12 DB10DB11 DB2 LSBDB1
t
CS
t
DSHI
t
DAV
t
HD
t
CHS
t
CLS
t
DSOE
t
DHD
t
DSU
10277-002
Figure 2. SPI Timing and Sequence
CS
SCLK
t
STALL
10277-003
Figure 3. Stall Time and Data Rate
t
3
t
2
t
1
SYNC
CLOCK (CL KIN)
DATA
READY
OUTPUT
REGISTERS
10277-004
DATA V ALID DATA V ALID
Figure 4. Input Clock Timing Diagram
ADIS16488 Data Sheet
Rev. B | Page 6 of 36
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 +3.6 V
Digital Input Voltage to GND −0.3 V to VDD + 0.2 V
Digital Output Voltage to GND −0.3 V to VDD + 0.2 V
Operating Temperature Range −40°C to +85°C
Storage Temperature Range
−65°C to +150°C
1
Barometric Pressure 6 bar
1 Extended exposure to temperatures that are lower than 40°C or higher
than +105°C can adversely affect the accuracy of the factory calibration.
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-6)
22.8°C/W
10.1°C/W
48 g
ESD CAUTION
Data Sheet ADIS16488
Rev. B | Page 7 of 36
PIN CONFIGURATION AND FUNCTION DESCRIPTIONS
1
DIO3
SCLK
DIN
DIO1
DIO2
VDD
GND
GND
DNC
DNC
DNC
VDDRTC
DIO4
DOUT
CS
RST
VDD
VDD
GND
DNC
DNC
DNC
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
ADIS16488
TOP VIEW
(No t t o Scal e)
NOTES
1. THIS REPRESENTATION DISPLAYS THE TOP VIEW PINOUT
FOR THE MATING S OCKET CONNE CTOR.
2. THE ACTUAL CONNECTOR PINS ARE NOT VISIBLE FROM
THE TOP VIEW.
3. MATING CONNECTOR: SAMTEC CLM-112-02 OR E QUI VALENT.
4. DNC = DO NO T CO NNE CT TO THESE PINS.
10277-005
Figure 5. Mating Connector Pin Assignments
10277-006
PI N 1
PI N 23
Figure 6. Axial Orientation (Top Side Facing Up)
Table 5. Pin Function Descriptions
Pin No. Mnemonic Type Description
1 DIO3 Input/output Configurable Digital Input/Output.
2
DIO4
Input/output
Configurable Digital Input/Output.
3 SCLK Input SPI Serial Clock.
4 DOUT Output SPI Data Output. Clocks output on SCLK falling edge.
5 DIN Input SPI Data Input. Clocks input on SCLK rising edge.
6 CS Input SPI Chip Select.
7 DIO1 Input/output Configurable Digital Input/Output.
8 RST Input Reset.
9 DIO2 Input/output Configurable Digital Input/Output.
10, 11, 12 VDD Supply Power Supply.
13, 14, 15 GND Supply Power Ground.
16 to 22, 24 DNC Not applicable Do Not Connect to These Pins.
23 VDDRTC Supply Real-Time Clock Power Supply.
ADIS16488 Data Sheet
Rev. B | Page 8 of 36
TYPICAL PERFORMANCE CHARACTERISTICS
1000
1
10
100
0.01 0.1 110 100 1000 10000
ROOT ALL AN V ARIANCE ( °/ Hou r)
INTEGRATION PERIOD (Seconds)
10277-007
+1σ
–1σ
AVERAGE
Figure 7. Gyroscope Allan Variance, 25°C
0.001
0.00001
0.0001
0.01 0.1 110 100 1000 10000
ROOT ALL AN V ARIANCE (g)
INTEGRATION PERIOD (Seconds)
10277-008
+1σ
–1σ
AVERAGE
Figure 8. Accelerometer Allan Variance, 25°C
0.8
–0.8
–0.6
–0.4
–0.2
0
0.2
0.4
0.6
–40 –30 –20 –10 010 20 30 40 50 60 70 80
GY RO SCAL E E RROR (% FS)
TEMPERATURE (°C)
10277-109
INITIAL E RROR = ±0.5%
TEMPCO = 35ppm/°C
Figure 9. Gyroscope Scale (Sensitivity) Error and Hysteresis vs. Temperature
0.6
–0.6
–0.5
–0.4
–0.3
–0.2
–0.1
0
0.1
0.2
0.3
0.4
0.5
–40 –30 –20 –10 010 20 30 40 50 60 70 80
GY RO BIAS E RROR (°/ sec)
TEMPERATURE (°C)
10277-110
INITIAL E RROR = ±0. /sec
TE M P CO = 0. 0025°/ sec/° C
Figure 10. Gyroscope Bias Error and Hysteresis vs. Temperature
Data Sheet ADIS16488
Rev. B | Page 9 of 36
BASIC OPERATION
The ADIS16488 is an autonomous sensor system that starts up
on its own when it has a valid power supply. After running through
its initialization process, it begins sampling, processing, and
loading calibrated sensor data into the output registers, which
are accessible using the SPI port. The SPI port typically connects to
a compatible port on an embedded processor, using the connection
diagram in Figure 11. The four SPI signals facilitate synchronous,
serial data communication. Connect RST (see Table 5) to VDD
or leave it open for normal operation. The factory default
configuration provides users with a data-ready signal on the
DIO2 pin, which pulses high when new data is available in the
output data registers.
SYSTEM
PROCESSOR
SPI MASTER SCLK
CS
DIN
DOUT
SCLK
SS
MOSI
MISO
+3.3V
IRQ DIO2
VDD
I/O L INES ARE COMPATIBLE WITH
3.3V LOGIC L EVEL S
10
6
3
5
4
9
11 12 23
13 14 15
ADIS16488
10277-009
Figure 11. Electrical Connection Diagram
Table 6. Generic Master Processor Pin Names and Functions
Mnemonic Function
SS Slave select
IRQ Interrupt request
MOSI Master output, slave input
MISO Master input, slave output
SCLK Serial clock
Embedded processors typically use control registers to configure
their serial ports for communicating with SPI slave devices
such as the ADIS16488. Table 7 provides a list of settings, which
describe the SPI protocol of the ADIS16488. The initialization
routine of the master processor typically establishes these settings
using firmware commands to write them into its serial control
registers.
Table 7. Generic Master Processor SPI Settings
Processor Setting Description
Master The ADIS16488 operates as a slave.
SCLK ≤ 15 MHz Maximum serial clock rate.
SPI Mode 3 CPOL = 1 (polarity), and CPHA = 1 (phase).
MSB-First Mode Bit sequence.
16-Bit Mode Shift register/data length.
REGISTER STRUCTURE
The register structure and SPI port provide a bridge between
the sensor processing system and an external, master processor.
It contains both output data and control registers. The output
data registers include the latest sensor data, a real-time clock, error
flags, alarm flags, and identification data. The control registers
include sample rate, filtering, input/output, alarms, calibration,
and diagnostic configuration options. All communication
between the ADIS16488 and an external processor involves
either reading or writing to one of the user registers.
DSP OUTPUT
REGISTERS
CONTROL
REGISTERS
TRIAXIS
GYRO
TRIAXIS
MAGN
BARO
TEMP
SENSOR
CONTROLLER
TRIAXIS
ACCEL
SPI
10277-010
Figure 12. Basic Operation
The register structure uses a paged addressing scheme that is
composed of 13 pages, with each one containing 64 register
locations. Each register is 16 bits wide, with each byte having its
own unique address within that pages memory map. The SPI
port has access to one page at a time, using the bit sequence in
Figure 17. Select the page to activate for SPI access by writing its
code to the PAGE_ID register. Read the PAGE_ID register to
determine which page is currently active. Table 8 displays the
PAGE_ID contents for each page, along with their basic functions.
The PAGE_ID register is located at Address 0x00 on every page.
Table 8. User Register Page Assignments
Page PAGE_ID Function
0 0x00 Output data, clock, identification
1 0x01 Reserved
2 0x02 Calibration
3 0x03 Control: sample rate, filtering, I/O, alarms
4 0x04 Serial number
5 0x05 FIR Filter Bank A Coefficient 0 to Coefficient 59
6 0x06 FIR Filter Bank A, Coefficient 60 to Coefficient 119
7 0x07 FIR Filter Bank B, Coefficient 0 to Coefficient 59
8 0x08 FIR Filter Bank B, Coefficient 60 to Coefficient 119
9 0x09 FIR Filter Bank C, Coefficient 0 to Coefficient 59
10 0x0A FIR Filter Bank C, Coefficient 60 to Coefficient 119
11 0x0B FIR Filter Bank D, Coefficient 0 to Coefficient 59
12 0x0C FIR Filter Bank D, Coefficient 60 to Coefficient 119
ADIS16488 Data Sheet
Rev. B | Page 10 of 36
SPI COMMUNICATION
The SPI port supports full duplex communication, as shown in
Figure 17, which enables external processors to write to DIN
while reading DOUT, if the previous command was a read
request. Figure 17 provides a guideline for the bit coding on
both DIN and DOUT.
DEVICE CONFIGURATION
The SPI provides write access to the control registers, one byte at
a time, using the bit assignments shown in Figure 17. Each register
has 16 bits, where Bits[7:0] represent the lower address (listed in
Table 9) and Bits[15:8] represent the upper address. Write to the
lower byte of a register first, followed by a write to its upper byte
second. The only register that changes with a single write to its
lower byte is the PAGE_ID register. For a write command, the
first bit in the DIN sequence is set to 1. Address Bits[A6:A0]
represent the target address, and Data Command Bits[DC7:DC0]
represent the data being written to the location. Figure 13
provides an example of writing 0x03 to Address 0x00 (PAGE_ID
[7:0]), using DIN = 0x8003. This write command activates the
control page for SPI access.
10277-011
SCLK
CS
DIN
DIN = 1000 0000 0000 0011 = 0x8003, W RIT E S 0x03 TO ADDRE S S 0x00
Figure 13. SPI Sequence for Activating the Control Page (DIN = 0x8003)
Dual Memory Structure
Writing configuration data to a control register updates its SRAM
contents, which are volatile. After optimizing each relevant control
register setting in a system, use the manual flash update command,
which is located in GLOB_CMD[3] on Page 3 of the register map.
Activate the manual flash update command by turning to Page 3
(DIN = 0x8003) and setting GLOB_CMD[3] = 1 (DIN = 0x8208,
then DIN = 0x8300). Make sure that the power supply is within
specification for the entire 375 ms processing time for a flash
memory update. Table 9 provides a memory map for all of
the user registers, which includes a column of flash backup
information. A yes in this column indicates that a register
has a mirror location in flash and, when backed up properly,
automatically restores itself during startup or after a reset.
Figure 14 provides a diagram of the dual memory structure
used to manage operation and store critical user settings.
NONVOLATILE
FLASH MEMORY
(NO SPI ACCESS)
MANUAL
FLASH
BACKUP
START-UP
RESET
VOLATILE
SRAM
SPI ACCESS
10277-012
Figure 14. SRAM and Flash Memory Diagram
READING SENSOR DATA
The ADIS16488 automatically starts up and activates Page 0 for
data register access. Write 0x00 to the PAGE_ID register (DIN =
0x8000) to activate Page 0 for data access after accessing any other
page. A single register read requires two 16-bit SPI cycles. The
first cycle requests the contents of a register using the bit assignments
in Figure 17, and then the register contents follow DOUT during
the second sequence. The first bit in a DIN command is zero,
followed by either the upper or lower address for the register.
The last eight bits are don’t care, but the SPI requires the full set
of 16 SCLKs to receive the request. Figure 15 includes two register
reads in succession, which starts with DIN = 0x1A00 to request
the contents of the Z_GYRO_OUT register and follows with
0x1800 to request the contents of the Z_GYRO_LOW register.
DIN
DOUT
0x1A00 0x1800 NEXT
ADDRESS
Z_GYRO_OUT Z_GYRO_LOW
10277-013
Figure 15. SPI Read Example
Figure 16 provides an example of the four SPI signals when reading
PROD_ID in a repeating pattern. This is a good pattern to use
for troubleshooting the SPI interface setup and communications
because the contents of PROD_ID are predefined and stable.
SCLK
CS
DIN
DOUT
DOUT = 0100 0000 0110 1000 = 0x4068 = 16,488 (P ROD_I D)
DIN = 0111 1110 0000 0000 = 0x7E 00
10277-014
Figure 16. SPI Read Example, Second 16-Bit Sequence
10277-015
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. DOUT BITS ARE P RODUCED ONL Y WHEN T HE P RE V IO US 16- BIT DIN SE QUENCE S TARTS WI TH R/ W = 0.
2. WHEN CS IS HIGH, DOUT IS IN A THREE-STATE, HIGH IMPEDANCE MODE, WHICH ALLOWS MULTIFUNCTIONAL USE OF THE LINE
FOR OTHER DE V ICES .
Figure 17. SPI Communication Bit Sequence
Data Sheet ADIS16488
Rev. B | Page 11 of 36
USER REGISTERS
Table 9. User Register Memory Map (N/A = Not Applicable)
Name
R/W
Flash
PAGE_ID
Address
Default
Register Description
Format
PAGE_ID R/W No 0x00 0x00 0x00 Page identifier N/A
Reserved
N/A
N/A
0x00
0x02 to 0x04
N/A
Reserved
N/A
SEQ_CNT R No 0x00 0x06 N/A Sequence counter Table 56
SYS_E_FLAG R No 0x00 0x08 0x0000 Output, system error flags Table 47
DIAG_STS R No 0x00 0x0A 0x0000 Output, self-test error flags Table 48
ALM_STS R No 0x00 0x0C 0x0000 Output, alarm error flags Table 49
TEMP_OUT R No 0x00 0x0E N/A Output, temperature Table 45
X_GYRO_LOW
R
No
0x00
0x10
N/A
Output, x-axis gyroscope, low word
Table 14
X_GYRO_OUT R No 0x00 0x12 N/A Output, x-axis gyroscope, high word Table 10
Y_GYRO_LOW R No 0x00 0x14 N/A Output, y-axis gyroscope, low word Table 15
Y_GYRO_OUT R No 0x00 0x16 N/A Output, y-axis gyroscope, high word Table 11
Z_GYRO_LOW R No 0x00 0x18 N/A Output, z-axis gyroscope, low word Table 16
Z_GYRO_OUT R No 0x00 0x1A N/A Output, z-axis gyroscope, high word Table 12
X_ACCL_LOW
R
No
0x00
0x1C
N/A
Output, x-axis accelerometer, low word
Table 21
X_ACCL_OUT R No 0x00 0x1E N/A Output, x-axis accelerometer, high word Table 17
Y_ACCL_LOW R No 0x00 0x20 N/A Output, y-axis accelerometer, low word Table 22
Y_ACCL_OUT R No 0x00 0x22 N/A Output, y-axis accelerometer, high word Table 18
Z_ACCL_LOW R No 0x00 0x24 N/A Output, z-axis accelerometer, low word Table 23
Z_ACCL_OUT
R
No
0x00
0x26
N/A
Output, z-axis accelerometer, high word
Table 19
X_MAGN_OUT R No 0x00 0x28 N/A Output, x-axis magnetometer, high word Table 38
Y_MAGN_OUT R No 0x00 0x2A N/A Output, y-axis magnetometer, high word Table 39
Z_MAGN_OUT R No 0x00 0x2C N/A Output, z-axis magnetometer, high word Table 40
BAROM_LOW R No 0x00 0x2E N/A Output, barometer, low word Table 44
BAROM_OUT R No 0x00 0x30 N/A Output, barometer, high word Table 42
Reserved
N/A
N/A
0x00
0x32 to 0x3E
N/A
Reserved
N/A
X_DELTANG_LOW R No 0x00 0x40 N/A Output, x-axis delta angle, low word Table 28
X_DELTANG_OUT R No 0x00 0x42 N/A Output, x-axis delta angle, high word Table 24
Y_DELTANG_LOW R No 0x00 0x44 N/A Output, y-axis delta angle, low word Table 29
Y_DELTANG_OUT R No 0x00 0x46 N/A Output, y-axis delta angle, high word Table 25
Z_DELTANG_LOW R No 0x00 0x48 N/A Output, z-axis delta angle, low word Table 30
Z_DELTANG_OUT R No 0x00 0x4A N/A Output, z-axis delta angle, high word Table 26
X_DELTVEL_LOW R No 0x00 0x4C N/A Output, x-axis delta velocity, low word Table 35
X_DELTVEL_OUT R No 0x00 0x4E N/A Output, x-axis delta velocity, high word Table 31
Y_DELTVEL_LOW R No 0x00 0x50 N/A Output, y-axis delta velocity, low word Table 36
Y_DELTVEL_OUT R No 0x00 0x52 N/A Output, y-axis delta velocity, high word Table 32
Z_DELTVEL_LOW
R
No
0x00
0x54
N/A
Output, z-axis delta velocity, low word
Table 37
Z_DELTVEL_OUT R No 0x00 0x56 N/A Output, z-axis delta velocity, high word Table 33
Reserved N/A N/A 0x00 0x58 to 0x76 N/A Reserved N/A
TIME_MS_OUT R Yes 0x00 0x78 N/A Factory configuration time: minutes/seconds Table 124
TIME_DH_OUT R Yes 0x00 0x7A N/A Factory configuration date/time: day/hour Table 125
TIME_YM_OUT R Yes 0x00 0x7C N/A Factory configuration date: year/month Table 126
PROD_ID R Yes 0x00 0x7E 0x4068 Output, product identification (16,488) Table 53
Reserved N/A N/A 0x01 0x00 to 0x7E N/A Reserved N/A
PAGE_ID R/W No 0x02 0x00 0x00 Page identifier N/A
Reserved N/A N/A 0x02 0x02 N/A Reserved N/A
X_GYRO_SCALE R/W Yes 0x02 0x04 0x0000 Calibration, scale, x-axis gyroscope Table 71
Y_GYRO_SCALE
R/W
Yes
0x02
0x06
0x0000
Calibration, scale, y-axis gyroscope
Table 72
Z_GYRO_SCALE R/W Yes 0x02 0x08 0x0000 Calibration, scale, z-axis gyroscope Table 73
X_ACCL_SCALE R/W Yes 0x02 0x0A 0x0000 Calibration, scale, x-axis accelerometer Table 81
Y_ACCL_SCALE R/W Yes 0x02 0x0C 0x0000 Calibration, scale, y-axis accelerometer Table 82
Z_ACCL_SCALE R/W Yes 0x02 0x0E 0x0000 Calibration, scale, z-axis accelerometer Table 83
ADIS16488 Data Sheet
Rev. B | Page 12 of 36
Name
R/W
Flash
PAGE_ID
Address
Default
Register Description
Format
XG_BIAS_LOW R/W Yes 0x02 0x10 0x0000 Calibration, offset, gyroscope, x-axis, low word Table 67
XG_BIAS_HIGH R/W Yes 0x02 0x12 0x0000 Calibration, offset, gyroscope, x-axis, high word Table 64
YG_BIAS_LOW R/W Yes 0x02 0x14 0x0000 Calibration, offset, gyroscope, y-axis, low word Table 68
YG_BIAS_HIGH R/W Yes 0x02 0x16 0x0000 Calibration, offset, gyroscope, y-axis, high word Table 65
ZG_BIAS_LOW R/W Yes 0x02 0x18 0x0000 Calibration, offset, gyroscope, z-axis, low word Table 69
ZG_BIAS_HIGH R/W Yes 0x02 0x1A 0x0000 Calibration, offset, gyroscope, z-axis, high word Table 66
XA_BIAS_LOW R/W Yes 0x02 0x1C 0x0000 Calibration, offset, accelerometer, x-axis, low word Table 78
XA_BIAS_HIGH R/W Yes 0x02 0x1E 0x0000 Calibration, offset, accelerometer, x-axis, high word Table 75
YA_BIAS_LOW R/W Yes 0x02 0x20 0x0000 Calibration, offset, accelerometer, y-axis, low word Table 79
YA_BIAS_HIGH R/W Yes 0x02 0x22 0x0000 Calibration, offset, accelerometer, y-axis, high word Table 76
ZA_BIAS_LOW
R/W
Yes
0x02
0x24
0x0000
Calibration, offset, accelerometer, z-axis, low word
Table 80
ZA_BIAS_HIGH R/W Yes 0x02 0x26 0x0000 Calibration, offset, accelerometer, z-axis, high word Table 77
HARD_IRON_X R/W Yes 0x02 0x28 0x0000 Calibration, hard iron, magnetometer, x-axis Table 84
HARD_IRON_Y R/W Yes 0x02 0x2A 0x0000 Calibration, hard iron, magnetometer, y-axis Table 85
HARD_IRON_Z R/W Yes 0x02 0x2C 0x0000 Calibration, hard iron, magnetometer, z-axis Table 86
SOFT_IRON_S11 R/W Yes 0x02 0x2E 0x0000 Calibration, soft iron, magnetometer, S11 Table 88
SOFT_IRON_S12 R/W Yes 0x02 0x30 0x0000 Calibration, soft iron, magnetometer, S12 Table 89
SOFT_IRON_S13 R/W Yes 0x02 0x32 0x0000 Calibration, soft iron, magnetometer, S13 Table 90
SOFT_IRON_S21 R/W Yes 0x02 0x34 0x0000 Calibration, soft iron, magnetometer, S21 Table 91
SOFT_IRON_S22 R/W Yes 0x02 0x36 0x0000 Calibration, soft iron, magnetometer, S22 Table 92
SOFT_IRON_S23 R/W Yes 0x02 0x38 0x0000 Calibration, soft iron, magnetometer, S23 Table 93
SOFT_IRON_S31
R/W
Yes
0x02
0x3A
0x0000
Calibration, soft iron, magnetometer, S31
Table 94
SOFT_IRON_S32 R/W Yes 0x02 0x3C 0x0000 Calibration, soft iron, magnetometer, S32 Table 95
SOFT_IRON_S33 R/W Yes 0x02 0x3E 0x0000 Calibration, soft iron, magnetometer, S33 Table 96
BR_BIAS_LOW R/W Yes 0x02 0x40 0x0000 Calibration, offset, barometer, low word Table 99
BR_BIAS_HIGH R/W Yes 0x02 0x42 0x0000 Calibration, offset, barometer, high word Table 98
Reserved N/A N/A 0x02 0x44 to 0x72 N/A Reserved N/A
USER_SCR_1
R/W
Yes
0x02
0x74
0x0000
User Scratch Register 1
Table 120
USER_SCR_2 R/W Yes 0x02 0x76 0x0000 User Scratch Register 2 Table 121
USER_SCR_3 R/W Yes 0x02 0x78 0x0000 User Scratch Register 3 Table 122
USER_SCR_4 R/W Yes 0x02 0x7A 0x0000 User Scratch Register 4 Table 123
FLSHCNT_LOW R Yes 0x02 0x7C N/A Diagnostic, flash memory count, low word Table 115
FLSHCNT_HIGH R Yes 0x02 0x7E N/A Diagnostic, flash memory count, high word Table 116
PAGE_ID R/W No 0x03 0x00 0x0000 Page identifier N/A
GLOB_CMD W No 0x03 0x02 N/A Control, global commands Table 114
Reserved N/A N/A 0x03 0x04 N/A Reserved N/A
FNCTIO_CTRL R/W Yes 0x03 0x06 0x000D Control, I/O pins, functional definitions Table 117
GPIO_CTRL R/W Yes 0x03 0x08 0x00X01 Control, I/O pins, general purpose Table 118
CONFIG
R/W
Yes
0x03
0x0A
0x00C0
Control, clock, and miscellaneous correction
Table 74
DEC_RATE R/W Yes 0x03 0x0C 0x0000 Control, output sample rate decimation Table 55
NULL_CNFG R/W Yes 0x03 0x0E 0x070A Control, automatic bias correction configuration Table 70
SLP_CNT R/W No 0x03 0x10 N/A Control, power-down/sleep mode Table 119
Reserved N/A N/A 0x03 0x12 to 0x14 N/A Reserved N/A
FILTR_BNK_0 R/W Yes 0x03 0x16 0x0000 Filter selection Table 57
FILTR_BNK_1 R/W Yes 0x03 0x18 0x0000 Filter selection Table 58
Reserved N/A N/A 0x03 0x1A to 0x1E N/A Reserved N/A
ALM_CNFG_0 R/W Yes 0x03 0x20 0x0000 Alarm configuration Table 110
ALM_CNFG_1 R/W Yes 0x03 0x22 0x0000 Alarm configuration Table 111
ALM_CNFG_2 R/W Yes 0x03 0x24 0x0000 Alarm configuration Table 112
Reserved
N/A
N/A
0x03
0x26
N/A
Reserved
N/A
XG_ALM_MAGN R/W Yes 0x03 0x28 0x0000 Alarm, x-axis gyroscope threshold setting Table 100
YG_ALM_MAGN R/W Yes 0x03 0x2A 0x0000 Alarm, y-axis gyroscope threshold setting Table 101
ZG_ALM_MAGN R/W Yes 0x03 0x2C 0x0000 Alarm, z-axis gyroscope threshold setting Table 102
Data Sheet ADIS16488
Rev. B | Page 13 of 36
Name
R/W
Flash
PAGE_ID
Address
Default
Register Description
Format
XA_ALM_MAGN R/W Yes 0x03 0x2E 0x0000 Alarm, x-axis accelerometer threshold Table 103
YA_ALM_MAGN R/W Yes 0x03 0x30 0x0000 Alarm, y-axis accelerometer threshold Table 104
ZA_ALM_MAGN R/W Yes 0x03 0x32 0x0000 Alarm, z-axis accelerometer threshold Table 105
XM_ALM_MAGN R/W Yes 0x03 0x34 0x0000 Alarm, x-axis magnetometer threshold Table 106
YM_ALM_MAGN R/W Yes 0x03 0x36 0x0000 Alarm, y-axis magnetometer threshold Table 107
ZM_ALM_MAGN R/W Yes 0x03 0x38 0x0000 Alarm, z-axis magnetometer threshold Table 108
BR_ALM_MAGN R/W Yes 0x03 0x3A 0x0000 Alarm, barometer threshold setting Table 109
Reserved N/A N/A 0x03 0x3C to 0x76 N/A Reserved N/A
FIRM_REV R Yes 0x03 0x78 N/A Firmware revision Table 50
FIRM_DM R Yes 0x03 0x7A N/A Firmware programming date: day/month Table 51
FIRM_Y
R
Yes
0x03
0x7C
N/A
Firmware programming date: year
Table 52
Reserved N/A N/A 0x03 0x7E N/A Reserved N/A
Reserved N/A N/A 0x04 0x00 to 0x18 N/A Reserved N/A
SERIAL_NUM R Yes 0x04 0x20 N/A Serial number Table 54
Reserved N/A N/A 0x04 0x22 to 0x7F N/A Reserved N/A
FIR_COEF_Axxx R/W Yes 0x05 0x00 to 0x7E N/A FIR Filter Bank A, Coefficients 0 through 59 Table 59
FIR_COEF_Axxx R/W Yes 0x06 0x00 to 0x7E N/A FIR Filter Bank A, Coefficients 60 through 119 Table 59
FIR_COEF_Bxxx R/W Yes 0x07 0x00 to 0x7E N/A FIR Filter Bank B, Coefficients 0 through 59 Table 60
FIR_COEF_Bxxx R/W Yes 0x08 0x00 to 0x7E N/A FIR Filter Bank B, Coefficients 60 through 119 Table 60
FIR_COEF_Cxxx R/W Yes 0x09 0x00 to 0x7E N/A FIR Filter Bank C, Coefficients 0 through 59 Table 61
FIR_COEF_Cxxx R/W Yes 0x0A 0x00 to 0x7E N/A FIR Filter Bank C, Coefficients 60 through 119 Table 61
FIR_COEF_Dxxx
R/W
Yes
0x0B
0x00 to 0x7E
N/A
FIR Filter Bank D, Coefficients 0 through 59
Table 62
FIR_COEF_Dxxx R/W Yes 0x0C 0x00 to 0x7E N/A FIR Filter Bank D, Coefficients 60 through 119 Table 62
1 The GPIO_CTRL[7:4] bits reflect the logic levels on the DIOx lines and do not have a default setting.
ADIS16488 Data Sheet
Rev. B | Page 14 of 36
OUTPUT DATA REGISTERS
After the ADIS16488 completes its start-up process, the PAGE_ID
register contains 0x0000, which sets Page 0 as the active page
for SPI access. Page 0 contains the output data, real-time clock,
status, and product identification registers.
INERTIAL SENSOR DATA FORMAT
The gyroscope, accelerometer, delta angle, delta velocity, and
barometer output data registers use a 32-bit, twos complement
format. Each output uses two registers to support this resolution.
Figure 18 provides an example of how each register contributes
to each inertial measurement. In this case, X_GYRO_OUT is
the most significant word (upper 16 bits), and X_GYRO_LOW is
the least significant word (lower 16 bits). In many cases, using
the most significant word registers alone provide sufficient
resolution for preserving key performance metrics.
10277-016
X-AXIS GYROSCOPE DATA
01515 0
X_GYRO_OUT X_GYRO_LOW
Figure 18. Gyroscope Output Format Example, DEC_RATE > 0
The arrows in Figure 19 describe the direction of the motion,
which produces a positive output response in each sensor’s
output register. The accelerometers respond to both dynamic
and static forces associated with acceleration, including gravity.
When lying perfectly flat, as shown in Figure 19, the z-axis
accelerometer output is 1 g, and the x and y accelerometers are 0 g.
ROTATION RATE (GYROSCOPE)
The registers that use the x_GYRO_OUT format are the primary
registers for the gyroscope measurements (see Table 10, Table 11,
and Table 12). When processing data from these registers, use
a 16-bit, twos complement data format. Table 13 provides
x_GYRO_OUT digital coding examples.
Table 10. X_GYRO_OUT (Page 0, Base Address = 0x12)
Bits Description
[15:0] X-axis gyroscope data; twos complement,
±450°/sec range, 0°/sec = 0x0000, 1 LSB = 0.02°/sec
Table 11. Y_GYRO_OUT (Page 0, Base Address = 0x16)
Bits Description
[15:0] Y-axis gyroscope data; twos complement,
±450°/sec range, 0°/sec = 0x0000, 1 LSB = 0.02°/sec
Table 12. Z_GYRO_OUT (Page 0, Base Address = 0x1A)
Bits Description
[15:0] Z-axis gyroscope data; twos complement,
±450°/sec range, 0°/sec = 0x0000, 1 LSB = 0.02°/sec
Table 13. x_GYRO_OUT Data Format Examples
Rotation Rate Decimal Hex Binary
+450°/sec +22,500 0x57E4 0101 0111 1110 0100
+0.04/sec +2 0x0002 0000 0000 0000 0010
+0.02°/sec +1 0x0001 0000 0000 0000 0001
0°/sec 0 0x0000 0000 0000 0000 0000
−0.02°/sec −1 0xFFFF 1111 1111 1111 1111
−0.04°/sec −2 0xFFFE 1111 1111 1111 1110
−450°/sec −22,500 0xA81C 1010 1000 0001 1100
The registers that use the x_GYRO_LOW naming format provide
additional resolution for the gyroscope measurements (see
Table 14, Table 15, and Table 16). The MSB has a weight of
0.01°/sec, and each subsequent bit has ½ the weight of the
previous one.
Table 14. X_GYRO_LOW (Page 0, Base Address = 0x10)
Bits Description
[15:0] X-axis gyroscope data; additional resolution bits
Table 15. Y_GYRO_LOW (Page 0, Base Address = 0x14)
Bits Description
[15:0] Y-axis gyroscope data; additional resolution bits
Table 16. Z_GYRO_LOW (Page 0, Base Address = 0x18)
Bits Description
[15:0] Z-axis gyroscope data; additional resolution bits
PI N 1
PI N 23
aY
mY
gY
Y-AXIS
gX
X-AXIS
aX
mX
Z-AXIS
aZmZ
gZ
10277-017
Figure 19. Inertial Sensor Direction Reference Diagram
Data Sheet ADIS16488
Rev. B | Page 15 of 36
ACCELERATION
The registers that use the x_ACCL_OUT format are the primary
registers for the accelerometer measurements (see Tabl e 17,
Table 18, and Table 19). When processing data from these
registers, use a 16-bit, twos complement data format. Table 20
provides x_ACCL_OUT digital coding examples.
Table 17. X_ACCL_OUT (Page 0, Base Address = 0x1E)
Bits Description
[15:0] X-axis accelerometer data; twos complement,
±18 g range, 0 g = 0x0000, 1 LSB = 0.8 mg
Table 18. Y_ACCL_OUT (Page 0, Base Address = 0x22)
Bits Description
[15:0] Y-axis accelerometer data; twos complement,
±18 g range, 0 g = 0x0000, 1 LSB = 0.8 mg
Table 19. Z_ACCL_OUT (Page 0, Base Address = 0x26)
Bits Description
[15:0] Z-axis accelerometer data; twos complement,
±18 g range, 0 g = 0x0000, 1 LSB = 0.8 mg
Table 20. x_ACCL_OUT Data Format Examples
Acceleration Decimal Hex Binary
+18 g +22,500 0x57E4 0101 0111 1110 0100
+1.6 mg +2 0x0002 0000 0000 0000 0010
+0.8 mg
+1
0x0001
0000 0000 0000 0001
0 mg 0 0x0000 0000 0000 0000 0000
−0.8 mg −1 0xFFFF 1111 1111 1111 1111
−1.6 mg −2 0xFFFE 1111 1111 1111 1110
−18 g −22,500 0xA81C 1010 1000 0001 1100
The registers that use the x_ACCL_LOW naming format
provide additional resolution for the accelerometer
measurements (see Table 21, Table 22, and Table 23). The
MSB has a weight of 0.4 mg, and each subsequent bit has ½
the weight of the previous one.
Table 21. X_ACCL_LOW (Page 0, Base Address = 0x1C)
Bits Description
[15:0] X-axis accelerometer data; additional resolution bits
Table 22. Y_ACCL_LOW (Page 0, Base Address = 0x20)
Bits Description
[15:0] Y-axis accelerometer data; additional resolution bits
Table 23. Z_ACCL_LOW (Page 0, Base Address = 0x24)
Bits Description
[15:0] Z-axis accelerometer data; additional resolution bits
DELTA ANGLES
The delta angle outputs represent an integration of the gyro-
scope measurements and use the following formula for all
three axes (x-axis displayed):
( )
S
Snxnx
S
xf
RATEDEC
Δt
t1_
;
2,1,
+
=+×
= +
ωωθ
where:
ωx is the gyroscope, x-axis.
ΔtS is the time between samples.
When using the internal sample clock, fS is equal to 2.46 kHz.
When using the external clock option, the time between samples
is the time between active edges on the input clock signal, as
measured by the internal clock (252 MHz). See Table 55 for
more information on the DEC_RATE register. The registers
that use the x_DELTANG_OUT format are the primary
registers for the delta angle calculations. When processing data
from these registers, use a 16-bit, twos complement data format
(see Table 24, Table 25, and Table 26). Table 27 provides
x_DELTANG_OUT digital coding examples.
Table 24. X_DELTANG_OUT (Page 0, Base Address = 0x42)
Bits Description
[15:0]
X-axis delta angle data; twos complement,
±720° range, 0° = 0x0000, 1 LSB = 720°/215 = ~0.022°
Table 25. Y_DELTANG_OUT (Page 0, Base Address = 0x46)
Bits Description
[15:0] Y-axis delta angle data; twos complement,
±720° range, 0° = 0x0000, 1 LSB = 720°/215 = ~0.022°
Table 26. Z_DELTANG_OUT (Page 0, Base Address = 0x4A)
Bits Description
[15:0] Z-axis delta angle data; twos complement,
±720° range, 0° = 0x0000, 1 LSB = 720°/215 = ~0.022°
Table 27. x_DELTANG_OUT Data Format Examples
Angle (°) Decimal Hex Binary
+720 × (215 − 1)/215 +32,767 0x7FFF 0111 1111 1110 1111
+1440/215 +2 0x0002 0000 0000 0000 0010
+720/215 +1 0x0001 0000 0000 0000 0001
0 0 0x0000 0000 0000 0000 0000
−720/215 −1 0xFFFF 1111 1111 1111 1111
−1440/215 −2 0xFFFE 1111 1111 1111 1110
−720
−32,768
0x8000
1000 0000 0000 0000
ADIS16488 Data Sheet
Rev. B | Page 16 of 36
The registers that use the x_DELTANG_LOW format provide
additional resolution for the gyroscope measurements (see
Table 28, Table 29, and Table 30). The MSB has a weight of
~0.01(720°/216), and each subsequent bit carries a weight of
½ of the previous one.
Table 28. X_DELTANG_LOW (Page 0, Base Address = 0x40)
Bits Description
[15:0]
X-axis delta angle data; additional resolution bits
Table 29. Y_DELTANG_LOW (Page 0, Base Address = 0x44)
Bits Description
[15:0] Y-axis delta angle data; additional resolution bits
Table 30. Z_DELTANG_LOW (Page 0, Base Address = 0x48)
Bits Description
[15:0] Z-axis delta angle data; additional resolution bits
DELTA VELOCITY
The delta velocity outputs represent an integration of the
accelerometer measurements and use the following formula
for all three axes (x-axis displayed):
( )
S
Snxnx
S
x
f
RATEDEC
Δtaa
t1_
;
2
,1,
+
=+×
=
+
θ
where:
ax is the accelerometer, x-axis.
ΔtS is the time between samples.
When using the internal sample clock, fS is equal to 2.46 kHz.
When using the external clock option, the time between samples
is the time between active edges on the input clock signal, as
measured by the internal clock (252 MHz). See Table 55 for
more information on the DEC_RATE register. The registers
that use the x_DELTVEL_OUT format are the primary registers
for the delta velocity calculations. When processing data from
these registers, use a 16-bit, twos complement data format (see
Table 31, Table 32, and Table 33). Table 34 provides
x_DELTVEL_OUT digital coding examples.
Table 31. X_DELTVEL_OUT (Page 0, Base Address = 0x4E)
Bits Description
[15:0] X-axis delta velocity data; twos complement,
±200 m/sec range, 0 m/sec = 0x0000
1 LSB = 200 m/sec ÷ (215 – 1) = ~6.104 mm/sec
Table 32. Y_DELTVEL_OUT (Page 0, Base Address = 0x52)
Bits
Description
[15:0] Y-axis delta velocity data; twos complement,
±200 m/sec range, 0 m/sec = 0x0000
1 LSB = 200 m/sec ÷ (215 1) = ~6.104 mm/sec
Table 33. Z_DELTVEL_OUT (Page 0, Base Address = 0x56)
Bits Description
[15:0] Z-axis delta velocity data; twos complement,
±200 m/sec range, 0 m/sec = 0x0000
1 LSB = 200 m/sec ÷ (215 1) = ~6.104 mm/sec
Table 34. x_DELTVEL_OUT, Data Format Examples
Velocity (m/sec)
Decimal
Hex
Binary
+160 × (215 − 1)/215 +32,767 0x7FFF 0111 1111 1111 1111
+400/2
15
+2
0x0002
0000 0000 0000 0010
+200/215 +1 0x0001 0000 0000 0000 0001
0 0 0x0000 0000 0000 0000 0000
−200/215 −1 0xFFFF 1111 1111 1111 1111
−400/215 −2 0xFFFE 1111 1111 1111 1110
−160 −32,768 0x8000 1000 0000 0000 0000
The registers that use the x_DELTVEL_LOW naming format
provide additional resolution for the gyroscope measurements
(see Table 35, Table 36, and Tabl e 37). The MSB has a weight
of ~3.052 mm/sec (200 m/sec ÷ 216), and each subsequent bit
carries a weight of ½ of the previous one.
Table 35. X_DELTVEL_LOW (Page 0, Base Address = 0x4C)
Bits Description
[15:0] X-axis delta velocity data; additional resolution bits
Table 36. Y_DELTVEL_LOW (Page 0, Base Address = 0x50)
Bits
Description
[15:0] Y-axis delta velocity data; additional resolution bits
Table 37. Z_DELTVEL_LOW (Page 0, Base Address = 0x54)
Bits Description
[15:0] Z-axis delta velocity data; additional resolution bits
Data Sheet ADIS16488
Rev. B | Page 17 of 36
MAGNETOMETERS
The registers that use the x_MAGN_OUT format are the primary
registers for the magnetometer measurements. When processing
data from these registers, use a 16-bit, twos complement data
format. Table 38, Tabl e 39, and Table 40 provide each register’s
numerical format, and Table 41 provides x_MAGN_OUT digital
coding examples.
Table 38. X_MAGN_OUT (Page 0, Base Address = 0x28)
Bits Description
[15:0] X-axis magnetometer data; twos complement,
±3.2767 gauss range, 0 gauss = 0x0000,
1 LSB = 0.1 mgauss
Table 39. Y_MAGN_OUT (Page 0, Base Address = 0x2A)
Bits Description
[15:0] Y-axis magnetometer data; twos complement,
±3.2767 gauss range, 0 gauss = 0x0000,
1 LSB = 0.1 mgauss
Table 40. Z_MAGN_OUT (Page 0, Base Address = 0x2C)
Bits Description
[15:0] Z-axis magnetometer data; twos complement,
±3.2767 gauss range, 0 gauss = 0x0000,
1 LSB = 0.1 mgauss
Table 41. x_MAGN_OUT Data Format Examples
Magnetic Field Decimal Hex Binary
+3.2767 gauss +32,767 0x7FFF 0111 1111 1111 1111
+0.2 mgauss +2 0x0002 0000 0000 0000 0010
+0.1 mgauss +1 0x0001 0000 0000 0000 0001
0 gauss 0 0x0000 0000 0000 0000 0000
−0.1 mgauss −1 0xFFFF 1111 1111 1111 1111
−0.2 mgauss −2 0xFFFE 1111 1111 1111 1110
−3.2768 gauss −32,768 0x8000 1000 0000 0000 0000
BAROMETER
The BAROM_OUT register (see Table 42) and BAROM_LOW
register (see Table 44) provide access to the barometric pressure
data. These two registers combine to provide a 32-bit, twos
complement format. Some applications are able to use
BAROM_OUT by itself. For cases where the finer resolution
available from BAROM_LOW is valuable, combine them in
the same manner as the gyroscopes (see Figure 18). When
processing data from the BAROM_OUT register alone, use a
16-bit, twos complement data format. Table 42 provides the
numerical format in BAROM_OUT, and Table 43 provides
digital coding examples.
Table 42. BAROM_OUT (Page 0, Base Address = 0x30)
Bits Description
[15:0] Barometric pressure; twos complement,
±1.31 bar range, 0 bar = 0x0000, 40 µbar/LSB
Table 43. BAROM_OUT Data Format Examples
Pressure (bar) Decimal Hex Binary
+0.00004 × (215 1) +32,767 0x7FFF 0111 1111 1110 1111
+0.00008 +2 0x0002 0000 0000 0000 0010
+0.00004
+1
0x0001
0000 0000 0000 0001
0 0 0x0000 0000 0000 0000 0000
−0.00004 −1 0xFFFF 1111 1111 1111 1111
−0.00008 −2 0xFFFE 1111 1111 1111 1110
−0.00004 × 215 −32,768 0x8000 1000 0000 0000 0000
The BAROM_LOW register provides additional resolution for the
barometric pressure measurement. The MSB has a weight of
20 µbar, and each subsequent bit carries a weight of ½ of the
previous one.
Table 44. BAROM_LOW (Page 0, Base Address = 0x2E)
Bits Description
[15:0] Barometric pressure; additional resolution bits
INTERNAL TEMPERATURE
The TEMP_OUT register provides an internal temperature
measurement that can be useful for observing relative temperature
changes inside of the ADIS16488 (see Tabl e 45). Table 46
provides TEMP_OUT digital coding examples. Note that this
temperature reflects a higher temperature than ambient, due to
self-heating.
Table 45. TEMP_OUT (Page 0, Base Address = 0x0E)
Bits Description
[15:0]
Temperature data; twos complement,
0.00565°C per LSB, 25°C = 0x0000
Table 46. TEMP_OUT Data Format Examples
Temperature (°C) Decimal Hex Binary
+85 +10,619 0x297B 0010 1001 0111 1011
+25 + 0.0113 +2 0x0002 0000 0000 0000 0010
+25 + 0.00565 +1 0x0001 0000 0000 0000 0001
+25 0 0x0000 0000 0000 0000 0000
+25 0.00565 −1 0xFFFF 1111 1111 1111 1111
+25 0.0113 −2 0xFFFE 1111 1111 1111 1110
−40 −11,504 0xD310 1101 0011 0001 0000
ADIS16488 Data Sheet
Rev. B | Page 18 of 36
STATUS/ALARM INDICATORS
The SYS_E_FLAG register in Table 47 provides the system error
flags and new data bits for the magnetometer and barometer
outputs. The new data flags are useful for triggering data collec-
tion of the magnetometer and barometer (x_MAGN_OUT and
BARO_xxx registers) because they update at a fixed rate that is
not dependent on the DEC_RATE setting. Note that reading
SYS_E_FLAG also resets it to 0x0000.
Table 47. SYS_E_FLAG (Page 0, Base Address = 0x08)
Bits Description (Default = 0x0000)
[15] Watch dog timer flag (1 = timed out)
[14:10] Not used
9 New data flag, barometer (1 = new, unread data)1
8 New data flag, magnetometer (1 = new, unread data)2
7 Processing overrun (1 = error)
6 Flash memory update, result of GLOB_CMD[3] = 1
(1 = failed update, 0 = update successful)
5 Inertial self-test failure (1 = DIAG_STS ≠ 0x0000)
4 Sensor overrange (1 = at least one sensor overranged)
3 SPI communication error
(1 = error condition, when the number of SCLK pulses
is not equal to a multiple of 16)
[2:1]
Not used
0 Alarm status flag (1 = ALM_STS ≠ 0x0000)
1 This flag restores to zero after reading the contents on BAROM_OUT.
2 This flag restores to zero after reading one x_MAGN_OUT register.
The DIAG_STS register in Table 48 provides the flags for the
internal self-test function, which is from GLOB_CMD[1] (see
Table 114). Note that the barometer’s flag, DIAG_STS[11], only
updates after start-up and reset operations. Note that reading
DIAG_STS also resets it to 0x0000.
Table 48. DIAG_STS (Page 0, Base Address = 0x0A)
Bits Description (Default = 0x0000)
[15:12] Not used
11 Self-test failure, barometer (1 = failed at start-up)
10 Self-test failure, Z-axis magnetometer (1 = failure)
9
Self-test failure, Y-axis magnetometer (1 = failure)
8 Self-test failure, X-axis magnetometer (1 = failure)
[7:6] Not used
5 Self-test failure, Z-axis accelerometer (1 = failure)
4 Self-test failure, Y-axis accelerometer (1 = failure)
3 Self-test failure, X-axis accelerometer (1 = failure)
2 Self-test failure, Z-axis gyroscope (1 = failure)
1 Self-test failure, Y-axis gyroscope (1 = failure)
0 Self-test failure, X-axis gyroscope (1 = failure)
The ALM_STS register in Table 49 provides the alarm bits
for the programmable alarm levels of each sensor. Note that
reading ALM_STS also resets it to 0x0000.
Table 49. ALM_STS (Page 0, Base Address = 0x0C)
Bits Description (Default = 0x0000)
[15:12] Not used
11 Barometer alarm flag (1 = alarm is active)
10 Z-axis magnetometer alarm flag (1 = alarm is active)
9 Y-axis magnetometer alarm flag (1 = alarm is active)
8 X-axis magnetometer alarm flag (1 = alarm is active)
[7:6] Not used
5 Z-axis accelerometer alarm flag (1 = alarm is active)
4
Y-axis accelerometer alarm flag (1 = alarm is active)
3 X-axis accelerometer alarm flag (1 = alarm is active)
2 Z-axis gyroscope alarm flag (1 = alarm is active)
1 Y-axis gyroscope alarm flag (1 = alarm is active)
0 X-axis gyroscope alarm flag (1 = alarm is active)
Data Sheet ADIS16488
Rev. B | Page 19 of 36
FIRMWARE REVISION
The FIRM_REV register (see Table 50) provides the firmware
revision for the internal processor. Each nibble represents a
digit in this revision code. For example, if FIRM_REV =
0x0102, the firmware revision is 1.02.
Table 50. FIRM_REV (Page 3, Base Address = 0x78)
Bits Description
[15:12] Binary, revision, 10’s digit
[11:8] Binary, revision, 1’s digit
[7:4] Binary, revision, tenths digit
[3:0]
Binary, revision, hundredths digit
The FIRM_DM register (see Table 51) contains the month and
day of the factory configuration date. FIRM_DM[15:12] and
FIRM_DM[11:8] contain digits that represent the month
of factory configuration. For example, November is the 11th
month in a year and represented by FIRM_DM[15:8] = 0x11.
FIRM_DM[7:4] and FIRM_DM[3:0] contain digits that represent
the day of factory configuration. For example, the 27th day of
the month is represented by FIRM_DM[7:0] = 0x27.
Table 51. FIRM_DM (Page 3, Base Address = 0x7A)
Bits Description
[15:12] Binary, month 10’s digit, range: 0 to 1
[11:8] Binary, month 1’s digit, range: 0 to 9
[7:4] Binary, day 10’s digit, range: 0 to 3
[3:0] Binary, day 1’s digit, range: 0 to 9
The FIRM_Y register (see Tabl e 52) contains the year of the
factory configuration date. For example, the year of 2013 is
represented by FIRM_Y = 0x2013.
Table 52. FIRM_Y (Page 3, Base Address = 0x7C)
Bits Description
[15:12] Binary, year 1000’s digit, range: 0 to 9
[11:8] Binary, year 100’s digit, range: 0 to 9
[7:4] Binary, year 10’s digit, range: 0 to 9
[3:0] Binary, year 1’s digit, range: 0 to 9
PRODUCT IDENTIFICATION
The PROD_ID register (see Table 53) contains the binary
equivalent of the part number (16,488 = 0x4068), and the
SERIAL_NUM register (see Table 54) contains a lot-specific
serial number.
Table 53. PROD_ID (Page 0, Base Address = 0x7E)
Bits Description (Default = 0x4068)
[15:0] Product identification = 0x4068
Table 54. SERIAL_NUM (Page 4, Base Address = 0x20)
Bits Description
[15:0] Lot-specific serial number
ADIS16488 Data Sheet
Rev. B | Page 20 of 36
DIGITAL SIGNAL PROCESSING
GYROSCOPES/ACCELEROMETERS
Figure 20 provides a signal flow diagram for all of the compo-
nents and settings that influence the frequency response for
the accelerometers and gyroscopes. The sample rate for each
accelerometer and gyroscope is 9.84 kHz. Each sensor has
its own averaging/decimation filter stage, which reduces the
update rate to 2.46 kSPS. When using the external clock option
(FNCTIO_CTRL[7:4], see Table 117), the input clock drives a
4-sample burst at a sample rate of 9.84kSPS, which feeds into
the 4x averaging/decimation filter. This results in a data rate
that is equal to the input clock frequency.
AVERAGING/DECIMATION FILTER
The DEC_RATE register (see Table 55) provides user control for
the final filter stage (see Figure 20), which averages and decimates
the accelerometers, gyroscopes, delta angle, and delta velocity data.
The output sample rate is equal to 2460/(DEC_RATE + 1). When
using the external clock option (FNCTIO_CTRL[7:4], see Table
117), replace the “2460” number in this relationship, with the input
clock frequency. For example, turn to Page 3 (DIN = 0x8003),
and set DEC_RATE = 0x18 (DIN = 0x8C18, then DIN = 0x8D00)
to reduce the output sample rate to 98.4 SPS (2460 ÷ 25).
Table 55. DEC_RATE (Page 3, Base Address = 0x0C)
Bits Description (Default = 0x0000)
[15:11] Don’t care
[10:0] Decimation rate, binary format, maximum = 2047
See Figure 20 for impact on sample rate
MAGNETOMETER/BAROMETER
When using the internal sampling clock, the magnetometer
output registers (xMAGN_OUT) update at a rate of 102.5 SPS
and the barometer output registers (BARO_xxx) update at a rate
of 51.25 SPS. When using the external clock, the magnetome-
ters update at a rate of 1/24th of the input clock frequency and
the barometers update at a rate that is 1/48th of the input clock
frequency. The update rates for the magnetometer and barome-
ters do not change with the DEC_RATE register settings.
SYS_E_FLAG[9:8] (see Table 47) offers new data bits for these
registers and the SEQ_CNT register provides a counter function
to help determine when there is new data in the magnetometer
and barometer registers. When SEQ_CNT = 0x0001, there is
new data in the magnetometer and barometer output registers.
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, then subtract this value from the maximum value
shown (range) in Table 56 to calculate the number of internal
sample cycles until both magnetometer and barometer data is
new.
Table 56. SEQ_CNT (Page 0, Base Address = 0x06)
Bits Description
[15:11]
Don’t care
[6:0] Binary counter: range = 1 to 48/(DEC_RATE + 1)
MEMS
SENSOR 330Hz ÷4
2.46kHz , f
s
GYROSCOPE
2-POLE : 404Hz , 757Hz
ACCELEROMETER
1-POLE : 330Hz
AVERAGE
DECIMATION
FILTER
SELECTABLE
FIR FILTE R BANK
FILTR_BNK_0
FILTR_BNK_1
AVERAGE/DECIMATION FILTER
D = DEC_RATE[10:0] + 1
1
4
4
÷D
1
D
D
FIR
FILTER
BANK
10277-018
f
s
INTERNAL
CLOCK
9.84kHz
DIOx
OPTIONAL INPUT CL OCK
FNCTIO_CT RL[7] = 1
f
s
< 2400Hz
NOTES
1. WHEN F NCTI O_CT RL[7] = 1, EACH CL OCK PULSE ON T HE DE S IGNATE D DIO x LI NE ( FNCT IO_CTRL [ 5: 4] ) STARTS A 4-SAMPLE BURST,
AT A SAMPLE RATE OF 9.84kHz. THESE FOUR SAMPLES FEED INTO THE 4x AVERAGE/DECIMATION FILTER, W HICH PRODUCES A
DATA RATE THAT IS EQUAL TO T HE INPUT CL OCK FRE QUENCY.
Figure 20. Sampling and Frequency Response Block Diagram
Data Sheet ADIS16488
Rev. B | Page 21 of 36
FIR FILTER BANKS
The ADIS16488 provides four configurable, 120-tap FIR filter
banks. Each coefficient is 16 bits wide and occupies its own
register location with each page. When designing a FIR filter for
these banks, use a sample rate of 2.46 kHz and scale the coefficients
so that their sum equals 32,768. For filter designs that have less
than 120 taps, load the coefficients into the lower portion of
the filter and start with Coefficient 1. Make sure that all unused
taps are equal to zero, so that they do not add phase delay to the
response. The FILTR_BNK_x registers provide three bits per
sensor, which configure the filter bank (A, B, C, D) and turn
filtering on and off. For example, turn to Page 3 (DIN =
0x8003), then write 0x0057 to FILTR_BNK_0 (DIN = 0x9657,
DIN = 0x9700) to set the x-axis gyroscope to use the FIR filter
in Bank D, to set the y-axis gyroscope to use the FIR filter in
Bank B, and to enable these FIR filters in both x- and y-axis
gyroscopes. Note that the filter settings update after writing to
the upper byte; therefore, always configure the lower byte first.
In cases that require configuration to only the lower byte of
either FILTR_BNK_0 or FILTR_BNK_1, complete the process
by writing 0x00 to the upper byte.
Table 57. FILTR_BNK_0 (Page 3, Base Address = 0x16)
Bits Description (Default = 0x0000)
15 Don’t care
14 Y-axis accelerometer filter enable (1 = enabled)
[13:12] Y-axis accelerometer filter bank selection:
00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D
11 X-axis accelerometer filter enable (1 = enabled)
[10:9] X-axis accelerometer filter bank selection:
00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D
8 Z-axis gyroscope filter enable (1 = enabled)
[7:6]
Z-axis gyroscope filter bank selection:
00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D
5 Y-axis gyroscope filter enable (1 = enabled)
[4:3] Y-axis gyroscope filter bank selection:
00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D
2 X-axis gyroscope filter enable (1 = enabled)
[1:0] X-axis gyroscope filter bank selection:
00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D
Table 58. FILTR_BNK_1 (Page 3, Base Address = 0x18)
Bits Description (Default = 0x0000)
[15:12] Don’t care
11 Z-axis magnetometer filter enable (1 = enabled)
[10:9] Z-axis magnetometer filter bank selection:
00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D
8 Y-axis magnetometer filter enable (1 = enabled)
[7:6] Y-axis magnetometer filter bank selection:
00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D
5 X-axis magnetometer filter enable (1 = enabled)
[4:3] X-axis magnetometer filter bank selection:
00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D
2 Z-axis accelerometer filter enable (1 = enabled)
[1:0] Z-axis accelerometer filter bank selection:
00 = Bank A, 01 = Bank B, 10 = Bank C, 11 = Bank D
Filter Memory Organization
Each filter bank uses two pages of the user register structure.
See Table 59, Table 60, Table 61, and Table 62 for the register
addresses in each filter bank.
Table 59. Filter Bank A Memory Map
Page PAGE_ID Address Register
5 0x05 0x00 PAGE_ID
5 0x05 0x02 to 0x07 Not used
5 0x05 0x08 FIR_COEF_A000
5 0x05 0x0A FIR_COEF_A001
5 0x05 0x0C to 0x7C FIR_COEF_A002 to
FIR_COEF_A058
5 0x05 0x7E FIR_COEF_A059
6 0x06 0x00 PAGE_ID
6 0x06 0x02 to 0x07 Not used
6 0x06 0x08 FIR_COEF_A060
6 0x06 0x0A FIR_COEF_A061
6 0x06 0x0C to 0x7C FIR_COEF_A062 to
FIR_COEF_A118
6 0x06 0x7E FIR_COEF_D119
Table 60. Filter Bank B Memory Map
Page PAGE_ID Address Register
7 0x07 0x00 PAGE_ID
7 0x07 0x02 to 0x07 Not used
7 0x07 0x08 FIR_COEF_B000
7 0x07 0x0A FIR_COEF_B001
7 0x07 0x0C to 0x7C FIR_COEF_B002 to
FIR_COEF_B058
7 0x07 0x7E FIR_COEF_B059
8 0x08 0x00 PAGE_ID
8
0x08
0x02 to 0x07
Not used
8 0x08 0x08 FIR_COEF_B060
8 0x08 0x0A FIR_COEF_B061
8 0x08 0x0C to 0x7C FIR_COEF_B062 to
FIR_COEF_B118
8
0x08
0x7E
FIR_COEF_B119
Table 61. Filter Bank C Memory Map
Page PAGE_ID Address Register
9
0x09
0x00
PAGE_ID
9 0x09 0x02 to 0x07 Not used
9 0x09 0x08 FIR_COEF_C000
9 0x09 0x0A FIR_COEF_C001
9 0x09 0x0C to 0x7C FIR_COEF_C002 to
FIR_COEF_C058
9 0x09 0x7E FIR_COEF_C059
10 0x0A 0x00 PAGE_ID
10 0x0A 0x02 to 0x07 Not used
10 0x0A 0x08 FIR_COEF_C060
10 0x0A 0x0A FIR_COEF_C061
10
0x0A
0x0C to 0x7C
FIR_COEF_C062 to
FIR_COEF_C118
10 0x0A 0x7E FIR_COEF_C119
ADIS16488 Data Sheet
Rev. B | Page 22 of 36
Table 62. Filter Bank D Memory Map
Page PAGE_ID Address Register
11 0x0B 0x00 PAGE_ID
11 0x0B 0x02 to 0x07 Not used
11 0x0B 0x08 FIR_COEF_D000
11 0x0B 0x0A FIR_COEF_D001
11 0x0B 0x0C to 0x7C FIR_COEF_D002 to
FIR_COEF_D058
11 0x0B 0x7E FIR_COEF_D059
12 0x0C 0x00 PAGE_ID
12 0x0C 0x02 to 0x07 Not used
12
0x0C
0x08
FIR_COEF_D060
12 0x0C 0x0A FIR_COEF_D061
12 0x0C 0x0C to 0x7C FIR_COEF_D062 to
FIR_COEF_D118
12 0x0C 0x7E FIR_COEF_D119
Default Filter Performance
The FIR filter banks have factory-programmed filter designs. They
are all low-pass filters that have unity dc gain. Table 63 provides
a summary of each filter design, and Figure 21 shows the frequency
response characteristics. The phase delay is equal to ½ of the total
number of taps.
Table 63. FIR Filter Descriptions, Default Configuration
FIR Filter Bank Taps −3 dB Frequency (Hz)
A 120 310
B 120 55
C 32 275
D 32 63
NO FIR
FILTERING
0
–10
–20
MAG NITUDE ( dB)
–30
–40
–50
–60
–70
–80
–90
–100 0200 400 600 800 1000 1200
FREQUENCY (Hz)
10277-019
AD CB
Figure 21. FIR Filter Frequency Response Curves
Data Sheet ADIS16488
Rev. B | Page 23 of 36
CALIBRATION
The ADIS16488 factory calibration produces correction formulas
for the gyroscopes, accelerometers, magnetometers, and
barometers, and then programs them into the flash memory.
In addition, there are a series of user-configurable calibration
registers, for in-system tuning.
GYROSCOPES
The user-calibration for the gyroscopes includes registers for
adjusting bias and sensitivity, as shown in Figure 22.
X-AXIS
GYRO
FACT
ORY
CALIBRATION
AND
FILTERING X_GYRO_OUT X_GYRO_LOW
XG_BIAS_HIGH XG_BIAS_LOW
1 + X_G Y RO_SCALE
10277-020
Figure 22. User Calibration Signal Path, Gyroscopes
Manual Bias Correction
The xG_BIAS_HIGH registers (see Table 64, Table 65, and
Table 66) and xG_BIAS_LOW registers (see Tabl e 67, Table 68,
and Table 69) provide a bias adjustment function for the output
of each gyroscope sensor.
Table 64. XG_BIAS_HIGH (Page 2, Base Address = 0x12)
Bits Description (Default = 0x0000)
[15:0] X-axis gyroscope offset correction, upper word
twos complement, 0°/sec = 0x0000, 1 LSB = 0.02°/sec
Table 65. YG_BIAS_HIGH (Page 2, Base Address = 0x16)
Bits Description (Default = 0x0000)
[15:0] Y-axis gyroscope offset correction, upper word;
twos complement, 0°/sec = 0x0000, 1 LSB = 0.02°/sec
Table 66. ZG_BIAS_HIGH (Page 2, Base Address = 0x1A)
Bits Description (Default = 0x0000)
[15:0]
Z-axis gyroscope offset correction, upper word;
twos complement, 0°/sec = 0x0000, 1 LSB = 0.02°/sec
Table 67. XG_BIAS_LOW (Page 2, Base Address = 0x10)
Bits Description (Default = 0x0000)
[15:0] X-axis gyroscope offset correction, lower word;
twos complement, 0°/sec = 0x0000,
1 LSB = 0.02°/sec ÷ 216 = ~0.000000305°/sec
Table 68. YG_BIAS_LOW (Page 2, Base Address = 0x14)
Bits
Description (Default = 0x0000)
[15:0] Y-axis gyroscope offset correction, lower word;
twos complement, 0°/sec = 0x0000,
1 LSB = 0.02°/sec ÷ 216 = ~0.000000305°/sec
Table 69. ZG_BIAS_LOW (Page 2, Base Address = 0x18)
Bits Description (Default = 0x0000)
[15:0] Z-axis gyroscope offset correction, lower word
twos complement, 0°/sec = 0x0000,
1 LSB = 0.02°/sec ÷ 216 = ~0.000000305°/sec
Bias Null Command
The continuous bias estimator (CBE) accumulates and
averages data in a 64-sample FIFO. The average time (tA)
for the bias estimates relies on the sample time base setting in
NULL_CNFG[3:0] (see Table 70). Users can load the correction
factors of the CBE into the gyroscope offset correction registers
(see Table 64, Table 65, Table 66, Table 67, Table 68, and Table 69)
using the bias null command in GLOB_CMD[0] (see Table 114).
NULL_CNFG[13:8] provide on/off controls for the sensors that
update when issuing a bias null command. The factory default
configuration for NULL_CNFG enables the bias null command
for the gyroscopes, disables the bias null command for the accel-
erometers, and establishes the average time to ~26.64 seconds.
Table 70. NULL_CNFG (Page 3, Base Address = 0x0E)
Bits Description (Default = 0x070A)
[15:14] Not used
13 Z-axis acceleration bias correction enable (1 = enabled)
12 Y-axis acceleration bias correction enable (1 = enabled)
11 X-axis acceleration bias correction enable (1 = enabled)
10 Z-axis gyroscope bias correction enable (1 = enabled)
9 Y-axis gyroscope bias correction enable (1 = enabled)
8 X-axis gyroscope bias correction enable (1 = enabled)
[7:4]
Not used
[3:0] Time base control (TBC), range: 0 to 13 (default = 10);
tB = 2TBC/2460, time base,
tA = 64 × tB, average time
Turn to Page 3 (DIN = 0x8003) and set GLOB_CMD[0] = 1
(DIN = 0x8201, then DIN = 0x8300) to update the user offset
registers with the correction factors of the CBE. Make sure that the
inertial platform is stable during the entire average time for optimal
bias estimates.
Manual Sensitivity Correction
The x_GYRO_SCALE registers enable sensitivity adjustment
(see Table 71, Table 72, and Table 73).
Table 71. X_GYRO_SCALE (Page 2, Base Address = 0x04)
Bits Description (Default = 0x0000)
[15:0]
X-axis gyroscope scale correction; twos complement,
0x0000 = unity gain, 1 LSB = 1 ÷ 215 = ~0.0003052%
Table 72. Y_GYRO_SCALE (Page 2, Base Address = 0x06)
Bits Description (Default = 0x0000)
[15:0] Y-axis gyroscope scale correction; twos complement,
0x0000 = unity gain, 1 LSB = 1 ÷ 215 = ~0.0003052%
Table 73. Z_GYRO_SCALE (Page 2, Base Address = 0x08)
Bits Description (Default = 0x0000)
[15:0] Z-axis gyroscope scale correction; twos complement,
0x0000 = unity gain, 1 LSB = 1 ÷ 215 = ~0.0003052%
ADIS16488 Data Sheet
Rev. B | Page 24 of 36
Linear Acceleration on Effect on Gyroscope Bias
MEMS gyroscopes typically have a bias response to linear
acceleration that is normal to their axis of rotation. The ADIS16488
offers an optional compensation function for this effect. Turn to
Page 3 (DIN = 0x8003) and set CONFIG[7] = 1 (DIN = 0x9080,
DIN = 0x9100).
Table 74. CONFIG (Page 3, Base Address = 0x0A)
Bits Description (Default = 0x00C0)
[15:8] Not used
7 Linear-g compensation for gyroscopes (1 = enabled)
6 Point of percussion alignment (1 = enabled)
[5:2]
Not used
1 Real-time clock, daylight savings time
(1: enabled, 0: disabled)
0 Real-time clock control
(1: relative/elapsed timer mode, 0: calendar mode)
ACCELEROMETERS
The user-calibration for the accelerometers includes registers
for adjusting bias and sensitivity, as shown in Figure 23.
X-AXIS
ACCL
FAC
TORY
CALIBRATION
AND
FILTERING X_ACCL_OUT X_ACCL_LOW
XA_BIAS_HIGH XA_BIAS_LOW
1 + X_ACCL _S CALE
10277-021
Figure 23. User Calibration Signal Path, Gyroscopes
Manual Bias Correction
The xA_BIAS_HIGH (see Table 75, Table 76, and Table 77) and
xA_BIAS_LOW (see Table 78, Table 79, and Table 80) registers
provide a bias adjustment function for the output of each gyroscope
sensor. The xA_BIAS_HIGH registers use the same format as
x_ACCL_OUT registers. The xA_BIAS_LOW registers use the
same format as x_ACCL_LOW registers.
Table 75. XA_BIAS_HIGH (Page 2, Base Address = 0x1E)
Bits Description (Default = 0x0000)
[15:0]
X-axis accelerometer offset correction, high word,
Twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg
Table 76. YA_BIAS_HIGH (Page 2, Base Address = 0x22)
Bits Description (Default = 0x0000)
[15:0] Y-axis accelerometer offset correction, high word,
Twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg
Table 77. ZA_BIAS_HIGH (Page 2, Base Address = 0x26)
Bits Description (Default = 0x0000)
[15:0] Z-axis accelerometer offset correction, high word,
Twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg
Table 78. XA_BIAS_LOW (Page 2, Base Address = 0x1C)
Bits Description (Default = 0x0000)
[15:0] X-axis accelerometer offset correction, low word,
Twos complement, 0 g = 0x0000,
1 LSB = 0.8 mg ÷ 216 = ~0.0000122 mg
Table 79. YA_BIAS_LOW (Page 2, Base Address = 0x20)
Bits
Description (Default = 0x0000)
[15:0] Y-axis accelerometer offset correction, low word,
Twos complement, 0 g = 0x0000,
1 LSB = 0.8 mg ÷ 216 = ~0.0000122 mg
Table 80. ZA_BIAS_LOW (Page 2, Base Address = 0x24)
Bits Description (Default = 0x0000)
[15:0] Z-axis accelerometer offset correction, low word;,
Twos complement, 0 g = 0x0000,
1 LSB = 0.8 mg ÷ 216 = ~0.0000122 mg
Manual Sensitivity Correction
The x_ACCL_SCALE registers enable sensitivity adjustment
(see Table 81, Table 82, Tabl e 83).
Table 81. X_ACCL_SCALE (Page 2, Base Address = 0x0A)
Bits Description (Default = 0x0000)
[15:0] X-axis accelerometer scale correction,
Twos complement, 0x0000 = unity gain,
1 LSB = 1 ÷ 215 = ~0.0003052%
Table 82. Y_ACCL_SCALE (Page 2, Base Address = 0x0C)
Bits Description (Default = 0x0000)
[15:0]
Y-axis accelerometer scale correction,
Twos complement, 0x0000 = unity gain,
1 LSB = 1 ÷ 215 = ~0.0003052%
Table 83. Z_ACCL_SCALE (Page 2, Base Address = 0x0E)
Bits Description (Default = 0x0000)
[15:0] Z-axis accelerometer scale correction,
Twos complement, 0x0000 = unity gain,
1 LSB = 1 ÷ 215 = ~0.0003052%
MAGNETOMETERS
The user calibration registers enable both hard-iron and soft-
iron correction, as shown in the following relationship:
+
×
=
+
+
+
H
H
H
M
M
M
S
SS
S
S
S
SS
S
M
M
M
Z
Y
X
Z
Y
X
ZC
YC
XC
1
1
1
33
3231
23
22
21
1312
11
The MX, MY, and MZ variables represent the magnetometer
data, prior to application of the user correction formula. The
MXC, MYC, and MZC represent the magnetometer data, after the
application of the user correction formula.
Data Sheet ADIS16488
Rev. B | Page 25 of 36
Hard-Iron Correction
Table 84, Table 85, and Table 86 describe the register format
for the hard-iron correction factors: HX, HY, and HZ. These
registers use a twos complement format. Table 87 provides
some numerical examples for converting the digital codes
for these registers into their decimal equivalent.
Table 84. HARD_IRON_X (Page 2, Base Address = 0x28)
Bits Description (Default = 0x0000)
[15:0] X-axis magnetometer hard-iron correction factor, HX
Twos complement, ±3.2767 gauss range,
0.1 mgauss/LSB, 0 gauss = 0x0000 (see Table 87)
Table 85. HARD_IRON_Y (Page 2, Base Address = 0x2A)
Bits Description (Default = 0x0000)
[15:0] Y-axis magnetometer hard-iron correction factor, HY
Twos complement, ±3.2767 gauss range,
0.1 mgauss/LSB, 0 gauss = 0x0000 (see Table 87)
Table 86. HARD_IRON_Z (Page 2, Base Address = 0x2C)
Bits Description (Default = 0x0000)
[15:0] Z-axis magnetometer hard-iron correction factor, Hz
Twos complement, ±3.2767 gauss range,
0.1 mgauss/LSB, 0 gauss = 0x0000 (see Table 87)
Table 87. x_MAGN_OUT Data Format Examples
Magnetic Field Decimal Hex Binary
+3.2767 gauss +32,767 0x7FFF 0111 1111 1111 1111
+0.2 mgauss +2 0x0002 0000 0000 0000 0010
+0.1 mgauss +1 0x0001 0000 0000 0000 0001
0 gauss 0 0x0000 0000 0000 0000 0000
−0.1 mgauss −1 0xFFFF 1111 1111 1111 1111
−0.2 mgauss −2 0xFFFE 1111 1111 1111 1110
−3.2768 gauss
−32,768
0x8000
1000 0000 0000 0000
Soft-Iron Correction Matrix
The soft-iron correction matrix contains correction factors for
both sensitivity (S11, S22, S33) and alignment (S12, S13, S21, S23, S31,
S32). The registers that represent each soft-iron correction factor
are in Table 88 (S11), Table 89 (S12), Tabl e 90 (S13), Table 91 (S21),
Table 92 (S22), Table 93 (S23), Table 94 (S31), Table 95 (S32), and
Table 96 (S33). Table 97 offers some numerical examples for
converting between the digital codes and their effect on the
magnetometer output, in terms of percent-change.
Table 88. SOFT_IRON_S11 (Page 2, Base Address = 0x2E)
Bits Description (Default = 0x0000)
[15:0] Magnetometer soft-iron correction factor, S11
Twos complement format, see Table 97 for examples
Table 89. SOFT_IRON_S12 (Page 2, Base Address = 0x30)
Bits Description (Default = 0x0000)
[15:0] Magnetometer soft-iron correction factor, S12
Twos complement format, see Table 97 for examples
Table 90. SOFT_IRON_S13 (Page 2, Base Address = 0x32)
Bits Description (Default = 0x0000)
[15:0] Magnetometer soft-iron correction factor, S13
Twos complement format, see Table 97 for examples
Table 91. SOFT_IRON_S21 (Page 2, Base Address = 0x34)
Bits Description (Default = 0x0000)
[15:0]
Magnetometer soft-iron correction factor, S
21
Twos complement format, see Table 97 for examples
Table 92. SOFT_IRON_S22 (Page 2, Base Address = 0x36)
Bits Description (Default = 0x0000)
[15:0] Magnetometer soft-iron correction factor, S22
Twos complement format, see Table 97 for examples
Table 93. SOFT_IRON_S23 (Page 2, Base Address = 0x38)
Bits Description (Default = 0x0000)
[15:0] Magnetometer soft-iron correction factor, S23
Twos complement format, see Table 97 for examples
Table 94. SOFT_IRON_S31 (Page 2, Base Address = 0x3A)
Bits Description (Default = 0x0000)
[15:0] Magnetometer soft-iron correction factor, S31
Twos complement format, see Table 97 for examples
Table 95. SOFT_IRON_S32 (Page 2, Base Address = 0x3C)
Bits Description (Default = 0x0000)
[15:0] Magnetometer soft-iron correction factor, S32
Twos complement format, see Table 97 for examples
Table 96. SOFT_IRON_S33 (Page 2, Base Address = 0x3E)
Bits Description (Default = 0x0000)
[15:0] Magnetometer soft-iron correction factor, S33
Twos complement format, see Table 97 for examples
Table 97. Soft Iron Correction, Numerical Examples
Delta (%) Decimal Hex Binary
+100 – 1/216 +32,767 0x7FFF 0111 1111 1111 1111
+200/2
15
+2
0x0002
0000 0000 0000 0010
+100/215 +1 0x0001 0000 0000 0000 0001
0 0 0x0000 0000 0000 0000 0000
−100/215 −1 0xFFFF 1111 1111 1111 1111
−200/215 −2 0xFFFE 1111 1111 1111 1110
−100 −32,768 0x8000 1000 0000 0000 0000
ADIS16488 Data Sheet
Rev. B | Page 26 of 36
BAROMETERS
The BR_BIAS_HIGH register (see Table 98) and
BR_BIAS_LOW register (Table 99) provide an offset
control function and use the same format as the output
registers, BAROM_OUT and BAROM_LOW.
Table 98. BR_BIAS_HIGH (Page 2, Base Address = 0x42)
Bits Description (Default = 0x0000)
[15:0] Barometric pressure bias correction factor, high word
Twos complement, ±1.3 bar measurement range,
0 bar = 0x0000, 1 LSB = 40 µbar
Table 99. BR_BIAS_LOW (Page 2, Base Address = 0x40)
Bits Description (Default = 0x0000)
[15:0]
Barometric pressure bias correction factor, low word
Twos complement, ±1.3 bar measurement range,
0 bar = 0x0000, 1 LSB = 40 µbar ÷ 216 = ~0.00061 µbar
RESTORING FACTORY CALIBRATION
Turn to Page 3 (DIN = 0x8003) and set GLOB_CMD[6] = 1
(DIN = 0xA240, DIN = 0xA300) to execute the factory
calibration restore function. This function resets each user
calibration register to zero, resets all sensor data to 0, and
automatically updates the flash memory within 72 ms. See
Table 114 for more information on GLOB_CMD.
POINT OF PERCUSSION ALIGNMENT
CONFIG[6] offers a point of percussion alignment function
that maps the accelerometer sensors to the corner of the package
identified in Figure 24. To activate this feature, turn to Page 3
(DIN = 0x8003), then set CONFIG[6] = 1 (DIN = 0x8A40,
DIN = 0x8B00). See Table 74 for more information on the
CONFIG register.
10277-022
PI N 1
PI N 23
POINT OF PERCUSSION
ALIGNM E NT REFERE NCE P OI NT.
SEE CONFIG[6].
Figure 24. Point of Percussion Reference Point
Data Sheet ADIS16488
Rev. B | Page 27 of 36
ALARMS
Each sensor has an independent alarm function that provides
controls for alarm magnitude, polarity, and enabling a dynamic
rate-of-change option. The ALM_STS register (see Table 49)
contains the alarm output flags and the FNCTIO_CTRL register
(see Table 117) provides an option for configuring one of the
digital I/O lines as an alarm indicator.
STATIC ALARM USE
The static alarm setting compares each sensor’s output with the
trigger settings in the xx_ALM_MAGN registers (see Table 100,
Table 101, Table 102, Table 103, Table 104, Table 105, Table 106,
Table 107, Table 108, and Table 109) of that sensor. The polarity
controls for each alarm are in the ALM_CNFG_x registers (see
Table 110, Table 111, Table 112). The polarity establishes
whether greater than or less than produces an alarm condition.
The comparison between the xx_ALM_MAGN value and the
output data only applies to the upper word or 16 bits of the
output data.
DYNAMIC ALARM USE
The dynamic alarm setting provides the option of comparing the
change in each sensor’s output over a period of 48.7 ms with that
sensor’s xx_ALM_MAGN register.
Table 100. XG_ALM_MAGN (Page 3, Base Address = 0x28)
Bits Description (Default = 0x0000)
[15:0] X-axis gyroscope alarm threshold settings,
Twos complement, 0°/sec = 0x0000, 1 LSB = 0.02°/sec
Table 101. YG_ALM_MAGN (Page 3, Base Address = 0x2A)
Bits Description (Default = 0x0000)
[15:0] Y-axis gyroscope alarm threshold settings,
Twos complement, 0°/sec = 0x0000, 1 LSB = 0.02°/sec
Table 102. ZG_ALM_MAGN (Page 3, Base Address = 0x2C)
Bits Description (Default = 0x0000)
[15:0] Z-axis gyroscope alarm threshold settings,
Twos complement, 0°/sec = 0x0000, 1 LSB = 0.02°/sec
Table 103. XA_ALM_MAGN (Page 3, Base Address = 0x2E)
Bits Description (Default = 0x0000)
[15:0] X-axis accelerometer alarm threshold settings,
Twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg
Table 104. YA_ALM_MAGN (Page 3, Base Address = 0x30)
Bits Description (Default = 0x0000)
[15:0] Y-axis accelerometer alarm threshold settings,
Twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg
Table 105. ZA_ALM_MAGN (Page 3, Base Address = 0x32)
Bits Description (Default = 0x0000)
[15:0] Z-axis accelerometer alarm threshold settings,
Twos complement, 0 g = 0x0000, 1 LSB = 0.8 mg
Table 106. XM_ALM_MAGN (Page 3, Base Address = 0x34)
Bits Description (Default = 0x0000)
[15:0]
X-axis magnetometer alarm threshold settings,
Twos complement, 0 gauss = 0x0000,
1 LSB = 0.1 mgauss
Table 107. YM_ALM_MAGN (Page 3, Base Address = 0x36)
Bits Description (Default = 0x0000)
[15:0] Y-axis magnetometer alarm threshold settings,
Twos complement, 0 gauss = 0x0000,
1 LSB = 0.1 mgauss
Table 108. ZM_ALM_MAGN (Page 3, Base Address = 0x38)
Bits Description (Default = 0x0000)
[15:0]
Z-axis magnetometer alarm threshold settings,
Twos complement, 0 gauss = 0x0000,
1 LSB = 0.1 mgauss
Table 109. BR_ALM_MAGN (Page 3, Base Address = 0x3A)
Bits Description (Default = 0x0000)
[15:0] Z-axis barometer alarm threshold settings,
Twos complement, 0 bar = 0x0000, 1 LSB = 40 µbar
Table 110. ALM_CNFG_0 (Page 3, Base Address = 0x20)
Bits
Description (Default = 0x0000)
15 X-axis accelerometer alarm (1 = enabled)
14
Not used
13 X-axis accelerometer alarm polarity (1 = greater than)
12 X-axis accelerometer dynamic enable (1 = enabled)
11 Z-axis gyroscope alarm (1 = enabled)
10 Not used
9 Z-axis gyroscope alarm polarity (1 = greater than)
8 Z-axis gyroscope dynamic enable (1 = enabled)
7 Y-axis gyroscope alarm (1 = enabled)
6 Not used
5 Y-axis gyroscope alarm polarity (1 = greater than)
4 Y-axis gyroscope dynamic enable (1 = enabled)
3
X-axis gyroscope alarm (1 = enabled)
2 Not used
1 X-axis gyroscope alarm polarity (1 = greater than)
0 X-axis gyroscope dynamic enable (1 = enabled)
ADIS16488 Data Sheet
Rev. B | Page 28 of 36
Table 111. ALM_CNFG_1 (Page 3, Base Address = 0x22)
Bits Description (Default = 0x0000)
15 Y-axis magnetometer alarm (1 = enabled)
14 Not used
13 Y-axis magnetometer alarm polarity (1 = greater than)
12 Y-axis magnetometer dynamic enable (1 = enabled)
11 X-axis magnetometer (1 = enabled)
10 Not used
9 X-axis magnetometer alarm polarity (1 = greater than)
8 X-axis magnetometer dynamic enable (1 = enabled)
7 Z-axis accelerometer alarm (1 = enabled)
6
Not used
5 Z-axis accelerometer alarm polarity (1 = greater than)
4 Z-axis accelerometer dynamic enable (1 = enabled)
3 Y-axis accelerometer alarm (1 = enabled)
2 Not used
1 Y-axis accelerometer alarm polarity (1 = greater than)
0
Y-axis accelerometer dynamic enable (1 = enabled)
Table 112. ALM_CNFG_2 (Page 3, Base Address = 0x24)
Bits Description (Default = 0x0000)
[15:8] Not used
7 Barometer alarm (1 = enabled)
6 Not used
5 Barometer alarm polarity (1 = greater than)
4 Barometer dynamic enable (1 = enabled)
3
Z-axis magnetometer alarm (1 = enabled)
2 Not used
1 Z-axis magnetometer alarm polarity (1 = greater than)
0 Z-axis magnetometer dynamic enable (1 = enabled)
Alarm Example
Table 113 offers an alarm configuration example, which sets the
Z-axis gyroscope alarm to trip when Z_GYRO_OUT > 131.1°/sec
(0x199B).
Table 113. Alarm Configuration Example
DIN Description
0xAC9B Set ZG_ALM_MAGN[7:0] = 0x9B
0xAD19 Set ZG_ALM_MAGN[15:8] = 0x19
0xA000 Set ALM_CNFG_0[7:0] = 0x00
0xA103 Set ALM_CNFG_0[15:8] = 0x03
Data Sheet ADIS16488
Rev. B | Page 29 of 36
SYSTEM CONTROLS
The ADIS16488 provides a number of system-level controls
for managing its operation, which include reset, self-test,
calibration, memory management, and I/O configuration.
GLOBAL COMMANDS
The GLOB_CMD register (see Table 114) provides trigger bits for
several operations. Write 1 to the appropriate bit in GLOB_CMD to
start a function. After the function completes, the bit restores to 0.
Table 114. GLOB_CMD (Page 3, Base Address = 0x02)
Bits Description Execution Time
[15:8] Not used Not applicable
7 Software reset 120 ms
6 Factory calibration restore 75 ms
[5:4] Not used Not applicable
3 Flash memory update 375 ms
2
Flash memory test
50 ms
1 Self-test 12 ms
0 Bias null See Table 70
Software Reset
Turn to Page 3 (DIN = 0x8003) and then set GLOB_CMD[7] = 1
(DIN = 0x8280, DIN = 0x8300) to reset the operation, which
removes all data, initializes all registers from their flash settings,
and starts data collection. This function provides a firmware
alternative to the RST line (see Table 5, Pin 8).
Automatic Self-Test
Turn to Page 3 (DIN = 0x8003) and then set GLOB_CMD[1] = 1
(DIN = 0x8202, then DIN = 0x8300) to run an automatic self-
test routine, which executes the following steps:
1. Measure output on each sensor.
2. Activate self-test on each sensor.
3. Measure output on each sensor.
4. Deactivate the self-test on each sensor.
5. Calculate the difference with self-test on and off.
6. Compare the difference with internal pass/fail criteria.
7. Report the pass/fail results for each sensor in DIAG_STS.
After waiting 12 ms for this test to complete, turn to Page 0
(DIN = 0x8000) and read DIAG_STS using DIN = 0x0A00.
Note that using an external clock can extend this time. When
using an external clock of 100 Hz, this time extends to 35 ms.
Note that 100 Hz is too slow for optimal sensor performance.
MEMORY MANAGEMENT
The data retention of the flash memory depends on temperature
and the number of write cycles. Figure 25 characterizes the
dependence on temperature, and the FLSHCNT_LOW and
FLSHCNT_HIGH registers (see Table 115 and Table 116)
provide a running count of flash write cycles. The flash updates
every time GLOB_CMD[6], GLOB_CMD[3], or GLOB_CMD[0]
is set to 1.
Table 115. FLSHCNT_LOW (Page 2, Base Address = 0x7C)
Bits Description
[15:0] Binary counter; number of flash updates, lower word
Table 116. FLSHCNT_HIGH (Page 2, Base Address = 0x7E)
Bits Description
[15:0] Binary counter; number of flash updates, upper word
10277-023
600
450
300
150
030 40
RETENTION (Years)
JUNCTION TEM P E R ATURE (° C)
55 70 85 100 125 135 150
Figure 25. Flash Memory Retention
Flash Memory Test
Turn to Page 3 (DIN = 0x8003), and then set GLOB_CMD[2] = 1
(DIN = 0x8204, DIN = 0x8300) to run a checksum test of the
internal flash memory, which compares a factory-programmed
value with the current sum of the same memory locations. The
result of this test loads into SYS_E_FLAG[6]. Turn to Page 0
(DIN = 0x8000) and use DIN = 0x0800 to read SYS_E_FLAG.
GENERAL-PURPOSE I/O
There are four general-purpose I/O lines: DIO1, DIO2, DIO3, and
DIO4. The FNCTIO_CTRL register controls the basic function
of each I/O line, which provides a number of useful functions.
Each I/O line will only support one function at a time. In cases
where a single line has two different assignments, the enable bit
for the lower-priority function will automatically reset to zero
and be disabled. The priority is (1) data-ready, (2) sync clock
input, (3) alarm indicator, and (4) general-purpose, where 1
identifies the highest priority and 4 indicates the lowest priority.
ADIS16488 Data Sheet
Rev. B | Page 30 of 36
Table 117. FNCTIO_CTRL (Page 3, Base Address = 0x06)
Bits Description (Default = 0x000D)
[15:12] Not used
11 Alarm indicator: 1 = enabled, 0 = disabled
10 Alarm indicator polarity: 1 = positive, 0 = negative
[9:8] Alarm indicator line selection:
00 = DIO1, 01 = DIO2, 10 = DIO3, 11 = DIO4
7 Sync clock input enable: 1 = enabled, 0 = disabled
6 Sync clock input polarity:
1 = rising edge, 0 = falling edge
[5:4] Sync clock input line selection:
00 = DIO1, 01 = DIO2, 10 = DIO3, 11 = DIO4
3 Data-ready enable: 1 = enabled, 0 = disabled
2 Data-ready polarity: 1 = positive, 0 = negative
[1:0] Data-ready line selection:
00 = DIO1, 01 = DIO2, 10 = DIO3, 11 = DIO4
Data-Ready Indicator
FNCTIO_CTRL[3:0] provide some configuration options for
using one of the DIOx lines as a data-ready indicator signal,
which can drive a processor’s interrupt control line. The factory
default assigns DIO2 as a positive polarity, data-ready signal.
Use the following sequence to change this assignment to DIO1
with a negative polarity: turn to Page 3 (DIN = 0x8003) and set
FNCTIO_CTRL[3:0] = 1000 (DIN = 0x8608, then DIN = 0x8700).
The timing jitter on the data-ready signal is ±1.4 µs.
Input Sync/Clock Control
FNCTIO_CTRL[7:4] provide some configuration options for
using one of the DIOx lines as an input synchronization signal
for sampling inertial sensor data. For example, use the following
sequence to establish DIO4 as a positive polarity, input clock pin
and keep the factory default setting for the data-ready function:
turn to Page 3 (DIN = 0x8003) and set FNCTIO_CTRL[7:0]
= 0xFD (DIN = 0x86FD, then DIN = 0x8700). Note that this
command also disables the internal sampling clock, and no
data sampling takes place without the input clock signal.
When selecting a clock input frequency, consider the 330 Hz
sensor bandwidth, because under sampling the sensors can
degrade noise and stability performance.
General-Purpose I/O Control
When FNCTIO_CTRL does not configure a DIOx pin,
GPIO_CTRL provides register controls for general-purpose use
of the pin. GPIO_CTRL[3:0] provides input/output assignment
controls for each line. When the DIOx lines are inputs, monitor
their level by reading GPIO_CTRL[7:4]. When the DIOx lines
are used as outputs, set their level by writing to GPIO_CTRL[7:4].
For example, use the following sequence to set DIO1 and
DIO3 as high and low output lines, respectively, and set DIO2
and DIO4 as input lines. Turn to Page 3 (DIN = 0x8003) and set
GPIO_CTRL[7:0] = 0x15 (DIN = 0x8815, then DIN = 0x8900).
Table 118. GPIO_CTRL (Page 3, Base Address = 0x08)
Bits Description (Default = 0x00X0)1
[15:8] Don’t care
7 General-Purpose I/O Line 4 (DIO4) data level
6 General-Purpose I/O Line 3 (DIO3) data level
5 General-Purpose I/O Line 2 (DIO2) data level
4 General-Purpose I/O Line 1 (DIO1) data level
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)
1 GPIO_CTRL[7:4] reflects levels on DIOx lines.
POWER MANAGEMENT
The SLP_CNT register (see Table 119) provides controls for
both power-down mode and sleep modes. The trade-off
between power-down mode and sleep mode is between idle
power and recovery time. Power-down mode offers the best
idle power consumption but requires the most time to recover.
Also, all volatile settings are lost during power-down but are
preserved during sleep mode.
For timed sleep mode, turn to Page 3 (DIN = 0x8003), write the
amount of sleep time to SLP_CNT[7:0] and then, set SLP_CNT[8]
= 1 (DIN = 0x9101) to start the sleep period. For a timed power-
down period, change the last command to set SLP_CNT[9] = 1
(DIN = 0x9102). To power down or sleep for an indefinite
period, set SLP_CNT[7:0] = 0x00 first, then set either
SLP_CNT[8] or SLP_CNT[9] to 1. Note that the command
takes effect when the CS line goes high. To awaken the device
from sleep or power-down mode, use one of the following
options to restore normal operation:
Assert CS from high to low.
Pulse RST low, then high again.
Cycle the power.
For example, set SLP_CNT[7:0] = 0x64 (DIN = 0x9064), then
set SLP_CNT[8] = 1 (DIN = 0x9101) to start a sleep period of
100 seconds.
Data Sheet ADIS16488
Rev. B | Page 31 of 36
Table 119. SLP_CNT (Page 3, Base Address = 0x10)
Bits Description
[15:10] Not used
9 Power-down mode
8 Normal sleep mode
[7:0] Programmable time bits; 1 sec/LSB;
0x00 = indefinite
If the sleep mode and power-down mode bits are both set high,
the normal sleep mode (SLP_CNT[8]) bit takes precedence.
General-Purpose Registers
The USER_SCR_x registers (see Tabl e 120, Table 121, Table 122,
and Table 123) provide four 16-bit registers for storing data.
Table 120. USER_SCR_1 (Page 2, Base Address = 0x74)
Bits Description
[15:0] User-defined
Table 121. USER_SCR_2 (Page 2, Base Address = 0x76)
Bits Description
[15:0] User-defined
Table 122. USER_SCR_3 (Page 2, Base Address = 0x78)
Bits Description
[15:0] User-defined
Table 123. USER_SCR_4 (Page 2, Base Address = 0x7A)
Bits Description
[15:0] User-defined
Real-Time Clock Configuration/Data
The VDDRTC power supply pin (see Table 5, Pin 23) provides
a separate supply for the real-time clock (RTC) function. This
enables the RTC to keep track of time, even when the main supply
(VDD) is off. Configure the RTC function by selecting one of
two modes in CONFIG[0] (see Table 74). The real-time clock
data is available in the TIME_MS_OUT register (see Table 124),
TIME_DH_OUT register (see Table 125), and TIME_YM_OUT
register (see Table 126). When using the elapsed timer mode,
the time data registers start at 0x0000 when the device starts
up (or resets) and begin keeping time in a manner that is
similar to a stopwatch. When using the clock/calendar mode,
write the current time to the real-time registers in the following
sequence: seconds (TIME_MS_OUT[5:0]), minutes (TIME_
MS_OUT[13:8]), hours (TIME_DH_OUT[5:0]), day
(TIME_DH_OUT[12:8]), month (TIME_YM_OUT[3:0]),
and year (TIME_YM_OUT[14:8]). The updates to the timer
do not become active until a successful write to the TIME_
YM_OUT[14:8] byte. The real-time clock registers reflect the
newly updated values only after the next seconds tick of the
clock that follows the write to TIME_YM_OUT[14:8] (year).
Writing to TIME_ YM_OUT[14:8] activates all timing values;
therefore, always write to this location last when updating the
timer, even if the year information does not require updating.
Write the current time to each time data register after setting
CONFIG[0] = 1 (DIN = 0x8003, DIN = 0x8A01). Note that
CONFIG[1] provides a bit for managing daylight savings time.
After the CONFIG and TIME_xx_OUT registers are
configured, set GLOB_CMD[3] = 1 (DIN = 0x8003, DIN =
0x8204, DIN = 0x8300) to back these settings up in flash, and
use a separate 3.3 V source to supply power to the VDDRTC
function. Note that access to time data in the TIME_xx_OUT
registers requires normal operation (VDD = 3.3 V and full
startup), but the timer function only requires that VDDRTC =
3.3 V when the rest of the ADIS16488 is turned off.
Table 124. TIME_MS_OUT (Page 0, Base Address = 0x78)
Bits Description
[15:14] Not used
[13:8] Minutes, binary data, range = 0 to 59
[7:6] Not used
[5:0] Seconds, binary data, range = 0 to 59
Table 125. TIME_DH_OUT (Page 0, Base Address = 0x7A)
Bits Description
[15:13] Not used
[12:8] Day, binary data, range = 1 to 31
[7:6] Not used
[5:0] Hours, binary data, range = 0 to 23
Table 126. TIME_YM_OUT (Page 0, Base Address = 0x7C)
Bits Description
[15] Not used
[14:8] Year, binary data, range = 0 to 99, relative to 2000 A.D.
[7:4] Not used
[3:0] Month, binary data, range = 1 to 12
ADIS16488 Data Sheet
Rev. B | Page 32 of 36
APPLICATIONS INFORMATION
PROTOTYPE INTERFACE BOARD
The ADIS16488/PCBZ includes one ADIS16488AMLZ, one
interface printed circuit board (PCB), and four M2 × 0.4 × 18 mm
machine screws. The interface PCB provides four holes for
ADIS16488AMLZ attachment and four larger holes for
attaching the interface PCB to another surface. The
ADIS16488AMLZ attachment holes are pre-tapped for M2 ×
0.4 mm machine screws and the four larger holes, located in
each corner, support attachment with M2.5 or #4 machine
screws. J1 is a dual-row, 2 mm (pitch) connector that works
with a number of ribbon cable systems, including 3M Part
Number 152212-0100-GB (ribbon crimp connector) and 3M Part
Number 3625/12 (ribbon cable). Note that J1 has 16 pads but
currently uses a 12-pin connector. The extra pins accommodate
future evaluation system plans.
Figure 27 provides the pin assignments for J1. The pin
descriptions match those listed in Table 5. The C1 and C2
locations provide solder pads for extra capacitors, which
can provide additional filtering for start-up transients and
supply noise.
10277-024
ADIS16488
MOUNTING
HOLES
6.35mm
58.42mm
64.77mm
66.04mm
59.69mm
6.35mm
1.65mm
11.30mm
Figure 26. Physical Diagram for the ADIS16488/PCBZ
1RST 2SCLK
3CS 4DOUT
5DNC 6DIN
7GND 8GND
9GND 10 VDD
11VDD 12 VDD
13DIO1 14 DIO2
15DIO3 16 DIO4
J1
10277-200
Figure 27. ADIS16488/PCBZ J1 Pin Assignments
INSTALLATION TIPS
Figure 28 and Figure 29 provide the mechanical design
information used for the ADIS16488/PCBZ. Use these
figures when implementing a connector-down approach,
where the mating connector and the ADIS16488AMLZ are on
the same surface. When designing a connector-up system, use
the mounting holes shown in Figure 28 as a guide in designing
the bulkhead mounting system and use Figure 29 as a guide in
developing the mating connector interface on a flexible circuit
or other connector system. The suggested torque setting for the
attachment hardware is 40 inch-ounces, or 0.2825 N-m.
10277-025
0.560 BS C 2×
ALIGNMENT HOLES
FOR MATING SOCKET
2.500 BS C 4×
19.800 BS C
39.600 BS C
42.600
21.300 BS C
5 BSC5 BSC
1.642 BS C
NOTES
1. ALL DIME NS IO NS IN mm UNI TS.
Figure 28. Suggested Mounting Hole Locations, Connector Down
0.4334 [11.0]
0.0240 [ 0.610]
0.019685
[0.5000]
(TYP)
0.054 [ 1.37]
0.0394 [ 1.00]
0.0394 [ 1.00] 0.1800
[4.57]
NONPLATED
THRU HOLE
0.022± DIA (TYP) 0.022 DIA THRU HOLE ( TYP )
NONPLATE D THRU HO LE
10277-026
Figure 29. Suggested Layout and Mechanical Design for the Mating Connector
Data Sheet ADIS16488
Rev. B | Page 33 of 36
OUTLINE DIMENSIONS
10-20-2010-B
BOTTOM VIEW
FRONT VIEW
44.254
44.000
43.746
42.854
42.600
42.346
47.254
47.000
46.746
14.254
14.000
13.746 3.454
3.200
2.946
39.854
39.600
39.346
Ø 2.40 BSC
(4 PLCS) 19.80 2.20 BSC
DETAIL A
DETAIL B
5.50
BSC
5.50
BSC
1.00 BS C
1.142 BS C
2.84 BS C
DETAIL A
DETAIL B
1.00 BS C
PITCH 0.30 S Q BSC
Figure 30. 24-Lead Module with Connector Interface [MODULE]
(ML-24-6)
Dimensions shown in millimeters
ORDERING GUIDE
Model1, 2 Temperature Range Package Description Package Option
ADIS16488AMLZ −40°C to +85°C 24-Lead Module with Connector Interface [MODULE] ML-24-6
ADIS16488/PCBZ Interface PCB
1 Z = RoHS Compliant Part.
2 The ADIS16488/PCBZ includes one ADIS16488AMLZ and one interface board PCB. See Figure 26 for more information on the interface PCB.
ADIS16488 Data Sheet
Rev. B | Page 34 of 36
NOTES
Data Sheet ADIS16488
Rev. B | Page 35 of 36
NOTES
ADIS16488 Data Sheet
Rev. B | Page 36 of 36
NOTES
©2011–2012 Analog Devices, Inc. All rights reserved. Trademarks and
registered trademarks are the property of their respective owners.
D10277-0-2/12(B)