TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1310: CC1310与CC1101和CC430之间通讯距离过近问题

Part Number:CC1310Other Parts Discussed in Thread:CC1101, , CC430F5137

公司原来的产品主要是采用CC1101或者CC430系列开发的,目前测试发现一个现象,CC1310做RF接收,CC1101或者CC430做RF发送(增益为5dBm,波特率38.4K),他们间的有效通讯距离才只有5米多点,但是用一个CC1310RF接收,另一个用CC1310做RF发射,或者是用一个C1101、CC430RF接收,另一个用C1101、CC430做RF发射,他们的有效通讯距离能到达35-40米左右。新旧产品中都做了白化处理,未做曼切斯特编码处理,请问CC1310需要兼容C1101和CC430产品,需要在哪方面配置做修改?能否具体说说?

Nick Sun:

您好,

CC430 中的无线电与 CC1101 相同,因此这两个设备的接收效果应该相同。

你能告知一下您的CC1101/CC430 上使用的射频参数或者相应设置吗?

,

xiaofeng lu:

我说的是CC1310与CC1101,或者是CC1310与CC430间的通讯距离过近。但是同样的配置,CC1310与CC1310间通讯距离正常,CC430与CC1101间通讯距离也正常。

,

xiaofeng lu:

这个是CC430RF参数

0x08, // FSCTRL1 Frequency synthesizer control.0x00, // FSCTRL0 Frequency synthesizer control.0x10, // FREQ2 Frequency control word, high byte.0x9D, // FREQ1 Frequency control word, middle byte.0x89, // FREQ0 Frequency control word, low byte.

0x7A, // MDMCFG4 Modem configuration.0x83, // MDMCFG3 Modem configuration.0x13, // MDMCFG2 Modem configuration.

0x22, // MDMCFG1 Modem configuration.0xF8, // MDMCFG0 Modem configuration.

0x05, // CHANNR Channel number.0x42, // DEVIATN Modem deviation setting (when FSK modulation is enabled).

0xB6, // FREND1 Front end RX configuration.0x10, // FREND0 Front end TX configuration.0x18, // MCSM0 Main Radio Control State Machine configuration.//180x1D, // FOCCFG Frequency Offset Compensation Configuration.0x1C, // BSCFG Bit synchronization Configuration.0xc7, // AGCCTRL2 AGC control.0x00, // AGCCTRL1 AGC control.0xb2, // AGCCTRL0 AGC control.0xEA, // FSCAL3 Frequency synthesizer calibration.0x2A, // FSCAL2 Frequency synthesizer calibration.0x00, // FSCAL1 Frequency synthesizer calibration.0x1F, // FSCAL0 Frequency synthesizer calibration.0x59, // FSTEST Frequency synthesizer calibration.0x81, // TEST2 Various test settings.0x35, // TEST1 Various test settings.0x09, // TEST0 Various test settings.0x47, // FIFOTHR RXFIFO and TXFIFO thresholds.0x06, // IOCFG2 GDO2 output pin configuration.0x06, // IOCFG0 GDO0 output pin configuration. Refer to SmartRF?Studio User Manual for detailed pseudo register explanation.0x04, // PKTCTRL1 Packet automation control.0x45, // PKTCTRL0 Packet automation control.0x00, // ADDR Device address.0x3D, // PKTLEN Packet length.

,

xiaofeng lu:

这个是CC1310RF参数

