码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • HDMI 直通 ILA 调试实验


    FPGA教程学习

    第十四章 HDMI 直通 ILA 调试实验


    文章目录

    • FPGA教程学习
    • 前言
    • 实验原理
    • 程序设计
    • 实验过程
    • 实验尝试
    • 总结
    • TODO


    前言

    HDMI 输入直通到 HDMI 输出的显示,完成一个简单的 HDMI 输入输出检测。


    实验原理

    开发板 HDMI 输出接口芯片使用 ADV7511,HDMI 输入芯片采用 ADV761,可以把输入的数据通过输出直接发送出去。

    程序设计

    教程上说的很简单,不看I2C的话还是很简单的,只使用了几个寄存器。
    在这里插入图片描述
    大概代码如下

    reg 		vin_hs_d0;
    reg 		vin_vs_d0;
    reg 		vin_de_d0;
    reg[23:0] 	vin_data_d0;
    reg 		vin_hs_d1;
    reg 		vin_vs_d1;
    reg 		vin_de_d1;
    reg[23:0] 	vin_data_d1;
    (* MARK_DEBUG="true" *)reg 		vin_hs_d2;
    (* MARK_DEBUG="true" *)reg 		vin_vs_d2;
    (* MARK_DEBUG="true" *)reg 		vin_de_d2;
    (* MARK_DEBUG="true" *)reg[23:0] 	vin_data_d2;
    
    assign vout_clk = vin_clk;
    assign vout_hs = vin_hs_d2;
    assign vout_vs = vin_vs_d2;
    assign vout_de = vin_de_d2;
    assign vout_data = vin_data_d2;
    assign rst_n = locked;
    assign vin_nreset = locked;
    
    always@(posedge vin_clk)
    begin
        vin_hs_d0 <= vin_hs;
        vin_vs_d0 <= vin_vs;
        vin_de_d0 <= vin_de;
        vin_data_d0 <= vin_data;
        vin_hs_d1 <= vin_hs_d0;
        vin_vs_d1 <= vin_vs_d0;
        vin_de_d1 <= vin_de_d0;
        vin_data_d1 <= vin_data_d0; 
        
        vin_hs_d2 <= vin_hs_d1;
        vin_vs_d2 <= vin_vs_d1;
        vin_de_d2 <= vin_de_d1;
        vin_data_d2 <= vin_data_d1;   
    end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    实验过程

    刚好电脑显卡有多的HDMI输出,接开发板的HDMI输入,开发板的HDMI输出再接一个显示器。
    加载程序后电脑会识别到一个显示设备,可以使用扩展桌面。在显示器生会显示电脑的图像,注意这个图像是经过fpga转了一道的。
    图像显示效果很好,没有异常。
    在这里插入图片描述

    实验尝试

    视频信息和数据不经过三级触发器会怎么样?
    这里注释掉原来触发器部分的代码,更改为下列代码。

    assign vout_hs = vin_hs;
    assign vout_vs = vin_vs;
    assign vout_de = vin_de;
    assign vout_data = vin_data;
    
    • 1
    • 2
    • 3
    • 4

    最后输出的显示屏效果是这样的,有许多地方和实际不一样,显示视频的话会更明显。为什么,这就是亚稳态吗?
    在这里插入图片描述


    总结

    本实验通过将HDMI解码数据送往编码数据芯片,实现了将输入图像直接输出的效果。

    TODO

    1. 了解亚稳态。
    2. 解释图像异常的原因。
    3. 掌握使用代码调试的方法。
  • 相关阅读:
    SAP 检验批决策增强
    滚动播报、el-scrollbar
    阿里云SLB之:基于HTTPS协议的SLB应用场景(十二)
    【论文阅读】Directional Connectivity-based Segmentation of Medical Images
    【java】【SpringBoot】【四】原理篇 bean、starter、核心原理
    华为OD机试真题-剩余银饰的重量-2024年OD统一考试(C卷D卷)
    Linux下路由表的转发流程
    CAP 6.1 版本发布通告
    JAVA计算机毕业设计书籍影视评论系统(附源码、数据库)
    【BeanTrimUtil】通过反射去除JavaBean中String类型数据的空格:一行代码搞定整个Bean的字符串去空!
  • 原文地址:https://blog.csdn.net/weixin_45090728/article/details/132890847
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号