Q: FAQ: Required data encoding/format in CC1020 On-Off-Keying (OOK) mode. by 611949

The On-Off Keying (OOK) section in the CC1020 data sheet states that Manchester coding must be used for OOK operation. The reason NRZ cannot
be used with OOK is that the AGC must work in order to get the necessary dynamic range. That is; in OOK mode the AGC shall work on the average
value of zeroes and ones. Manchester coding (or some other balanced coding) is therefore needed. If Manchester coding is not used, then the AGC will
not work correctly in OOK, as it will increase the gain when a "0" is received and decrease the gain when a "1" is received. If Manchester coding is used,
then the AGC gain will be set correctly.

Once CC1020 has received a part of the PREAMBLE, the application could command the CC1020 to freeze the AGC and continue demodulate NRZ data
(provided the signal level is fairly constant). It is important to freeze the AGC WHILE receiving the PREAMBLE in order to catch the correct AGC value
(the AGC level cannot be frozen to a general fixed value, because the overall dynamic range would then be very limited). This involves writing one register
in CC1020 and can be done at a clock speed up to 10 MHz, so you should not loose many bits if you can do this at full speed. To freeze  the AGC level set
bits VGA_WAIT in the VGA1 register to '111'. With reference to the VGA1 register description in the data sheet, it can be seen that the bit synchronization
will then also freeze. This means that NRZ synchronous mode cannot be used. However, UART mode is still possible.

Hence, if you use UART mode you can transmit NRZ data given that VGA_WAIT is set to '111' while the dc balanced PREAMBLE is being received.
Oversampling and data decisioning must then be done by the interfacing MCU.