// CMD_PROP_RADIO_DIV_SETUPrfc_CMD_PROP_RADIO_DIV_SETUP_t RF_cmdPropRadioDivSetup ={ .commandNo = 0x3807, .status = 0x0000, .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx .startTime = 0x00000000, .startTrigger.triggerType = 0x0, .startTrigger.bEnaCmd = 0x0, .startTrigger.triggerNo = 0x0, .startTrigger.pastTrig = 0x0, .condition.rule = 0x0, //0x1, .condition.nSkip = 0x0, .modulation.modType = 0x1, .modulation.deviation = 0x64, .symbolRate.preScale = 0xF, .symbolRate.rateWord = 0x624E, .symbolRate.decimMode = 0x0, .rxBw = 0x25, .preamConf.nPreamBytes = 0x4, .preamConf.preamMode = 0x0, .formatConf.nSwBits = 0x20, .formatConf.bBitReversal = 0x0, .formatConf.bMsbFirst = 0x1, .formatConf.fecMode = 0x0, .formatConf.whitenMode = 0x1, .config.frontEndMode = 0x0, .config.biasMode = 0x1, .config.analogCfgMode = 0x0, .config.bNoFsPowerUp = 0x0, // .txPower = 0x913F, //15dBm // .txPower = 0xD80F, //13dBm .txPower = 0x46CB, //10dBm .pRegOverride = pOverrides, .centerFreq = 0x01B1, .intFreq = 0x8000, .loDivider = 0x0A,};

// CMD_FSrfc_CMD_FS_t RF_cmdFs ={ .commandNo = 0x0803, .status = 0x0000, .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx .startTime = 0x00000000, .startTrigger.triggerType = 0x0, .startTrigger.bEnaCmd = 0x0, .startTrigger.triggerNo = 0x0, .startTrigger.pastTrig = 0x0, .condition.rule = 0x0, //0x1, .condition.nSkip = 0x0, .frequency = 0x01B1,// .fractFreq = 0x0000,//433 .fractFreq = 0x3334, //433.2// .fractFreq = 0x6667, //433.4// .fractFreq = 0x999A, //433.6 .synthConf.bTxMode = 0x0, .synthConf.refFreq = 0x0, .__dummy0 = 0x00, .__dummy1 = 0x00, .__dummy2 = 0x00, .__dummy3 = 0x0000,};

// CMD_PROP_TXrfc_CMD_PROP_TX_t RF_cmdPropTx ={ .commandNo = 0x3801, .status = 0x0000,.pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx .startTime = 0x00000000,

.startTrigger.triggerType = 0x0,.startTrigger.bEnaCmd = 0x0,.startTrigger.triggerNo = 0x0,.startTrigger.pastTrig = 0x0,

.condition.rule = 0x0, //0x1, .condition.nSkip = 0x0, .pktConf.bFsOff = 0x0, .pktConf.bUseCrc = 0x1, .pktConf.bVarLen = 0x1, .pktLen = 0x1E, // SET APPLICATION PAYLOAD LENGTH .syncWord = 0xD391D391, .pPkt = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx};

// CMD_PROP_RXrfc_CMD_PROP_RX_t RF_cmdPropRx ={ .commandNo = 0x3802, .status = 0x0000, .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx .startTime = 0x00000000, .startTrigger.triggerType = 0x0, .startTrigger.bEnaCmd = 0x0, .startTrigger.triggerNo = 0x0, .startTrigger.pastTrig = 0x0, .condition.rule = 0x0, //0x1, .condition.nSkip = 0x0, .pktConf.bFsOff = 0x0, .pktConf.bRepeatOk = 0x0, .pktConf.bRepeatNok = 0x0, .pktConf.bUseCrc = 0x1, .pktConf.bVarLen = 0x1, .pktConf.bChkAddress = 0x0, .pktConf.endType = 0x0, .pktConf.filterOp = 0x0, .rxConf.bAutoFlushIgnored = 0x0, .rxConf.bAutoFlushCrcErr = 0x0, .rxConf.bIncludeHdr = 0x1, .rxConf.bIncludeCrc = 0x0, .rxConf.bAppendRssi = 0x0, .rxConf.bAppendTimestamp = 0x0, .rxConf.bAppendStatus = 0x1, .syncWord = 0xD391D391, .maxPktLen = 0x80, // MAKE SURE DATA ENTRY IS LARGE ENOUGH .address0 = 0xAA, .address1 = 0xBB, .endTrigger.triggerType = 0x1, .endTrigger.bEnaCmd = 0x0, .endTrigger.triggerNo = 0x0, .endTrigger.pastTrig = 0x0, .endTime = 0x00000000, .pQueue = 0, // INSERT APPLICABLE POINTER: (dataQueue_t*)&xxx .pOutput = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx};

