android HDMI (一):HDMI基础篇【转】

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据同步 1个月
简介:

转自:http://blog.csdn.net/xubin341719/article/details/7713450

关键词:Android 4.0 HDMI

平台信息:
内核:
linux3.0
系统:android4.0.3
平台:S5PV310(samsung exynos 4210)

作者:xubin341719(欢迎转载,请注明作者)

            说到android的HDMI,从android 2.2、android2.3到android4.0,三星的芯片也做过3sc2440、s5pc110、s5pv210、s5pv310再加上新案四核的samsung exynos 4412,都成三星专业户了,不过三星芯片HDMI这一块做的还是很好的。大的问题没有,就是解一些bug,没声音了、图像分辨率不对了……所以真正的代码我也没看那么多,先写一个HDMI的基础篇吧,看后面有没有耐心把这块代码看一边。(其实大部分是我工作的笔记,如里说不明白的话还请大家……)

            做过一段时间电视方案,这个HDMI还算知道点,不过时间久了就忘了……所以我现常写工作笔记。前一段时间我们samsung exynos 4210平台的HDMI没声音,我请教一同事,是后发现他说“找什么HDMI的IIS、codecs相关的东西”,我一听有点傻眼了,总觉得不对呀,可是又想不起来那里不对, 原理图上找了一通,没找到呀。最后发现视频、音频同一个数据线上传输的。

先来张图吧,这样清楚一点,看下声音是从那里传输的:

一、HDMI基础知识

            HDMI(High-DefinitionMultimedia Interface)又被称为高清晰度多媒体接口,是首个支持在单线缆上传输,不经过压缩的全数字高清晰度、多声道音频和智能格式与控制命令数据的数字接口。HDMI接口由Silicon Image美国晶像公司倡导,联合索尼、日立、松下、飞利浦、汤姆逊、东芝等八家著名的消费类电子制造商联合成立的工作组共同开发的。

二、HDMI传输原理

            HDMI采用TMDS (TimeMinimized Differential Signal)最小化传输差分信号传输技术 , TMDS是一种微分信号机制,采用的是差分传动方式 ,是一种利用2个引脚间电压差来传送信号的技术。每一个标准的HDMI连接,都包含了3个用于传输数据的TMDS传输通道,还有1个独立的TMDS时钟通道,以保证传输时所需的统一时序。在一个时钟周期内,每个TMDS通道都能传送10bit的数据流。而这10bit数据,可以由若干种不同的编码格式构成。

所用到的术语:

HDMI把视频信号分为R、G、B、H、V五种信号用TMDS技术编码。

TMDS:这三个通道传输R、G、B三原色,HV编码在B信号通道里面传输,R、G的多余位置用来传输音频信号。

DDC :即显示数据通道,用来向视频接收装置发送配置信息和数据格式信息,接收装置读取这些

E-EDID(增强扩展显示识别数据)的信息。

CEC:即消费电子控制通道,通过这条通道可以控制视听设备的工作。

三、HDMI数据容量

            HDMI电路中的时钟频率,在1.0版本规定为25MHz-165MHz之间,也就是说一个TMDS通道每秒最多能传输165MHz×10bit=1.65Gbit的数据,3个TMDS通道一秒就可以传输1.65×3=4.95Gbit的数据,再加上控制数据,用标准方法表示就是4.96Gbps的带宽;若传输信号的比率小于25MHz,HDMI会采用自动循环技术填补码率,将信号的码率提升到25MHz的水平。

如果用像素点来表示,那就是一秒可以传输显示1.65G个像素点(一个完整的像素点信息由R/G/B三原色信息构成)所需要的数据量。

            在1.3版本规格中,TMDS连接带宽从原来最高165MHz提升到340MHz,数据传输率也从4.96Gbps提升到了10.2Gbps,可以支持支持更高数据量的高清数字流量,如果采用Type B型双路

TMDS连接,则可以在此基础上再提升一倍系统带宽。

四、HDMI数据传输

            HDMI输入的源编码格式包括视频像素数据(8位)、控制数据(2位)和数据包(4位)。其中数据包中包含有音频数据和辅助信息数据。数据传输过程可以分成三个部分:视频数据传输期、岛屿数据传输期和控制数据传输期。

视频数据传输期:HDMI数据线上传送视频像素信号,视频信号经过编码,生成3路(即3个TMDS数据信息通道,每路8位)共24位的视频数据流,输入到HDMI发射器中。24位像素的视频信号通过TMDS通道传输,将每通道8位的信号编码转换为10位,在每个10位像素时钟周期传送一个最小化的信号序列,视频信号被调制为TMDS数据信号传送出去,最后到接受器中接收。

