主题中讨论的其他器件: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
我以为我已经弄乱了同步或前导码、但我看到的是正确的。
如果有任何想法、我们将不胜感激。