© 2015 Fairchild Semiconductor Corporation www.fairchildsemi.com
FIS1100 • Rev. 1.2 32
FIS1100 — 6D Inertial Measurement Unit with Motion Co-Processor
5.7.5 CTRL9 Commands in Detail
CTRL_CMD_RST_AHPF
This CTRL command of writing 0x03 to the CTRL9
register 0x0A allows the host to instruct the device to
reset the accelerometer high-pass filter.
CTRL_CMD_RST_GHPF
This CTRL9 command of writing 0x04 to the CTRL9
register 0x0A allows the host to instruct the device to
reset the gyroscope high-pass Filter.
CTRL_CMD_AE_MAG_OFFSET
This CTRL9 Command is issued to configure the AE
with specific magnetometer offset data. The X,Y & Z
magnetometer offset are provided to the device from the
host. They are 16 bit each and programmed into the
CAL1 to CAL3 registers respectively.
CTRL_CMD_AE_GYRO_OFFSET
This CTRL9 Command is issued to configure the AE
with specific Gyro offset data required for dQ
computations. The X,Y & Z gyro bias specific for AE
engine are provided to the device from the host. They
are 16 bit each and programmed into the CAL1 to CAL3
registers respectively.
CTRL_CMD_REQ_MoD
This CTRL9 command is used to retrieve motion data
from the FIS1100 when Motion on Demand mode (MoD)
is enabled. To enable MoD the device should have the
AttitudeEngine orientation enabled. This can be done by
enabling the AttitudeEngine by setting CTRL7 Bit 3
(sEN) to 1. Then the MoD mode can be enabled by
setting CTRL6 Bit 7 (sMoD) to 1. The
CTRL_CMD_REQ_MoD command is then issued by
writing 0x0C to CTRL9 register 0x0A. This indicates to
the FIS1100 that it is required to supply the motion data
to the host. The device immediately makes available the
orientation and velocity increments it has computed so
far to the host by making it available at output registers
0x25 to 0x3D and raise the INT1 to indicate to the host
that valid data is available.
CTRL_CMD_HOST_ACCEL_OFFSET
This CTRL9 command is issued when the host wants to
tune the accelerometer offset. The incremental value of
the offset should be 16 bit 2‟s complement format with 5
bits for signed integer and 11 bits fraction. The value
should be placed into the CAL1 to CAL3 register for X,
Y, and Z, respectively. The new value provided here will
be subtracted from the accelerometer base offset value.
The new value is used for dynamic calibration. There
will be a delay of up to 3 output samples before this
takes effect. Once the host has loaded the offset values
in the CALx registers it needs to issue the CTRL9
command by writing the 0x12 to CTRL9 register 0x0A.
CTRL_CMD_HOST_GYRO_OFFSET
This CTRL9 command is issued when the host wants to
tune the gyroscope offset. The incremental value of the
offset should be 16 bit 2‟s complement format with 10
bits for signed integer and 6 bits fraction. The value
should be placed into the CAL1 to CAL3 registers for X,
Y, and Z, respectively. The new value provided here is
subtracted from the gyroscope base offset value. The
new value is used for dynamic calibration. There will be
a delay of up to 3 output samples before this takes
effect. Once the host has loaded the offset values in the
CALx registers it needs to issue the CTRL9 command
by writing 0x13 to CTRL9 register 0x0A.
CTRL_CMD_MAG_SKOR_X
This CTRL9 Command is issued to configure the
Magnetometer device calibration value. The X Offset,
Scale and 2 skew values are provided to the device
from the host. They are 16 bits each and programmed
into the CAL1 to CAL4 registers. Once the host has
loaded the offset values in the CALx registers it needs
to issue the CTRL9 command by writing the 0x06 to
CTRL9 register 0x0a.
CTRL_CMD_MAG_SKOR_Y
This CTRL9 Command is issued to configure the
magnetometer device with the calibration value. The Y
offset, scale and 2 skew values are provided to the
device from the host. They are 16 bits each and
programmed into the CAL1 to CAL4 registers. Once the
host has loaded the offset values in the CALx registers it
needs to issue the CTRL9 command by writing 0x07 to
CTRL9 register 0x0A.
CTRL_CMD_MAG_SKOR_Z
This CTRL9 Command is issued to configure the
magnetometer device with the calibration value. The Z
offset, scale and 2 skew values are provided to the
device from the host. They are 16 bits each and
programmed into the CAL1 to CAL4 registers. Once the
host has loaded the offset values in the CALx registers it
needs to issue the CTRL9 command by writing 0x08 to
CTRL9 register 0x0A.
CTRL_CMD_GET_TCYCLE
This CTRL9 Command can only be issued when the
FIS1100 is in the AE Mode. The Host can issue this
command to get the exact time in milliseconds between
samples (for example 1 Hz ODR may not be exactly 1
sec but could be 0.998 seconds). This command is
issued by writing 0x18 to CTRL9 register 0x0A.
CTRL_CMD_REQ_FIFO
This CTRL9 Command is issued when the host wants to
get data from the FIFO. When the FIFO is enabled it will
be indicated to the host by asserting INT2 and thus
signaling that a flag condition (like FIFO full) has been
reached and that data is available to be read by the
host. This Command is issued by writing 0x0D to the
CTRL9 register 0x0A. The device will raise INT1 to
indicate that it is ready for a FIFO transaction. The host
must read the STATUS1 register bit 0 (CmdDone). At
this point the host should set the FIFO_rd_mode Bit to 1
(FIFO_CTRL register 0x13 bit 7). The device will direct
the FIFO data to the FIFO_DATA register 0x14 until the
FIFO is empty. The host must now set FIFO_rd_mode
to 0 which will cause the INT2 to be de-asserted.
CTRL_CMD_RST_FIFO
This CTRL9 command of writing 0x02 to the Ctrl9
register 0x0a allows the host to instruct the device to
reset the FIFO.