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.

CC2510 PER Testing

Other Parts Discussed in Thread: TEST2

Hello Support,

We need to do PER testing on our device using a signal generator (SG) at various amplitudes. It seems the best way to handle this would be to output a serial stream from a microcontroller into the SG and have it modulated for the receiving DUT. Because there's additional information (CRC, 30/32 sync) appended to the packet by the radio's packetizer, we need some help getting a test packet assembled. Will you please provide a serialized packet, including CRC checksum for the following packet...

preamble (4) + length (8) + sync (MG) + payload (ST_PER) + checksum

The radio settings we are using is as follows...

  FSCTRL1   =     0x08;       // Frequency Synthesizer Control
  FSCTRL0   =     0x00;       // Frequency Synthesizer Control
  FREQ2     =     0x5C;       // Frequency Control Word, High Byte
  FREQ1     =     0x5C;       // Frequency Control Word, Middle Byte
  FREQ0     =     0xEC;       // Frequency Control Word, Low Byte
  MDMCFG4   =     0x78;       // Modem configuration
  MDMCFG3   =     0x83;       // Modem Configuration
  MDMCFG2   =     0x13;       // Modem Configuration
  MDMCFG1   =     0x23;       // Modem Configuration
  MDMCFG0   =     0x8A;       // Modem Configuration
  CHANNR    =     0x4A;       // Channel Number
  DEVIATN   =     0x44;       // Modem Deviation Setting
  FREND1    =     0x56;       // Front End RX Configuration
  FREND0    =     0x10;       // Front End TX Configuration
  MCSM0     =     0x14;       // Main Radio Control State Machine Configuration
  FOCCFG    =     0x16;       // Frequency Offset Compensation Configuration
  BSCFG     =     0x6C;       // Bit Synchronization Configuration
  AGCCTRL2  =     0x43;       // AGC Control 
  AGCCTRL1  =     0x40;       // AGC Control 
  AGCCTRL0  =     0x91;       // AGC Control 
  FSCAL3    =     0xA9;       // Frequency Synthesizer Calibration
  FSCAL2    =     0x0A;       // Frequency Synthesizer Calibration
  FSCAL1    =     0x00;       // Frequency Synthesizer Calibration
  FSCAL0    =     0x11;       // Frequency Synthesizer Calibration
  TEST2     =     0x88;       // Various Test Settings
  TEST1     =     0x31;       // Various Test Settings
  TEST0     =     0x09;       // Various Test Settings
  PA_TABLE0 =     PA_Level; //0xFE;       // PA Power Setting
  PKTCTRL1  =     0x04;       // Packet Automation Control
  PKTCTRL0  =     0x05;       // Packet Automation Control
  ADDR      =     0x00;       // Device Address
  PKTLEN    =     0xFF;       // Packet Length

Thanks for your help,

  • Preamble is 1010101010........

    Sync word is whatever you program the sync registers to be (SYNC1 and SYNC0). Default is 0xD3, 0x91 (repeated twize for 4 bytes sync)

    The length byte is the the length of the payload excluding the length itself and the CRC bytes.

    The CRC is calculated over the length byte + payload and is described in DN502 (http://www.ti.com/lit/swra111)

    A typical packet will look like this: 0xAA, 0xAA, 0xAA, 0xAA, 0xD3, 0x91, 0xD3, 0x91, lenght n, data_1, data_2, ...., data_n-1, data_n, CRC, CRC

    BR

    Siri

  • Thanks for responding Siri. What would the checksum be for the packet below?

    0xAA, 0xAA, 0xAA, 0xAA, 0xD3, 0x91, 0xD3, 0x91, 0x08, 0x53, 0x54, 0x01, 0x4C, 0x69, 0x6E, 0x78, CRC-?, CRC-?

    I appreciate the help,

    Chris

  • Hi Siri,

    Could you confirm my checksum...

    0xAA, 0xAA, 0xAA, 0xAA, 0xD3, 0x91, 0xD3, 0x91, 0x08, 0x53, 0x54, 0x01, 0x4C, 0x69, 0x6E, 0x78, 0x60, 0xFD

    Thanks,

    Chris

  • Chris,

    Are you using variable packet length mode?  If so, there should be eight bytes after the 0x08 (excluding the CRC), and you have seven.  The CRC for the bytes that you do have is 0xA6C7.