cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
2,884 Views
Registered: ‎01-10-2014

Replacing HDMI input with OV7670 camera in Zybo HDMI demo

Jump to solution

Hello everyone!

 

I have connected a low-cost OV7670 camera to this Digilent example:

https://reference.digilentinc.com/learn/programmable-logic/tutorials/zybo-hdmi-demo/start?redirect=1

Here is what I've done. I took the OV7670 - > AXI4Stream core from here (link below) and attached it instead of HDMI input. I changed this module to have not 32 bit RGBA output but 24 bit RGB input

https://lauri.xn--vsandi-pxa.com/hdl/zynq/xilinx-video-capture.html

and also I took the OV7670 Controller from here (link below) and also attached it to the design

https://lauri.xn--vsandi-pxa.com/hdl/zynq/zybo-ov7670-to-vga.html

The system works o'k.

What I would like to do is to remove the HDMI part from this design. I just want the image to be captured by the camera and be shown on VGA screen. If I understand it right the axi_gpio_video and the v_tc_1 ip-cores send some interrupt essential for the stream to start. I am interested and I have no understanding of what I have to do to remove the HDMI part from the design so that I always saw the image from my OV7670. Do I have to somehow simulate the interrupts? Can I do this in C code?

Thank you very much for response in advance.

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Moderator
Moderator
4,417 Views
Registered: ‎11-09-2015

Re: Replacing HDMI input with OV7670 camera in Zybo HDMI demo

Jump to solution

Hi @resalmon,

 

You just have to find where the interrupts are used in the SW and remove the piece of C code corresponding.

I don't know how the PS is using them, but you can probably tied them to 0.

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

0 Kudos
3 Replies
Highlighted
Moderator
Moderator
2,840 Views
Registered: ‎11-09-2015

Re: Replacing HDMI input with OV7670 camera in Zybo HDMI demo

Jump to solution

Hi @resalmon,

 

Sorry I do not fully understand everything in your design:

 

-> in your schematic there is V4L2? Are you using Linux or are you still doing a bare-metal application?

 

-> Or your question is only about removing the HDMI and change to VGA?

In that case, I don't think you need to care about the interrupts.

 

If you could re-explain exactly what you have working and not working (add the picture directly to the post), I think it could help to understand what could fail.

 

Regards,

 

Florent

 


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Highlighted
Adventurer
Adventurer
2,832 Views
Registered: ‎01-10-2014

Re: Replacing HDMI input with OV7670 camera in Zybo HDMI demo

Jump to solution

Hi @florentw,

 

Excuse me for my bad explanation.

Here is what I want to do. My aim is to make a design that takes image from OV7670 camera, puts it to DDR through VDMA, then takes it from DDR and shows it on the screen through VGA. I want the design to be baremetal, without Linux.

I took a Digilent example for Zybo that takes AXI HDMI input, puts it to DDR though VDMA and then shows the image through VGA. I replaced the HDMI input of the VDMA with OV7670 input. Like this:

Screenshot 2017-06-27 10.24.49.png

If I understand it correct from the design and the C code provided with it the processor gets some interrupt when some HDMI input is detected. Right now my design works only when some HDMI source is plugged in the board. The system works and the image is being shown on the screen. I want to make it work without any HDMI.

Screenshot 2017-06-27 10.24.49.png

As I understand, I have to somehow simulate the highlighted interrupts. What can I do with it?

0 Kudos
Highlighted
Moderator
Moderator
4,418 Views
Registered: ‎11-09-2015

Re: Replacing HDMI input with OV7670 camera in Zybo HDMI demo

Jump to solution

Hi @resalmon,

 

You just have to find where the interrupts are used in the SW and remove the piece of C code corresponding.

I don't know how the PS is using them, but you can probably tied them to 0.

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

0 Kudos