在实际开发中,我们会经常使用到LCD屏,LCD屏的种类有很多种,对应的使用方法也有所不同,但是,在ZYNQ 图像传输开发中,思路大体类似,下面介绍在ZYNQ中,使用LCD显示OV5640图像方法。
1.1 概述
下面向大家介绍了在ZYNQ开发板上实现OV5640数据采集在LCD屏显示功能。
测试使用模块:OV5640摄像头,LCD (RGB或HDMI接口) 屏,ZYNQ开发板。
这里需要说明LCD屏的分辨率是1024x600,OV5640使用的分辨率是640X480。
测试工程是在摄像头采集的测试工程的基础上进行修改,下面仅说明区别,其他相同的部分,这里不在赘述。
1.2 硬件工程
总体来说,搭建LCD显示的工程架构同之前搭建OV5640 HDMI显示的工程类似,采集输入端、VDMA处理、显示输出端,这里变化的是显示输出端。
为了做对比,我分别做了RGB /HDMI 接口LCD屏的640x480、640x480_1024x600测试历程。这里使用缩放IP,将640x480分辨率图像放大到1024x600。
LCD屏 |
测试工程 |
LCD(RGB接口) |
640x480 |
|
640x480_1024x600 (使用缩放ip) |
LCD(HDMI接口) |
640x480 |
|
640x480_1024x600 (使用缩放ip) |
1.2.1 硬件平台搭建
1、VTC设置
由于LCD屏是1024x600,对于VTC中没有现成的参数配置,因此,这里我们使用AXI4总线对VTC分辨率进行配置。
生成后的IP
选择自动连线,将VTC连接到总线上。然后,如图所示连接,并将s_axi_aclken给定值1。
2、ZYNQ 时钟设置
ZYNQ IP 提供的FCLK_CLK0用于AXI 数据传输的时钟,这个时钟给定值要根据数据传输情况给定,不能设置太高也不能设置太低,否则会造成数据的堵塞,不会输出。通常我这里调试,640X480输出会给100M,1080P输出会给155M(实际输出是150M)。具体参考程序。