基于FPGA的HDMI显示设计(三)

上一篇:基于FPGA的VGA显示设计(二)

 

    10月10日 ~ 20日期间实习,令我万万没想到的是实习题目是 “便携式高清电视显示屏测试系统原型设计” 也就是 “基于FPGA的视频显示”。

    实习要求用 HDMI 接口显示,其实和VGA显示差不多的就多了两个引脚而已(de 和 hdmi_clk_o)。如下图:

 

 基于FPGA的HDMI显示设计(三)_第1张图片

    虽然感觉做这个没什么意思了,但多多少少还是有一点收获的。

 

 

(1)锁存一个时钟的数据用作判断

 

    源代码片段例子1:

基于FPGA的HDMI显示设计(三)_第2张图片

       源代码片段例子2:

         基于FPGA的HDMI显示设计(三)_第3张图片

 

    我在quartus ii 9.0上随便拉的波形:

基于FPGA的HDMI显示设计(三)_第4张图片

 

    原理: hsync_1 锁存了一个周期的下的 hsync 的数据,这样线网型变量 pos_hsync 就能表示出上升沿产生的一个周期变化。

    启发:同理能写出下降沿有效的判断。

    用处:用于判断,提高可靠性。

    缺陷:有一定的局限性,原信号变化需要大于一个周期;其它。

    例子:按键信号有效判断。

基于FPGA的HDMI显示设计(三)_第5张图片

 

(2) 锁相环使用进一步认识

 

形象对比:

基于FPGA的HDMI显示设计(三)_第6张图片

 

 

基于FPGA的HDMI显示设计(三)_第7张图片

 

 

    一般 IP 核生成的倍频 / 分频电路模块默认除了时钟输入引脚(CLK_IN1)和时钟输出引脚(CLK_OUT1),还有高电平复位的异步清零引脚(RESET)和高电平有效的相位/频率检测器的使能端(LOCKED)。

    选择“LOCKED”,通过这个输出端口可以判断锁相环是否失锁,高电平表示正常。可以用 LOCKED 作为全局复位信号。如果其它模块是高电平复位,那么需要在 LOCKED 端加上一个反相器。(一般用 CLK_OUT1 作为全局时钟

基于FPGA的HDMI显示设计(三)_第8张图片

 

 

(3)Verilog HDL 编程规范

 

    可以参看华为的 Verilog HDL 编程规范:

基于FPGA的HDMI显示设计(三)_第9张图片

基于FPGA的HDMI显示设计(三)_第10张图片

 

 

(4)算法认识

 

基于FPGA的HDMI显示设计(三)_第11张图片

基于FPGA的HDMI显示设计(三)_第12张图片

     马赛克(棋盘格)这个对比第二篇的异或算法很相似。

基于FPGA的HDMI显示设计(三)_第13张图片

 

 

(5)Xilinx (赛灵思)的 ISE 还是蛮好用的

    嘿嘿嘿!

转载于:https://www.cnblogs.com/yllinux/p/7719666.html

你可能感兴趣的:(基于FPGA的HDMI显示设计(三))