码农知识堂 - 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. 掌握使用代码调试的方法。
  • 相关阅读:
    ESP8266-Arduino编程实例-VEML6070紫外光传感器驱动
    打印机共享设置步骤
    神经网络中间层特征图可视化(输入为音频)
    JMeter入门教程(14)——场景设计
    微信公众号window.open(url, '_blank');打不开网页
    vscode下ssh免密登录linux服务器
    Win11没有画图工具怎么重新安装
    软件测试 | 怎么写测试用例?设计测试用例的思路和方法......
    SpirngBoot实现文件上传功能——文件上传原理——Postman接口测试
    三、肺癌检测-肺癌检测代码项目文件准备
  • 原文地址:https://blog.csdn.net/weixin_45090728/article/details/132890847
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号