HDMI CEC协议简介

2023-11-09

一、 概述

1、 HDMI

HDMI(High-Definition Multimedia Interface,高清多媒体接口),是一种专用的音频/视频接口,用于发送未压缩的视频数据和压缩/未压缩的音频数据。HDMI是模拟视频标准的数字替代品。HDMI视频和音频信号传输通道采用了TMDS(Time Minimized Differential signal)最小化差分信号传输。是一种差分信号传输方式。

2、 CEC

CEC(Consumer Electronics Control)是一套完整的单总线协议,电子设备可以借着CEC信号让使用可控制HDMI接口上所连接的装置,比如单键播放(One Touth Play),系统待机(System Standby),可以实现由单一遥控器控制所有HDMI连接的装置。最多可以控制15个设备。允许HDMI设备在没有用户干扰情况下互相命令控制。

注:1.4版本下载需要为HDMI组织注册者厂商,现1.3a版本开放下载,填写邮箱就行,下文基于HDMI 1.3a规范。

二、 HDMI

HDMI规范定义了标准的协议、信号、电气接口和机械要求。HDMI有物理上三个独立通道:DDC、TMDS和可选的CEC,HDMI 1.4增加了ARC和HEC。

TMDS总线用于传输视频、音频信息;DDC通道用于获取HDMI Sink增强的扩展显示数据,获取设备设备信息或者配置设备信息;CEC总线,通用控制总线,用于HDMI设备的互连。
​​
在这里插入图片描述
​​在这里插入图片描述​​
在这里插入图片描述
在这里插入图片描述

1、 DDC(显示数据通道)

2、 TMDS(转换最小化差分信令)

3、 CEC(消费电子控制)

4、 ARC(音频回传通道)

5、HEC(HDMI以太网通道)

三、 CEC

消费类电子控制(CEC)是HDMI的一项功能,旨在允许用户通过仅使用一个遥控器来命令和控制HDMI连接的设备。它是一种单总线双向串行总线,基于CENELEC标准AV.link协议,可执行远程控制。CEC的布线是强制的,尽管产品中CEC的实施是可选的。CEC在HDMI 1.0协议中定义,并在其后的标准中更新(将定时器和音频命令添加到总线)。(据百度了解目前,国内电视机大多数不支持CEC功能,国外使用CEC较为普遍)

1、 CEC基本功能

2、 CEC协议规定

CEC是与其他HDMI信号分开的电信号。这允许设备在睡眠模式下禁止其高速电路,但是可以被CEC唤醒。它是一个单独的共享总线,直接连接在设备上的所有HDMI端口间,可以流过所有完全断电的设备。
总线是开路集电极线,有点像IIC,被动上拉至+3.3V,设备拉低进行数据传输。
与IIC相似之处:
低速串行总线
采用无源上拉的集电极开路
速度受分布电容影响
接收器可以将发送的1位转换为0
通过仲裁允许多个主设备:发送1比特并观察是否转换为0以查看是否丢失
面向字节的协议
每个字节都附加一个应该位
特殊的启动信息
与IIC的区别:
单线并不是两根线
以固定时序发送比特
低速串行总线(417bit/s)
四个地址位
定义了动态地址分配协议
标头包括发起者和收件人地址
没有特殊停止信号;每个字节附加一个消息结束标志
没有读操作,通过获取请求获取响应帧,所有数据均从发送器发送
每个设备都必须能够作为主设备传输数据
地址后字节数据有详细规定说明

3、 协议时序

每个位从线拉低(下降沿)开始,保持时间表示位值,之后拉高,直至后续位开始
正常数据位长为2.4±0.35ms。保持低电平0.6±0.2ms为逻辑1;保持低电平1.5±0.2ms表示逻辑0。接收器在下降沿后1.05±0.2ms对线路进行采样,然后在下降沿1.9±0.15ms开始观察下一位。
接收者可以将传输的传输的1bit转换为0通过在下降沿后0.35s拉低总线并保持直到表示逻辑0的电平时间。这个通常用于确认传输。
每个帧都有起始位,通过拉低总线3.7±0.2ms,然后允许上升,总持续时间为4.5±0.2ms。在观察总线空闲之后,任何设备都可以发送起始位。(通常5位时间,但成功后立即传输7位时间,以促进总线的公平共享,以及传输失败和重传之间的3位时间。)
对于单接收消息,应答位类似于IIC:以1位发送,接收器将其下拉至0以确认该位字节。
对于广播消息,应答位被反转:仍然作为1位发送,但被拒绝该字节的任何接收器下拉到0位。
每个CEC帧的第一个字节包含4位源和目标地址头。如果寻址目标存在,则它确认该字节。由除标题之外的任何内容组成的帧是ping,它只检查另个设备的存在。
地址15(1111B)用于广播地址(作为目的地)和未注册的设备(作为源),它们尚未选择不同的地址。一些设备不需要接收非广播的消息,因此可以永久使用地址15。需要接收寻址消息的设备需要自己的地址。设备通过ping它获取地址,如果ping未被确认,则设备声明它。如果确认ping,则设备尝试另个地址。
第二个字节是操作码,它指定要执行的操作,以及后续数据字节的数量及含义。

