NRF52840 802.15.4 CCA question

I would appreciate your feedback on the 802.15.4 CCA implementation on NRF52840.

1. Is it possible to perform CCA without disrupting the RF reception?

2. If it is possible, I need to invoke NRF_RADIO_TASK_CCASTART on "RX" state. I assume I can use NRF_RADIO_SHORT_CCAIDLE_STOP_MASK to transition from RX to RXIDLE.

But can I combine NRF_RADIO_SHORT_CCAIDLE_TXEN_MASK to automatically transition from RX_IDLE to TX_IDLE?

3. I know I can instead handle CCAIDLE  from IRQ handler but I am wondering if it can be more automated?

Thanks

Q

Parents
  • Hi Qinggjun,

    IEEE802.15.4 CCA and RX are competitive operations for radio peripheral resources, you can find clues from NCS modules\hal\nordic\drivers\nrf_802154\driver\src\nrf_802154_core.c source codes. nRF5 SDK should have similar files.

    I am curious if you are making your own IEEE802.15.4 based customized protocol? Generally, you should avoid maintaining your own protocol unless the existing Thread, Zigbee, or RF4CE, and so on cannot satisfy your needs totally, because it will take huge efforts and resources. Could you share more information about your application so we may be able to provide more help on it?

    I also want to remind you that nRF5 SDK-based solution is only under the maintenance stage now and you should move forward to NCS for your new project as soon as possible. Please see the blog nRF Connect SDK and nRF5 SDK statement to learn more details.

    Best regards,

    Charlie

Reply
  • Hi Qinggjun,

    IEEE802.15.4 CCA and RX are competitive operations for radio peripheral resources, you can find clues from NCS modules\hal\nordic\drivers\nrf_802154\driver\src\nrf_802154_core.c source codes. nRF5 SDK should have similar files.

    I am curious if you are making your own IEEE802.15.4 based customized protocol? Generally, you should avoid maintaining your own protocol unless the existing Thread, Zigbee, or RF4CE, and so on cannot satisfy your needs totally, because it will take huge efforts and resources. Could you share more information about your application so we may be able to provide more help on it?

    I also want to remind you that nRF5 SDK-based solution is only under the maintenance stage now and you should move forward to NCS for your new project as soon as possible. Please see the blog nRF Connect SDK and nRF5 SDK statement to learn more details.

    Best regards,

    Charlie

Children
  • Hello Charlie,

    Thank you for pointing out nrf_802154_core.c file. I am reading it now.

    Yes, you are right. I have been working on our own mesh protocol, which we plan to open-source soon.

    It is named Hornet (Hub Orchestrated Routing Network) Mesh. We already have a solid implementation on TI CC2538. I am porting it to Nordic NRF52840 now.

    I am managing a huge project, including two brand new operating systems. Mesh network stack is not our core business, nevertheless, I believe we shall make contributions.

    Eventually, everybody will be able to write IoT apps in TypeScript that end-users can deploy to IoT devices, including the MCUs, and execute in a way that is both CPU safe and memory safe by design.

    Below is the system overview. Hornet Mesh is a small part of it. Nordic MCUs will be supported.

    docs.google.com/.../edit

    I can share some details on this board if it is OK to do so.

  • Hello Charlie,

    Thank you for pointing out nrf_802154_core.c file. I am reading it now.

    Yes, you are right. I have been working on our own mesh protocol, which we plan to open-source soon.

    It is named Hornet (Hub Orchestrated Routing Network) Mesh. We already have a solid implementation on TI CC2538. I am porting it to Nordic NRF52840 now.

    I am managing a huge project, including two brand new operating systems. Mesh network stack is not our core business, nevertheless, I believe we shall make contributions.

    Eventually, everybody will be able to write IoT apps in TypeScript that end-users can deploy to IoT devices, including the MCUs, and execute in a way that is both CPU safe and memory safe by design.

    Below is the system overview. Hornet Mesh is a small part of it. Nordic MCUs will be supported.

    docs.google.com/.../edit

    I can share some details on this board if it is OK to do so.

  • Hi Qingjun,

    It is very exciting to learn about your project from the slides and website. Thanks for adding support for Nordic MCUs on your platform. TypeScript will definitely make embedded development much easier, really looking forward to seeing the release of your open-source project. It is totally OK if you want to share more information on this Devzone board. We have many active developers who may be interested in your solutions.

    Best regards,

    Charlie 

Related