《15寸移动式心电监测仪》制作纪实 :zynq 7000系列 HDMI多输出同显

本文主要是介绍《15寸移动式心电监测仪》制作纪实 :zynq 7000系列 HDMI多输出同显,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《15寸移动式心电监测仪》制作纪实 :zynq 7000系列 HDMI多输出同显

  • 何为HDMI多输出同显
  • 如何实现
    • HDMI知识
    • vivado部分
    • 硬件部分

何为HDMI多输出同显

HDMI多输出同显就是说,会从板子上输出两路或者多路HDMI信号,但这几路HDMI显示的是完全一致内容,画面是复制的。就像这样:
(这个是跑HDMI测试的PS图片显示程序)在这里插入图片描述
(这个是上了Linux之后的样子)
在这里插入图片描述
在这里,我们用这种方法向仪器外提供一个HDMI输出接口,将仪表画面同时投送到大屏幕上。

如何实现

HDMI知识

拿一个HDMI接口开讲:
在这里插入图片描述
1-12PIN:TMDS数据
发送音频、视频及各种辅助数据
信号编码方式:遵循DVI1.0规格。Single-link (Type A HDMI) 或 dual-link (Type B HDMI)
视频像素带宽:从25 MHz到340 MHz(Type A, HDMI 1.3)或至680MHz (Type B)。带宽低于25MHz的视频信号如NTSC480i将以倍频方式输出。每个像素的容许数据量从24位至48位。支持每秒120张画面1080p分辨率画面发送以及WQSXGA分辨率
像素编码方式:RGB4:4:4, YCbCr 4:4:4(8-16 bits per component); YCbCr 4:2:2(12 bits per component); YCbCr 4:2:0(HDMI 2.0)
音频采样率:32kHz, 44.1kHz, 48kHz, 88.2kHz, 96kHz, 176.4kHz, 192kHz, 1536kHz(HDMI 2.0)。
音频声道数量:最大8声道。HDMI 2.0支持32声道。
音频流规格:IEC61937兼容流,包括高流量无损信号如Dolby TrueHD、DTS-HD Master Audio。

13PIN:CEC沟道
CEC全文为Consumer Electronics Control
必须预留线路,但可以不必实现
用来发送工业规格的AV Link协议信号,以便支持单一遥控器操作多台AV机器
为单芯线双向串列总线
在HDMI 1.0协议中制订,在1.2a版中更新 [1]
一些制造商可能使用HDMI CEC,但是可能使用不同的名称来代表CEC功能

15,16PIN:DDC沟道
DDC全文为Display Data Channel
发送端与接收端可利用DDC沟道得知彼此的发送与接收能力,但HDMI仅需单向获知接收端(显示器)的能力。
使用100kHz时钟频率的I²C信号,信号电平为5V
发送数据结构为VESAEnhanced EDID(V1.3)。

17,18PIN:5V电源(源端提供给接受端)

19PIN:热插拔检测

vivado部分

1.添加新的HDMI输出IP核
不用自己写verilog,我们调用IP核即可。
在这里插入图片描述
这里以双路为例,原来的是一路,那我们加一路。
在这里插入图片描述
2.把总线展开,并联连线:
在这里插入图片描述
3.新建一个xdc文件,仿照板载HDMI进行约束:
在这里插入图片描述
每一个TMDS差分对有三行,HDMI有四个,只需要指定positive端即可,n端会自己对应上。

hdmi_oen为普通的LVCOMS33引脚。
在这里插入图片描述
约束之后一定Ctrl+S一下,然后点一下Reload,让vivado读取约束文件,同步到I/O port 中,然后去I/O port 里面检查一下是不是对应上了。
这里推荐大家按照我的方法直接修改XDC,然后同步,因为我发现在I/Oport中直接分配,无法正确分配TMDS差分对,也并不报错。

硬件部分

参照ALINX 板子HDMI输出部分,受限于手头的材料与快速测试的要求,我对其做了精简与改动,并不推荐大家也这么干,尽管是可以用,但是信号完整性较差,也不太符合规范。
在这里插入图片描述

1.我们要从EXT IO中拖四组差分对出来,ALINX的EXT IO并不是直接与FPGA相连,而是过了一个33欧姆的排阻,但这里我没有管它。
对于HDMI来讲它是不应该有的
在这里插入图片描述

2.HDMI四对差分线需要上拉电阻,因手头缺少50欧姆电阻,改成100欧姆。上拉电源为3.3V时画面时好时坏,后上拉至5V画面正常。为了测试,临时使用。
实际应为50欧姆,并上拉到3.3V,大家不要学我,要按照电路图标准走

在这里插入图片描述
3.外部HDMI接口中I2C的处理:直接不接。
这里说一下可以临时这样做的原因:因为HDMI仅需单向获知接收端(显示器)的能力,这就意味这如果发送端保证使用的是显示器能够接受的分辨率,就可以与之不通信。
(源端使用的是1024*768,我手上的显示器支持)

4.外部HDMI接口中5V的处理:直接接5V。

5.然后开始接线,接好了线把线束捆好,否则会有些干扰(这里还是精简了,应该使用差分屏蔽电缆)
在这里插入图片描述

总结一下:尽管不符合规范,但驱动HDMI最少10根线(四组差分对+5V+GND)就可以了,这个可以在测试的时候临时使用。

这样做以后就可以看到HDMI多输出同显的效果啦~
在这里插入图片描述

这篇关于《15寸移动式心电监测仪》制作纪实 :zynq 7000系列 HDMI多输出同显的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/356036

相关文章

使用TomCat,service输出台出现乱码的解决

《使用TomCat,service输出台出现乱码的解决》本文介绍了解决Tomcat服务输出台中文乱码问题的两种方法,第一种方法是修改`logging.properties`文件中的`prefix`和`... 目录使用TomCat,service输出台出现乱码问题1解决方案问题2解决方案总结使用TomCat,

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

Python使用Colorama库美化终端输出的操作示例

《Python使用Colorama库美化终端输出的操作示例》在开发命令行工具或调试程序时,我们可能会希望通过颜色来区分重要信息,比如警告、错误、提示等,而Colorama是一个简单易用的Python库... 目录python Colorama 库详解:终端输出美化的神器1. Colorama 是什么?2.

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl