完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
`例说FPGA连载97:基于HDMI的AV采集显示之hdmi_controller.v模块代码解析 特权同学,版权所有 配套例程和更多资料下载链接: http://pan.baidu.com/s/1c0nf6Qc 该模块产生多分辨率的HDMI显示驱动逻辑,将AV视频采集到的图像送到HDMI终端显示器。该模块的内部功能框图如图19.5所示。X、Y坐标计数器产生基本的HDMI时序,如hdmi_hsy、hdmi_vsy、hdmi_de等基本同步信号;同时,也产生DDR2读缓存FIFO的读端口控制信号,如FIFO读请求lcd_rflreq和lcd_rfrreq、FIFO清除信号lcd_rfclr。FIFO读出的数据总线lcd_rfldb和lcd_rfrdb最终将送到HDMI显示器上。 图19.5 HDMI驱动模块功能框图 关于“一拖四”的实现,思路是这样的:在ddr_avl_bridge.v模块中定义两个用于缓存DDR2读出数据的FIFO,这两个FIFO从DDR2送来的输入的数据是完全一致的,它们分别由不同的请求信号lcd_rflreq和lcd_rfrreq触发读取操作。即在同一行要显示两个相同的视频图像,那么每一行视频数据就要被读取两次,逻辑中产生读请求信号lcd_rflreq和lcd_rfrreq就是左半屏和右半屏分开实现,其逻辑代码如下。 //读取DDR2中640*480的AV图像请求信号(左侧视频) always @(posedge clk or negedge rst_n) if(!rst_n) lcd_rflreq <= 1'b0; else if((ycnt >=(VGA_VST+VGA_VBP)) && (ycnt < (VGA_VST+VGA_VBP+960)) &&(xcnt >= (VGA_HST+VGA_HBP-2)) && (xcnt <(VGA_HST+VGA_HBP-2+640))) lcd_rflreq <= 1'b1; else lcd_rflreq <= 1'b0; //读取DDR2中640*480的AV图像请求信号(右侧视频) always @(posedge clk or negedge rst_n) if(!rst_n) lcd_rfrreq <= 1'b0; else if((ycnt >=(VGA_VST+VGA_VBP)) && (ycnt < (VGA_VST+VGA_VBP+960)) &&(xcnt >= (VGA_HST+VGA_HBP-2+640)) && (xcnt <(VGA_HST+VGA_HBP-2+1280))) lcd_rfrreq <= 1'b1; else lcd_rfrreq <= 1'b0; 此外,我们将显示的上半屏幕和下半屏幕分别进行完整的图像读取,很容易就实现上下屏幕图像的“复制”。 ` |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
885个成员聚集在这个小组
加入小组4535 浏览 0 评论
特权同学 Verilog边码边学 Lesson01 Vivado下载与安装
2648 浏览 1 评论
玩转Zynq连载50——[ex69] FIR滤波器IP仿真实例
4333 浏览 2 评论
玩转Zynq连载49——[ex68] MT9V034摄像头的图像FFT滤波处理
5270 浏览 1 评论
玩转Zynq连载48——[ex67] Vivado FFT和IFFT IP核应用实例
5317 浏览 0 评论
1944浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 10:45 , Processed in 0.648972 second(s), Total 72, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号