微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC1310和CC1101的通信问题

CC1310和CC1101的通信问题

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

    您好,想请教一下TI的技术人员,现在我手上有个项目是使用CC1310的项目需要兼容CC1101,CC1150旧的设备。手上只有一个CC1310 LaunchPad一个仿真器。CC1150芯片的发射器,CC1101的接收器。

参考了:https://e2e.ti.com/support/wireless_connectivity/proprietary_sub_1_ghz_simpliciti/f/156/t/461684#pi319532filter=all&pi319532scroll=false

               http://bbs.eeworld.com.cn/thread-527751-1-1.html

CC1101的配置如下:

void halRfWriteRfSettings(void)
{
/*
// Write register settings
halSpiWriteReg(CCxxx0_IOCFG2, 0x06); // GDO2 output pin config.
halSpiWriteReg(CCxxx0_IOCFG0, 0x0F); // GDO0 output pin config.
halSpiWriteReg(CCxxx0_PKTLEN, 0xFF); // Packet length.
halSpiWriteReg(CCxxx0_PKTCTRL1, 0x04); // Packet automation control.
halSpiWriteReg(CCxxx0_PKTCTRL0, 0x05); // Packet automation control.05
halSpiWriteReg(CCxxx0_ADDR, 0x00); // Device address.
halSpiWriteReg(CCxxx0_CHANNR, 0x00); // Channel number.
halSpiWriteReg(CCxxx0_FSCTRL1, 0x08); // Freq synthesizer control.
halSpiWriteReg(CCxxx0_FSCTRL0, 0x00); // Freq synthesizer control.
halSpiWriteReg(CCxxx0_FREQ2, 0x21); // Freq control word, high byte
halSpiWriteReg(CCxxx0_FREQ1, 0x65); // Freq control word, mid byte. b0
halSpiWriteReg(CCxxx0_FREQ0, 0x6A); // Freq control word, low byte. 71
halSpiWriteReg(CCxxx0_MDMCFG4, 0xCA); // Modem configuration.
halSpiWriteReg(CCxxx0_MDMCFG3, 0x83); // Modem configuration.
halSpiWriteReg(CCxxx0_MDMCFG2, 0x83); // Modem configuration.
halSpiWriteReg(CCxxx0_MDMCFG1, 0x22); // Modem configuration.
halSpiWriteReg(CCxxx0_MDMCFG0, 0xF8); // Modem configuration. 0xF5
halSpiWriteReg(CCxxx0_DEVIATN, 0x34); // Modem dev (when FSK moden) 0x42
halSpiWriteReg(CCxxx0_MCSM1 , 0x30); //MainRadio Cntrl State Machine
halSpiWriteReg(CCxxx0_MCSM0 , 0x18); //MainRadio Cntrl State Machine
halSpiWriteReg(CCxxx0_FOCCFG, 0x16); // Freq Offset Compens. Config
halSpiWriteReg(CCxxx0_BSCFG, 0x6C); // Bit synchronization config.
halSpiWriteReg(CCxxx0_AGCCTRL2, 0x43); // AGC control.
halSpiWriteReg(CCxxx0_AGCCTRL1, 0x40); // AGC control.
halSpiWriteReg(CCxxx0_AGCCTRL0, 0x91); // AGC control.
halSpiWriteReg(CCxxx0_FREND1, 0x56); // Front end RX configuration.
halSpiWriteReg(CCxxx0_FREND0, 0x10); // Front end RX configuration.
halSpiWriteReg(CCxxx0_FSCAL3, 0xE9); // Frequency synthesizer cal. 0xE9
halSpiWriteReg(CCxxx0_FSCAL2, 0x2A); // Frequency synthesizer cal. 0x2A
halSpiWriteReg(CCxxx0_FSCAL1, 0x00); // Frequency synthesizer cal.
halSpiWriteReg(CCxxx0_FSCAL0, 0x1f); // Frequency synthesizer cal. 0x1f
halSpiWriteReg(CCxxx0_FSTEST, 0x59); // Frequency synthesizer cal.
halSpiWriteReg(CCxxx0_TEST2, 0x81); // Various test settings.
halSpiWriteReg(CCxxx0_TEST1, 0x35); // Various test settings.
halSpiWriteReg(CCxxx0_TEST0, 0x09); // Various test settings.

//halSpiWriteReg(CCxxx0_WOREVT1, 0x05);//0x87);//86);//3A); //0x876A=34666
// halSpiWriteReg(CCxxx0_WOREVT0, 0x14);//0x6A);//B5);//3A); //750*34666/26*10e6=s
// halSpiWriteReg(CCxxx0_WORCTRL, 0x79);//0x78); //
// halSpiWriteReg(CCxxx0_MCSM2, 0x01);//0x04);//02); //1000ms*0.781%=7.81ms 1S->8ms
*/

}

下图是根据上面数据配置的CC1101的参数

根据CC1101的配置,配置的CC1310的参数

配置完成后,CC1101的模块是用自己搭建的DEMO板在线仿真的能接收到CC1150的数据

用CC1101发送数据时,CC1310却收不到数据 ,不知道是哪里配置有问题,希望能得到解答。谢谢!

两边同步字长度设的一样吗?

您好,同步字是D391,长度两边也是一样的

Butterfly

两边同步字长度设的一样吗?

您好,两边的同步字使用的是默认值,0xD391, 长度一样,就是

引导码选项都全部试过了,也不行呢

您好,

 我看到你发的图片里面设置的频率不一样

第一张图片是868.29999

第二张图片是868

请保持一样的频段

可能的话再购买一块cc1310 launchpad板子配对调试。

频率,波特率需要一致的

您好,确实是频率不匹配的问题,修改参数后, 现在能接收到据了,谢谢 Eggsy Pang的帮助

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

网站地图

Top