MTK Linux DRM分析(三十六)- MTK mtk_cec.c
一、CEC简介
HDMI CEC (Consumer Electronics Control,消费电子控制) 是 HDMI 标准中一项非常实用的功能协议。它允许通过一根 HDMI 线缆连接的设备之间进行通信和控制,旨在简化家庭影院系统的操作,提升用户体验。
📝 核心功能一览
功能名称 | 功能描述 |
---|---|
单键播放 | 按一个键开启多个设备并开始播放(例如,按下播放器“播放”键,电视、音响、播放器依次开启并切换信号源)。 |
系统待机 | 按一个键使多个设备同时进入待机状态(例如,按下电视遥控器“关机”键,电视、音响、播放器等关联设备一同进入待机)。 |
系统音频控制 | 用电视遥控器直接控制外接音响设备的音量。 |
一键录制 | 用户可以通过遥控器一键启动或停止录制功能。 |
输入源自动切换 | 当某个设备被激活时,电视会自动切换到对应的HDMI输入源(例如,打开游戏机,电视自动切换到游戏机所连接的HDMI接口)。 |
🔌 物理引脚
在最常见的标准 Type A HDMI 接口(共有19个引脚)中,CEC 信号使用第13号引脚
。
不同HDMI接口类型的CEC引脚位置:
- •Type A (标准尺寸): 第13引脚
- •Type C (Mini HDMI): 第14引脚
- •Type D (Micro HDMI): 第15引脚
需要注意的是,CEC 功能的有效使用,需要 HDMI 线缆和支持 CEC 功能的设备共同配合。仅仅物理引脚存在并不保证功能可用。
⚙️ 工作原理简述
CEC 协议基于 CENELEC 标准的 AV.link 协议。它通过 HDMI 线缆上的一个专用的共享总线(通常是 HDMI 接口的第 13 引脚)实现设备间的通信和控制
。
- •电气特性:这条总线是开路集电极(Open-Drain)线路,类似于 I2C 总线,被动上拉至 3.3V。设备通过拉低总线电平来进行数据传输。
- •通信速率:CEC 总线的通信速率较低(约 417 bit/s),足以传输控制命令和状态信息。
- •地址识别:CEC 协议允许连接多个设备,每个设备都有逻辑地址(用于区分设备类型,如播放器、电视等)和物理地址(通过EDID分配,具有唯一性)来进行识别和寻址。
- •通信过程:CEC 的通信报文通常以 Start Bit 开始,后跟 Header Block(包含源地址和目标地址)、Data Block(包含操作码和操作数)等。
🧩 使用注意
- •功能命名各异:不同制造商对 CEC 功能的称呼可能不同,例如:
- •Samsung: Anynet+
- •Sony: BRAVIA Sync 或 BRAVIA Link
- •LG: SimpLink
- •Panasoni