Si1000/1/2/3/4/5
Table 23.4. Packet Handler Registers
Add R/W Function/Description
D7
D6
D5
D4
D3
D2
D1
D0
POR
Def
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
41
42
43
44
45
46
47
48
49
4A
4B
R/W
R
Data Access Control
EzMAC status
enpacrx
0
lsbfrst
rxcrc1
crcdonly
pksrch
skip2ph
pkrx
enpactx
pkvalid
encrc
crc[1]
pktx
crc[0]
8Dh
—
crcerror
pksent
R/W
R/W
R/W
Header Control 1
Header Control 2
Preamble Length
bcen[3:0]
hdch[3:0]
0Ch
skipsyn
hdlen[2]
hdlen[1]
hdlen[0]
fixpklen
synclen[1] synclen[0] prealen[8] 22h
prealen[7] prealen[6] prealen[5] prealen[4] prealen[3] prealen[2] prealen[1] prealen[0] 08h
R/W Preamble Detection Control preath[4]
preath[3]
sync[30]
sync[22]
sync[14]
sync[6]
preath[2]
sync[29]
sync[21]
sync[13]
sync[5]
preath[1]
sync[28]
sync[20]
sync[12]
sync[4]
preath[0]
sync[27]
sync[19]
sync[11]
sync[3]
rssi_off[2] rssi_off[1] rssi_off[0]
2Ah
2Dh
D4h
00h
00h
00h
00h
00h
00h
00h
00h
00h
00h
00h
FFh
FFh
FFh
FFh
—
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R
Sync Word 3
Sync Word 2
sync[31]
sync[23]
sync[15]
sync[7]
sync[26]
sync[18]
sync[10]
sync[2]
sync[25]
sync[17]
sync[9]
sync[1]
txhd[25]
txhd[17]
txhd[9]
sync[24]
sync[16]
sync[8]
sync[0]
txhd[24]
txhd[16]
txhd[8]
Sync Word 1
Sync Word 0
Transmit Header 3
Transmit Header 2
Transmit Header 1
Transmit Header 0
Transmit Packet Length
Check Header 3
Check Header 2
Check Header 1
Check Header 0
Header Enable 3
Header Enable 2
Header Enable 1
Header Enable 0
Received Header 3
Received Header 2
Received Header 1
Received Header 0
Received Packet Length
txhd[31]
txhd[23]
txhd[15]
txhd[7]
txhd[30]
txhd[22]
txhd[14]
txhd[6]
txhd[29]
txhd[21]
txhd[13]
txhd[5]
txhd[28]
txhd[20]
txhd[12]
txhd[4]
txhd[27]
txhd[19]
txhd[11]
txhd[3]
txhd[26]
txhd[18]
txhd[10]
txhd[2]
txhd[1]
txhd[0]
pklen[7]
chhd[31]
chhd[23]
chhd[15]
chhd[7]
hden[31]
hden[23]
hden[15]
hden[7]
rxhd[31]
rxhd[23]
rxhd[15]
rxhd[7]
pklen[6]
chhd[30]
chhd[22]
chhd[14]
chhd[6]
hden[30]
hden[22]
hden[14]
hden[6]
rxhd[30]
rxhd[22]
rxhd[14]
rxhd[6]
pklen[5]
chhd[29]
chhd[21]
chhd[13]
chhd[5]
hden[29]
hden[21]
hden[13]
hden[5]
rxhd[29]
rxhd[21]
rxhd[13]
rxhd[5]
pklen[4]
chhd[28]
chhd[20]
chhd[12]
chhd[4]
hden[28]
hden[20]
hden[12]
hden[4]
rxhd[28]
rxhd[20]
rxhd[12]
rxhd[4]
pklen[3]
chhd[27]
chhd[19]
chhd[11]
chhd[3]
hden[27]
hden[19]
hden[11]
hden[3]
rxhd[27]
rxhd[19]
rxhd[11]
rxhd[3]
pklen[2]
chhd[26]
chhd[18]
chhd[10]
chhd[2]
hden[26]
hden[18]
hden[10]
hden[2]
rxhd[26]
rxhd[18]
rxhd[10]
rxhd[2]
pklen[1]
chhd[25]
chhd[17]
chhd[9]
chhd[1]
hden[25]
hden[17]
hden[9]
hden[1]
rxhd[25]
rxhd[17]
rxhd[9]
pklen[0]
chhd[24]
chhd[16]
chhd[8]
chhd[0]
hden[24]
hden[16]
hden[8]
hden[0]
rxhd[24]
rxhd[16]
rxhd[8]
R
—
R
—
R
rxhd[1]
rxhd[0]
—
R
rxplen[7]
rxplen[6]
rxplen[5]
rxplen[4]
rxplen[3]
rxplen[2]
rxplen[1]
rxplen[0]
—
23.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 pay-
load. 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 23.18. 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.17 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 23.18 provides an example of how the
Manchester encoding is done and also the use of the Manchester invert (enmaniv) function.
Rev. 1.0
265