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.

[参考译文] CC1310:在 CC1310中使用专有无线电模式匹配 CC1101通信配置

Guru**** 2564565 points
Other Parts Discussed in Thread: CC1101, CC1310

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/721347/cc1310-matching-cc1101-communication-configuration-using-proprietary-radio-mode-in-cc1310

器件型号:CC1310
主题中讨论的其他器件:CC1101

因此、首先是、这是为了匹配现有产品:

目前、我正在尝试匹配 CC1101的以下配置:

/* CRC 自动刷新= false */*
惠氏= false */*
数据速率= 249.939 */*
器件地址= 0 */*
载波频率= 904.149841 */
//*偏差= 126.953125 */*
通道间隔= 231.689453*/*
////*前导码计数= 4 */*
RX 滤波器带宽 = 541.66667 */
//*调制= true */
/* PA 斜坡= false *
///*数据包长度模式=可变数据包长度模式。 由同步字之后的第一个字节配置的数据包长度*/
//*同步字限定符模式= 30/32检测到同步字位*/
*数据包长度= 255 */
//* TX 功率= 0 */
////*地址配置=无地址检查*/
* CRC 使能= true */
* 数据格式=正常模式*/
//*信道编号= 0 */
/*曼彻斯特启用= false */
/*调制格式= GFSK */
/*基本频率= 904.149841 *
//*********
* SmartRF Studio (TM) Export
*
*用 C 代码指定的无线电寄存器设置
*兼容的#define 语句。
*
*射频器件:CC1101
*
********* /

#ifndef SmartRF_CC1101_H
#define SmartRF_CC1101_H

#define SmartRF_RADIO_CC1101
#define SmartRF_setting_IOCFG2 0x29
#define SmartRF_setting_IOCFG0 0x06
#define SmartRF_setting_FIFOTHR 0x07
#define SmartRF_setting_PKTLEN 0xFF
#define SmartRF_setting_PKTCTRL1 0x04
#define SmartRF_setting_PKTCTRL0 0x05
#define SmartRF_setting_ADDR 0x00
#define SmartRF_setting_CHANNR 0x00
#define SmartRF_setting_FSCTRL1 0x12
#define SmartRF_setting_FSCTRL0 0x00
#define SmartRF_setting_FREQ2 0x22
#define SmartRF_setting_FREQ1 0xC6
#define SmartRF_setting_FREQ0 0x66
#define SmartRF_setting_MDMCFG4 0x2D
#define SmartRF_setting_MDMCFG3 0x3B 0x3B #define
SmartRF_setting_MDMCFG2 0x93
#define SmartRF_setting_MDMCFG1 0x23
#define SmartRF_setting_MDMCFG0 0x24
#define SmartRF_setting_DEVN 0x62
#define SmartMCIAT_Setting 0x62 #define SmartRF_EMCK_Setting 0x18
#define SmartRF_setting_FOCCFG 0x1D
#define SmartRF_setting_BSCFG 0x1C
#define SmartRF_setting_AGCCTRL2 0xC7
#define SmartRF_setting_AGCCTRL1 0x00
#define SmartRF_setting_AGCCTRL0 0xB0
//#define SmartRF_setting_WORCTRL 0xFB
#define SmartRF_setting_FREND1 0xB6
#define SmartRF_setting_FREND0 0x10
#define SmartRF_setting_FSCAL3 0xEA
#define SmartRF_setting_FSCAL2 0x2A
#define SmartRF_setting_FSCAL1 0x00
#define SmartRF_setting_FSCAL0 0x1f
#define SmartRF_setting_TEST2 0x88
#define SmartRF_setting_TEST1 0x31
#define SmartRF_setting_TEST0 0x09
#define SmartRF_setting_FSTEST 0x59

#endif//SmartRF_CC1101_H

下面是我拥有的内容(当然目前不起作用):

// CMD_PROP_RADIO_DIV_SETUP
//所有频带的专有模式无线电设置命令
RFC_CMD_PROP_RADIO_DIV_SETUP_t RF_cmdRadioPropDivSetup =
{
.commandNo = 0x3807、
.status = 0x0000、
.pNextOp = 0、//插入适用的指针:(uint8_t*)&xxx
.StartTime = 0x00000000、
.startTrigger.triggerType = 0x0、
.startTrigger.bEnaCmd = 0x0、
.startTrigger.triggerNo = 0x0、
.startTrigger.PastTrig = 0x0、
.condition.rule = 0x1、
.condition.nSkip = 0x0、
modulation .modType = 0x1、
.modulation.deviation = 0x1FC、
symbolRate.prescale = 0x5、
symbolRate.rateWord = 0xD555、
.rxBw = 0x2C、
.PreambBytes = 0x4、
.Conf.前置 放大器模式= 0x1、
.formatConf.nSwBits = 0x20、
.formatConf.bBitVersal = 0x0、
.formatConf.bMsbFirst = 0x1、
formatConf.fecMode = 0x0、
formatConf.whitenMode = 0x1、
.config.frontEndMode = 0x0、
config.biasMode = 0x1、
config.analogCfgMode = 0x0、
config.bNoFsPowerUp = 0x0、
TxPower = 0x0041、
.pRegOverride = pOverrides、
.centerFreq = 0x0388、
.intFreq = 0x8000、
.loDivider = 0x05、
};

// CMD_FS
//频率合成器编程命令
RFC_CMD_FS_t RF_cmdF =
{
.commandNo = 0x0803、
.status = 0x0000、
.pNextOp = 0、//插入适用的指针:(uint8_t*)&xxx
.StartTime = 0x00000000、
.startTrigger.triggerType = 0x0、
.startTrigger.bEnaCmd = 0x0、
.startTrigger.triggerNo = 0x0、
.startTrigger.PastTrig = 0x0、
.condition.rule = 0x1、
.condition.nSkip = 0x0、
.frequency = 0x0388、
.fractFreq = 0x2667、
synthConf.bTxMode = 0x0、
.synthConf.refFreq = 0x0、
.__dummy0 = 0x00、
.__dummy1 = 0x00、
.__dummy2=0x00,
.__dummy3 = 0x0000、
};

// CMD_PROP_TX
//专有模式传输命令
RFC_CMD_PROP_TX_t RF_cmdPropTx =
{
.commandNo = 0x3801、
.status = 0x0000、
.pNextOp = 0、//插入适用的指针:(uint8_t*)&xxx
.StartTime = 0x00000000、
.startTrigger.triggerType = 0x0、
.startTrigger.bEnaCmd = 0x0、
.startTrigger.triggerNo = 0x0、
.startTrigger.PastTrig = 0x0、
.condition.rule = 0x1、
.condition.nSkip = 0x0、
.pktConf.bFsOff = 0x0、
.pktConf.bUseCrc = 0x1、
.pktConf.bVarLen = 0x1、
.pktLen = 0x1C、
syncdWord = 0xD391D391、
.pPKT = 0,//插入适用的指针:(UINT8_t*)&xxx
};

使用 LaunchPad TI 驱动程序中的 rfPacketTx_CC1310_LAUNCHXL_tirtos_ccs (似乎与我所做的匹配良好)。

我正在使用配置为从 CC1101数据包源接收 SmartRF 配置的数据包监听器来验证通信。

结果是某种已改编的、我可以看到以下数据:

数据包长度:238
数据包数据:
000|EB1EE265 124FD803 4445F23B 7178E9A7
0|8A82D227 92AB3DB8 002B4190 84612D1E
0|4821CF0E 302632A4 2CA492DA FE19D810
030|8504DA49 4546DB19 0F2C0A05408A04401C678Q240|4821CF026401B04802B04802B04802B04802C0802C0802C0802C0802B04802B04802B04804B04804B04806B40006540001704802B04802B04802B04802B04802B04802B04804B40001740001740001704804B04802B04806B04802B04802B04802B04804B04804B04804B04806B40001704804B4000174000174000D








555569C8 E9C8F58F
0D0|71328927 EC01A222 F91D38BC 74D3C541
0E0|6913C925 955C2001 07903EC4 4231

这不是我发送的内容(实际):

下面是我要发送的内容(几乎这是来自使用不同 TID 发送相同数据的 CC1101器件):

数据包长度:
23
数据包数据:
000|14FFFFFF FFCAEB27 AE3F20AF 01EFBEAD
0|DEFFFFFF FF39B1 

我以为我已经弄乱了同步或前导码、但我看到的是正确的。

如果有任何想法、我们将不胜感激。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您已启用 CC1310的白光功能、但未在 CC1101上使用白光功能。

    我在 SmartRF Studio 中使用您的 CC1101设置进行了测试、然后在 SmartRF Studio 中为 CC1310选择了300kbps 设置。 我唯一要做的更改是更改频率、将数据速率设置为250kbps 并更改同步字。

    Siri

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Siri"]

    您已启用 CC1310的白光 功能、但未在 CC1101上使用白光功能。

    我在 SmartRF Studio 中使用您的 CC1101设置进行了测试、然后在 SmartRF Studio 中为 CC1310选择了300kbps 设置。 我唯一要做的更改是更改频率、将数据速率设置为250kbps 并更改同步字。

    Siri

    [/报价]

    你的眼睛比我的眼睛要好! 我完全错过了这个机会。

    现在已经过测试和验证、数据包监听器现在可以接收数据。

    白化是导致数据包监听器误读数据包长度的原因、当然、如果没有打开白化(两端)、伪随机序列会提供"扰频数据"。 这有点奇怪、因为我在生成 SmartRF_SETTINGS 文件时没有选中它、我可能会意外地把它弄乱。

    感谢两位主管、他们说得更好。