XMC4800. Problem in retriggering the POSIF Index Event Interrupt Routine

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User12822
Level 1
Level 1
I am using XMC4800 RelaxKit right now.
I have a setup of two encoders connected to POSIF0 + POSIF1, both configured to work with CCU40 and CCU41 timer groups. I am forwarding the Index signal of each POSIF to trigger the POSIFx.SR1 service request line.
The configuration uses the POSIFx.OUT3 signal as a timer capture in both CCU4 units. This works fine at this point. At every index occurrence the counters are captured in the CV registers.

If I activate the POSIF0_1_IRQHandler and the POSIF1_1_IRQHandler, each one of the routines is called ONLY ONCE, only at the first index signal of each POSIF peripheral.
The peripheral is configured to provide every index at the POSIFx.OUT3 output by configuring POSIF0->QDC |= (2U << POSIF_QDC_ICM_Pos);

The index signals are continuing to trigger the capture behavior in the CCU4x modules but do not retrigger the interrupt routines.

I have cleared the Index ISR flags inside the interrupt routines using:
POSIF0->RPFLG |= POSIF_RPFLG_RINDX_Msk;
POSIF1->RPFLG |= POSIF_RPFLG_RINDX_Msk;

If I set the Interrupt flag manually POSIF0->SPFLG |= POSIF_SPFLG_SINDX_Msk; the ISR triggers and the code is executed.

I need help to configure the peripherals in order to retrigger the POSIFx.SR1 service request line at every single Index event.

Best regards,
Alex

/*********************************************************************************/
Later edit:
If I configure the Encoder Direction Change Event as a interrupt source and forward it to POSIFx.SR1, the interrupt line is engaged with every encoder direction change and everything works fine.
There is still the same problem, behavior not available for the index event.
Of course all the needed flags are reset inside the interrupt routine.

Really need a helping hand on this one!
0 Likes
1 Reply
ricci_c
Level 1
Level 1
First question asked First reply posted Welcome!

Four years later, does anyone know whether this is the problem of xmc4800?

0 Likes