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: Communication issue

Part Number: CC1310

Hello,

I wish to ask for little bit support, I am facing strange problem when sending data from 25 sensor nodes . My environment is the following. I have a linux based base station which has module with CC1310 loaded with TI Co-Processor firmware. Base station is setup to work as collector in PHY mode 3. Also i have 25 remote units using the same module with CC1310 used as Co-processor. The remote units are used as sensor nodes. Also i use Launchxl-CC1310 as a packet sniffer. I tested 3 different setups.

1. All sensor nodes send sensor information every 1000 milliseconds (packet length is 103 bytes ) and i see that 15% of the packets are lost. These 15% of  packets are not even seen in the packet sniffer , which makes me think that they are not even sent from the Co-Processor.

2. All sensor nodes send sensor information every 2000 milliseconds (packet length is 103 bytes ) and i see that 2% of the packets are lost. These 2% of packets are not even seen in the packet sniffer , which makes me think that they are not even sent from the Co-Processor.

3. All sensor nodes send sensor information every 3000 milliseconds (packet length is 103 bytes ) and i see that 1% of the packets are lost. These 1% of  packets are not even seen in the packet sniffer , which makes me think that they are not even sent from the Co-Processor.

The test period of all 3 setups are 25 minutes each. Here is the interesting part which i do not understand this packets lost are not equivalent for all sensor nodes, during all the tests i noticed that there are some sensor nodes which are not sending more than 10 consecutive packets (no error in the application level I am receiving the SREQ response from the Coprocessor) and at some point the sensor node resume sending at the desired reporting interval. 

Can you give me some idea where the problem might be and why some sensor nodes stop sending the data for some period and then resume. The data lost of the sensor node is random in time and in amount. They might not send one 1 or 20 consecutive  packets and then resume sending at the desired reporting interval. Also all test are done in the same indoor environment.

Thank you in advance!

  • If you wish to know the exact reason why the packets were not successfully sent you should check the command MAC_DATA_CNF sent by the co-processor to your linux machine.

    Also, if I had to guess this might be happening because the TX buffer in your Co-Processor firmware is too small. You can increase the size of the TX buffer by modifying the Macros MAC_CFG_TX_DATA_MAX and MAC_CFG_TX_MAX in mac_cfg.c

    MAC_CFG_TX_DATA_MAX defines how many application level packets the buffer can hold

    MAC_CFG_TX_MAX defines the overal number of packets that can be in the buffer at once this includes application data packets and 802.15.4 specific command packets
  • Hello Hector,

    Thank you very much for your response! The data is transmitted from the linux to the co-processor successfully. in the Sensor node application code i receive the SREQ response, so the sendSensorMessage function does not return error. I made few more tests today in the following setup

    1. 25 sensor nodes sending 103 bytes frame every 2000 milliseconds with min_backoff_interval set to 1 and max_backoff_interval set to 3 and the packets lost became 8.5%.

    2. 25 sensor nodes sending 103 bytes frame every 2000 milliseconds with min_backoff_interval set to 5 and max_backoff_interval set to 8 and the packets lost became 1.3%.
  • If you really want to know weather the data was sent over the air you need to check the MAC_DATA_CNF AREQ. Even if you get a successfull SREQ from the coprocessor after sending data to it that doesnt guarantee that the data will be sent out over the air and this is why you need to theck the MAC_DATA_CNF AREQ.

    Also, if you haven't done so already I recommend increasing the values of both MAC_CFG_TX_DATA_MAX and MAC_CFG_TX_MAX
  • Hello ,

    Thank you for your replay. I will test that. at the moment the MAC_CFG_TX_DATA_MAX  is 2 and MAC_CFG_TX_MAX is 5.

    Best regards

  • Hello,

    I made tests with MAC_CFG_TX_DATA_MAX set to 25 and MAC_CFG_TX_MAX 50 and it did not fix my problem.
    So the test environment is 1 base station , 25 remote units and 1 sniffer. Remote units are sending packet with length 105 bytes every second. The MIN_BE is set to to 5 and MAX_BE is set to 7.

    test period 2 minutes , should have 3000 packets. The sniffer heard 2614 and the base station heard 2386.

    Best regards