微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > cc1101同步串行模式下开启曼彻斯特编解码的问题

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

时间:12-23 整理:3721RD 点击:

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},

上一篇:2.4G选型
下一篇:CC1310版本问题

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top