HDMI_CEC&ARC

前言

产品需要带ARC功能, ARC是由CEC发送指令与显示设备握手,从设备端回传音频信息。
学习下CEC通信流程。本文借鉴已公开HDMI1.3a规范相关信息,详细信息请参考HDMI规范。

正文

1. CEC Address

所有CEC设备都有一个物理地址和逻辑地址

1.1 物理地址

所有设备都必需有一个物理地址(动态分配),物理地址是通过DDC/EDID来识别。
地址长度是4位,设备深度为5。
CEC与DDC连接图

1.2 逻辑地址

在CEC总线上每一台设备都有一个逻辑地址,定义了设备类型而且是唯一的识别码。

逻辑地址 设备类型
0 TV
1 Recording Device 1
2 Recording Device 2
3 Tuner 1
4 Playback Device 1
5 Audio System
6 Tuner 2
7 Tuner 3
8 Playback Device 2
9 Recording Device 3
10 Tuner 4
11 Playback Device 3
12 Reserved
13 Reserved
14 Free Use
15 Unregistered (as initiator address) / Broadcast (as destination address)

2. CEC Format

遵循Av.ink要求,每一个CEC事务都是由 一个起始位、一个10位标头、和最多14个10位数据块的序列组成,一个完整的CEC指令可能由1-10个CEC事务组成。
CEC Feature

2.1 Start Command (起始位)

Start Command 标识着CEC开始传输,这是独一无二的,
可以通过低电平a和总电平b的时间来验证是否为起始位。(虚线为允许的公差范围)
 Start bit pulse format showing minimum and maximum tolerances
逻辑0和逻辑1电平变化(虚线为允许的公差范围)
在这里插入图片描述

2.2 CEC Block

CEC块都是由10位bit组成,基本结构也相同
Block Structure
information bits: 可能是数据、操作码或地址,这取决于是什么块

EOM(End of Message):指示这块是否为最后一块
=1,这个是最后一块
=0,后面还有块

ACK (Acknowledge) :应答头和数据块
=0,有应答

2.2.1 CEC Header Block 1

在这里插入图片描述

2.2.2 CEC Data Block

typedef enum                    // CEC Messages
{
   
    CECOP_FEATURE_ABORT          
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值