54L15 using DPPI to link 3 peripheral in different power domain

Hi I am developing in 54L15. Now use DPPI to link

TIMER10's PUBLISH_COMPARE[3]  ---> RADIO SUBSCRIBE_STOP,

it works fine.

Now I want to trigger a GPIO signal through GPIOTE20 SUBSCRIBE_OUT, but it cant output signal

Preiously try to link RADIO PUBLISH_ADDRESS to GPIOTE SUBSCRIBE_OUT through DPPI and PPIB because RADIO and GPIOTE are not in the same Power Domain, so it need PPIB and works fine too.

But back to the case, TIMER10 and RADIO are all in RADIO PD, GPIOTE20 is in PERI PD. How to correctly configure the PPI settings? Thanks.

here are the code :

    /* CC[3] --> RADIO RX TASK_START, period */
    // RADIO PD
    // NRF_DPPIC10->CHG[0] = (1 << PPI_CH_TMR_2_RADIO_RX_START);
    // NRF_DPPIC20->SUBSCRIBE_CHG[0].DIS = (1 << PPI_CH_TMR_2_RADIO_RX_START) | DPPIC_SUBSCRIBE_CHG_DIS_EN_Msk;
    // NRF_DPPIC10->TASKS_CHG[0].EN = 1;


    rf_timer_inst.p_reg->PUBLISH_COMPARE[3] = (PPI_CH_TMR_2_RADIO_RX_START << TIMER_PUBLISH_COMPARE_CHIDX_Pos) | NRF_SUBSCRIBE_PUBLISH_ENABLE;
    NRF_RADIO->SUBSCRIBE_START = ((uint32_t)PPI_CH_TMR_2_RADIO_RX_START | NRF_SUBSCRIBE_PUBLISH_ENABLE);

    NRF_PPIB11->SUBSCRIBE_SEND[0] = (PPI_CH_TMR_2_RADIO_RX_START << PPIB_SUBSCRIBE_SEND_CHIDX_Pos) | PPIB_SUBSCRIBE_SEND_EN_Msk;
    // NRF_PPIB11->PUBLISH_RECEIVE[0] = (PPI_CH_TMR_2_RADIO_RX_START << PPIB_PUBLISH_RECEIVE_CHIDX_Pos) | PPIB_PUBLISH_RECEIVE_EN_Msk;

    // PERI PD
    tp_gpiote20_inst.p_reg->SUBSCRIBE_OUT[GPIO20_TP2_GPIOTE_IDX] = ((uint32_t)PPI_CH_TMR_2_RADIO_RX_START | NRF_SUBSCRIBE_PUBLISH_ENABLE);
    NRF_PPIB21->PUBLISH_RECEIVE[0] = (PPI_CH_TMR_2_RADIO_RX_START << PPIB_PUBLISH_RECEIVE_CHIDX_Pos) | PPIB_PUBLISH_RECEIVE_EN_Msk;
    NRF_DPPIC20->CHENSET = BIT(PPI_CH_TMR_2_RADIO_RX_START);
Parents Reply Children
No Data
Related