This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

cc1101同步串行模式下开启曼彻斯特编解码的问题

Other Parts Discussed in Thread: CC1101, CC1020

cc1101配置为433Mhz同步串行模式,19200的速率,不使用FEC,寄存器配置如下:

{CCxxx0_IOCFG2, 0x0B},
{CCxxx0_IOCFG0, 0x0C},
{CCxxx0_FIFOTHR, 0x47},
{CCxxx0_PKTLEN, 0xFF},
{CCxxx0_PKTCTRL1, 0x00},
{CCxxx0_PKTCTRL0, 0x12},
{CCxxx0_ADDR, 0x00},
{CCxxx0_CHANNR, 0x00},
{CCxxx0_FSCTRL1, 0x08},
{CCxxx0_FSCTRL0, 0x00},
{CCxxx0_FREQ2, 0x10},
{CCxxx0_FREQ1, 0xA7},
{CCxxx0_FREQ0, 0x62},
{CCxxx0_MDMCFG4, 0x89},
{CCxxx0_MDMCFG3, 0x83},
{CCxxx0_MDMCFG2, 0x00},
{CCxxx0_MDMCFG1, 0x22},
{CCxxx0_MDMCFG0, 0xF8},
{CCxxx0_DEVIATN, 0x47},
{CCxxx0_MCSM0, 0x18},
{CCxxx0_FOCCFG, 0x1D},
{CCxxx0_BSCFG, 0x1C},
{CCxxx0_AGCCTRL2, 0xC7},
{CCxxx0_AGCCTRL1, 0x00},
{CCxxx0_AGCCTRL0, 0xB2},
{CCxxx0_FREND1, 0xB6},
{CCxxx0_FREND0, 0x10},
{CCxxx0_FSCAL3, 0xEA},
{CCxxx0_FSCAL2, 0x2A},
{CCxxx0_FSCAL1, 0x00},
{CCxxx0_FSCAL0, 0x1F},
{CCxxx0_FSTEST, 0x59},
{CCxxx0_TEST2, 0x81},
{CCxxx0_TEST1, 0x35},
{CCxxx0_TEST0, 0x09},

其中{CCxxx0_MDMCFG2, 0x00},未开启曼彻斯特编码,可以正常收发通信,

