
SP37
Tire Pressure Monitoring Sensor
ROM Library Functions
ROM Library Function Guide
123
Revision 1.0, 2011-12-15
2.38
Send_RF_Telegram()
This ROM Library Function performs many of the critical tasks required to transmit RF telegrams, resulting in
simplified and smaller application code.
2.38.1
Description
In principle, transmission of an RF telegram using the SP37 can be divided into two distinct portions: RF Peripheral
Initialization, and RF Data Transmission. In the case of the Send_RF_Telegram() function, the application
program must perform the Initialization, and the Send_RF_Telegram() function addresses Data Transmission. To
permit arbitrary RF telegram formats, an interpreted table-driven approach is employed. The Data Transmission
portion relies upon a Pattern Descriptor Table (PDT) to define the format and content of the RF telegram. At the
end of the Data Transmission portion, the Crystal Oscillator and RF Transmitter circuitry are disabled.
Prior to calling the Send_RF_Telegram() function, the following Initialization actions must be completed:
•
The RF Transmitter SFR RFTX must be configured to select the appropriate Frequency Band, Output Power,
etc. Refer to the SFR RFTX description of the datasheet.
•
The Crystal Oscillator must be enabled via the StartXtalOsc() ROM Library function (Ref. to
).
•
The RF PLL must be enabled and initialized via the VCO_Tuning( ) ROM Library function (Ref. to
•
An RF Telegram Pattern Descriptor Table must be placed into RAM (see below for more details).
Note: Additionally, if the randomized delay capability of Send_RF_Telegram() is used, it is strongly recommended
to seed the Pseudo-Random Number generator with a value unique to each sensor (e.g. the LSB of the
unique Sensor ID) in order to obtain better randomization. This is particularly important if the random delay
is used as part of an “anti-collision” technique to prevent overlapping RF telegrams from two different sensor
modules.
After successful Initialization, the application code may call the Send_RF_Telegram() function.
Only two parameters are required by this function to completely specify the RF telegram: the desired baud rate
and the starting RAM address of the PDT. If an error is encountered while parsing the PDT, the
Send_RF_Telegram() function will terminate with a return code of -1.
2.38.1.1 Baud Rate parameter
The baud rate parameter is a formal parameter passed to the Send_RF_Telegram() function. This is an integer
value, 1LSB = 1BPS. The Send_RF_Telegram function configures the SP37 Timer peripheral with the appropriate
mode, and calculates the required timer reload value using the crystal frequency stored in the flash User
Configuration Sector (reference here). The baud rate parameter must be between 13 and 10000, the minimum
and maximum supported baud rates.
2.38.1.2 Pattern Descriptor table
The Pattern Descriptor Table (PDT) provides a flexible means to transmit an RF telegram of arbitrary structure
and content. A PDT begins with a Start of Table indicator, followed by one or more Pattern Descriptor entries, and
concludes with an End of Table indicator. A conceptual diagram of a PDT is shows in
Figure 16
Datagram format
Pattern Descriptor #1
Pattern Descriptor #n
End of Table
START of TABLE