五、HDMI音频功能

            传统的数字音频信号的传输主要依靠两种途径:同轴电缆和光纤传输。

            同轴电缆传输数字音频信号是一种非常成熟且高质量的方式。这种接口标准对设备端的硬件要求较低,但是在传输高频信号时,容易发生比较大的衰减,影响到最终音质。

            光纤对设备接收、发射端的同步时许要求非常严格,在技术上比同轴要难于实现,但是光纤技术在长距离传输方面的优势非常明显,不会出现同轴电缆长距离衰减过大的问题,因此也得到了很多有距离限制以及新装修用户的青睐。

            HDMI技术则综合了以上两者的优点:物理层采用成熟的电缆连接。HDMI理论上可以实现最高20米的无损耗数字音频信号传播,那些对距离有要求的用户也能较好接受。

六、HDMI接口类型

            常见的HDMI类型有A、B、C三种类型。其中A型是标准的19针HDMI接口,普及率最高;B型接口尺寸稍大,但是有29个引脚,可以提供双TMDS传输通道。而C型接口和A型接口性能一致,但是体

积较小,更加适合紧凑型便携设备使用。接口A、接口B、接口C

 

七、HDMI特点

1、更好的抗干扰性能,能实现最长20米的无增益传输。

2、针对大尺寸数字平板电视分辨率进行优化,兼容性好。

3、支持EDID(注1)和DDC2B(注2)标准,设备之间可以智能选择最佳匹配的连接方式。

4、拥有强大的版权保护机制(HDCP(注3)),有效防止盗版现象。

5、支持24bit色深处理,(RGB、YCbCr4-4-4、YCbCr4-2-2)。

6、接口体积小,各种设备都能轻松安装。

7、一根线缆实现数字音频、视频信号同步传输,有效降低使用成本和繁杂程度。

8、完全兼容DVI接口标准,用户不用担心新旧系统不匹配。

9、支持热插拔技术










本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/6518004.html,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
7月前
|
Java Android开发
[RK3588-Android12] 双HDMI+喇叭Speak同音问题
[RK3588-Android12] 双HDMI+喇叭Speak同音问题
222 0
|
搜索推荐 Java Linux
Android基础入门教程
Android是一种基于Linux的自由及开放源代码的操作系统,Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。
249 0
|
XML 存储 安全
Android四大组件全面解析,夯实基础。(下)
Android四大组件 lay a solid foundation 夯实基础
202 0
|
Java Android开发
移动应用程序设计基础——Android环境构建与Activity生命周期
安装智能手机开发相关软件平台,并在此基础上测试Activity的生命周期过程。 5、 完成智能手机开发平台安装、以及相关配置; 6、 并实现Hello World; 7、 添加Log日志,通过Log日志验证Ac 1、 安装JAVA JDK 2、 安装Android Studio,熟悉AS的基本操作,改变AS的字体,显示方式;截图和文字说明。 3、 建立新项目,实现Hello World。说明各个文件的作用,以及各个关键语句的作用或含义,给出程序的运行结果。 4、 设置生命周期的Log日志,分别执行相关操作
310 0
移动应用程序设计基础——Android环境构建与Activity生命周期
|
XML 存储 移动开发
Android基础 | 关于Activity你应该明白的一切
Activity 作为一个老生常谈的话题,它是我们刚接触Android开发就遇到,虽然已有一段时间开发经验,但谈起完全搞懂Activity相关,不敢妄言,故结合个人理解及书籍参考,简单总结一下 Activity基础相关知识,其中也留出了一些有意思的问题。
232 0
|
Android开发
Android四大组件全面解析,夯实基础。(中)
Android四大组件 lay a solid foundation 夯实基础
223 0
Android四大组件全面解析,夯实基础。(中)
|
存储 设计模式 前端开发
Android四大组件全面解析,夯实基础。(上)
Android四大组件 lay a solid foundation 夯实基础
142 0
|
安全 Java 调度
Android多线程编程——线程基础
Android沿用了Java的线程模型,一个Android应用在创建的时候会开启一个线程,我们叫它主线程或者UI线程。
248 0
Android多线程编程——线程基础
|
XML 存储 Java
Android动画基础详析 | 概述、逐帧动画、视图动画(附诸多实际运行效果动图)
Android动画基础详析 | 概述、逐帧动画、视图动画(附诸多实际运行效果动图)
|
API Android开发
Android动画基础详析 | 属性动画基础及ValueAnimator
Android动画基础详析 | 属性动画基础及ValueAnimator