Si4430/31/32-B1
46
Rev 1.1
6.5. Data Whitening, Manchester Encoding, and CRC
Data whitening can be used to avoid extended sequences of 0s or 1s in the transmitted data stream to achieve a
more uniform spectrum. When enabled, the payload data bits are XORed with a pseudorandom sequence output
from the built-in PN9 generator. The generator is initialized at the beginning of the payload. The receiver recovers
the original data by repeating this operation. Manchester encoding can be used to ensure a dc-free transmission
and good synchronization properties. When Manchester encoding is used, the effective datarate is unchanged but
the actual datarate (preamble length, etc.) is doubled due to the nature of the encoding. The effective datarate
when using Manchester encoding is limited to 128 kbps. The implementation of Manchester encoding is shown in
Figure 24. Data whitening and Manchester encoding can be selected with "Register 70h. Modulation Mode Control
1". The CRC is configured via "Register 30h. Data Access Control." Figure 23 demonstrates the portions of the
packet which have Manchester encoding, data whitening, and CRC applied. CRC can be applied to only the data
portion of the packet or to the data, packet length and header fields. Figure 24 provides an example of how the
Manchester encoding is done and also the use of the Manchester invert (enmaniv) function.
Figure 23. Operation of Data Whitening, Manchester Encoding, and CRC
Figure 24. Manchester Coding Example
6.6. Preamble Detector
The Si4430/31/32 has integrated automatic preamble detection. The preamble length is configurable from 1255
bytes using the prealen[7:0] field in "Register 33h. Header Control 2" and "Register 34h. Preamble Length", as
described in 6.2. Packet Configuration. The preamble detection threshold, preath[4:0] as set in "Register 35h.
Preamble Detection Control 1", is in units of 4 bits. The preamble detector searches for a preamble pattern with a
length of preath[4:0].
If a false preamble detect occurs, the receiver will continuing searching for the preamble when no sync word is
detected. Once preamble is detected (false or real) then the part will then start searching for sync. If no sync occurs
then a timeout will occur and the device will initiate search for preamble again. The timeout period is defined as the
sync word length plus four bits and will start after a non-preamble pattern is recognized after a valid preamble
detection. The preamble detector output may be programmed onto one of the GPIO or read in the interrupt status
registers.
Preamble
Sync
Header/
Address
PK
Length
Data
CRC
CRC
(Over data only)
CRC
Whitening
Manchester
Data before Mancheste
Data after Machester ( manppol = 1, enmaninv = 0)
Data after Machester ( manppol = 1, enmaninv = 1)
Data before Manchester
Data after Machester ( manppol = 0, enmaninv = 0)
Data after Machester ( manppol = 0, enmaninv = 1)
1    1
1
1
1
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
Preamble = 0xFF
First 4bits of the synch. word = 0x2
Preamble = 0x00
First 4bits of the synch. word = 0x2
0
0
0
1
0