Granite River Labs 江诗联 Julian Jiang
在当今流行的显示接口中,HDMI接口占据很大一部分市场,在HDMI传输端和显示器端的解析度与频宽都提高的情况下,连接传输端与显示器端的HDMI线缆也更显重要,并越来越受到重视;线缆品质的好坏会直接影响HDMI信号传输品质,且在实际应用场景中,有时候需要很长的线缆,这样的使用场景下,如果继续使用普通铜线线缆,会因为线缆长度较长导致信号或是电压衰减越严重。这时就需要使用其它介质,比如以光纤为介质的线缆来克服信号衰减问题,而这类线缆都有晶片与之配套使用,必然会增加功耗,以往的做法是透过Self-Power方式由其它独立接口进行供电,一般是透过USB Standard-A、USB Micro-B或USB Type-C供电,但这种方式会让线缆产生多余的设计,并且影响使用的便利性;有没有和普通铜线一样不需要额外设计的供电接口,又可以让晶片正常工作的方式呢?有的!答案就是以下要介绍的HDMI新增的PCA及Cable-ID功能。
简介 PCA 与 Cable-ID
PCA的全名为Power for Cable Assemblies,从字面意思来解释即为「供电给连接线缆」,在能够满足供电要求下,HDMI线缆才能正常工作;那线缆对供电的要求为何呢?首先看一下当传输端不支持PCA技术时,+5V pin只能提供55mA的电流给线缆与接收端设备使用;而支持PCA技术的传输端,+5V pin就可以提供300mA的电流给下接设备使用。若想取得更详细的数据说明可以参考HDMI规范: High-Definition Multimedia interface Specification Version 2.1a February 7,2022中的Table 6-19。
那么Cable-ID又是什么呢? Cable-ID为HDMI线缆上的一组资料结构,该组资料结构说明HDMI线缆支持的功能与能力,可提供给传输端设备读取。所有的HDMI线缆都可以支持Cable-ID,但是针对Category 3线缆Cable-ID功能则为必要支持项目,无论是单向的Category 3线缆或需要外接电源的Category 3线。
PCA 技术
以上针对PCA与Cable-ID做了初步介绍后,接下来我们说明一下PCA技术的几个要素:
- HDMI传输端需要支持PCA功能,当其PCA功能被启动后能透过+5V pin提供至少300mA的电流并且支持Source-ID。
- 支持PCA的HDMI线缆可以从传输端抽取不大于300mA的电流,并且支持Cable-ID。
支持Cable-ID的HDMI线缆应支持Cable-ID资料结构中的前4个位元组,主要字段之解释请参考下表(具体请查阅参考文献[1] Table 10-42):
表1: Cable-ID主要字段解释
- 使用IDCC协定来沟通传输端和线缆
IDCC协定读与写内容交换的构成为:IDCC Header + IDCC Payload + IDCC Checksum。分别说明如下:
1)IDCC Header:IDCC Header共有5个位元组,前两个位元组是固定标识,第三个位元组内容表示读写交换的物件,目前有定义的有Source-ID、Cable-ID与Sink-ID,其它比特位元内容为固定值,第四个位元组是资料访问的位置,第五个位元组是Payload长度,但是这个长度不包括Checksum位元组(具体请查阅参考文献[1] Table 10-39)。
2) IDCC Payload就是该协议传送的Source-ID、Cable-ID、Sink-ID这些不同长度资料结构的内容。
3) Checksum位于IDCC Payload之后,是以位元组宽度为基础的累加和检验结果,其加总的内容包含IDCC Header,IDCC Payload与IDCC Checksum,总合内容等于0。
下图为一个读取Cable-ID的范例(具体请查阅参考文献[1] Figure 10-20)
图1: Cable-ID读取范例
下表则是对这个范例的解释:
表2: 使用IDCC协议读取Cable-ID命令解释
- IDCC协议的沟通过程
IDCC协议的沟通过程可分为以下四个步骤:
第一步:确保传输端的HPD pin有侦测到被拉高。
第二步:传输端通过发送Source-ID命令来通知连接线,说明传输端支持PCA功能。
第三步:传输端读取连接线的Cable-ID,来确认连接线是否支持Cable-ID。
第四步:如果协议沟通正常,传输端就能提供线缆较大的工作电流以供线缆正常运作。
Cable-ID 测试规范
最后来说明大家最为好奇的线缆Cable-ID测试规范,所使用的测试设备是Teledyne LeCroy的980或者M41h。
注意:Cable-ID里所有的字段设置都使用负逻辑,1表示不支持,0表示支持。
Cable-ID测试的主要步骤如下(参考文献[2]):
- CDF内容检查,如果线缆支持PCA功能,就一定要支持Cable-ID。
- 验证每个命令的Checksum是否正确。
- 验证保留字段,保留字段应全部设为1。
- 验证Cable-ID第一个位元组的0-2 bits,有且只能设置一个为0,而且要和CDF一致。
- 验证HEAC_n字段,因Cat3线缆一定要支持HEAC,所以Cable-ID的HEAC_n字段一定要设为0。
- 验证PCA_DEP_n字段的设置是否与CDF一致。
- 验证MonoDirErr_n字段的设置是否正确。
- 验证RND字段的值,一定要是随机的,不能重复。
- 验证制造商字段的值,如果没有特定的值就全部填0xFF。
- 验证其它没有规定的字段,没有规定的字段都要是0xFF。
- 验证读写交换的物件范围,只回应Cable-ID物件的命令,不回应其它物件的命令。
- 验证I2C地址通信问题,线缆的通信依据IDCC协议,必须不理会DDC的读取和写入。
结论
随着现代人对于电子产品的使用习惯,传输接口速度不断提升,也有越来越多的标准接口协会为了因应高速、高品质的资料与影像传输而制定出更严谨的测试规范。读者们亦可参考本篇的技术与测试规范说明来检验自身产品,加速产品取证流程,更快地符合规范流通至市面上。
参考文献:
[1].High-Definition Multimedia interface Specification Version 2.1a February 7,2022
[2].High-Definition Multimedia interface Version 2.1 Teledyne Lecroy MOI v1a Test ID:HFR7-24,August 2,2021
作者介绍
江诗联 Julian Jiang
GRL测试工程师,在接口显示测试和无线测试行业有多年的工作经验,熟悉HDMI、DisplayPort、Etherent等多种测试规范,目前负责GRL东莞DisplayPort认证。