HDMI ARC功能详解及应用介绍

一、HDMI

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

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

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

其中

        1-9 都是TMDS数据传输实际上用到的引脚,分为0,1,2三组

        10-12 为TMDS时钟信号,如当前Video Timing为480p@60Hz(Htotal:800,Vtotal:525),则TMDS clock = 800x525x60 = 25.2MHz。TMDS clock就像是对像素的打包,一个clock分别在三个Channel传输一个像素的R、G、B(8bit)信号。

        13 为CEC(consumer electronic control)类似一种扩展的HDMI功能,供厂家自己定制HDMI消息,(比如说你有一台sony的DVD与TV,两者用HDMI线接上,如果你用TV的遥控器可以控制DVD,另DVD执行某种功能,那么该功能的命令信号就是通过TV与DVD间的CEC引脚传输的)

        14 为保留引脚,未使用(或者也可以为CEC提供多一个引脚)

        15-16 为I2C引脚,用于DDC(Display Data Channel,主要用于EDID(EDID,Extended display identification data,中文名称扩展显示器识别数据,里面包含显示器也就是HDMI从机设备的像素显示制式一些信息,详细见百度百科)与HDCP(high bandwidth digital content protection高带宽数字内容保护技术)的传输)传输。在HDMI的流程中,DDC通信几乎是最先做的(前有Hotplug),因为HDMI的主从两个设备需要通过DDC来获得他们对方设备的EDID,从而得到各种信息,并且通过比较timming以确定以后送出来的timming为最合适的(SCL、SDA)

        17 为接地引脚

        18 为5v的AC引脚

        19 为Hotplug(热拔插)引脚(用于监测HDMI设备有没有存在,如果存在(Hotplug为high)那么可以通过DDC去读EDID),HDMI有规定在HDMI 5vAC断电时source device可以读reciever device的EDID,也就是需要Hotplug为High。其中有两种Hotplug相关的情况会导致HDMI被识别为DVI:

        (1)Hotplug为High,不过EDID并没有准备好,那么信号源设备会由于无法读到EDID而认为接收设备为DVI,这样会导致HDMI有图像无声的问题。

Hotplug为Low,也会导致信号源无法读到EDID而认为接收设备为DVI,从而导致HDMI有图无声

        (2)在TV这种有多个HDMI通道的情况下,有时会在多个HDMI通道进行切换,切换后HDMI通道应当先初始化,即先把Hotplug拉低,通知HDMI source device之前所用的EDID已经改变,需要重新读取,那么source device在Hotplug被拉高的时候会去读取新的EDID,但是拉低这个过程至少需要100ms,否则source device有可能不会去读取新的EDID,从而输出DVI信号

        HDMI:在HDMI中,HDMI视频和音频信号传输通道采用了的TMDS最小化差分信号传输,其中四组TMDS信号分为3组数据信号和1组时钟信号,另外包括了DDCCEC以及HPD信号。

HDMI的热插拔检测(HPD)

        当HPD引脚大于2V,TMDS才会输出,如果显示器没有画面显示,首先要测量该信号是否拉高。

        显示器通过HDMI连接HDMI源端设备,当HDMI 源端(Source)通过HDMI接口的HPD引脚检测到显示器与HDMI源端(Source)相连时(HPD从低电平到高电平),HDMI 源端(Source)认为已经有显示设备连接,并通过HDMI接口中的显示器数据通道DDC(DDC I2C总线)读取显示器EDID存储器中存储的EDID数据(扩展显示器识别数据),如果检测到显示器的工作模式范围与HDMI 源端(Source)的输出设置相适应,则HDMI 源端(Source)就激活TMDS信号发送电路发送正常的HDMI信号给显示设备。所以Sink端的EDID是在HPD从低电平到高电平的转换时被HDMI Source端读取的。如果需要强制刷新EDID, 可以发起一个HPD信号(拉低HPD,再拉高HPD),让HDMI source来读取新的EDID内容。

        显示器断开HDMI连接时,当HDMI 源端(Source)通过HPD引脚检测到显示器的HDMI接口与HDMI 源端(Source)断开时,HDMI 源端(Source)就断开TMDS信号发送电路,停止发送HDMI信号。

        HDMI 源端(Source)对HPD信号的要求,当HDMI 源端(Source)检测到HDMI/DVI接口上的HPD引脚电压大于2V时,判断为HDMI显示设备(Sink)通过HDMI/DVI接口与HDMI源端(Source)连接:当检测到HPD引脚电压小于0.8V时,则判断为HDMI显示设备(Sink)通过HDMI/DVI接口与HDMI 源端(Source)之间的连接已经断开。

