Disable interrupt tail-chaining

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Disable interrupt tail-chaining

476 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by fruitmans on Mon Oct 27 02:36:00 MST 2014
Hello there,

I am using the LPC1812 within my project and have a question about the interrupt tail-chaining mechanism. I need to generate a short output pusle on a pin with a defined length of several clock cycles. I am using a external match pin that set the output on match and want to reset the output in the interrupt service routine of the timer match. Normally it takes 12 clock cycles to enter the ISR but when the interrupt is tail-chained it only takes 6 cycles. In most of the situations this is desired but in my situation it will shorten the pulse with approximately 25% and i cannot afford this variation. Is there a way to disable the tail-chaining mechanism or is there a way to detect that the interrupt call was handled with tail chaining on another active ISR?
Labels (1)
0 Kudos
4 Replies

450 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by wmues on Mon Oct 27 13:30:16 MST 2014
You can use the Motor Control PWM to generate such a pulse.
0 Kudos

450 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by starblue on Mon Oct 27 07:19:26 MST 2014
Why don't you use the SCT?
0 Kudos

450 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by fruitmans on Mon Oct 27 07:04:40 MST 2014
As far as i can see i cannot use 2 match registers to influence one single external match pin. In this case i could use an logic 2 port xor port externally on the MCU to combine the status of 2 external match outputs to a single signal. This could solve my timing issue but takes some hardware modification on the product. If there are any options or I misunderstood something please let me know :)
0 Kudos

450 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by wmues on Mon Oct 27 06:02:51 MST 2014
Using the interrupt service routine to reset the output won't give you a reliable time. Forget it.

Can't you use a second match to clear the output pin? This is the standard solution for such a problem.
0 Kudos