设备清单:
-PYNQ-Z2板卡套件
-OV5640 摄像头(pmod-camera v1.0)
-PMOD-camera adapter(现在淘宝上找不到,可能得用杜邦线代替)
-HDMI 屏幕
使用软件:
-vivado 2018.3
复现流程
1、CV5640这个项目是GitHub上开源的项目,可以从GitHub上将项目整包下载到自己的电脑里。路径如下:
https://github.com/xupsh/Pynq-CV-OV5640
2、由于在淘宝上买不到pmod-camera的适配器,本次复现就采用修改pmod接口的约束文件(.xdc文件)的方法来连接板子和摄像头。(注意:我们修改的是9*2的pmod接口的约束文件)
首先是找到板卡pmod接口的逻辑功能,和摄像头引脚逻辑功能要一一对应;板卡上pmod接口的对应引脚的逻辑功能如下:
未修改前的逻辑功能及对应的引脚号如下:
修改后的约束文件,对应的逻辑功能及引脚号如下:
也可以使用杜邦线按照引脚号的逻辑功能连接摄像头和板卡。
3、接下来就是vivado上复现项目。
先将文件中命名带有中横线的命名改为下划线,
再将boards路径下的.src文件复制到和makefile文件同一路径下
打开vivado 2018.3,在vivado下方Tcl console输入命令行:
cd d:/Downloads/Pynq_CV_OV5640_master_1/boards/Pynq_Z2/ov5640/bitstream/
作者将Pynq_CV_OV5640_master_1解压到了downloards路径下所以cd命令跳转至带有makefile的路径
再运行source ./CV_OV5640.tcl命令即可以重建cv5640项目
点击左边框框的source,选中项目文件右击,设置顶层文件
再点击左侧菜单栏的Generate Bitstream,跟着流程点击yes
Vivado开始运行即可导出bitstream文件。
注意:
由于vivado 2018.3版本问题,在产生bit流文件的时候会有报错
找不到cv_ov5640_v_demosaic_0_0
先把电脑的时间改为2019年(2020之前版本都存在的bug,官方论坛说xilinx公司正在修复),再tcl console下运行命令:
foreach ip_in_proj [get_ips] {compile_c [get_ips $ip_in_proj]}
之后再导出bit流文件即可成功。
所使用的摄像头型号
摄像头连接板卡方式
项目的具体流程可以参考哔站的“依元素科技”
(FPGA创新赛-PYNQ培训day3上 CV-5640 Overlay实现与VDMA调用_哔哩哔哩_bilibili)。