FXTH870xD
Sensors
Freescale Semiconductor, Inc.
133
14
Firmware
This section describes the software subroutines contained in the firmware section of the FLASH memory that the user can call
for various tasks and to reduce the software development time for the main internal operations.
14.1
Software Jump Table
All subroutines are accessed through a jump table located at the bottom of the firmware FLASH memory as described in
Table 86
.
This allows upgrades in firmware without changing the software code of the user. All subroutines should be accessed with the
JSR instruction.
14.2
Function Documentation
The following subsections describe the details of the firmware routines. Further details can be found in the latest version of the
FXTH870xD Embedded Firmware User Guide.
14.2.1
General Rules
1.
No output parameter can use the extreme codes (all zero’s or all one’s).
2.
The all zero’s output code will always indicate a fault and the status byte will indicate the source of the error.
3.
While firmware is processing, CPU resources are unavailable for application.
4.
Each measured parameter will return a limit code ($00, $FF or $1FF) if an error occurs in its acquisition, except for the
external ADC voltage measurements on the PTA[1:0] pins.
5.
External ADC voltage measurements on the PTA[1:0] pins will return a full range code that is ratiometric to the supply
voltage.
14.2.1.1
FXTH870x02 Single Z-axis Firmware Routines
The details on the use and execution of each firmware routine is documented in the CodeWarrior project file that is supplied by
Freescale. Any future updates to these firmware routines will be contained in that file. A summary of the firmware routines
available is given in
Table 86
.
The firmware table is comprised of 3-byte entries where the first byte is the operational code for the JMP instruction, and the
following two bytes are the absolute address pointing to the location of the firmware function.
Table 86. FXTH870x02 Single Z-axis Firmware Summary and Jump Table
Address
Routine
Description
E000
TPMS_RESET
Master reset of complete device
E003
TPMS_READ_VOLTAGE
10-bit uncompensated bandgap voltage reading
E006
TPMS_COMP_VOLTAGE
8-bit compensation of 10-bit voltage reading
E009
TPMS_READ_TEMPERATURE
10-bit uncompensated temperature reading
E00C
TPMS_COMP_TEMPERATURE
8-bit compensation of 10-bit temperature reading
E00F
TPMS_READ_PRESSURE
10-bit uncompensated pressure reading
E012
TPMS_COMP_PRESSURE
9-bit compensation of 10-bit pressure reading
E015
TPMS_READ_ACCELERATION
10-bit uncompensated acceleration reading
E018
TPMS_COMP_ACCELERATION
9-bit compensation of 10-bit acceleration reading
E01B
TPMS_READ_V0
10-bit uncompensated voltage reading on PTA0 pin
E01E
TPMS_READ_V1
10-bit uncompensated voltage reading on PTA1 pin
E021
TPMS_LFOCAL LFO
clock
calibration
E024
TPMS_MFOCAL
MFO clock calibration
E027
TPMS_WAVG
Weighted average (2, 4, 8, 16 or 32)
E02A
TPMS_RF_RESET
Master reset of RFM
E02D
TPMS_RF_READ_DATA
Read RFM data buffer
E030
TPMS_RF_READ_DATA_REVERSE
Read RFM data buffer in reverse bit order
E033
TPMS_RF_WRITE_DATA
Write RFM data buffer
E036
TPMS_RF_WRITE_DATA_REVERSE
Write RFM data buffer in reverse bit order
E039
TPMS_RF_CONFIG_DATA Configure
RFM
Summary of Contents for FXTH870 D Series
Page 86: ...FXTH870xD Sensors 84 Freescale Semiconductor Inc Figure 57 Data Flow For Measurements...
Page 171: ...FXTH870xD Sensors Freescale Semiconductor Inc 169 Figure 128 QFN Case Outline...
Page 172: ...FXTH870xD Sensors 170 Freescale Semiconductor Inc Figure 129 QFN Case Outline...
Page 173: ...FXTH870xD Sensors Freescale Semiconductor Inc 171...