021
大家好,我是王工。
作为嵌入式工程师,我们每天都在和各种接口、协议打交道。这个领域涉及的知识点和细节实在太多,以至于大多数时候我们只能依赖参考设计快速实现功能,赶着样机交付。如果没有遇到问题,自然皆大欢喜,甚至会让人产生"这个接口很简单"的错觉。
就像最近一个同事说的:"HDMI接口点屏很简单啊!"但当被问到细节时——比如最基本的HDMI握手过程——他却答不上来。这种情况很常见:因为没遇到过问题,所以也就没有深究过底层原理。
今天,我们就来探讨一下HDMI接口的一些基础知识及握手过程。它能更好的帮助我们在调试时更快定位问题,也能让我们对这个看似"简单"的接口有更全面的认识。毕竟,在嵌入式开发中,越是觉得"简单"的地方,往往隐藏着最多的坑。
011
HDMI基础
基础知识中,我这里只强调几个要点,有助于我们对于产品的设计。
通过百度百科,可以简单的了解到HDMI接口的定义:
通过这个定义,我们只需要记住以下几个特点:
HDMI 是数字信号
HDMI可以传送未压缩的视频信号
HDMI可以传送未压缩的音频信号
支持热拔插功能
Type A(标准):19针,最常见(电视、电脑等)。
Type B(Dual-link):29针,不常见,数据传输能力强(专业显示器、摄像机等)。
Type C(Mini):便携设备(如相机、平板)。
Type D(Micro):超小型设备(部分手机)。
Type E(车载):带锁定机制,抗震动。
可根据具体的应用场景来选型合适的接口。
021
HDMI接口引脚定义
咱们常用的HDMI接口一般有19个引脚,Type B HDMI比较特殊,有29个引脚(实际应用中王工也没有见过)。
HDMI接口的引脚定义,咱们把它主要分为以下四类:
①数据信号引脚
1-9引脚用于数据传输,分为0、1、2三组,负责传输视频信号。
每一组包含一对正、负差分信号和地,如:
TMDS DATA0+/TMDS DATA0-/GND
②时钟信号引脚
10-12三个引脚用于传输TMDS时钟信号,用于同步视频和音频数据。
只有一组包含一对正、负差分信号和地,如:
③控制信号引脚
此外,这种设计还有一个目的,用于保持HDMI接口电源电压的稳定。如果 sink 端设备尝试提供一个不同的电压,串联的二极管可以防止这个非标准电压影响到 source 端的敏感电路。
这样,无论是电源供应问题还是连接错误,都可以通过二极管来保护设备不受损害。另外尽量选用漏电流较小的肖特基二极管。
031
HDMI握手过程
通过工作中的实际经验和一些比较好的参考资料,王工把HDMI的握手过程分为一下几点:
当HDMI线缆物理连接时,Sink端的HPD引脚(Pin19)会拉高电压(通常至+5V),通知Source端设备已连接。
这是HDMI正常通信的第一个步骤,当物理线缆建立物理连接后,如果你有两个屏,一直点亮的那个屏可以看到检测过程中有一个明显缩放的画面。
完成上述步骤后,Source端按EDID协商的参数,通过TMDS通道发送视频数据和音频数据。
了解了HDMI的握手过程,有助于我们解决平时在产品开发中遇到的一些黑屏,无信号,分辨率显示异常或者无音频等问题。
本文介绍了HDMI接口的基础知识,但实际应用中的注意事项远不止于此。例如,Layout设计、EMC设计、连接线选型等,都会直接影响项目的顺利推进。稍有不慎,就可能导致信号完整性下降、兼容性问题甚至项目延期。
如果大家对HDMI相关的深入内容(如高速信号设计、EMC对策或线缆选型技巧)感兴趣,欢迎在评论区留言或提问。后续我们可以根据大家的反馈,展开更详细的专题讨论!
投稿/招聘/推广/宣传/技术咨询 请加微信:woniu26a