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: How to calculate CRC on signal generator?

Part Number: CC1310
Other Parts Discussed in Thread: CC1101

Hi,

How to calculate CC1310 CRC number?

My customer use below packet format as Tx on signal generator in order to measure sensitivity, but don't know how to calculate 2 byte CRC.

AA AA AA AA AA 2D D4 40 [55 ...55] CRC

5 Byte AA as preamble.

Sync word is 2D D4

Packet Length is 40(64Byte)

Payload is 64 byte 55 

2 Byte CRC

  • Hi,
    A way would be to use the same packet setup as above and transmit it using a launchpad.
    Then on the receiver launchpad use fixed length to receive the entire packet. The last 2 bytes are the CRC.
    Then use that CRC value in the signal generator.

    Otherwise you can use the CRC polynomial to calculate the CRC.
    See here: e2e.ti.com/.../520740
  • Hi FI,

    Many thanks, I have tried to receive it on launchpad with SmartRF studio. But it don't display CRC, end it by RSSI.
    Could you tell me the CRC value for above packet format? Thanks.
  • To avoid any errors in my understanding of the above packet, please send me the entire packet content.
  • Daniel, if you want to see the CRC of the received packet is you have different options.
    - You can use append status
    - You can use fixed packet length in SmartRF Studio on the receive side and set the length a few bytes too long, the CRC will then come as part of the payload.
  • Hi FI

    The entire packet content is:
    AA AA AA AA AA 2D D4 40 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
    Thanks.
  • Hi,
    The CRC for this packet for CC1310 is 0xCFC2
    Regards,
  • Hi TER,

    1. How to see the append status?

    2. I have used the 2nd method to see CRC by extend receive length but failed.

    Send 3 byte fixed length package on Tx.

    Payload is 0x01, 0x02, 0x03 

    Packet Rx, it's OK if fixed length is 3.

    Packet Rx at fixed 5 length, 6 or even more longer. CRC is wrong.

    The correct CRC should be 0x303A .

  • How do you know that the CRC should have been 0x303A and not 0x821D in this case ?
  • Hi FI,

    Could you help double check CRC again?
    It is still wrong to receive at SmartRF studio when set CRC = 0xCFC2 on signal generator. Thanks for your help checking.

    Preamble is AA AA AA AA AA
    Sync word is 2D D4,
    Fixed length: 64 byte
    Payload is 64 byte 0x55,

    Below is whole package:
    AA AA AA AA AA 2D D4 40 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
  • Hi TER,

    I get the package format from Albin, who used it to test before.
    If set CRC to 0x303A on signal generator, we have test that SmartRF Studio can receive normally.
  • The first you sent was with a 3 byte packet with fixed length and for this I asked: How do you know that the CRC should have been 0x303A and not 0x821D in this case ?

    Then you suddenly operate with a 64 byte long packet with variable length and a different CRC. You write that you use fixed length but the length byte is included in the packet, hence variable length.
  • Hi TER,

    1. If set CRC = 0x821D on signal generator, receive by SmartRF Studio report error. If set CRC to 0x303A, receive is fine.

    2. The final purpose is to calculate CRC when payload is 64byte 0x55. That's customized packet.

    But we don't know how to calculate CRC, that's why we set payload length to 3 byte firstly to verify that our CRC calculation method is correct.

  • Hi Daniel,
    Are you using the entire package as the TX payload? If so the CRC is 0xCFC2.
    Otherwise see below:

    for 40 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55: CRC = 0x0C0D

    and for 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55: CRC = 0xFCF0

    CC1310 uses a CC1101 compatible CRC. See this app note www.ti.com/.../swra111e.pdf
    Regards.