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.

CC2538: Data Transmission Issue

Genius 5355 points

Part Number: CC2538
Other Parts Discussed in Thread: TIMAC

Hi Support,
Am using TIMAC and the CC2538 is setup in a beacon enabled network where there is a PAN coordinator and several “routers”.
The router is setup with both Coordinator and Device function.

Issue #1:
When the router device try to send data to the its parent router, the data is sending out during the its own beacon time instead of the parent beacon time.
Since the data would not be ACK by the parent router when it sending out, the data will be sending again when the next parent beacon.
This has create unnecessary data transmission for the router.
Please refer to the attached screenshot of the sniffer log.

Issue #2:
When the CC2538 is heated to around 70-80 degree Celcius, the device does not send out any beacon anymore.
However, the device is still able to sync with its parent router and sending out data when requested by the parent router.
This means the other network activities is still working correctly except sending out its own beacon.
When the heat is removed, the router will be able to send out its beacon again with the same timing previously and continue the sequence number from where it stop previously.

Please advise.

Thanks.

  • Hi,

    For issue#2 - The problem could be with the Crystal accuracy over the temperature. Please check the specs.

    Thanks,
    PM
  • Hi PM,

    On #2... No issue on the crystal as the device under test still able to sync with the its coordinator and send out data to the coordinator.

    Any feedback on issue#1?

    Thanks.

  • Hi Support,

    Please find the attached sniffer log file captured.

    You can see the issue on the packet RX200 when the device 0x1045 tried to send data to 0xA195.
    However, you can see the beacon before it send out the data was the device’s own beacon (RX199).
    Then the device 0x1045 try to send the data again on packet RX209 and this time it was at the correct timing where packet RX208 was the beacon from 0xA195.
    This device repeat the same things again on packet RX538 when the parent issued the new command.
    Seeing from the sniffer log that other devices is having the same issue too.
    With this issue, the device actually use a lot of the window time try to send the data to its parent and this will cause its child devices unable to send the data to the device on that time window.
    We hope that this issue can be solved.

    The application flow is as follows:
    - Every 5mins the Gateway/PAN Coordinator will send a command to its child router to collect the data.
    - After the child router received the command, it will then send the command to its child router too.
    - After that, the router will enable the sensor and start the measurement.
    - After 300ms, it will collect the measurement from the sensor through UART and sent to its parent router.
    - When received measurement data from child router, it will add the measurement data into its record buffer and trigger the send function.
    - Then the data shall be sent to the parent router.

    Please advise.

    Thanks.

    06042017_bintest4.psd

  • Hi Support,

    Any feedback?

    Thanks.

  • Hey,

    Sorry for the delay. This type of configuration is not officially supported, but I still wanted to see if I could help. The way this configuration can work is if the main PAN coordinator has an inactive period that the 2nd tier coordinator can use as its active period. This mean you will have to call the MSA_CoordinatorStartup API for the second coordinator when the inactive period starts. This way an end device will only listen for a single beacon, and will only send data to a single coordinator. Let me know if this sounds like something you would want to do.

    ~Brocklobsta

  • Hi Brocklobsta,

    This is what currently being implemented.
    However, when the so-called 2nd tier coordinator wanted to send data to the main PAN coordinator, instead of sending at the main PAN coordinator’s beacon time, it sends at its own beacon time.
    Then it will send again during the PAN coordinator’s beacon time.
    Do you encounter similar situation?

    Thanks.

  • Hi Support,

    In addition, found that the temperature sensor in CC2538 was inaccurate.
    I believe this inaccuracy is influence by certain parameter but I wasn’t sure what could have influence it.


    In our configuration, the ADC is using internal reference and we did a calibration at a fixed temperature by adding the different back from the value we capture from ADC.
    The hardware consist of top PCB which contain the CC2538 and the bottom PCB which will be the IO and power supply (battery).
    So the calibration for the top PCB was done with the bottom PCB connected to my bugger with a fixed voltage of 3.3V.
    The same bottom PCB will be used for all the top PCB for calibration.


    However, when the top PCB were attached to other bottom PCB after the calibration, it will still give out an inaccurate temperature value.
    So what could have affect the CC2538 giving inaccurate temperature value?
    Could it be due to different voltage where the bottom PCB was power by battery (around 2.6V) and calibration was done on 3.3V?
    However, since we are using internal reference, I believe the supply voltage shouldn’t have any effect.
    Can you please help me out on this?

    Thanks.

  • Hi Support,

    Any feedback?

    Thanks.