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!

Reply

PMOD camera - PicoZed

Highlighted
Visitor
Posts: 3
Registered: ‎06-04-2018

PMOD camera - PicoZed

Hello,
 
I'm triying to use the Pmod Camera with the PicoZed. I would like to retrieve video and picture in the PS part.
 
I looked at the tutorial on the minized and began the design. I have used the sub-block TDnext_capture to capture the image from the camera. (diagram bellow)
 
 
 
I added a axi_icc IP and I have connected the different block like this:
 

 
Can you tell me if the hardware part is correct ?
 
When I generated the bitstream, I have an error in the I/O constraint definition:
 
[DRC NSTD-1] Unspecified I/O Standard: 3 out of 143 logical ports use I/O standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned specific value. This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all I/O standards. This design will fail to generate a bitstream unless all logical ports have a user specified I/O standard value defined. To allow bitstream creation with unspecified I/O standard values (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks NSTD-1].  NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run. Problem ports: hs_in_field, iic_rtl_scl_io, and iic_rtl_sda_io.
[DRC UCIO-1] Unconstrained Logical Port: 13 out of 143 logical ports have no user assigned specific location constraint (LOC). This may cause I/O contention or incompatibility with the board power or connectivity affecting performance, signal integrity or in extreme cases cause damage to the device or the components to which it is connected. To correct this violation, specify all pin locations. This design will fail to generate a bitstream unless all logical ports have a user specified site LOC constraint defined.  To allow bitstream creation with unspecified pin locations (not recommended), use this command: set_property SEVERITY {Warning} [get_drc_checks UCIO-1].  NOTE: When using the Vivado Runs infrastructure (e.g. launch_runs Tcl command), add this command to a .tcl file and add that file as a pre-hook for write_bitstream step for the implementation run.  Problem ports: pixel_in[9], pixel_in[8], pixel_in[7], pixel_in[6], pixel_in[5], pixel_in[4], pixel_in[3], pixel_in[2], vs_in, hs_in_field, iic_rtl_scl_io, iic_rtl_sda_io, and pclk.
 
This is my constraint file:
 
### TDnext TDM114
set_property IOSTANDARD LVCMOS33 [get_ports {pixel_in[9]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pixel_in[8]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pixel_in[7]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pixel_in[6]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pixel_in[5]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pixel_in[4]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pixel_in[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pixel_in[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pixel_in[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {pixel_in[0]}]
set_property PACKAGE_PIN K19 [get_ports {pixel_in[0]}]
set_property PACKAGE_PIN J19 [get_ports {pixel_in[1]}]
set_property PACKAGE_PIN H15 [get_ports {pixel_in[2]}]
set_property PACKAGE_PIN G15 [get_ports {pixel_in[3]}]
set_property PACKAGE_PIN J20 [get_ports {pixel_in[4]}]
set_property PACKAGE_PIN H20 [get_ports {pixel_in[5]}]
set_property PACKAGE_PIN F19 [get_ports {pixel_in[6]}]
set_property PACKAGE_PIN F20 [get_ports {pixel_in[7]}]
set_property PACKAGE_PIN G17 [get_ports {pixel_in[8]}]
set_property PACKAGE_PIN G18 [get_ports {pixel_in[9]}]
 
set_property IOSTANDARD LVCMOS33 [get_ports vs_in]
set_property IOSTANDARD LVCMOS33 [get_ports hs_in]
set_property IOSTANDARD LVCMOS33 [get_ports pclk]
set_property PACKAGE_PIN M17 [get_ports hs_in]
set_property PACKAGE_PIN M18 [get_ports vs_in]
set_property PACKAGE_PIN D19 [get_ports pclk]
 
set_property IOSTANDARD LVCMOS33 [get_ports XCLK]
set_property PACKAGE_PIN D20 [get_ports XCLK]
 
set_property IOSTANDARD LVCMOS33 [get_ports iic_cam_scl_io]
set_property IOSTANDARD LVCMOS33 [get_ports iic_cam_sda_io]
set_property PACKAGE_PIN F16 [get_ports iic_cam_sda_io]
set_property PACKAGE_PIN F17 [get_ports iic_cam_scl_io]
 
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets pclk_IBUF]
 
set_property PULLUP true [get_ports iic_cam_scl_io]
set_property PULLUP true [get_ports iic_cam_sda_io]
 
Any idea why I have this error ?
 
I don't know how to communicate with the camera from the PS part (with Linux), Is there an application example ?
 
Thanks,
 
Clément
Xilinx Employee
Posts: 139
Registered: ‎05-08-2012

Re: PMOD camera - PicoZed

Hi @clem3nt. The error looks to be due to missing PL constraints. All IO ports require a user specified LOC/PACKAGE_PIN and IOSTANDARD to avoid these DRC errors. For example, the pixel_in[*] ports have an IOSTANDARD, but are missing the LOC or PACKAGE_PIN constraint. 

 

From an open Synthesized or Implemented design, the "I/O Ports" tab will show you which ports do not have a LOC or PACKAGE_PIN constraint by viewing the "Fixed" column. Similarly, the I/O Std column will need to be filled in.

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

io.png
Visitor
Posts: 3
Registered: ‎06-04-2018

Re: PMOD camera - PicoZed

hi @marcb,

 

Thanks for your reply, I have fixed the I/O definition port and now the project synthesis and implementation works.

 

Have you an example or reference for the Linux application part to retrieve the image from the camera ?

 

Thanks,

 

Clément 

Visitor
Posts: 3
Registered: ‎06-04-2018

Re: PMOD camera - PicoZed

Hi,

 

The camera still doesn't work. I'm trying to build a yocto image to retrieve the image from the camera.

 

I build a yocto image with the following modules: 

- CONFIG_VIDEO_XILINX

- CONFIG_VIDEO_V4L2

- CONFIG_VIDEO_V4L2_SUBDEV_API

 

When I boot the board, I have this error: 

 

xilifx-vdma 43000000.axivdma: failed to get axi_aclk (4294967294)
xilinx-vdma: probe of 43000000.axivdma failed with error -2

In vivado, The address editor  gives this table:

 

address_editor.png

 

And I don't have a /dev/video0 interface 

 

An extract from the device tree:

 axi_vdma_0: axivdma@43000000 {
                        #address-cells = <1>;
                        #size-cells = <1>;
                        #dma-cells = <1>;
                        compatible = "xlnx,axi-vdma-1.00.a";
                        dma-ranges = <0x00000000 0x00000000 0x40000000>;
                        reg = <0x43000000 0x1000>;
                        xlnx,num-fstores = <0x8>;
                        xlnx,flush-fsync = <0x1>;
                        xlnx,addrwidth = <0x20>;
                        dma-channel@43000000 {
                                compatible = "xlnx,axi-dma-s2mm-channel";
                                interrupts = <0 53 4>;
                                xlnx,datawidth = <0x40>;
                                xlnx,genlock-mode = <0x0>;
                                xlnx,include-dre = <0x0>;
                        };
        };

Have you an idea why the vdma is not loaded correctly

 

Thanks,

 

Clément

Moderator
Posts: 3,643
Registered: ‎11-09-2015

Re: PMOD camera - PicoZed

HI @clem3nt,

 

From the log message it seems that the VDMA is not getting the clock. You might want to check this clock

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