HDM I-CEC简介及其应用

2010-03-14 09:04谢特辉
电视技术 2010年10期
关键词:待机消息总线

谢特辉

(厦华电子研发中心,福建 厦门 361006)

1 引言

随着技术的发展和市场的需求,消费电子设备越来越丰富,诸如DVD、数字平板电视、机顶盒、可录制设备、数字功放和音响等各类视听设备让生活多姿多彩,但随之而来的是,遥控器也越来越多。CEC(Consumer ElectronicsControl),即消费电子控制,是为所有通过HDMI线连接的家庭视听设备提供高级控制功能的一种协议,用户通过一个遥控器即可对这些连接的设备进行控制。CEC总线的基本技术起源于欧洲的SCART接口。HDMI在SCART技术基础上发展为HDMI-CEC总线[1],允许在系统内的视听产品之间进行查询和通信。CEC使得建立于现有的点对点E-DDC的“插入并播放(Plug&Play)”自动操作的全局控制成为可能,从而减少系统的遥控器数量,简化基本操作所需的按键次数。

2 CEC简介

CEC假定一个系统内的所有音视频信号源产品都直接或间接地连接到一个“根”显示设备,通过HDMI线连接成一个自上而下的树,显示设备作为“根”,信号开关设备作为“枝”,不同的信号源产品作为“叶”节点,如图1所示。

2.1 电气特性

空闲时,CEC设备内的上拉电阻将CEC总线的电压提升到2.50~3.63 V,在发送位信号时将总线拉低为0~0.6 V。信号上升和下降的最大时间分别为250ms和50ms。为了防止设备干扰CEC总线,待机状态下的最大漏电流限制为1.8μA。CEC总线可连接10个100 pF的设备和9个700 pF的信号线,所以最大的总线电容为7 200 pF。正常工作状态下CEC总线的电气特性如表1所示。

表1 正常工作状态下CEC总线的电气特性

2.2 设备物理地址

为了使CEC能够寻址及控制拥有特定物理地址的设备,所有系统内的设备必须拥有物理地址。通过DDC/EDID为CEC网络中的所有设备(包括不兼容CEC协议的设备)分配物理地址,物理地址的分配方法如下:

1)在整个网络中,必然存在着一个只有子设备没有父设备的终端,该设备为root(通常为TV),也就是CEC网络的根节点,此根节点可以将自己的物理地址设置成0.0.0.0。

2)根节点监测到目前的HDMI输入设备数量,在EDID中为其分配地址。

3)与根节点直接连接的设备可以读取对应父设备的EDID部分,从而获知自己的物理地址,并且由此设置本设备的EDID部分。

4)CEC网络中的其余子设备在连接时读取其父设备的EDID,并将其父设备的物理地址中的第一个数字0的位置替换成一个非0数字,便成为该子设备的物理地址。例如,父设备地址为1.2.0.0,其子设备的物理地址范围为 1.2.1.0~1.2.F.0。

当一个CEC设备获得一个新的物理地址时,需要配置逻辑地址并通过命令广播其逻辑地址和物理地址的关联性,使得CEC网络内的任一节点可以建立一个物理连接到逻辑地址的映射。

2.3 设备逻辑地址

每个连接到CEC控制总线上的设备都有一个唯一的逻辑地址,定义该设备的类型,同时,也是该设备的唯一标识符。逻辑地址的定义如表2所示。

表2 CEC设备的逻辑地址

CEC设备的逻辑地址也是动态分配的,分配方式为:

1)根节点(通常为TV)直接设逻辑地址为0。

2)当设备A插入后,该设备的类型是已知的,因此可以为该设备A预设一个逻辑地址(如DVD,其预设地址为 DVD1,即为 4),并通过广播此地址。

3)当该逻辑地址已经被占用时,对应的占用设备会应答确认信息。设备A收到确认后,重设其他逻辑地址(如 DVD1->DVD2),并通过广播。

4)当检测到没有确认时,此逻辑地址可用,因此设备A占用此逻辑地址。

5)占用后,发送广播,其中包含了其物理地址和逻辑地址,声明对地址的占用。若询问一圈后,逻辑地址均被占用,则设备A的逻辑地址为15。

2.4 通信协议

通信总是在一个发起者和一个(或多个)接收者之间进行。发起者声明的位提供数据,而接收者声明的位提供应答。位通信的速率很慢,位速率小于500位/s。消息以一个长的起始位开始并紧跟一些较短的数据位。起始位的时长为4.5ms,且低电平的宽度为3.7 ms,如图2所示。

数据位的时长为2.4 ms,逻辑“0”的低电平宽度为1.5ms,而逻辑“1”的低电平宽度为0.6 ms,如图3所示。

每10位∶8位数据、EOM(消息结束位)和ACK(应答位)组成一个引导或数据块。EOM位用来标识消息的最后一个块:“0”表示后续还有数据块,“1”则表示消息结束。ACK位是接收者用来对消息发起者进行应答的,消息发起者总是将此位设置为“1”。对于点对点消息,与消息中的目标地址相同的设备将ACK位修改为“0”,其他设备则不动作;对于广播消息,拒绝接收该消息的设备将ACK位修改为“0”,其他设备则不动作。

引导块包含发起者的4位逻辑地址和接收者的4位逻辑地址;数据块的8个信息位包含操作码和操作数等数据,两者的数据结构如图4所示。

HDMI-CEC消息是通过帧来发送的,帧结构如图5所示。

下面以一键播放功能为例,简要说明消息的流程,如图6所示。