一但设置成0x08就没办法通信,求助是否还有相关改动来配合这个寄存器的设置?

  • 没人遇到过么?WBJ请帮忙看看, 我的目标是用CC1101和以前老的CC1020互通? 是否有可能?

  • 首先CC1101和CC1020肯定是可以通讯的

    需要你确认一下你的编码格式,看看CC1020的编码是只有data部分还是也包含了preamble和sync word

    CC1101的曼彻斯特编码好像是只能编码data的

  • 感谢谢WBJ的回复.

    老产品使用的CC1020是2-FSK,19600波特率,开启曼彻斯特编码,430M频段.

    现在要用cc1101兼容之前使用cc1020的产品(老产品开启了曼彻斯特编码),所以我的问题就分成2个:

    1.先cc1101和cc1101之间的通信,不考虑和cc1020的互通

        cc1101一开启曼彻斯特编码,就无法通信,

         寄存器设置中,MDMCFG2.MOD_FORMAT=0(2-FSK)

                                  MDMCFG2.SYNC_MODE=0(No preamble/sync)

         这个设置相当于没使用硬件的preamble,我在软件里自己实现

         当MDMCFG2.MANCHESTER_EN=0(disable)时, 通信正常,但改成1时,其他所有配置不变,就无法通信

         您提到的"CC1101的曼彻斯特编码好像是只能编码data的",和我通信不成功有无关系?如果有,还需要在哪里修改?

        2.您提到cc1020编码是否包含preamble和sync word,这个我查了一下寄存器,没发现有相关设置,

            软件中,我也是用mcu自己实现preamble和sync word的.

        

       得到WBJ的肯定的回答,我就不担心了, 但还是希望指点一下一些寄存器配置,

      我晚点整理一下cc1020的寄存器配置和cc1101的寄存器配置发上来,请WBJ大大帮我看看互通还存在什么问题

  • 工具:如果用EVM的模式,用SMARTRF STUDIO可以去看接收端的数据,是否数据中断或出错误了。

  • 我手头没有EVM board, cc1101之间的互通我是用IAR设置断点来测试是否通的,

    没有开启Manchester时可以完整收到数据包,开启Manchester, 连premble都没有收到

    我想我现在先解决cc1101之间开启Manchester模式下通信的问题,烦请各位大大指点一下.

    另外,文档明确说了异步串行模式不支持Manchester编码, 那么同步串行是否支持呢?

  • 可不可以理解CC1020这端preamble和sync word也是经过曼彻斯特编码了的?

    如果是,preamble先不使用曼彻斯特编码,然后手动修改CC1101这边的sync word为曼彻斯特编码之后的数值,看能不能收到

  • 明白你的意思了,手动来做曼彻斯特编码,然后来试.

    这个和cc1020互通的问题先暂时放一放, cc1101之间的曼彻斯特编码无法通信能否先帮忙看下,我实在找不出原因

  • 断断续续搞了1个月, 发现问题根源: 同步串行模式/异步串行模式 不支持硬件的Manchester编码,只能手动来编码.....

  • 亲爱的TI技术支持,您们好:

        我司在使用贵司的cc1101时出现以下问题,请在有空的时候帮忙解决下,谢谢;

       CC1101发射端(FSK调制方式)使用FIFO发送数据,频率偏移19khz,速率1.2kpbs,接收端(FSK调制方式),频率偏移380.85khz,RX filter BW为812.5khz,接收端速率设置为1.2kbps时(和发射端一样),异步直通模式下,GDO0端口输出的高低电平数据能够看到有效数据波形(比如能清晰的看到引导、同步头等等),当接收端速率设置为其他速率时,GDO0输出的波形就会不正确了,宽度都和1.2kbps下的电平宽度不一样,请问接收端有效数据与速率有关是什么原因造成的,我看官网的手册都说只与RX filter BW有关,请问有哪种情况会造成这种错误

        接收端配置如下:

    {CC1101_FSCTRL0, 0x00},
    {CC1101_FSCTRL1, 0x08},
    {CC1101_FSCTRL0, 0x00},
    {CC1101_FREQ2, 0x10},//433.92
    {CC1101_FREQ1, 0xB0},
    {CC1101_FREQ0, 0x71},
    //{CC1101_FREQ0, 0x3f},
    {CC1101_MDMCFG4, 0x0C},//1.2kbps 0xE9
    //{CC1101_MDMCFG3, 0x83},//0x43
    //{CC1101_MDMCFG4, 0x05},//1.2kbps 0xE9
    //{CC1101_MDMCFG3, 0x83},//0x43
    //{CC1101_MDMCFG4, 0x0B},// 0x05速率:100Kb,接收滤波带宽:812.5KHZ 0xEA
    //{CC1101_MDMCFG3, 0xF8},//0x83
    //{CC1101_MDMCFG4, 0x2B},// 0x05速率:100Kb,接收滤波带宽:541KHZ 0xEA
    //{CC1101_MDMCFG3, 0xF8},//0x83
    {CC1101_MDMCFG2, 0x03}, 
    {CC1101_MDMCFG1, 0x22},
    {CC1101_MDMCFG0, 0xF8},
    {CC1101_CHANNR, 0x00},
    //{CC1101_DEVIATN, 0x34},//0x34
    {CC1101_DEVIATN, 0x77},//0x34
    {CC1101_FREND1, 0x56},
    {CC1101_FREND0, 0x10},
    {CC1101_MCSM0, 0x18},
    {CC1101_FOCCFG, 0x16},
    {CC1101_BSCFG, 0x6C},
    {CC1101_AGCCTRL2, 0x43},
    {CC1101_AGCCTRL1, 0x40},
    {CC1101_AGCCTRL0, 0x91},
    {CC1101_FSCAL3, 0xE9},
    //{CC1101_FSCAL3, 0xEA},
    {CC1101_FSCAL2, 0x2A},
    {CC1101_FSCAL1, 0x00},
    {CC1101_FSCAL0, 0x1f},
    {CC1101_FSTEST, 0x59},
    {CC1101_TEST2, 0x81},
    {CC1101_TEST1, 0x35},
    {CC1101_TEST0, 0x09},
    {CC1101_IOCFG2, 0x0D},
    {CC1101_IOCFG0, 0x0D},
    {CC1101_PKTCTRL1, 0x04},
    {CC1101_PKTCTRL0, 0x32},//使能串行异步模式
    {CC1101_ADDR, 0x00},
    {CC1101_FREND0, 0x11},
    {CC1101_PKTLEN, 0x0B},