4、 主要命令

One Touch Play
System Standby
One Touch Record
Timer Programming
Deck Control
Tuner Control
Device Menu Control
Remote Control Pass Through
System Audio Control

Device OSD Name Transfer
Device Power Status
OSD Display
Routing Control
System Information
Vendor Specific Commands
Audio Rate Control

5、 电气特性

​​在这里插入图片描述

6、 Bit时间定义

​​在这里插入图片描述
​​在这里插入图片描述
​​在这里插入图片描述

7、 数据帧描述

​​在这里插入图片描述
Start(bit)+ Header Block + Data Block 1(opcode block) + Data Block 2 (operand blocks)

注:
Block定义:Data(8 bit) + EOM(1 bit) + ACK(1 bit)
​​
Header Block定义:Initiator(4 bit) + Destination(4 bit) + EOM(1 bit) + ACK(1 bit)
​​
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8、 CEC总线仲裁
CEC发送一个消息后,丢失总线所有权。再次发送消息时,需要再次申请总线所有权。
更具发送消息的情况不一,Signal Free Time的时间标准也不一致。
​​ 在这里插入图片描述
发送消息后,期望响应时间应小于200ms;并发送一个消息并收到答复的最大时间为1s。
9、 设备地址
HDMI中的DDC会为设备分配物理地址。有CEC的设备都具有物理地址和逻辑地址,而没有CEC的设备只有一个物理地址。
​​在这里插入图片描述
无论何时发现一个新的物理地址(F.F.F.F除外),CEC设备都应该分配逻辑地址,同过广播消息查询逻辑地址分配情况。
在这里插入图片描述
设备地址为未注册(15)才能被分配逻辑地址,当设备丢失物理地址时,应该将设备地址设备为未注册(15)
​​
10、 CEC消息描述
见规范。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HDMI CEC协议简介 的相关文章

  • 语雀导出知识库内所有文档为markdown格式备份

    语雀 写在前面 本复刻版本无法提交issue 有问题欢迎到语雀评论区和我交流 我一般不看csdn的评论 需要找我请到语雀文章评论区 欢迎给我的语雀文档点赞 或者给我复刻的仓库star 另外我想说明一下 复刻这个仓库的目的是为了防止重要的笔记
  • navigator对象

    navigator 对象是 JavaScript 中的一个内置对象 表示当前浏览器的信息和状态 它提供了访问浏览器相关信息的属性和方法 下面是一些 navigator 对象的常见属性和方法 navigator userAgent 返回包含浏
  • MySQL慢查询日志总结

    慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录 它用来记录在MySQL中响应时间超过阀值的语句 具体指运行时间超过longquerytime值的SQL 则会被记录到慢查询日志中 longquerytime的默认值为10
  • 在ubuntu18.04下安装 elsasticsearch-head 插件

    下载链接地址为 https github com mobz elasticsearch head archive master zip 下载命令如下 下载完成之后使用 unzip master zip 命令对下的压缩包进行解压 查看node
  • Qt连接远程SqlServer数据库,遍历结果集速度慢

    如题 我用qt连接远程的sqlserver数据库 一共110条数据 查询的时候遍历结果非常慢 达到十几秒左右 一开始我以为是结构体本身的问题 把结构体里面的赋值函数参数改成引用传递后 速度有所改善 缩短到9秒左右 但是并没有改变根本 最后我
  • AES-GCM加密算法的简单介绍

    一 什么是AES加密 常见的加密主要分为两类 对称加密和非对称加密 AES加密就是对称加密的一种 即加密和解密使用相同的一把密钥 它的全称是Advanced Encryption Standard 高级加密标准 主要是用来取代DES加密算法
  • mobx v6 + react hook 状态管理配置

    react hook 风格下不再使用class类的形式定义组件 也就不再适用mobx以前版本的装饰器语法 以下分享 reack hook 语法风格下使用 mobx v6 版本的状态管理配置使用方式 相关依赖版本 react 17 0 2 m
  • Spark基本概念

    Application 指的是用户编写的Spark应用程序 代码 包含了Driver功能代码和分布在集群中多个节点上运行的Executor代码 Driver Spark中的Driver即运行行数Application的Main 函数并且创建
  • 为什么一个mac可以对应多个ip_路由器、交换机、IP、MAC原来可以这样理解

    先理解它们能够代表着什么 数据帧 快递 二层MAC地址 你的身份证号 全球唯一 三层IP地址 你的当前的住宅地址 你随时可能会搬去其他地址住额外的 规则 一个住宅地址只能住一个人 否则会导致收发快递不正常 交换机 给你派件的快递员 但是只认
  • CTFSHOW 萌新计划web9-15

    题目地址 http ctf show 0x01 web9 乍一看别被迷惑了 这个正则是字符串中包含 system exec highlight才能执行eval if preg match system exec highlight i c
  • 如何用logging记录python实验结果?

    做python实验有时候需要打印很多信息在控制台 console 但是控制台的信息不方便回顾和保存 故而可以采用logging将信息存储起来 先新建一个文件message log 代码如下 import logging logging ba
  • Android Studio 守护进程 错误 Error:Unable to start the daemon process....

    简介 有段时间没有使用Android Studio 最近使用AS打jar包的时候 不知道什么原因 突然出现了的问题 下面也没有详细的错误信息 网上很多解决类似问题的做法都是说AS在启动Jvm时候的空间问题 然而这个问题的下划线下面是有更详细
  • 航天生物计算机作文,科幻遨游太空作文(精选6篇)

    科幻遨游太空作文 精选6篇 导语 很多人语文成绩上不去 都是因为作文分数一直提不上去 为了让您在写作文时更加简单方便 下面是小编为大家收集的科幻遨游太空作文 精选6篇 欢迎大家借鉴与参考 希望对大家有所帮助 遨游太空作文1 太空 是一个充满
  • SQL触发器

    触发器 触发器是与表有关的数据库对象 可以在 insert update delete 之前或之后 触发并执行触发器中定义的SQL语句 触发器的这种特性可以协助应用在数据库端确保数据的完整性 日志记录 数据校验等操作 使用别名 NEW 和
  • 微信小程序之用camera实现类似扫码枪连续扫码

    微信小程序之用camera实现类似扫码枪连续扫码 搜了CSDN里面的文章 除了有一篇有关微信小程序 用微信小程序里面代码实现 扫码的功能 其它都是用别的 原博文是 小程序连续扫码实现但是他只是实现了一次扫码后就不能再继续扫码了 在js代码部
  • 组件库系列四:组件封装思路

    文章目录 按钮 输入框 tabs选项卡 toast提示 Popover 遇到的问题 前面已经有按钮为例子搭建的组件库 这里记录几个组件的封装思路 持续更新 按钮 感觉涟漪效果挺有趣的 就加进来了 简单分析一下 在按钮组件中使用canvas组
  • [译文]PHP 正则表达式入门 Getting Started with PHP Regular Expressions

    PHP 正则表达式入门 Getting Started with PHP Regular Expressions 译者注 本文是面向0正则基础的phper 很多正则的高级使用都没有涉及到 仅仅是一份简单的入门 对于有基础的 可直接查看本文末
  • element的form表单中如何一行显示多el-form-item标签

    element的form表单中如何一行显示多el form item标签 效果图 HTML代码 div div
  • mysql查询两列的总和,null值处理

    mysql中需要用sum 函数计算两列或者多列的总和时 可参考以下写法 select SUM IFNULL c1 0 IFNULL c2 0 from tb mytable sum c1 c2 c3 函数是计算多列的总和 ifnull c1
  • Java项目-博客管理系统介绍

    目录 一 项目背景 二 相关技术准备 1 网络通信三要素 2 Jsp简介 3 Servlet简介 4 Tomcat服务器 三 系统需求分析 1 易用性分析 2 安全性分析 四 数据库设计和实现 1 创建数据库和相关表 2 使用JDBC连接数

