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.

CC115L: Not able to get proper data by transmitter

Part Number: CC115L
Other Parts Discussed in Thread: CC1101

Dear TI E2E Team,

I am not getting proper data by transmitter.

I followed these steps.

 

1. CS=LOW, Initialize the register in brust mode, Not used register written  = 0x00, 

reserved and register value taken from rf studio. CS=HIGH

.

//RADIO_WRITE_ACCESS|RADIO_BURST_ACCESS|CC115L_IOCFG2 = 0x40

uint8_t Init_RF_N_Reg[49]= {0x40,0x2E,0x2E,0x06,0x47,0xD3,

                                                                                        0x91,0x1E,0x00,0x04,0x00,

                                                                                        0x01,0x00,0x00,0x10,0x09,

                                                                                        0x7A,0xC8,0x84,0x11,0x22,

                                                                                        0xE5,0x33,0x00,0x30,0x18,

                                                                                        0x00,0x00,0x00,0x00,0x00,

                                                                                        0x00,0x00,0xFB,0x00,0x10,

                                                                                        0xE9,0x2A,0x00,0x1F,0x00,

                                                                                        0x00,0x59,0x7F,0x3F,0x81,

                                                                                        0x35,0x09,0x00};

Highlighted byte is header byte.

 

2. Command strobe STX

    CS_LO;

    //delay_1ms(1);

    while(SPI_MISO); /* Pull CS_N low and wait for MISO to go low before                   communication starts */

    Com_busy_flag = 0U;

    CMD_Strobe(CC115L_STX);

    while(!Com_busy_flag);

    CS_HI;

 

3. Send Data

   Payload_buff[0]=CC11xL_FIFO|RADIO_BURST_ACCESS|RADIO_WRITE_ACCESS;

for(i=1;i<31;i++)         Payload_buff[i]=SPEED_0[i];          

 

     CS_LO;

     delay_1ms(1);

     while(SPI_MISO); /* Pull CS_N low and wait for MISO to go low before communication starts */

     Com_busy_flag = 0U;

     TxRx_Status = R_CSI00_Send_Receive(Payload_buff,31,0U);                        

     while(!Com_busy_flag);

     CS_HI;

 

4.    CS_LO;

                                    delay_1ms(1);

                                    while(SPI_MISO); /* Pull CS_N low and wait for MISO to go low before communication starts */

                                    Com_busy_flag = 0U;

                                    CMD_Strobe(CC115L_SIDLE);

                                    while(!Com_busy_flag);

                                    delay_1ms(1);

                                    CS_HI;

 

I am getting corrupted data. only 2 or 3 times get actual data. I am using poll mode(i.e. only SPI Connection).

  • Hi

    Without the complete code it is not easy to say what is wrong.

    Where, for example, is your Com_busy_flag set to 1?

     

    I have some general comments:

     

    Start with a manual reset as described in the data sheet before you are configuring the radio.

    Write the complete packet to to the TX FIFO BEFORE strobing STX to avoid underflow of the TX FIFO.

     

    Use a GDO pin (IOCFGx = 0x06) and wait for a falling edge to know that a packet has been transmitted.

     

    BR Siri

     

  • Dear Siri,

    Com_busy_flag SET to 1 when SPI Communication ends. I used the chip in polling mode i.e. only used SPI

    No GPIO Status used.

    As per ur reply i have done following changes

    CS_LOW

    1. Chip reset strobe

    CS_HI

    CS_LOW

    2. Configure the ic in burst mode

    CS_HI

    CS_LOW

    3. Fill the tx fifo

    CS_HI

    CS_LOW

    4. CC115L_STX

    CS_HI

    CS_LOW

    5. CC115L_SIDLE

    CS_HI

    But got no result. Please help me if u have any sample code for only transmission.

  • Dear Mr. Siri,

    Please help to share some transmission code to Mr. Vaibhav so the issue could be solved and final testing can be done.

    Regards,
    Kushanga
  • Hi

    You can look at the EasyLink SW example for CC1101 found here: http://processors.wiki.ti.com/index.php/Perf_value_line_easylink and then just replace the cc1101_easy_link_reg_config.h file with the one exported from SmartRF Studio for the CC115L. Please make sure that IOCFG2 = 0x06.

    BR

    Siri