,

Nick Sun:

您好,

帮您同步工程师,有答复即刻联系您。

,

xiaofeng lu:

您好,项目比较急,不知道工程师查阅后怎么说?

,

Nick Sun:

您好,

由于假期等原因回复可能延迟,请您谅解,有回复会及时联系您。

感谢您的理解。

,

Nick Sun:

您好,

您是否曾尝试使用 SmartRF Studio 7配置两种器件的设置来检查在使用该方法下是否会有距离的不同?

此外,您是否参阅过CC13x0 documentation里的从 CC1101 迁移这一部分?software-dl.ti.com/…/cc1101-migration.html

,

xiaofeng lu:

我尝试过用smart studio 7方式配置两种器件收发试过了,同型号的MCU距离都是正常的,约有40米左右,但是如果是CC1310与CC1101间通讯则距离很差约5米左右。请问我上面发出来的两种器件的RF参数有问题么?

,

Nick Sun:

您好,

为了更好解决问题,您能否上传在 SmartRF Studio 中使用的 CC1310和 CC1101设置的屏幕截图?这将使我能够更快地配置在我的设备上。我们将首先重点处理CC1310和 CC1101 (而不是 CC430),因为手头上有正好有这两个产品。

,

xiaofeng lu:

不好意思,响应公司要求,居家隔离中,身边没有相应的设备,我贴段我的CC1101的RF参数,数组中没出现的寄存器参数则认为默认参数

