Hi team,
Here's the request from the customer:
In order to reduce the data length of a frame, they simplify the Tx data frame and set it as 1byte PreamBytes, 8bits SyncWord, no CRC, and 2bytes fixed-length data Payload, so as to ensure that the length of a frame is 4 bytes. The specific code is as follows:
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
And set the sending rate to 5kbps (Long Range), as follows:
// 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
In this way, the duration of sending a frame should be 4bytes*8/5kbps=6.4ms.
However, using an oscilloscope to observe the power consumption of the chip, it is found that the actual sending time is about 12ms. They don’t know why this happens? How can they shorten the sending time?
In addition, if the above settings are changed to:
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
In this way, the duration of sending a frame should be 6bytes*8/5kbps=9.6ms.
But using an oscilloscope to observe the power consumption of the chip, it is found that the actual sending time is about 16.8ms. They don’t know why this happens.
From the above analysis, is it necessary to turn on the sending circuit for a period of preparation time (without actually sending the data) to send a frame of data, and it is estimated that it is about 7ms? Which of the above is the problem? How can they shorten the sending time?
1. Both simplelink_cc13x0_sdk_3_20_00_23 and simplelink_cc13x0_sdk_4_20_02_07 have been tried, and the test results are the same (see above).
2. Certain modifications have been made in the SDK routine examples\rtos\CC1310_LAUNCHXL\drivers\rfPacketTx (see above for the modification).
3. The operation is tested on TI's official CC1310_LAUNCHXL board , and also tested on the board made by themselves, and the test conditions are the same (see above).
Could you help check this case? Thanks.
Best Regards,
Nick