转载:MHL原理剖析
来源:互联网 发布:淘宝黑车技术的原理 编辑:程序博客网 时间:2024/05/16 09:14
转载自:http://blog.chinaunix.net/uid-22030783-id-3294750.html
MHL这个只是经常听说,没有见过的东西,现在已经非常火热了,我们才刚刚开始做,人家三星都推出几款带MHL接口的手机了,电视 机顶盒。。。。。反正好多设备上都已经开始用MHL了。
Silicon Image厂家来人给我们做了MHL技术的培训,演示了多种MHL解决方案
我做了一些笔记,同时参考了MHL芯片的手册,理解了工作原理,做个总结
一些术语:
MHL:Mobile High-Definition Link 移动终端高清影音标准接口
HDMI:High Definition Multimedia Interface 高清晰度多媒体接口
TMDS:最小化传输差分信号
HDMI的控制信号:DDC (Display Data Channel ),CEC(Consumer Electronics Control)
说一下HMDI,这是标准的接口图
传统的 HDMI 具有 19个管脚,其中 12个管脚主要是用来传输视频和音频的信号,共4组差分信号用来传输视频音频
TX0P/TX0N、TX1P/TX1N TX2P/TX2N TXCP/TXCN(clock),另外四根是这4组差分信号的SHIELD,接GND
这4组差分信号也称为最小化传输差分信号TMDS
有3个控制管脚:DDC、CEC、HOTPLUG,一组IIC,一组电源
标准的HDMI接口比较大,比一个USB接口还大,也有一种稍小点的miniHDMI,在手机上用microHDMI,类似MicroUSB接口
MHL可以说专为手机等移动设备定制的接口,和HDMI一样,可以传输数字高清音视频信号,最大的特点是它可以和手机的USB接口共用,当用USB线接电脑时做为USB接口,用MHL线接HDMI设备时就做为MHL接口(内部自动切换)
为什么用MHL?
1. 由于手机体积和外观的限制,如果把HDMI接口做上去可能会影响美观,而且还需使用价格较高的HDMI线
2. HDMI接口需要设备提供5V的电压,手机一般是没有5V的电压的,所以要用升压电路升压,这样做不太合理,功耗也大
3. 现在WIFI Display技术很流行,可以无线传输HDMI信号,但是出于传输距离、带宽、稳定性的考虑,此技术还不算成熟,需要一个长期发展过程
在这种时机下MHL就出现了,它是由Silicon Image在2009~2010年设计出来的,其实就是一种HDMI转MHL的专用芯片,许多智能手机厂商都在使用他们的MHL方案,像三星HTC是比较大的客户,也逐渐形成的联盟,越来越多的厂商开始加入,国内的手机厂商也纷纷开始加入。
做MHL开发就是把HDMI和MHL转接芯片搞定,看这个MHL芯片示意图
首先要确定CPU本身的HDMI接口可用,MHL芯片就是把HDMI的TMDS信号做为输入,经过内部的MHL Transmitter and Control将信号转换成两根线MHL信号线,就可以用USB的两根信号线进行传输。
前面说了它可以和CPU的USB线共用同一个USB接口,那就需要一个switch开关。CPU的USB信号线接进来,它和MHL信号线接在了High Speed Switch模块上,内部有一个Switch Control控制开关。
再看怎样检测插入的信号线是USB线还是MHL线,这就利用了USB的ID脚(第4脚)
- 默认状态CBUS_ID有上拉电阻,ID脚保持高电平,USB Switch默认打到USB一侧,此时就当MHL不存在。USB连接电脑时,ID脚也是高电平,USB接口就当USB来用。
- 当手机接上OTG线(当HOST使用),CBUS_ID会被拉低,MHL芯片发中断给CPU,driver通过读取MHL的寄存器,判断到CBUS_ID的下拉电阻并非1K,此时USB Switch仍然保留在USB一侧,不做任何切换动作。
- 当手机接上MHL设备时,CBUS_ID会有1K的下拉电阻,同上面的流程,芯片给CPU中断,程序读寄存器判断CBUS_ID下拉电阻确实为1K,然后会开始握手过程确认所接的设备是否为MHL设备,握手成功后就将USB Switch切换到MHL侧,此时就使能了MHL功能。
- 如果握手不成功,USB Switch仍然停在USB侧。
通过IIC接口读写芯片寄存器,驱动就是创建几个IIC设备。
特色功能之一:MHL设备给手机充电
如果用USB线将手机连接电脑,电脑就给手机充电。MHL也一样,如果一个支持MHL接口的电视连接手机,电视端就能输出5V电源给手机充电(和电脑的USB接口一个原理)
如果电视没有MHL接口,那就需要一个MHL Adapter,一端是USB口,另一端是标准HDMI接口,MHL Adapter本身要连接外部电源,这个电源同样可以给手机充电
特色功能之二:电视遥控器反向操作手机
这个功能相当牛B,MHL芯片可以接收到电视遥控器的信号,再把键值通过驱动报给手机的系统,可以实现基本的手机操作了(如方向键,音量加减,主菜单,返回等)
还没有做到这一步,不知道其原理
未完待续。。。。。。。。。。。
暂时没机会做MHL了,写了一篇续:http://blog.chinaunix.net/uid-22030783-id-3347620.html
0 0
- 转载:MHL原理剖析
- MHL技术剖析
- MHL技术介绍及接口检测原理
- MHL技术剖析,比HDMI更强的东东
- MHL技术剖析,比HDMI更强的东东
- [转载]ARM MMU工作原理剖析
- EasyMock 使用方法与原理剖析(转载)
- MHL供电
- Oracle 深入剖析之一:Select语句查询的原理 [转载请注明]
- 转载:iPhone/Mac Objective-C内存管理教程和原理剖析
- 转载:TThread类剖析
- 灰鸽子全程剖析(转载)
- 转载---WAVE文件格式剖析
- 转载:TThread类剖析
- 转载:剖析Prototype 1.6
- 转载:DXUT框架剖析
- Ceph架构剖析(转载)
- 剖析同步器(转载)
- (4.1.25)android学习之布局
- C++特殊成员变量(静态、常量、引用)的初始化方法
- Comet:基于 HTTP 长连接的“服务器推”技术
- maven安装以及eclipse配置maven
- 理解矩阵,矩阵背后的现实意义
- 转载:MHL原理剖析
- 微信js sdk 使用经验 php版
- android编程时出现这种 Error: String types not allowed (at 'layout_weight' with value 'fill_parent')
- VC下自定义消息
- QT+OpenCV+artoolkitplus : ubuntu
- dwz之jqgrid请求重复提交bug修复
- (4.1.22.2)Android之取消ViewPage+Fragment的预加载 2015
- css 实现的loading页面等待效果
- Uploadify/uploadifive上传(中文文档)