cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Observer
Observer
2,952 Views
Registered: ‎04-25-2017

PL2PS IRQ Zynq interrupt issue

Jump to solution

Hi to all,

In order to reduce complexity I'd like to be able to send interrupts from PL logic directly bypassing the GPIO.

So far it doesn’t work for me.  The block diagram is attached. For interrupt signal verification it includes ILA. The interrupter is a 16-bit counter sending a pulse once over the counting cycle. The clock frequency is 1 MHz.

My system is buit on the Digilent Zybo board in a standalone mode, Vivado 2016.4, no erros or meaningful warnings.

Software is taken from the Zynq Book Training files, however, instead of XGPIO I use XScuGic:

XGpio_InterruptEnable(GpioInstancePtr, 1); =è

XScuGic_Enable(IntcInstancePtr, INTC_INTERRUPT_ID);

The INTERRUPT_ID parameter is taken from xparameter.h  line #define XPAR_FABRIC_INT_CNT_0_INTR_INTR 61

The InterruptHandler routine does nothing but increments interrupt counter value. The main checks the count and quits when it's over 50.

In the debugging mode all initialization went without errors and the program was in state of waiting for the interrupt.

Hope someone will be able to guide me.

Thanks

IRQ.PNG
0 Kudos
Reply
1 Solution

Accepted Solutions
Observer
Observer
5,211 Views
Registered: ‎04-25-2017

I made it to work after adding a line:

XScuGic_SetPriorityTriggerType(IntcInstancePtr, INTC_INTERRUPT_ID,0x00, 0x3);

to the SetupInterruptSystem subroutine.

 

The question may e cosidered answered and closed.

View solution in original post

0 Kudos
Reply
3 Replies
Moderator
Moderator
2,869 Views
Registered: ‎07-31-2012

Hi,

 

Could you make sure the intr port of Interruptor_0 block is of type intr?

Check in port's properties.

 

Regards

Praveen


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply
Observer
Observer
2,855 Views
Registered: ‎04-25-2017

Hi Praveen,

Thank you for response.

Based on the attached snapshot of the pin properties the type is intr as you suggested.

Anything else to check?

 

 

PinType.PNG
0 Kudos
Reply
Observer
Observer
5,212 Views
Registered: ‎04-25-2017

I made it to work after adding a line:

XScuGic_SetPriorityTriggerType(IntcInstancePtr, INTC_INTERRUPT_ID,0x00, 0x3);

to the SetupInterruptSystem subroutine.

 

The question may e cosidered answered and closed.

View solution in original post

0 Kudos
Reply