大家好、
以下是客户的请求:
为了减少帧的数据长度、它们简化了 Tx 数据帧并将其设置为1字节前置字节、8位 SyncWord、无 CRC 和2字节固定长度数据有效载荷、以确保帧的长度为4字节。 具体代码如下:
RF_cmdPropTx.pktLen = 2; RF_cmdPropTx.pPkt = txPacket; RF_cmdPropTx.pktConf.bUseCrc = 0; //No CRC RF_cmdPropTx.pktConf.bVarLen = 0; //Fix; RF_cmdPropTx.startTrigger.triggerType = TRIG_NOW; RF_cmdPropRadioDivSetup.formatConf.nSwBits = 8; //SyncWord 8bits RF_cmdPropRadioDivSetup.preamConf.nPreamBytes = 1; //PreamBytes 1byte
并将发送速率设置为5kbps (远距离)、如下所示:
// Parameter summary // Address: off // Address0: 0xAA // Address1: 0xCC // Frequency: 433.92000 MHz // Data Format: Serial mode disable // Deviation: 5.000 kHz // pktLen: 30 // 802.15.4g Mode : off // Select bit order to transmit PSDU octets:: 1 // Packet Length Config: Variable // Max Packet Length: 128 // Packet Length: 20 // RX Filter BW: 49 kHz // Symbol Rate: 19.99969 kBaud / / Sync Word Length: 32 Bits // TX Power: 15 dBm (requires define CCFG_FORCE_VDDR_HH = 1 in ccfg.c, see CC13xx/CC26xx Technical Reference Manual) // Whitening: No whitening
这样,发送一个帧的持续时间应该是4bytes*8/5kbps=6.4ms。
但是、使用示波器观察芯片的功耗、发现实际发送时间大约为12ms。 他们不知道为什么会发生这种情况? 如何缩短发送时间?
此外、如果将上述设置更改为:
RF_cmdPropTx.pktLen = 2; RF_cmdPropTx.pPkt = txPacket; RF_cmdPropTx.pktConf.bUseCrc = 1; //add 2bytes CRC RF_cmdPropTx.pktConf.bVarLen = 1; //add 1byte frame length RF_cmdPropTx.startNOTrigger_triggerType = TRIG RF_cmdPropRadioDivSetup.formatConf.nSwBits = 8; //SyncWord 8bits RF_cmdPropRadioDivSetup.preamConf.nPreamBytes = 1; //PreamBytes 1byte
这样,发送一个帧的持续时间应该是6bytes*8/5kbps=9.6ms。
但使用示波器观察芯片的功耗、发现实际发送时间约为16.8ms。 他们不知道为什么会发生这种情况。
根据上述分析、是否需要在准备时间内(不实际发送数据)打开发送电路以发送数据帧、并且估计大约为7ms? 以上哪项是问题? 如何 缩短发送时间?
已尝试 simplelink_cc13x0_sdk_3_20_00_23和 simplelink_cc13x0_sdk_4_20_02_07、且测试结果相同(请参阅上文)。
2.在 SDK 例程 Examples\RTOS\cC1310_LAUNCHXL\drivers\rfPacketTx 中进行了某些修改(有关修改、请参阅上面的内容)。
运行在 TI 的官方 CC1310_LAUNCHXL 板上进行测试 ,也在由自己制造的板上进行测试, 测试条件相同(参见上文)。
您可以帮助检查此案例吗? 谢谢。
此致、
Nick