Manchester Encoding

Many legacy protocols use manchester encoding to increase robustness. This is not needed on modern devices like the CC13x2 and CC26x2 and we do not recommend using manchester encoding. Manchester encoding consumes half the channel bandwidth and reduces spectral efficiency. Instead, the CC13x2 and CC26x2 offers a powerful sync word correlator. It also provides whitening in order to improve the spectral efficiency.

The CC13x2 and CC26x2 supports manchester encoding of the payload and the CRC only. Since the sync word is not encoded, it must be done manually which limits the effective length to 16 bits.

Manchester encoding of the preamble is only possible via an additional override:

// Set new preamble pattern 1100110011001100 (0xCCCC)
(uint32_t)0xCCCC0043,

The pattern length is limited to 16 bits and will be repeated afterwards, depending on the configured preamble length in the setup command.

  • Enable manchester coding by setting PROP_RADIO_DIV_SETUP.formatConf.fecMode = 0xA

  • The following override has to be added: HW_REG_OVERRIDE(0x5320, 0x1000)

    Manchester coding has only been functionally verified on CC13x2.

../_images/cc1350-man1.png

Figure 25. CC13x2 configuration manchester

The strict sync word check in CC13x2 is not in use when using manchester coding. To reduce the number of false syncs the sync threshold could be increased.

The sync word threshold could be set with the following override:

HW_REG_OVERRIDE(0x5114,0xYYZZ)

where YY and ZZ is the threshold for the two correlators. For simplicity the two thresholds can be set equal. Higher value is stricter.