• 0
elAmericano

ZedBoard PCAM

Question

Hello,

My organization has recently purchased the ZedBoard (as well as other dev boards) as we are getting ready to upgrade some older systems.  As a first step to using ZYNC, have followed all of the steps in this tutorial: https://reference.digilentinc.com/learn/programmable-logic/tutorials/zedboard-fmc-pcam-adapter-demo/start#download_and_launch_the_zedboard_fmc-pcam-adapter_demo

However, there is some important difference.  When I go to import, i am not seeing any files named pcam_vdmi_hdmi.  I have attached the snippet of the files I am seeing in the ZedBoard_FMC_PCam_Adapter_DEMO.

 

Other issues, which may be related, include after programming FPGA and launching SDK on FPGA, I am seeing no information over serial terminal.  I have Com port config for 115200.  I would expect that even cycling power or writing FPGA with bitstream, I should be expecting to see some information.  

 

Some details:

Windows 10

Vivado 2018.2 (as suggested by author)

ZedBoard Dev Board

 

 

 

README.mdsdk_pcam_vdmi_hdmi_missing.png.3076024185786f0bb4648572df3ada49.pngREADME_pcam_vdmi_hdmi.thumb.png.cadeb3921ab6c1b38540530b2ed236cf.png

Share this post


Link to post
Share on other sites

17 answers to this question

Recommended Posts

  • 0

Hi again @elAmericano!

It seems to be an issue with the SDK or the project. From what I see, the simplest way to solve your issue is to rebuild your project from scratch using the tutorial from the Readme file.

It has been updated to include the extra steps I have given you. Don't forget to add the repositories as the note says.

Keep us up to date with your progress. I'm very curious and hopeful! Good luck!

Share this post


Link to post
Share on other sites
  • 0

Hi @elAmericano,

I believe that particular project name was a holdover from the original Pcam project where "pcam_vdma_hdmi" was the relevant project name and simply didn't get changed in the readme. I ran through the project myself, but did not get any output on the serial terminal either (I don't have the FMC Pcam adapter to test the hardware side of things). I will do a bit more research to see what I learn.

Thanks,
JColvin

Share this post


Link to post
Share on other sites
  • 0

Hello, @elAmericano!

I have managed to solve the issue today:

1. Make sure you have an up-to-date bistream and export that to the SDK.

2. Right click on <project name>_bsp (in SDK's Project Explorer) and click on "Board Support Package Settings". There you should go to drivers and change the driver type from "generic" to their respective name for MIPI_CSI_2_RX, MIPI_D_PHY_RX and video_scaler component types(for all components of these types) if they are not already changed to their name.

3. Right click on <project name> and click properties. There, you should go to Paths and Symbols under the C/C++ General menu. Click on add and write /${ProjName}/src

I have attached two photos to illustrate step 2 and 3.

Good luck!

Step2.png

Step3.png

Share this post


Link to post
Share on other sites
  • 0

Hello,

Thank-you for your response.  I appreciate the feedback. 

Upon implementing your suggested response, I have rebuilt project fresh, recompiled bitstream, and exported hardware.  As you can see, I am not having the drivers you have in the HW platform output.  

For this reason, when I go to select the drivers, the choices are "generic" and "none".  There is no alternative.

I think to reach your solution, I need to have these drivers output into hardware platform.  Please suggest how to do so.

Thanks,

 

Drivers.png

driver_selection.png

Share this post


Link to post
Share on other sites
  • 0

Hi @elAmericano,

Did you add the PHY_RX and video_scaler drivers as mentioned in the Note right before step 17 in the readme? I had to do this on my system in order to be able to properly set the drivers as @OvidiuD mentioned.

Thanks,
JColvin

Share this post


Link to post
Share on other sites
  • 0

Hello,

Thank-you for that clarification.  I must have skipped that when I was building the demo.  As seen below, I have updated the folders, and the drivers are updated.  I am also recieving "Hello World" over com port.

Regardless, VGA signal is not showing up on my monitor.  Any other suggestions ?.  

 

application.png

drivers.png

drivers_video.png

hello_world.png

Share this post


Link to post
Share on other sites
  • 0

Hi @elAmericano,

When you created the application project, did you select C++ as the target software language and Empty Application as the template? I know when selecting C as the software language, Hello World is the default template, which is why I am asking.

Thanks,
JColvin

Share this post


Link to post
Share on other sites
  • 0

Hello,

I have actually tried to do both.  For C++ i wrote a similar 'Hello World' example to make sure it is getting compiled.

Unfortunately, I am seeing Hello World, but I am not seeing VGA output on the monitor.  Does this imply there is some issue with bitstream?

BTW, this is Digilent Board with FMC PCAM adapter purchased online through Digilent Portal.  

Share this post


Link to post
Share on other sites
  • 0

OK.  I will re-run.  

While Re-reading the first line though this reminded me of another concern I had.   It requests placing jumper on 3V3, however, no pins were soldered.  Should I manually short these and remove the 2.5V jumper?  

If that 3.3V is used or powering camera, I am wondering if this could also be impacting.  Please let me know.  Meanwhile, I will continue to re-build.

3V3 Jumper.jpg

Share this post


Link to post
Share on other sites
  • 0

Hi @elAmericano,

I wasn't aware that this project required the 3.3V setting until you mentioned it.

I haven't looked yet to see if it explicitly needs the 3.3V VADJ, though considering it was mentioned in the project and that header is normally unloaded, I would say that you would need to remove the jumper and manually (but not permanently) short the 3.3V setting.

Looking at the FMC Pcam Adapter Reference Manual though in the Compatibility Matrix table, it seems that it should be compatible with the 2.5V VADJ setting, though I will defer to @OvidiuD on that.

Thanks
JColvin

Share this post


Link to post
Share on other sites
  • 0

Hello,

Nice.  Works.  no 3.3V jumper necessary.  

For some reason the SDK was not populating the main.cc file with any of the driver information needed.  Now when I have recompiled form start, the main.cc file comes back with much more data.  

I don't think I fully understand the source of the error.  It could have been includes.  But the project is indeed functioning now.   

Thanks!

 

 

 

Share this post


Link to post
Share on other sites
  • 0

Well Thank's for your support. I will be working on several other projects trying to get them up and running.  I think this was important.


One question that remains in my mind however, is how to determine if the drivers need to be imported from the ip_defs folder or not when working with various IP.  It was not very straightforward, as several other IP were using "generic" and didn't seem to cause a problem.  The two that we selected seemed somewhat non-intuitive.  I am wondering when this kind of thing will come up again, and I will need to handle.

Thanks again.

Share this post


Link to post
Share on other sites
  • 0

Hi @elAmericano!

I'm glad your project is working. I hope you will have good luck in your future projects. Thank you for signaling your issues!

About the jumper; The project works fine without a 3.3V jumper. Mine is set the same way yours is in the photo you provided.

About the IPs; In theory, the SDK should automatically add those drivers and select them for use, but it seems like a bug is stopping it from doing so. The generic driver means that you only have the read and write functions for the address where that component should be rooted. Specific drivers should be used and added whenever we actually want to use more complex functions without having to design them manually. In this project specifically, these drivers were needed and as they have been provided as libraries through ipdefs there was no need to re-implement them. 

Good luck!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now