Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| programmable-logic:zybo-z7:demos:pcam-5c [2022/08/02 08:14] – [Table] raduvele | programmable-logic:zybo-z7:demos:pcam-5c [2022/10/04 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Zybo Z7-20 Pcam 5C Demo ====== | ||
| + | <WRAP todo important> | ||
| + | == Under Construction == | ||
| + | </ | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ---- | ||
| + | ===== Description ===== | ||
| + | |||
| + | The Zybo Z7 Pcam 5C project demonstrates the usage of the Pcam 5C as a video source by forwarding the streaming image data out to the HDMI TX port. | ||
| + | The behavior is as follows: | ||
| + | |||
| + | * Video data streams in through the Pcam port and out through the HDMI source (TX) port. | ||
| + | * A UART interface is available to configure the image sensor and additional post processing IP Cores. | ||
| + | |||
| + | The following table lists the currently supported video resolutions and output formats from the image sensor. Note that resolutions with frame rates lower than 60Hz are over sampled to 60Hz to output over the HDMI port. | ||
| + | |||
| + | |||
| + | ^ Supported Resolutions: | ||
| + | | * 1080p@30Hz\\ | ||
| + | |||
| + | ---- | ||
| + | ===== Inventory ===== | ||
| + | |||
| + | * Zybo Z7 with a MicroUSB Programming Cable and External Power Supply | ||
| + | * **1 Pcam 5C Assembly** | ||
| + | * Vivado and Vitis installations compatible with the latest release of this demo (2020.1) | ||
| + | * //See [[programmable-logic: | ||
| + | * Serial Terminal application to receive messages printed by the demo | ||
| + | * //See [[programmable-logic: | ||
| + | * **1 HDMI Type A to Type A or HDMI Type A to DVI-D cable** | ||
| + | * **HDMI or DVI monitor** | ||
| + | |||
| + | ---- | ||
| + | ===== Download and Usage Instructions ===== | ||
| + | |||
| + | First and foremost, releases - consisting of a set of files for download - are only compatible with a specific version of the Xilinx tools, as specified in the name of the release (referred to as a //release tag//). In addition, releases are only compatible with the specified variant of the board. For example, a release tagged " | ||
| + | |||
| + | The latest release version for this demo is highlighted in green. | ||
| + | |||
| + | **Note:** //Releases for FPGA demos from before 2020.1 used a different git structure, and used a different release tag naming scheme.// | ||
| + | |||
| + | **Releases not yet available for 2020.1.** | ||
| + | |||
| + | ^ Board Variant | ||
| + | | Zybo Z7-20 | v2019.1-1 | ||
| + | | Zybo Z7-20 | v2018.2-2 | ||
| + | | Zybo Z7-20 | v2017.4 | ||
| + | | Zybo Z7-20 | v2016.4-1 | ||
| + | |||
| + | **Note for Advanced Users:** //All demos for the Zybo Z7 are provided through the [[https:// | ||
| + | ---- | ||
| + | Instructions on the use of the latest release can be found in this dropdown: | ||
| + | |||
| + | --> Using the Latest Release # | ||
| + | <WRAP group> | ||
| + | |||
| + | {{page> | ||
| + | |||
| + | --> Set up the Zybo Z7 # | ||
| + | <WRAP group> | ||
| + | <WRAP group> <WRAP column half> | ||
| + | Plug one end of the HDMI cable into the HDMI TX port of the Zybo Z7 and the other into your HDMI monitor. Also attach a USB micro cable between the Zybo Z7 and your computer. Finally, attach an external 5V power supply, since the power demand surpasses the USB power budget. | ||
| + | </ | ||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | <WRAP group> <WRAP column half> | ||
| + | Attach the Pcam 5C assembly (which includes the Pcam 5C and the attached 15-pin flat flexible cable) by inserting the other end of the FFC into the Pcam connector on the Zybo Z7 as shown in image below. Ensure the cable is securely latched by pressing down firmly on the connector with two fingers. For a more detailed set of instructions, | ||
| + | </ | ||
| + | {{: | ||
| + | </ | ||
| + | </ | ||
| + | ---- | ||
| + | <-- | ||
| + | |||
| + | {{page> | ||
| + | |||
| + | At this point, the demo is now running on your board. Refer to the [[# | ||
| + | ---- | ||
| + | Additional steps beyond here present how you can use the other archive provided in the release, containing the hardware project, to rebuild the Vivado project, and use a newly exported XSA file to update the platform in Vitis. | ||
| + | ---- | ||
| + | {{page> | ||
| + | |||
| + | |||
| + | </ | ||
| + | <-- | ||
| + | |||
| + | ---- | ||
| + | ==== Pcam 5C Image Sensor and Post Processing Options ==== | ||
| + | |||
| + | * **a**: Change Resolution | ||
| + | * This option can be used to change the resolution of the video coming from the sensor. Currently 1080p@15Hz is not supported and will cause problems if used. | ||
| + | * **b**: Change Liquid Lens Focus | ||
| + | * This option is not compatible with this version of the Pcam 5C and should be ignored | ||
| + | * **d**: Change Image Format | ||
| + | * This option was included for debugging purposes and should always be set to RAW mode (option 2) | ||
| + | * **e**: Write a Register inside the Image Sensor | ||
| + | * This option allows you to write a value to any register inside the Image sensor over the OmniVision SCCB interface. You will need to refer to the OV5640 datasheet for information on the register map. This option is very useful for exploring the features of the image sensor. | ||
| + | * **f**: Read a Register inside the Image Sensor | ||
| + | * This option allows you to read the value of any register inside the Image sensor over the OmniVision SCCB interface. | ||
| + | * **g**: Change Gamma Correction Factor Value | ||
| + | * This option allows you to change the amount of gamma correction that is done by the custom AXI stream IP inside the FPGA. | ||
| + | * **h**: Change AWB Settings | ||
| + | * This option allows you to adjust how the image sensor is doing auto white balancing. There are 3 modes: Advanced, simple, and disabled. The advanced mode sometimes causes dramatic shifts between " | ||
| + | |||
| + | ---- | ||
| + | ==== Pcam 5C Image Quality Notes ==== | ||
| + | |||
| + | This demo uses our own software to configure the OV5640 image sensor and open source IP to post process the image data. Both of these facets of the software greatly affect image quality. This section documents the current quality of the images our software is able to produce with the Pcam 5C. We are aware that the quality of the image affects whether the Pcam 5C is suitable for some applications, | ||
| + | |||
| + | We hope to improve the quality of the images produced by this demo over time, so please check back often if you are interested. We are also looking into using Xilinx IP and the Omnivision provided Linux drivers to provide another software option for the use of the Pcam 5C. This will be made available if successful on the [[add-ons: | ||
| + | |||
| + | ---- | ||
| + | === Color Accuracy === | ||
| + | |||
| + | We have seen some issues with the accuracy of the colors produced in some conditions. The affect is that colors seem less vivid and washed out. In some cases the image tends to look a little skewed towards " | ||
| + | |||
| + | <WRAP group> <WRAP column half> | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | {{: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | === Over Exposure === | ||
| + | |||
| + | Some situations that contain a mix of dark and bright areas will cause the brighter areas to look overexposed. Notice the very white area of the image produced by the Pcam 5C. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | < | ||
| + | |||
| + | ---- | ||
| + | === Visible Border Line === | ||
| + | |||
| + | The top and left edges of the image have a single pixel gray line. This artifact is introduced by our post processing IP, axis_raw_demosaic. It is an accepted side-effect of the border interpolation algorithm used and we plan to provide other options in future versions of the IP. The image below is taken with the Pcam 5C lens cap on, which makes the gray line very visible on the all black image. | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | < | ||
| + | |||
| + | ---- | ||
| + | ===== Additional Resources ===== | ||
| + | |||
| + | All materials related to the use of the Zybo Z7 can be found on its [[..: | ||
| + | |||
| + | For a walkthrough of the process of creating a simple baremetal software project in Vivado and Vitis, see [[programmable-logic: | ||
| + | |||
| + | For technical support, please visit the [[https:// | ||
| + | |||
| + | ---- | ||