随机推荐

  • Eclipse中Debug时,设置条件断点,运行额外代码

    目录 1 设置条件断点 2 运行额外代码 1 设置条件断点 右键断点位置 选择 Breakpoint Properties 设置条件 设置后的效果 当然 也可以直接在这里进行设置 2 运行额外代码 debug时 在Debug Shell中写
  • Java Web开发技术体系

    Course Java web 开发技术 Author 涛哥B站视频资料 千锋教育 Java Web开发视频教程 一 Java web是什么 1 1 Java web概念 Java web指的是使用Java语言进行web互联网领域项目开发的
  • 现在人工智能在教育方面的应用

    现代教育中 利用人工智能可以实现师资资源重新分配 传统教育模式中 存在严重的师资力量分配不均匀的问题 也导致了教育的不均衡 不平等 格物斯坦表示人工智能在教育方面的用途非常广泛 具体要求要因地制宜 才能发挥最大效果 当投入了人工智能教育以后
  • USB转串口CH340接线方法

    https blog csdn net wangjiaweiwei article details 49612207 USB转串口模块可以使用5V电压供电 需要将跳帽按下图安装 USB转串口模块可以使用3 3V电压供电 需要将跳帽按下图安装
  • Vue概念

    Vue 是一套用于构建用户界面的渐进式框架 自底层向上应用 Vue的核心库只关注视图层 容易入门 可以和第三方库或者已有的项目进行整合 可以做复杂的单页应用 同时与React Angular称三大主流框架 中文官网 v2 cn vuejs
  • C语言交换 a与b 的值的 3种方法

    第一种方法 给定两个整形变量的值 创建两个临时变量将两个值的内容进行交换 int a 2 int b 3 int c 0 printf 原来的 na d b d n a b c a a b b c printf 现在的 na d b d a
  • Unity中如何用代码实现场景切换

    Unity中如何用代码实现场景切换 创建场景 场景切换 Unity3D创建游戏可以这么理解 一款完整的游戏就是一个Project 项目工程 游戏中不同的地图对应的是项目下面的不同场景 Scene 一款游戏可以包含很多地图 因此一个项目工程下
  • 浏览器及手机版本型号判断

    Navigator 对象 包含有关浏览器的信息 所有浏览器都支持该对象 对象属性参考 https www w3school com cn jsref dom obj navigator asp 属性 描述 appCodeName 返回浏览器
  • 【一些用得到的概念】

    C语言的四种变量类型 C C 四种变量类型 变量声明 包括const变量能被其他文件使用的操作 关于变量声明 多文件的例子 Linux下使用生成 so并调用 关于 so调用出现错误的解释
  • 老卫带你学---华为机试(7.取近似值)

    华为机试 7 取近似值 问题 题目描述 写出一个程序 接受一个正浮点数值 输出该数值的近似整数值 如果小数点后数值大于等于5 向上取整 小于5 则向下取整 输入描述 输入一个正浮点数值 输出描述 输出该数值的近似整数值 示例1 输入 5 5
  • typora的基本使用技巧汇总

    原文链接 https www jianshu com p 380005c8f104 Typora是一款所见即所得的Markdown文本编辑工具 在你输入相应的标记符号后 系统会自动对所标记的文本进行渲染 设置成相应的格式 因此 写作过程与渲
  • matlab由频率响应计算差分方程,现代线性系统:使用MATLAB

    中译本出版者的话 译者的话 出版者的话 符号一览表 全书内容简介 前 言 第1章 信号与序列 概述 基本概念与解说题 信号 序列和系统 IP1 1 描述连续时间信号 IP1 2 序列表述 连续和离散信号之间的转换 采样定理 本书梗概 兼学习
  • PyTorch深度学习实战(6)——神经网络性能优化技术

    PyTorch深度学习实战 6 神经网络性能优化技术 0 前言 1 数据准备 1 1 数据集分析 1 2 数据集加载 2 使用 PyTorch 训练神经网络 2 1 神经网络训练流程 2 2 PyTorch 神经网络训练 3 缩放数据集 4
  • 可以白嫖的语音识别开源项目whisper的搭建详细过程

    原文来自我个人的博客 1 前提条件 服务器为GPU服务器 点击这里跳转到我使用的GPU服务器 我搭建 whisper 选用的是 NVIDIA A 100显卡 4GB显存 Python版本要在3 8 3 11之间 输入下面命令查看使用的Pyt
  • origin图上显示数据标签_origin中如何在图中添加标签

    展开全部 方法步骤如下 1 首先打开计算机 在计算机内进入origin 在里面新建一个三维表面图与标注数据点的初始数据 62616964757a686964616fe58685e5aeb931333431353866 2 选中所有数据 执行
  • element ui el-date-picker 组件默认值

    element ui el date picker 组件默认当前月份 1 html 代码
  • 已解决(Python爬虫requests库报错 请求异常SSL错误,证书认证失败问题)requests.exceptions.SSLError: HTTPSConnectionPool

    成功解决 Python爬虫requests库报错 请求异常 SSL错误 证书认证失败问题 requests exceptions SSLError HTTPSConnectionPool host httpbin org port 443
  • [html+css+js] 小米官网首页制作

    实现效果 源码及图片素材地址 https gitee com jie shao1112 xiaomihttps gitee com jie shao1112 xiaomi 这里进行一些说明 在index html里引入了三个css文件 第一
  • QT 界面强制刷新

    针对qt的界面刷新显示 在qwidget中可以使用 show exec setup repaint paintEvent 等都可以实现界面刷新和重新绘制 但是如果需要在控件外进行刷新就需要下面方法 include
  • HDMI CEC协议简介

    一 概述 1 HDMI HDMI High Definition Multimedia Interface 高清多媒体接口 是一种专用的音频 视频接口 用于发送未压缩的视频数据和压缩 未压缩的音频数据 HDMI是模拟视频标准的数字替代品 H