假设TV的HDMI1接口 (EDID中设定的物理地址为1.0.0.0)连接一台支持CEC功能的DVD(其逻辑地址为0x04),当用户按下DVD的Play键时,DVD通过CEC总线发送给TV,并广播消息。当TV接收到消息时,如果TV此时处于待机状态,则TV将开机并进入显示图像的工作状态,如果TV已在工作状态,则在收到消息后,将当前通道切换到DVD连接的HDMI1通道。用QuantumData 882EA仪器监测到的数据如图7所示。

3 CEC应用实例

在厦华新发布的一款LED超薄机型上实现了一键播放、系统待机、系统信息、设备OSD名称传输、遥控命令传输及路由控制等CEC功能特性。该机型是采用Broadcom公司的数字电视信号处理芯片BCM35143为核心平台的ATSC/NTSC数模一体机,具有3个支持1 080p全高清信号的HDMI接口。BCM35143集成有支持HDMI1.3a标准的HDMI接收解码器,支持HDMI-CEC协议。

3.1 系统设计

系统框图如图8所示。在这个系统中,TV是CEC系统的根节点,物理地址为0.0.0.0,逻辑地址为0。3路HDMI信号通过一个HDMI切换开关选择一路输入到BCM35143,因此,HDMI切换开关的物理地址分配为1.0.0.0,而3个HDMI接口按照端口定义,通过EDID将其物理地址分别设置为1.1.0.0,1.2.0.0和1.3.0.0,逻辑地址在HDMI-CEC设备连接到相应的接口时进行动态分配。

3.2 用户菜单设计

在用户选单下,提供给用户对HDMI-CEC功能进行选择、控制的选项如下:

1)XLink Control项,HDMI-CEC功能控制开关。设置为ON时,支持提供的各种CEC功能;设置为OFF时,不支持CEC功能。

2) Device Auto Power Off,HDMI-CEC 系统待机功能控制开关。设置为ON时,如果电视进入待机,连接的HDMI-CEC设备也进入待机;为OFF时,则不影响外接设备。

3)TV Auto Power On,HDMI-CEC一键播放功能控制开关。设置为ON时,如果连接的HDMI-CEC设备开机或进入播放状态,如TV处于待机状态,则自动开启TV并切换到该设备连接的信号通道;为OFF时,则不支持这种开机方式。

4)XLink Device Lists,外接HDMI-CEC设备清单,供用户查询当前连接的HDMI-CEC设备。

3.3 编程实现

为了便于消息的管理,CEC消息采用队列来存储。TV将所有要发送的消息通过进队操作存储到消息发送队列,而所有接收到的消息存储到消息接收队列。系统定时访问消息队列,按照先进先出的原则获取消息,进行发送和接收处理。

CEC消息的结构体定义如下:

CEC消息的操作码和操作数(参数)的详细信息参考HDMI-CEC规范。

消息队列的结构体定义如下:

CEC消息的发送流程如图9所示。

在本机型的设计中,主要有以下情况需要发送相应CEC消息:

1)通道切换。当从HDMI通道切换到非HDMI通道时,需要发送消息;当从非HDMI通道切换到HDMI通道或在HDMI通道间切换时,需要发送消息;

2)OSD语言切换。当在用户选单下改变选单语言时,需要广播消息,以通知连接的设备修改选单语言;

3)系统待机。当TV进入待机状态时,需要广播消息;

4)检测到新接入设备时,需要发送消息,以查询该设备的名称,并用到相应的OSD选单显示中;

5)用户操作指定的遥控传递按键时,需要发送消息,将遥控按键传递给相应的设备;

6)在接收到不支持的消息,或无法立即处理该消息(如频道自动搜索过程中),或数据帧传输过程中高级协议层数据出错时,需要发送消息。

而对于接收到的消息的处理,通过在主循环中调用消息处理函数来完成,该函数从CEC消息接收队列中获取消息的引导数据、操作码、操作数等信息,然后按照规范所定义的消息功能,根据操作码进行相应的功能控制。函数代码示例如下:

消息的接收处理流程如图10所示。

3.4 注意事项

1)在TV进入Standby时,不要操作HDMI接口的Hot-plug脚,否则,在Device Auto Power Off项设置为Off(即TV关机时不广播消息)时,TV进入Standby后,会引起某些DVD,如三星蓝光DVD BDP4600,重新发送消息而导致TV自动开机,出现TV不能进入Standby的问题。

2)CEC消息通信时序对CEC通信是否成功影响很大。TV与HDMI设备CEC通信过程中,时序若出现错误(如争抢的情况),将导致通信失败,甚至会使TV与HDMI设备双方陷入死锁的状态。以三星蓝光DVD 4600为例,TV在切换到其他通道后,若立即发送Request Active Source消息,该DVD有时会无法向CEC网络成功发送Active Source等消息,最终将出现该DVD在TV切换到其他通道后时而不暂停的问题。

3)在TV的 HDMI-CEC认证中,One Touch Play,Routing Control,Power Status,Feature Abort等功能特性是强制要求的。

4 小结

随着CEC兼容性标准的发布和CEC开发、测试设备的上市,消费电子产品供应商开始在其具有HDMI接口的产品中添加CEC功能,一些知名电子公司更是对其进行了包装,如表3所示。

表3 一些公司的CEC功能

随着消费者对CEC功能的逐渐熟悉,以及CEC总线本身的特性,CEC功能将成为具有HDMI接口的消费电子产品的标准功能配置。

[1]HDMI Licensing,LLC.HDMI Specification 1.3a[EB/OL].[2006-11-10].http://bbs.dvbcn.com/showtopic-43236.html.

猜你喜欢
待机消息总线
关机不断电 电表悄悄走——防止待机能耗成“隐藏的浪费”
遏制“超长预售”,需监管“超长待机”
“超长待机”的余震
漫“话”抗疫·人与自我:“超长待机”的假期,你收获了什么?
一张图看5G消息
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
多通道ARINC429总线检查仪
消息
消息