|

h3rrj4uw1be64026144813.gif
1 o, m$ V/ ?5 z2 S" N6 G3 D% ]
点击上方名片关注了解更多$ B$ ~6 i! V1 r9 [2 L* N
" P: a% y! r2 b* J$ ^
9 C# }% q, \) S4 v大家好,我是王工。7 z5 J1 u- g% J! M' _9 }
作为嵌入式工程师,我们每天都在和各种接口、协议打交道。这个领域涉及的知识点和细节实在太多,以至于大多数时候我们只能依赖参考设计快速实现功能,赶着样机交付。如果没有遇到问题,自然皆大欢喜,甚至会让人产生"这个接口很简单"的错觉。
: r4 A$ r5 |0 F+ n
hmqn2rq1tyf64026144913.png
, S6 L1 N f: }* W, f5 ]% b图源 | 时光之光2 W. v0 W: F, f7 {7 A+ z
就像最近一个同事说的:"HDMI接口点屏很简单啊!"但当被问到细节时——比如最基本的HDMI握手过程——他却答不上来。这种情况很常见:因为没遇到过问题,所以也就没有深究过底层原理。
/ P* x8 r$ w2 A1 n今天,我们就来探讨一下HDMI接口的一些基础知识及握手过程。它能更好的帮助我们在调试时更快定位问题,也能让我们对这个看似"简单"的接口有更全面的认识。毕竟,在嵌入式开发中,越是觉得"简单"的地方,往往隐藏着最多的坑。1 H0 T2 D# }- B) D" p2 Z
6 i' A) g* Q" n1 t011
3 U. y: V- Q+ t, j7 q- bHDMI基础
1 t* p$ m, ~- Q) k基础知识中,我这里只强调几个要点,有助于我们对于产品的设计。
; s7 g+ H- m( C+ f/ n6 D; \5 R5 h% T: \; j- i
通过百度百科,可以简单的了解到HDMI接口的定义:
4 v# W/ e4 q* H0 v: B3 k9 @4 F
5huujpkgrs464026145013.png
. c' Z2 s6 q3 J5 U* y- N7 A& A
图源 | 百度百科
* d6 l- o" q8 ^" m通过这个定义,我们只需要记住以下几个特点:5 F! H I$ ?5 |8 m/ H
HDMI 是数字信号HDMI可以传送未压缩的视频信号HDMI可以传送未压缩的音频信号支持热拔插功能
, L6 y5 `! Y# P: |# a& g. X: v) b% I+ Z! r( K3 g. D9 l" N
HDMI接口目前主要有4个版本:1.4、2.0、2.1和最新的2.2。版本越高,带宽越高,就可以支持更高的分辨率和刷新率?,同时HDMI接口具有向下兼容的特性。1 e7 O1 B5 b ?( n
: v/ M5 ?5 L1 T1 V: G
HDMI的接口类型包括
9 e: e# I9 r" B6 s) ^: l$ m8 x! T5 C
0iccep5pt5n64026145113.png
5 |$ c" y% J I* H
图源 | 知乎6 y( b# j# }; b! R# v7 U
Type A(标准):19针,最常见(电视、电脑等)。! ~, N [( q% h, O5 }! V8 w- B# h
Type B(Dual-link):29针,不常见,数据传输能力强(专业显示器、摄像机等)。
6 C4 N$ @' B& q9 DType C(Mini):便携设备(如相机、平板)。! c" j5 K) H5 s% L. K
Type D(Micro):超小型设备(部分手机)。
3 F3 O. {8 k% A: ?& c3 b( E `6 f' {Type E(车载):带锁定机制,抗震动。+ A$ w6 E$ D% L9 C1 X! c
可根据具体的应用场景来选型合适的接口。
3 J4 D1 L7 D& o4 g7 Z( l; R& t
- z+ k# j3 l1 C+ o; t021
1 h! p8 ]+ w1 M0 ^; OHDMI接口引脚定义
- B& ]; T" ^1 ^& M, C2 u; q咱们常用的HDMI接口一般有19个引脚,Type B HDMI比较特殊,有29个引脚(实际应用中王工也没有见过)。
- ^. \' D/ r+ u: r H( S" G- M以下是HDMI A接口咱们常用的原理图,19个针脚的具体定义就不一一列举了:# ^1 @, x }5 \6 R) ^' _
xou4muvupqf64026145213.png
: q* @( _$ b' K8 S$ O图源 |日常原理图HDMI接口的引脚定义,咱们把它主要分为以下四类?:
; T) p9 g8 P% i+ F% A?①数据信号引脚?
: O J! ~1 U* c+ z. R' s6 W1-9引脚用于数据传输,分为0、1、2三组,负责传输视频信号?。4 J( d2 q q, I+ f1 m7 E; p# \: v
每一组包含一对正、负差分信号和地,如:- T4 i2 m5 O$ r6 U
TMDS DATA0+/TMDS DATA0-/GND
+ _. v% q% Y- _) F' `7 c5 E Q9 A8 I
?②时钟信号引脚?
* ~5 r( N* {4 K: d2 v10-12三个引脚用于传输TMDS时钟信号,用于同步视频和音频数据?。) |1 r$ {: g! {( e
只有一组包含一对正、负差分信号和地,如:
0 S' q7 u/ e! P5 p" |TMDS DATA CLOCK+/TMDS DATA CLOCK-/GND( i+ y& S- K- t9 V2 W
?③控制信号引脚?
& y# @" A1 E1 f+ Q" F$ h6 I7 x?CEC引脚?:13引脚用于控制功能,如通过电视遥控器控制DVD播放。?I2C引脚?:15-16引脚用于DDC通信,主要用于EDID和HDCP的传输?。?Hotplug引脚?:19引脚用于监测HDMI设备是否存在,实现热插拔功能?。
1 Q, F3 R' h) x" R' Y) {: u④电源和接地引脚?[/ol]?5V电源引脚?:18引脚提供5V电源?。?接地引脚?:17引脚用于接地?。1 o8 u, Z# ^" K) d8 n& n5 h
关于这个原理图,大家可以看到HDMI接口的5V供电回路中串联了一个二极管,这一点咱们着重强调一下:
% D7 Z: j4 R" [" p: O' f$ {
c3ghdbia2cg64026145313.png
& T0 L/ `4 [3 ]' t' r& o- y0 Q: q, ~这个二极管主要目的是为了防止电流倒灌。在HDMI连接中,我们一般只允许电流从 source 端流向 sink 端,而不能反向流动。如果连接到HDMI的设备( sink 端)尝试供电给发送设备( source 端),串联的二极管可以防止逆向流动的电流损坏发送设备的电路。此外,这种设计还有一个目的,用于保持HDMI接口电源电压的稳定。如果 sink 端设备尝试提供一个不同的电压,串联的二极管可以防止这个非标准电压影响到 source 端的敏感电路。( |5 z6 S! u5 z1 J
这样,无论是电源供应问题还是连接错误,都可以通过二极管来保护设备不受损害。另外尽量选用漏电流较小的肖特基二极管。
7 v! G. ?) \9 M8 x6 \9 r2 [0317 m7 V; [; [ K: a: e
HDMI握手过程
" m3 Q( |5 R0 g q F& cHDMI握手是指Source端(信号源)和Sink端(显示设备)建立连接的过程,其目的是确保主机输出的画面能够正常显示在屏幕上。通过工作中的实际经验和一些比较好的参考资料,王工把HDMI的握手过程分为一下几点:
7 ]( w, j6 x/ x4 f* w3 t9 E①HPD热拔插检测当HDMI线缆物理连接时,Sink端的HPD引脚(Pin19)会拉高电压(通常至+5V),通知Source端设备已连接。! X# U; S/ m6 Q/ O5 q- G% J- \
& y4 `9 r% L, o, c, o这是HDMI正常通信的第一个步骤,当物理线缆建立物理连接后,如果你有两个屏,一直点亮的那个屏可以看到检测过程中有一个明显缩放的画面。2 Z. k! A0 B5 M* V. }1 `+ \1 k; j
+ ?; H0 e3 J; K* S/ h
②EDID读取很多人第一次接触HDMI可能不知道EDID是什么,它是显示器一种标准,通过DDC传输,可以提供显示器的详细信息,包括:制造商,尺寸,分辨率支持、色彩格式,基本参数......可能你还是不太清楚,你只需要知道,它的作用是为了能让主机更好的识别显示器属性,以显示出跟显示器适配的画面。这个读取过程主要是通过15-16的I2C引脚,一般在HDMI接口处我们也会预留一个EEPROM,方便信息的存储。
0 k2 D" Q7 \6 l. q$ l③TMDS链路训练首先要知道TMDS链路训练的目的,主要是协商物理层参数,确保信号传输稳定性。这个过程比较复杂,包括时钟信号的同步,校准,均衡调整,通道对齐,这里就不细说了,感兴趣的同学可以看看如下两篇文章:https://blog.csdn.net/qq_40483920/article/details/108164292https://m.elecfans.com/article/1976734.html- r' D. t0 L5 s- s( C
[/ol]' h$ E& N2 j" {( q4 w
④视频/音频传输完成上述步骤后,Source端按EDID协商的参数,通过TMDS通道发送视频数据和音频数据。7 v5 U H- |, W8 s8 O+ z5 a
3 X# v) {% y# ]: `# r/ X. H" @
& j C% j7 v$ ~6 O& l了解了HDMI的握手过程,有助于我们解决平时在产品开发中遇到的一些黑屏,无信号,分辨率显示异常或者无音频等问题。8 O1 Z" R. W( k
$ J0 s6 [3 \; @& `, V$ m& D$ y* m0 A& y
2opzxej3kw564026145413.jpg
5 E% y. W8 _1 T% _: G9 v$ \% G* @( F2 l. \; r
本文介绍了HDMI接口的基础知识,但实际应用中的注意事项远不止于此。例如,layout设计、emc设计、连接线选型等,都会直接影响项目的顺利推进。稍有不慎,就可能导致信号完整性下降、兼容性问题甚至项目延期。
( {" y& \% l3 C; t8 h- D0 Q7 Y- ] x# E! h' U! a( {
如果大家对HDMI相关的深入内容(如高速信号设计、EMC对策或线缆选型技巧)感兴趣,欢迎在评论区留言或提问。后续我们可以根据大家的反馈,展开更详细的专题讨论!0 |6 l9 A+ u. V$ r
7 y# |; {" W- x- I0 L如果这篇文章对你有帮助,别忘了点赞、收藏,并分享给更多需要的人!7 m# J: c/ N! U% ^
写在最后都说硬件工程师越老越吃香,这句话也告诉我们硬件也是需要积累的,王工从事硬件多年,也会不定期分享技术好文,感兴趣的同学可以加微信,或后台回复“加群”,管理员拉你加入同行技术交流群。
0 h! A0 c4 F B* u0 ?, k4 {推荐阅读(点击图片直接进入)
0 A- W' z5 n9 m7 D! n, t
r0s53x1sogq64026145513.png
& G7 z1 q1 q2 U6 L0 I
hdipschxyky64026145613.png
5 @8 Z) A7 p$ W9 ^8 c& \投稿/招聘/推广/宣传/技术咨询 请加微信:woniu26a* i: X& y2 r) \: ^ k
声明:
# L/ r, Z- J, m) \# Z/ \声明:原创文章,转载请注明出处。本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。推荐阅读▼" W2 |( v) ]: g9 Q9 K! `. T9 U
电路设计-电路分析
8 `5 V. B, s0 J& t# YEMC相关文章
8 x$ L- ?. @& D2 W+ a; D: f* g电子元器件
, Z: }+ n3 w ?( o' n" ]4 z |
|