HDMI的CEC功能:

        1、CEC,全称是Consumer Electronics Control,消费类电子控制。CEC功能为用户带来许多方便,它允许终端用户使用一个遥控器控制多个支持CEC 的HD设备,从而无需使用多个遥控器来控制电子设备,如:电视机(TV)、机顶盒和便携式HD设备。

        2、HDMI-CEC功能,功能上大致都是借着CEC信号让用户可以控制HDMI接口上所连接的装置。如单键播放(One Touch Play)系统待机(System Standby)。即是如果用户将影碟放进蓝光播放器时,电视会由于CEC信号的通知而自动开机,然后视频通道亦会自动切换到播放器连接的通道上。而当用户关掉电视时,CEC信号亦会通知HDMI相连接的装置一同进入待机。由于这样,所以就可以完全变成单一遥控器控制所有HDMI连接的装置。

HDMI的DDC信号(IIC):

        HDMI的DDC信号获取显示器的基本信息,提供了上游设备读取下游设备的EDID的通道,即显示数据通道,DCC遵守的是I2C协议,就是I2C信号,可以通过协议分析仪读取EDID遵循EDID协议,描述了显示器所支持的功能,所有的HDMI下游设备都强制支持该功能,EDID存储在EEROM 芯片中。

HDMI的TMDS通道:

        4对TMDS差分信号包括1对时钟信号和3对数据信号,三个数据通道用来发送所有和音视频数据有关的数据,每个通道都有像素数据、控制信号、辅助信号; 时钟通道为接收端提供参考频率,方便解码

        通道0上传输的数据为:B分量的视频数据,行场同步信号、辅助信号(辅助数据包的头)

        通道1上传输的数据为:G分量的视频数据,控制信号CTL0和CTL1、辅助信号(音频数据)

        通道2上传输的数据为:R分量的视频数据,控制信号CTL2和CTL3、辅助信号(音频数据)

        行同步信号:告诉接收端一行像素数据是否结束

        场同步信号:告诉接收端一帧像素数据是否结束

        控制信号:表明接下来是在传输视频数据还是辅助数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/8917.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【经验总结】Vue2中的全局变量(store

需求场景 需要在vue中存储一个可变的,可读写的全局变量在不同的js、页面中均可调用和读写 技术:使用vue的store 用法总结 一、定义变量 1、找到vue的/src/store路径,在modules文件夹下创建文件(这里便于测试创建demo.js&…

51单片机入门:DS1302时钟

51单片机内部含有晶振,可以实现定时/计数功能。但是其缺点有:精度往往不高、不能掉电使用等。 我们可以通过DS1302时钟芯片来解决以上的缺点。 DS1302时钟芯片 功能:DS1302是一种低功耗实时时钟芯片,内部有自动的计时功能&#x…

十二届蓝桥杯Python组3月中/高级试题 第二题

** 十二届蓝桥杯Python组3月中/高级试题 第二题 ** 第二题(难度系数 3,20 个计分点) 编程实现: 给定一个正整数,判断这个正整数是否能被5整除。 输入描述:输入一个正整数n 输出描述:如果n可以…

SpringBoot启动流程源码解析

目录 一、SpringApplication构造方法解析 1. web应用类型 2. BootstrapRegistryInitializer 3. ApplicationContextInitializer 4. ApplicationListener 5. 推断Main方法所在类 二、SpringApplication.run(String... args)方法解析 1.创建DefaultBootstrapContext 2.获…

订单超时自动取消的实践方案

1、定时任务方案 方案流程: 每隔 30 秒查询数据库,取出最近的 N 条未支付的订单。 遍历查询出来的订单列表,判断当前时间减去订单的创建时间是否超过了支付超时时间,如果超时则对该订单执行取消操作。 定时任务方案工程实现相…

基于AC-YOLO的路面落叶检测方法

基于AC-YOLO的路面落叶检测方法 A Road Leaf Detection Method based on AC-YOLO 完整下载链接:基于AC-YOLO的路面落叶检测方法 文章目录 基于AC-YOLO的路面落叶检测方法摘要第一章 引言1.1 研究背景1.2 研究意义1.3 相关工作 第二章 AC-YOLO算法介绍2.1 目标检测技术综述2.2…

【Vue】vue中将 html 或者 md 导出为 word 文档

原博主 xh-htmlword文档 感谢这位大佬的封装优化和分享,亲测有用!可以去看大佬👇的说明! 前端HTML转word文档,绝对有效!!! 安装 npm install xh-htmlword导入 import handleEx…

远动通讯屏的作用

远动通讯屏的作用 远动通讯屏有时有称为调度数据网柜,远动通讯屏具体干啥作用?远动通讯屏是以计算机为基础的生产过程与调度自动化系统,可以对现场的运行设备进行监视和控制、以实现数据采集、设备测量、参数调节以及各类信号报警等各项功能。…

Spring MVC、Boot、Cloud:一站式对比与解析

Spring MVC、Boot、Cloud:一站式对比与解析 文章目录 Spring MVC、Boot、Cloud:一站式对比与解析一、SpringMVC二、SpringBoot三、SpringCloud四、从多个方面看1、定位和功能:2、依赖管理:3、开发效率:4、项目结构和维…

git--.gitignore--使用/详解/实例

简介 本文介绍git的.gitignore忽略文件的用法。 项目中并不是所有文件都需要保存到版本库中的,例如“target”目录及目录下的文件就可以忽略。 忽略某个文件(不提交到版本库的方法):在Git工作区的根目录下创建一个.gitignore文件…

上海市计算机学会竞赛平台2022年4月月赛丙组闰年的判定

题目描述 给定一个正整数 𝑦y 表示一个年份,请判定 𝑦y 年是否为闰年,闰年分普通闰年与世纪闰年: 普通闰年的年份是 44 的倍数,但不能是 100100 的倍数;世纪闰年的年份是 400400 的倍数。 输…

用webui.sh安装报错No module named ‘importlib.metadata‘

安装sdweb报错,出现No module named importlib.metadata: glibc version is 2.35 Cannot locate TCMalloc. Do you have tcmalloc or google-perftool installed on your system? (improves CPU memory usage) Traceback (most recent call last):File…

Pytorch实现扩散模型【DDPM代码解读篇2】

扩散的代码实现 本文承接 Pytorch实现扩散模型【DDPM代码解读篇1】http://t.csdnimg.cn/aDK0A 主要介绍“扩散是如何实现的”。代码逻辑清晰,可快速上手学习。 # 扩散的代码实现 # 扩散过程是训练部分的模型。它打开了一个采样接口,允许我们使用已经…

【线性回归】

1. 简单线性回归 y ax b double[] x {540, 360, 240}; double[] y {205, 325, 445};问题 根据double[] x 和 double[] y ,计算y ax b中a和b的值 解决方法 最小二乘法:让距离(实验值和理论值的差值)的平方和最小 即&…

堆的基本操作(c语言实现)

1.堆的基本操作 1.1定义堆 typedef int HPDataType;//堆中存储数据的类型typedef struct Heap {HPDataType* a;//用于存储数据的数组int size;//记录堆中已有元素个数int capacity;//记录堆的容量 }HP;1.2初始化堆 然后我们需要一个初始化函数,对刚创建的堆进行初…

【C语言】路漫漫其修远兮,深入[指针]正当下

一. 指针初步 1.概念定义 地址:我们在内存中开辟空间时,为了方便后续访问,每个数据有确切的地址。 指针:指向数据的地址,并将其地址储存在指针变量中。 2.基本运算符 • 取地址操作符(&) …

stm32F103C8T6裸机如何提高响应速度

思路就是:将主函数的程序分为几块,不使用死延时函数,利用定时器中断,每1MS中断一次,然后中断1000次之后,过去了一秒钟,将1S标志位置1,然后主函数接收到之后,运行1S任务 …

【强化学习入门】基于DDPG的强化学习控制器设计

最近在看控制领域研究热门–强化学习相关的东西,跟着matlab官方强化学习教程一边看一边学,感觉入门门槛略高,需要补很多机器学习相关的知识,高数概率论那些,摸索了个把月感觉现在只大概会用,原理啥的还没搞…

进口家装水管十大品牌哪家好,弗锐德为您推荐进口家装水管领先十大品牌

水管作为家装隐蔽工程之一,选对一款优质的水管是至关重要的,毕竟好的水管能够保证家庭后续几十年的用水安全和健康。今天,小编就和大家说说进口家装水管十大品牌哪家好? 目前国内进口家装水管具有知名度和消费者认可的品牌有&…

自制一个3D打印的移动终端——T3rminal

T3rminal是我过去几个月一直在努力开发的一个CyberDeck,并希望将其开源。 我从不同设备如Decktility、YARH和其他项目中获得了灵感。 你可以在我的Github上协助并关注该项目:https://github.com/crazycaleb2008/T3rminal/tree/main/3D%20Models 材料 …