i3g4250d
i3g4250d
i3g4250d
Applications
Industrial applications
Navigation systems and telematics
Motion control with MMI (man-machine
interface)
/*$ [[PP Appliances and robotics
Description
Features
The I3G4250D is a low-power 3-axis angular rate
Wide supply voltage: 2.4 V to 3.6 V sensor able to provide unprecedented stability at
Selectable full scale (245/500/2000 dps) zero-rate level and sensitivity over temperature
and time. It includes a sensing element and an IC
I2C/SPI digital output interface interface capable of providing the measured
16-bit rate value data output angular rate to the application through a standard
8-bit temperature data output SPI digital interface. An I2C compatible interface
is also available.
Two digital output lines (interrupt and data
ready) The sensing element is manufactured using a
dedicated micromachining process developed by
Integrated low- and high-pass filters with user-
STMicroelectronics to produce inertial sensors
selectable bandwidth
and actuators on silicon wafers.
Ultra-stable over temperature and time
The IC interface is manufactured using a CMOS
Low-voltage-compatible IOs (1.8 V) process that allows a high level of integration to
Embedded power-down and sleep mode design a dedicated circuit which is trimmed to
Embedded temperature sensor better match the characteristics of the sensing
element.
Embedded FIFO
The I3G4250D has a selectable full scale
High shock survivability
(±245/±500/±2000 dps) and is capable of
Extended operating temperature range measuring rates with a user-selectable
(-40 °C to +85 °C) bandwidth.
ECOPACK®, RoHS and “Green” compliant The I3G4250D is available in a plastic land grid
array (LGA) package and can operate within a
temperature range of -40 °C to +85 °C.
Contents
4 Application hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5 Digital interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1 I2C serial interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.1.1 I2C operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2 SPI bus interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2.1 SPI read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
5.2.2 SPI write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
7 Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.1 WHO_AM_I (0Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.2 CTRL_REG1 (20h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.3 CTRL_REG2 (21h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.4 CTRL_REG3 (22h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.5 CTRL_REG4 (23h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.6 CTRL_REG5 (24h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.7 REFERENCE/DATACAPTURE (25h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.8 OUT_TEMP (26h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.9 STATUS_REG (27h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.10 OUT_X_L (28h), OUT_X_H (29h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.11 OUT_Y_L (2Ah), OUT_Y_H (2Bh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.12 OUT_Z_L (2Ch), OUT_Z_H (2Dh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.13 FIFO_CTRL_REG (2Eh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.14 FIFO_SRC_REG (2Fh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.15 INT1_CFG (30h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.16 INT1_SRC (31h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.17 INT1_THS_XH (32h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.18 INT1_THS_XL (33h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.19 INT1_THS_YH (34h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.20 INT1_THS_YL (35h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.21 INT1_THS_ZH (36h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.22 INT1_THS_ZL (37h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.23 INT1_DURATION (38h) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
8 Package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.1 LGA-16 package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
9 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
List of tables
List of figures
Ȱ
[\]
;
&+$5*( 0,;(5 /2:3$66
<
$03 ),/7(5 )
= '
, ,
/ &6
0 $ *
' 7 ,& 6&/63&
8 ,
; & ( 63, 6'$6'26',
= 7 6'2
$ 5
< ,
/ 1
; *
7
(
0
6
3
( ( $
1 '
'5,9,1*0$66 5
6 &
$
2
7
5
8
)HHGEDFNORRS 5
(
The vibration of the structure is maintained by drive circuitry in a feedback loop. The sensing
signal is filtered and appears as a digital signal at the output.
Ȱ
=
*1'
5(6
9GG
;
Ȱ
< 5(6 9GGB,2
5(6 %27720 6&/63&
9,(:
5(6 6'$6',6'2
Ȱ 5(6 6'26$
;
5(6
&6
,17
'5'<,17
7239,(:
',5(&7,2162)7+(
'(7(&7$%/(
$1*8/$55$7(6
&DSDFLWRUIRU
/RZSDVVILOWHU
WRSLQ &
& 5
*1'
C1 10 nF
C2 470 nF
R2 10 k
a. The product is factory calibrated at 3.0 V. The operational power supply range is specified in Table 5.
Temperature sensor
TSDr output change vs. -1 °C/digit
temperature
TODR Temperature refresh rate 1 Hz
Operating temperature
Top -40 +85 °C
range
1. Typical specifications are not guaranteed; typical values at +25 °C.
&6
63&
WVX 6, WK 6,
WY 62 WK 62 WGLV 62
Note: Measurement points are done at 0.2·Vdd_IO and 0.8·Vdd_IO, for both input and output
ports.
5(3($7('
67$57
67$57
WVX 65
WZ 6365 67$57
6'$
WVX 63 6723
6&/
Note: Measurement points are done at 0.2·Vdd_IO and 0.8·Vdd_IO, for both ports.
2.6 Terminology
2.6.1 Sensitivity
An angular rate gyroscope is a device that produces a positive-going digital output for
counter-clockwise rotation around the axis considered. Sensitivity describes the gain of the
sensor and can be determined by applying a defined angular velocity to it. This value
changes very little over temperature and time.
2XWB6HO
'DWD5HJ
),)2
/3) [[
$'& /3) +3) ,&
63,
+3HQ ,17B6HO
,QWHUUXSW
JHQHUDWRU
6&55(*
&21)5(*
,17
3.2 FIFO
The I3G4250D embeds a 32-slot, 16-bit data FIFO for each of the three output channels:
yaw, pitch, and roll. This allows consistent power saving for the system, as the host
processor does not need to continuously poll data from the sensor. Instead, it can wake up
only when needed and burst the significant data out from the FIFO. This buffer can work in
three different modes. Each mode is selected by the FIFO_MODE bits in FIFO_CTRL_REG
(2Eh). Programmable watermark level, FIFO_empty or FIFO_Full events can be enabled to
generate dedicated interrupts on the DRDY/INT2 pin (configured through CTRL_REG3
(22h)), and event detection information is available in FIFO_SRC_REG (2Fh). The
watermark level can be configured using the WTM4:0 bits in FIFO_CTRL_REG (2Eh).
[L\L]L
[ \ ]
[ \ ]
[ \ ]
HPSW\
[ \ ]
[L\L]L
[ \ ]
[ \ ]
[ \ ]
[ \ ]
[L\L]L
[ \ ]
[ \ ]
[ \ ]
[ \ ]
[ \ ]
The read from FIFO may be executed either in synchronous or asynchronous mode. For
correct data acquisition, the following points must be respected:
1. If reading is synchronous, all data should be acquired within one ODR cycle
2. If reading is asynchronous, an appropriate FIFO access sequence must be applied:
a) Single read from register 28h
b) Multi-read: sequentially reading 2Ah, 2Bh, 2Ch, 2Dh, 28h, 29h
c) This procedure must be repeated for each dataset (X/Y/Z) in the FIFO:
– FSS times, if FSS 31
– (FSS + 1) times, if (FSS = 31) & (OVR =1)
Figure 10 illustrates the correct sequence with a flow diagram:
If the above sequence is not followed, the acquisition from FIFO may lead to corrupted data.
4 Application hints
Q) )
;
Ȱ<
3//),/7
9GG
Ȱ; 9GGB,2
*1'
N2KP Q)
&6 '5 ,17
5 &
9GG,&EXV
6&/63&
6'$B6',B6'2
3XOOXSWREHDGGHGZKHQ,&LQWHUIDFHLVXVHG
Power supply decoupling capacitors (100 nF ceramic or polyester +10 μF) should be placed
as near as possible to the device (common design practice).
If Vdd and Vdd_IO are not connected together, power supply decoupling capacitors
(100 nF and 10 μF between Vdd and common ground, 100 nF between Vdd_IO and
common ground) should be placed as near as possible to the device (common design
practice).
The I3G4250D IC includes a PLL (phase-locked loop) circuit to synchronize driving and
sensing interfaces. Capacitors and resistors must be connected to the PLLFILT pin (as
shown in Figure 11) to implement a second-order low-pass filter. Table 10 summarizes the
PLL low-pass filter component values.
C1 10 nF ± 10%
C2 470 nF ± 10%
R2 10 k ± 10%
5 Digital interfaces
The registers embedded in the I3G4250D may be accessed through both the I2C and SPI
serial interfaces. The latter may be software-configured to operate either in 3-wire or 4-wire
interface mode.
The serial interfaces are mapped to the same pins. To select/exploit the I2C interface, the
CS line must be tied high (i.e., connected to Vdd_IO).
SPI enable
CS I2C/SPI mode selection (1: SPI idle mode / I2C communication enabled;
0: SPI communication mode / I2C disabled)
I2C serial clock (SCL)
SCL/SPC
SPI serial port clock (SPC)
I2C serial data (SDA)
SDA/SDI/SDO SPI serial data input (SDI)
3-wire interface serial data output (SDO)
SPI serial data output (SDO)
SDO
I2C least significant bit of the device address
There are two signals associated with the I2C bus: the serial clock line (SCL) and the serial
data line (SDA). The latter is a bi-directional line used for sending and receiving the data
to/from the interface. Both lines must be connected to Vdd_IO through an external pull-up
resistor. When the bus is free both the lines are high.
The I2C interface is compliant with fast mode (400 kHz) I2C standards as well as with
normal mode.
Table 16. Transfer when master is receiving (reading) one byte of data from slave
Master ST SAD + W SUB SR SAD + R NMAK SP
Slave SAK SAK SAK DATA
Table 17. Transfer when master is receiving (reading) multiple bytes of data from slave
Master ST SAD+W SUB SR SAD+R MAK MAK NMAK SP
Slave SAK SAK SAK DATA DATA DATA
Data are transmitted in byte format (DATA). Each data transfer contains 8 bits. The number
of bytes transferred per transfer is unlimited. Data is transferred with the most significant bit
(MSb) first. If a receiver cannot receive another complete byte of data until it has performed
some other function, it can hold the clock line SCL LOW to force the transmitter into a wait
state. Data transfer only continues when the receiver is ready for another byte and releases
the data line. If a slave receiver does not acknowledge the slave address (i.e., it is not able
to receive because it is performing some real-time function) the data line must be left HIGH
by the slave. The master can then abort the transfer. A LOW to HIGH transition on the SDA
line while the SCL line is HIGH is defined as a STOP condition. Each data transfer must be
terminated by the generation of a STOP (SP) condition.
In order to read multiple bytes, it is necessary to assert the most significant bit of the sub-
address field. In other words, SUB(7) must be equal to 1, while SUB(6-0) represents the
address of the first register to be read.
In the presented communication format, MAK is “master acknowledge” and NMAK is “no
master acknowledge”.
&6
63&
6',
5: ', ', ', ', ', ', ', ',
06 $' $' $' $' $' $'
6'2
'2 '2 '2 '2 '2 '2 '2 '2
CS is the serial port enable and is controlled by the SPI master. It goes low at the start of the
transmission and returns to high at the end. SPC is the serial port clock and is controlled by
the SPI master. It is stopped high when CS is high (no transmission). SDI and SDO are,
respectively, the serial port data input and output. These lines are driven at the falling edge
of SPC and should be captured at the rising edge of SPC.
Both the read register and write register commands are completed in 16 clock pulses, or in
multiples of 8 in case of multiple read/write bytes. Bit duration is the time between two falling
edges of SPC. The first bit (bit 0) starts at the first falling edge of SPC after the falling edge
of CS while the last bit (bit 15, bit 23, etc.) starts at the last falling edge of SPC just before
the rising edge of CS.
Bit 0: RW bit. When 0, the data DI(7:0) is written to the device. When 1, the data DO(7:0)
from the device is read. In the latter case, the chip drives SDO at the start of bit 8.
Bit 1: MS bit. When 0, the address remains unchanged in multiple read/write commands.
When 1, the address is auto-incremented in multiple read/write commands.
Bit 2-7: address AD(5:0). This is the address field of the indexed register.
Bit 8-15: data DI(7:0) (write mode). This is the data that is written to the device (MSb first).
Bit 8-15: data DO(7:0) (read mode). This is the data that is read from the device (MSb first).
In multiple read/write commands, further blocks of 8 clock periods are added. When the MS
bit is 0, the address used to read/write data remains the same for every block. When the MS
bit is 1, the address used to read/write data is incremented at every block.
The function and the behavior of SDI and SDO remain unchanged.
&6
63&
6',
5:
06 $' $' $' $' $' $'
6'2
'2 '2 '2 '2 '2 '2 '2 '2
The SPI read command is performed with 16 clock pulses. A multiple byte read command is
performed by adding blocks of 8 clock pulses to the previous one.
Bit 0: READ bit. The value is 1.
Bit 1: MS bit. When 0, does not increment address; when 1, increments address in multiple
reads.
Bit 2-7: address AD(5:0). This is the address field of the indexed register.
Bit 8-15: data DO(7:0) (read mode). This is the data that is read from the device (MSb first).
Bit 16-...: data DO(...-8). Further data in multiple byte reads.
&6
63&
6',
5:
06 $' $' $' $' $' $'
6'2
'2 '2 '2 '2 '2 '2 '2 '2 '2
'2
'2
'2
'2
'2
'2 '2
&6
63&
6',
5: ', ', ', ', ', ', ', ',
06 $' $' $' $' $' $'
The SPI write command is performed with 16 clock pulses. A multiple byte write command
is performed by adding blocks of 8 clock pulses to the previous one.
Bit 0: WRITE bit. The value is 0.
Bit 1: MS bit. When 0, does not increment address; when 1, increments address in multiple
writes.
Bit 2 -7: address AD(5:0). This is the address field of the indexed register.
Bit 8-15: data DI(7:0) (write mode). This is the data that is written to the device (MSb first).
Bit 16-...: data DI(...-8). Further data in multiple byte writes.
&6
63&
6',
', ', ', ', ', ', ', ', ',',',',',',', ',
5:
06 $' $' $' $' $' $'
&6
63&
6',2
5: '2 '2 '2 '2 '2 '2 '2 '2
06 $' $' $' $' $' $'
Table 18 below provides a list of the 8-bit registers embedded in the device and the
corresponding addresses.
Reserved - 00-0E - -
WHO_AM_I r 0F 000 1111 11010011
Reserved - 10-1F - -
CTRL_REG1 rw 20 010 0000 00000111
CTRL_REG2 rw 21 010 0001 00000000
CTRL_REG3 rw 22 010 0010 00000000
CTRL_REG4 rw 23 010 0011 00000000
CTRL_REG5 rw 24 010 0100 00000000
REFERENCE/DATACAPTURE rw 25 010 0101 00000000
OUT_TEMP r 26 010 0110 Output
STATUS_REG r 27 010 0111 Output
OUT_X_L r 28 010 1000 Output
OUT_X_H r 29 010 1001 Output
OUT_Y_L r 2A 010 1010 Output
OUT_Y_H r 2B 010 1011 Output
OUT_Z_L r 2C 010 1100 Output
OUT_Z_H r 2D 010 1101 Output
FIFO_CTRL_REG rw 2E 010 1110 00000000
FIFO_SRC_REG r 2F 010 1111 Output
INT1_CFG rw 30 011 0000 00000000
INT1_SRC r 31 011 0001 Output
INT1_THS_XH rw 32 011 0010 00000000
INT1_THS_XL rw 33 011 0011 00000000
INT1_THS_YH rw 34 011 0100 00000000
INT1_THS_YL rw 35 011 0101 00000000
INT1_THS_ZH rw 36 011 0110 00000000
INT1_THS_ZL rw 37 011 0111 00000000
INT1_DURATION rw 38 011 1000 00000000
Registers marked as Reserved must not be changed. Writing to those registers may change
calibration data and therefore lead to device malfunction.
The content of the registers that are loaded at boot should not be changed. They contain the
factory calibration values. Their content is automatically restored when the device is
powered up.
7 Register description
The device contains a set of registers which are used to control its behavior and to retrieve
rate data. The register addresses, made up of 7 bits, are used to identify them and to write
the data through the serial interface.
DR[1:0] is used to set ODR selection. BW [1:0] is used to set bandwidth selection.
In the following table (Table 22) all frequencies resulting in a combination of DR / BW bits
are given.
00 00 100 12.5
00 01 100 25
00 10 100 25
00 11 100 25
01 00 200 12.5
01 01 200 25
01 10 200 50
01 11 200 70
10 00 400 20
10 01 400 25
10 10 400 50
10 11 400 110
11 00 800 30
11 01 800 35
11 10 800 50
11 11 800 110
A combination of PD, Zen, Yen, and Xen are used to set the device in different modes
(power-down / normal / sleep mode) according to the following table.
Power-down 0 - - -
Sleep 1 0 0 0
Normal 1 - - -
0000 8 15 30 56
0001 4 8 15 30
0010 2 4 8 15
0011 1 2 4 8
0100 0.5 1 2 4
0101 0.2 0.5 1 2
0110 0.1 0.2 0.5 1
0111 0.05 0.1 0.2 0.5
1000 0.02 0.05 0.1 0.2
1001 0.01 0.02 0.05 0.1
0 0 Normal mode
0 1 Self-test 0 (+)(1)
1 0 --
1 1 Self-test 1 (-)(1)
1. DST sign (absolute value in Table 4).
'DWD5HJ
),)2
[[
/3)
$'& /3) +3)
+3HQ ,17B6HO>@
,QWHUUXSW
JHQHUDWRU
0 0 0 Bypass mode
0 0 1 FIFO mode
0 1 0 Stream mode
The D6 - D0 bits set the minimum duration of the interrupt event to be recognized. Duration
steps and maximum values depend on the ODR chosen.
The WAIT bit has the following meaning:
Wait = ’0’: the interrupt falls immediately if the signal crosses the selected threshold.
Wait = ’1’: if the signal crosses the selected threshold, the interrupt falls only after the
duration has counted a number of samples at the selected data rate, written into the
duration counter register.
5DWH
GSV
5DWH
W Q 7KUHVKROG
&RXQWHU
'XUDWLRQ
9DOXH
W Q
,QWHUUXSW
³:DLW´
'LVDEOHG
W Q
5DWH
GSV
5DWH
W Q 7KUHVKROG
&RXQWHU
'XUDWLRQ
9DOXH
W Q
,QWHUUXSW ³:DLW´
(QDEOHG
W Q
'XUDWLRQYDOXHLVWKHVDPHXVHGWRYDOLGDWHLQWHUUXSW
8 Package information
'LPHQVLRQV
$
$
$
G
'
(
/
0
1
1
3
3
7
/*$ [[PP
7 /DQG*ULG$UUD\3DFNDJH
N
B$
9 Revision history
STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and
improvements to ST products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on
ST products before placing orders. ST products are sold pursuant to ST’s terms and conditions of sale in place at the time of order
acknowledgement.
Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or
the design of Purchasers’ products.
Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
ST and the ST logo are trademarks of ST. All other product or service names are the property of their respective owners.
Information in this document supersedes and replaces information previously supplied in any prior versions of this document.