const registerSetting_t preferredSettings[] = {// {TI_CCxxx0_IOCFG0, 0x06},// {TI_CCxxx0_FIFOTHR, 0x47},// {TI_CCxxx0_PKTCTRL0, 0x05},// {TI_CCxxx0_FSCTRL1, 0x06},// {TI_CCxxx0_FREQ2, 0x10},// {TI_CCxxx0_FREQ1, 0xA7},// {TI_CCxxx0_FREQ0, 0x4E}, //0x62// {TI_CCxxx0_MDMCFG4, 0xF5}, //波特率:9600 f8 f5// {TI_CCxxx0_MDMCFG3, 0x83},// {TI_CCxxx0_MDMCFG2, 0x13},// {TI_CCxxx0_DEVIATN, 0x15},// {TI_CCxxx0_MCSM0, 0x18},// {TI_CCxxx0_FOCCFG, 0x16},// {TI_CCxxx0_WORCTRL, 0xFB},// {TI_CCxxx0_FSCAL3, 0xE9},// {TI_CCxxx0_FSCAL2, 0x2A},// {TI_CCxxx0_FSCAL1, 0x00},// {TI_CCxxx0_FSCAL0, 0x1F},// {TI_CCxxx0_TEST2, 0x81},// {TI_CCxxx0_TEST1, 0x35},// {TI_CCxxx0_TEST0, 0x09},// //{TI_CCxxx0_SYNC1, 0xd3},// //{TI_CCxxx0_SYNC0, 0x91},{TI_CCxxx0_IOCFG0, 0x06},{TI_CCxxx0_FIFOTHR, 0x47},{TI_CCxxx0_PKTCTRL0, 0x45},{TI_CCxxx0_FSCTRL1, 0x08},{TI_CCxxx0_FREQ2, 0x10},{TI_CCxxx0_FREQ1, 0x9d},{TI_CCxxx0_FREQ0, 0x89},//62 ae{TI_CCxxx0_CHANNR, 0x06},

// {TI_CCxxx0_MDMCFG4, 0x2d}, //波特率:250k// {TI_CCxxx0_MDMCFG3, 0x3B},//43 83// {TI_CCxxx0_MDMCFG2, 0x13},// {TI_CCxxx0_DEVIATN, 0x15},/*38.4k速率*/{TI_CCxxx0_MDMCFG4, 0x7a}, //波特率:38.4{TI_CCxxx0_MDMCFG3, 0x83},//43 83{TI_CCxxx0_MDMCFG2, 0x13},{TI_CCxxx0_DEVIATN, 0x42},//40

{TI_CCxxx0_MCSM0, 0x18},{TI_CCxxx0_FOCCFG, 0x1d},{TI_CCxxx0_WORCTRL, 0xFB},{TI_CCxxx0_FSCAL3, 0xEA},{TI_CCxxx0_FSCAL2, 0x2A},{TI_CCxxx0_FSCAL1, 0x00},{TI_CCxxx0_FSCAL0, 0x1F},{TI_CCxxx0_TEST2, 0x81},{TI_CCxxx0_TEST1, 0x35},{TI_CCxxx0_TEST0, 0x09},//{TI_CCxxx0_SYNC1, 0xd3},//{TI_CCxxx0_SYNC0, 0x91},};

,

Nick Sun:

您好,

工程师由于假期等原因暂时无法及时回复,请您谅解。

我这边发现您的 CC430和 CC1310的设置有一些差异:

在 CC430中,您偏差设置为31.738281kHz (DEVIATN = 0x42)。但在 CC1310中,您偏差设置为25kHz (.modulation.deviation = 0x64)
基于CC430基本频率(431.999664MHz)和通道编号(5),它的载波频率为432.99420MHz。但在 CC1310中,频率为433.2MHz (.frequency = 0x01B1、.fractFreq = 0x3334)

您能否在 CC1310 .fractFreq 中修改为0x0000 (代码中对此进行了注释),并将.modulation.deviation 修改为0x7E?这会将载波频率设置为433MHz,并将偏差设置为31.5kHz。

您是否可以使用频谱分析仪同时获取CC430和 CC1310在传输时的波形并上传过来?

,

xiaofeng lu:

不好意思,前段时间亲人住院,忙中出错传错了数据。这是我今天参阅了CC13x0 documentation里的从 CC1101 迁移这一部分?software-dl.ti.com/…/cc1101-migration.html后,分别用两台电脑连接CC430F5137和CC1310相互通讯的Smart Studio 7 截图,当两者距离大于9米以后,CC1310接收端就出现CRC出错的情况,但是它的信号RSSI强度还是很好哈。

,

xiaofeng lu:

波形之前在公司用频谱仪抓过中心频点都对上的

,

Nick Sun:

您好,

帮您同步工程师,待回复通知您。

,

Nick Sun:

您好,

您能提供一下屏幕截图吗,拍照不利于阅读数据。
麻烦您检查TX和RX设备之间的频率偏移,并上传”频谱仪先前已捕获的可以在中心频率点对齐的波形”的结果。请注意使用1kHz或更低的RBW。
你使用的频率上有很多噪音干扰吗?
您能否也可以在具有431-527 MHz频带的50 kbps GSK PHY的CC1310中进行测试?我在图片中注意到,您选择了779-930 MHz频带的PHY,并更改了频率。

,

xiaofeng lu:

,

xiaofeng lu:

按照您的要求,我重新测试并截图上传了,CC430F5137与CC1310有效距离测试下来10米以内,10米外就CRC报错

,

xiaofeng lu:

其中频谱仪是之前测试不同增益的时候拍的。

,

Nick Sun:

您好,

频谱仪的图像是CC430还是CC1310?您能发一份图片上同时有两者的频谱的吗?

同时,如果您能将跨度从现在设置的 30MHz 降低到 1 MHz,并将分辨率带宽 (RBW) 从 300 kHz 降低到 1 kHz,也会对我们分析有所帮助。

我们在办公室环境中使用 CC1310和 CC1101进行了距离超过10米的测试、没有任何问题。

您是否能够使用评估板进行测试并查看是否有相同的问题?

是否还可以使用具有相同设置的 SmartRF Studio 测量底噪测试?您需要使用 SmartRF Studio 中的 Continuous RX 选项卡。

他们会得到类似这样的结果:

赞(0)
未经允许不得转载:TI中文支持网 » CC1310: CC1310与CC1101和CC430之间通讯距离过近问题
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1