关于CC1101曼彻斯特解码的问题
我用的是CC1101模块做数据接收的,主MCU是PIC16,接收到的数据需要进行曼彻斯特解码。我想让其先进行硬件解码接收到数据之后我对数据处理。现在对模块设置曼彻斯特标志位设置1,但是没有接收到我想要的数据。我想知道CC1101能不能进行硬件曼彻斯特解码?可以的话除了设置标志位还需要设置哪些东西?谢谢
下面是我对寄存器的一下配置:
{CC1101_IOCFG0, 0x06},
{CC1101_FIFOTHR, 0x47},
{CC1101_PKTCTRL0, 0x05},
{CC1101_CHANNR, 0x01},
{CC1101_FSCTRL1, 0x06},
{CC1101_FREQ2, 0x0F},
{CC1101_FREQ1, 0x62},
{CC1101_FREQ0, 0x76},
{CC1101_MDMCFG4, 0xF6},
{CC1101_MDMCFG3, 0x43},
{CC1101_MDMCFG2, 0x1B},
{CC1101_DEVIATN, 0x15},
{CC1101_MCSM0, 0x18},
{CC1101_FOCCFG, 0x16},
{CC1101_WORCTRL, 0xFB},
{CC1101_FSCAL3, 0xE9},
{CC1101_FSCAL2, 0x2A},
{CC1101_FSCAL1, 0x00},
{CC1101_FSCAL0, 0x1F},
{CC1101_TEST2, 0x81},
{CC1101_TEST1, 0x35},
{CC1101_MCSM1, 0x3B},
{CC1101_ADDR, 0x00}, // ADDR Device address.
{CC1101_PKTLEN, 0x0c}, // PKTLEN Packet length.
{CC1101_PKTCTRL1, 0x00}, // PKTCTRL1 Packet automation control.
{CC1101_PKTCTRL0, 0x32}, // PKTCTRL0 Packet automation control.òì2?í?′?
设置MDMCFG2.MANCHESTER_EN=1就可以了。
但是,需要注意下面两点:
Manchester encoding is not supported at the same time as using the FEC/Interleaver option or when using MSK and 4-FSK modulation.
The asynchronous transfer mode does not allow for the use of the data whitener, interleaver, and FEC, and it is not possible to use Manchester encoding.
MSK 和 4-FSK 调制方式除外,CC1101 支持Mechester 编码,设置MDMCFG2.MANCHESTER_EN=1.