UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
620 Views
Registered: ‎09-18-2018

read EOC bare-metal

Hello everyone,

I am using a Zybo Z7-20 and want to read external, analog voltages. Now I read in the XADC documentation something about an EOC interrupt. And I want to use this interrupt in my bare-metal program to trigger the reading of the digitalized voltages.

But I don't find documentations, if there is an function existing for reading it out.

Can someone give me an advice or knows more about this than me?

Greetings from a really HelplessGuy

0 Kudos
6 Replies
Moderator
Moderator
594 Views
Registered: ‎07-31-2012

Re: read EOC bare-metal

Hi @helplessguy,

 

You can try example of XADC wizard IP on right click and simulation in Vivado to understand the EOC interrupt.

 

Regards

Praveen


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Adventurer
Adventurer
589 Views
Registered: ‎09-18-2018

Re: read EOC bare-metal

Hello @pvenugo

I know how the interrupt EOC is working. My problem is, if there is in bare-metal programs functions existing to read that interrupt. I do not find something about this.

greeting from a helplessguy 

0 Kudos
Moderator
Moderator
582 Views
Registered: ‎07-31-2012

Re: read EOC bare-metal

Hi @helplessguy,

 

The interrupt goes high when enabled through the interrupt enable register.  For eoc (or eos, if you use the channel sequencer in the XADC configuration) connect eoc_out to the only free pin left in the interrupt concatenation to processor IRQ.

Thus you can monitor it.

 

Regards

Praveen


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Adventurer
Adventurer
578 Views
Registered: ‎09-18-2018

Re: read EOC bare-metal

Hello @pvenugo

Do I need in my application code some special library to read the interrupt out? Is there something existing and if yes, is there a documentation about this?

0 Kudos
Moderator
Moderator
535 Views
Registered: ‎07-31-2012

Re: read EOC bare-metal

Hi @helplessguy,

 

There is no need of any library for XADC and its interrupt.

 

Regards

Praveen


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Adventurer
Adventurer
518 Views
Registered: ‎09-18-2018

Re: read EOC bare-metal

Hi @pvenugo

I am going now forward! Thanks for your support.

One of the functions I am using is XAdcPs_IntrClear() the problem here is, that this function needs a Mask of Bits to enable the interrupts I want to use.

The definitionfile "xadcps_intr.c" of these functions are saying, that the bitmask is in the header "xadcps_hw.h". But there are only bitmasks for the alarms (like temperature and so on). And the given bitmasks are all u64 and not u32.

Where are the definitions of the bitmasks for EOC or EOS to find?

 

@pvenugo: You also said, that I only have to connect eos_out to the IRQ_F2P[0:0] port of thre ZYNQ7 Processing System block. Problem now, every interrupt of these gets the warning BD 41-1731. Only ip2intc_irpt is working fine. How do I fix this problem? And do I have to connect eos_out/eoc_out or ip2intc_irpt?

0 Kudos