====== ZedBoard FMC-Pcam-Adapter Demo ====== == Under Construction == {{ :learn:programmable-logic:tutorials:zedboard-fmc-pcam-adapter-demo:moving_hand.jpg |}} ---- ===== Description ===== This project demonstrates the usage of the FMC Pcam Adapter as an interface from one to four different Pcam cameras and the ZedBoard platform. The Video Stream from each different camera is getting in through the MIPI/FMC connectors and out through the carrier VGA port. For errors and feed-back messages, an UART interface is present. Additional information on how this demo can be used can be found in appropriate READMEs, linked below. ---- ===== Inventory ===== * ZedBoard with an external 12V Power Supply * 2 Micro-USB cables. One for programming and the other one for the uart interface * Vivado and Vitis installations compatible with the latest release of this demo (2020.1) * //See [[programmable-logic:guides:installing-vivado-and-vitis|Installing Vivado, Vitis, and Digilent Board Files]] for installation instructions.// * * Serial Terminal application to receive messages printed by the demo * //See [[programmable-logic:guides:serial-terminals:start]] for more information.// * 1 VGA cable * From 1 to 4 Pcam-5C cameras * VGA monitor ---- ===== Download and Usage Instructions ===== The following releases of this demo can be used with instructions found in the corresponding READMEs in order to run the demo. Releases are only compatible with the version of the Xilinx tools specified in the release version number. In addition, releases are only compatible with the specified variant of the board. For example, the v2020.1-1 release for ZedBoard can only be used with Vivado 2020.1. 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.// ^ Board Variant ^ Release Tag ^ Release Downloads ^ Setup Instructions ^ | ZedBoard | @#C0EEBD: FMC-Pcam-Adapter/2020.1-1 | [[reference:programmable-logic:zedboard:demos:start|Release ZIP Downloads]] | See //Using the Latest Release//, below | | | ZedBoard | v2019.1-1 | [[https://github.com/Digilent/ZedBoard-FMC-Pcam-Adapter-DEMO/releases/tag/v2019.1-1|Release ZIP downloads]] | [[https://github.com/Digilent/ZedBoard-FMC-Pcam-Adapter-DEMO|Github README]] | | ZedBoard | v2018.2-1 | [[https://github.com/Digilent/ZedBoard-FMC-Pcam-Adapter-DEMO/releases/tag/v2018.2-1|Release ZIP downloads]] | [[https://github.com/Digilent/ZedBoard-FMC-Pcam-Adapter-DEMO|Github README]] | **Note for Advanced Users:** //All demos for the ZedBoard are provided through the [[https://github.com/Digilent/ZedBoard|ZedBoard]] repository on Github. Further documentation on the structure of this repository can be found on this wiki's [[programmable-logic:documents:git]] page.// ---- Instructions on the use of the latest release can be found in this dropdown: --> Using the Latest Release # {{page>programmable-logic:guides:using-github-releases#baremetal_release_before_programming&noheader}} --> Set up the ZedBoard # Plug one microUSB programming cable into the ZedBoard's JTAG port and the other microUSB cable into the UART port, the 12V Power Supply into the Barrel Jack next to the JTAG port and plug the FMC Pcam Adapter into the FMC connector on the board. ---- <-- {{page>programmable-logic:guides:using-github-releases#baremetal_release_programming&noheader}} At this point, the demo is now running on your board. Refer to the [[#description|Description]] section of this document for more information on what it does. ---- 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>programmable-logic:guides:using-github-releases#baremetal_update_specification&noheader}} <-- ---- ===== Functionality ===== ==== 1. Connecting the Pcams into the FMC Pcam Adapter ==== >First, you have to make sure that all the Pcam connectors in which you want to insert the FFC cable are open. Pull the black plastic tab on the edge of the connector out, away from the opening of the connector. This opens the connector, as it can be seen in the first image bellow. >Insert the FFC with the contacts facing up, toward the Pcam 5C PCB. The blue side (without contacts exposed) should be facing down on the Pcam side. Repeat the same procedure with the Pcam connector on the FMC Pcam Adapter, as you can see in the image number 2. > >{{ :learn:programmable-logic:tutorials:zedboard-fmc-pcam-adapter-demo:setup_1_2.jpg |}} >After this, please ensure the FFC is fully inserted, and press both sides of the black plastic tab back towards the rest of the connector to latch the FFC in. Bellow you can see two cables which are fully inserted. >Repeat the same procedure with the camera C and D. But, this time the cables should go trough the two slots which are present on the Adapter. If the cable has become disconnected from the Pcam 5C or the FMC Pcam Adapter, please repeat the steps presented above. > >{{ :learn:programmable-logic:tutorials:zedboard-fmc-pcam-adapter-demo:setup_3_4.jpg |}} >Finally, after you connected all the cameras, you have to connect the FMC connector to the ZedBoard. To ensure that it stays firmly in place you should use one or two bolts as you can see in the image bellow. > >{{ :learn:programmable-logic:tutorials:zedboard-fmc-pcam-adapter-demo:setup_5_5.jpg?600 |}} ==== 2. Setting Up the ZedBoard ==== >Plug one end of the VGA cable into the VGA port of the ZedBoard and the other end into your VGA monitor. Attach a USB micro cable between the J7 programming port and your computer. Also, attach a second USB micro cable between J14 UART port and your computer. After this, attach an external 12V power supply. Finally, make sure that VADJ is set to 3V3 and all the MIOs pins are connected to SIG and GND. This sets the primary boot mode to JTAG. > >{{ :learn:programmable-logic:tutorials:zedboard-fmc-pcam-adapter-demo:overall_setup.jpg |}} ==== 3. Setting Up the Serial Terminal ==== >To see the UART communication channel, open a terminal program on your computer set to 115200 baud rate, 8 data bits, no parity bit and 1 stop bit. On startup, the ZedBoard will show feed-back and error messages on the serial console. > >{{ :learn:programmable-logic:tutorials:zedboard-fmc-pcam-adapter-demo:uart_fmc_pcam_adapter.png |}} >If a camera is unconnected you will receive an warning message. The program will skip this warning and will start to initialize the rest of the cameras. > >{{ :learn:programmable-logic:tutorials:zedboard-fmc-pcam-adapter-demo:uart_fmc_pcam_disc.png |}} >As has been said before, if a camera is unconnected the project will continue the initialization of the rest of the cameras, and the VGA monitor will output a gray image, signaling the lack of video data in the DDR memory. {{ :learn:programmable-logic:tutorials:zedboard-fmc-pcam-adapter-demo:img_20190517_193745_1_.jpg |}} ---- ===== Additional Resources ===== All materials related to the use of the ZedBoard can be found on its [[..:start|Resource Center]]. For a walkthrough of the process of creating a simple baremetal software project in Vivado and Vitis, see [[programmable-logic:guides:getting-started-with-ipi]]. Information on important parts of the GUIs, and indirect discussion of the steps required to modify, rebuild, and run this demo in hardware can also be found here. For technical support, please visit the [[https://forum.digilentinc.com/forum/4-fpga/|FPGA]] section of the Digilent Forum. ---- {{tag>project zedboard}}