《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

相关文章

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

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训