Radio timing

Dear all,
I want to know how long a radio transmission occupies the radio channel. I transmit a PDU whose length is 23 bytes. How long is the transmission? How can I calculate or deduce it?

Thank you so much.

Best regards

What radio? What frequency? What transmission protocol? What baud rate?
It is always instructive to consult the documentation and data sheet for the radio.

I’m using a modified version of radio_queue library, and I’m transmitting on channel 128. I didn’t find any info on TI CC2511 datasheet.

[quote=“Jim Remington”]What radio? What frequency? What transmission protocol? What baud rate?
It is always instructive to consult the documentation and data sheet for the radio.[/quote]

Hello.

The CC2511 radio packet format is documented in Figure 51 of the CC2511 datasheet. There are many configuration options that affect the duration of a packet. The code in the Wixel SDK (radio_registers.c) currently uses these options:

[ul]
[li]The data rate is 350 kbps, so each bit in the packet takes 2.8571 us.[/li]
[li]The preamble is 64 bits.[/li]
[li]The sync word is 32 bits.[/li]
[li]The length field is enabled.[/li]
[li]The address field is disabled.[/li][/ul]

Putting all this information together, the formula for the duration of a Wixel packet would be:

duration = (64 + 32 + 8 + 16 + 8 * length) * (2.8571 us)

In the formula above, length is the number of bytes of payload data in the packet.

You can confirm this using the CC2511’s radio debugging signals and an oscilloscope. By adding this code to your program, you can turn P1_5 into a debugging signal for the radio that goes low whenever it is transmitting:

// Use P1_5 as a debug signal (PA_PD).
IOCFG0 = 0b011011;

Please note that this information is only about the actual time spent transmitting. It does not address other things that the transmitting device might need to do, such as recalibrating the frequency synthesizer, processing packets, or going through other states of the radio.

–David