ESB and BLE concurrent issues on nRF54L series

Hello,

There are some issues I have found when I tried to achieve both BLE and ESB features concurrently on nRF54L chips, 
and some of them I have figured out how to fix, and some of them I can skip at this point but I need to know if it is correct paths or not.
Any suggestions please free to tell me.

NCS version: v3.0.0
Enviroment: nRF54L15 DKs / Ble peripheral role / ESB / Timeslot

Issue1: the conflicted TIMER10 when using ESB and Timeslot on nRF54L, this is a known issue from this ticket. According to the timeslot usage, the next normal request and releasing radio resources should be within a requested period and be eariler than the end of the timeslot, because of the issue, the extra hardware timer(like timer21) is used to replace the callback TIMER10 event. It worked but with flaws, only eraliest requests can be generated by the application right now.

Issue2: the conflicted RADIO handlers when using ESB and Timeslot on nRF54L, this issue is related to the principle  SDK source code.  From my opinions, the developers should never change any codes in NCS. I have to break this basic principle if I want the ESB module to work as I expected. The ESB uses radio interrupt handler function to operate generated radio events, the followings code snippet show the case:


  You have to explicitly delcare and call the 
radio_irq_handler function from the esb.c in the MPSL_TIMESLOT_SIGNAL_RADIO event(timeslot code) to make the esb radio interrupts work correctly.

Issue3: the advertising of ble does not work after esb_init is called in MPSL_TIMESLOT_SIGNAL_START event and esb_disable() is called in MPSL_TIMESLOT_SIGNAL_TIMER0(only for example, because the TIMER10 dose not work correctly, custom timer timeout handler instead).


Thanks in advanced.

Parents
  • Hi Esten, 


    You pretty much sum up the issues with concurrent ESB + BLE. I just want to clarify that now you have a prototype that works ? with ESB + BLE concurrent ? 


    I assume you have read this thread ? RE: MPSL ESB and BLE timer problem. 
    Following is the list of issue that my coworker who worked on this provided me: 

    1. timer in radio domain is used by mpsl
    2. dppi hardcoded, no ppib
    3. no logic for adding more timers
    4. gppi, which sets up ppib for you, cannot be used, as there is no concept of "nrfx_gppi group" in the scope of nRF54L.

    As far as I know our R&D team is working on this and we are hoping to have a prototype by the next release of the SDK in a couple of month.

Reply
  • Hi Esten, 


    You pretty much sum up the issues with concurrent ESB + BLE. I just want to clarify that now you have a prototype that works ? with ESB + BLE concurrent ? 


    I assume you have read this thread ? RE: MPSL ESB and BLE timer problem. 
    Following is the list of issue that my coworker who worked on this provided me: 

    1. timer in radio domain is used by mpsl
    2. dppi hardcoded, no ppib
    3. no logic for adding more timers
    4. gppi, which sets up ppib for you, cannot be used, as there is no concept of "nrfx_gppi group" in the scope of nRF54L.

    As far as I know our R&D team is working on this and we are hoping to have a prototype by the next release of the SDK in a couple of month.

Children
Related