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了,公司项目组有变动,放弃了没有竞争优势的broadcom 28155平台。转做MTK MT6577/6588,同样是Cortex-A9双核,但MTK价格和技术支持在国内具有绝对优势,性能比博通的要好。但MT6577没有HDMI接口,我觉得很奇怪,一个A9的CPU居然不带HDMI,这要搞哪样?看了原理图后才发现,MT6577使用了LCD的24位RGB接口加上一个Silicon的一种RGB转MHL芯片,转出了MHL接口,这又是个新鲜的东西。
 
    MTK了解的差不多了,但是又与之无缘,项目组又把我派到CDMA部门做高通平台的手机,因为做MTK很容易,不需要投入太多的人力,并且我也曾经玩过半年的高通,对它很是了解,嘿嘿,主管就把我推荐过去了。做高通比MTK好多了,但是公司不给力,总是做些中低端的机器,没有什么出色的功能。CPU用MSM7627A(Cortex-A5 1GHz)和MSM8625(Cortex-A5 双核1.2G)。除了支持CDMA就没看到有什么特点,多媒体能力一般,同样都没有HDMI,中低端手机也不需要这个功能了吧。
    看了小米2的发布会,有点小激动,MPQ8064 4核1.5G啊 Adreno320的GPU,应该是世界顶级的嵌入式CPU了。同样是中国的公司,为什么他们就能用这么好的CPU?
    根据高通的描述,8064是针对一些较大型的数字多媒体设备的(数字电视,网络播放器等),也可以用于平板,因为芯片体积较大(23x23mm)并不适用于手机,小米这么做也挺有勇气的,做高通是个相当烧钱的工作。
 

MHL技术剖析,比HDMI更强【转】的更多相关文章

  1. 更强、更稳、更高效:解读 etcd 技术升级的三驾马车

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 | 陈星宇(宇慕 ...

  2. WCF技术剖析之三十:一个很有用的WCF调用编程技巧[下篇]

    原文:WCF技术剖析之三十:一个很有用的WCF调用编程技巧[下篇] 在<上篇>中,我通过使用Delegate的方式解决了服务调用过程中的异常处理以及对服务代理的关闭.对于<WCF技术 ...

  3. WCF技术剖析之二十七: 如何将一个服务发布成WSDL[编程篇]

    原文:WCF技术剖析之二十七: 如何将一个服务发布成WSDL[编程篇] 对于WCF服务端元数据架构体系来说,通过MetadataExporter将服务的终结点导出成MetadataSet(参考< ...

  4. WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇]

    原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇] 元数据的导出就是实现从ServiceEndpoint对象向MetadataSet对象转换的过程,在WCF元数据框 ...

  5. WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果?

    原文:WCF技术剖析之九:服务代理不能得到及时关闭会有什么后果? 我们想对WCF具有一定了解的人都会知道:在客户端通过服务调用进行服务调用过程中,服务代理应该及时关闭.但是如果服务的代理不等得到及时的 ...

  6. WCF技术剖析之八:ClientBase<T>中对ChannelFactory<T>的缓存机制

    原文:WCF技术剖析之八:ClientBase<T>中对ChannelFactory<T>的缓存机制 和传统的分布式远程调用一样,WCF的服务调用借助于服务代理(Service ...

  7. BAT解密:互联网技术发展之路(5)- 开发层技术剖析

    BAT解密:互联网技术发展之路(5)- 开发层技术剖析 1. 开发框架 在系列文章的第2篇"BAT解密:互联网技术发展之路(2)- 业务怎样驱动技术发展"中我们深入分析了互联网业务 ...

  8. Delphi属性比对象的域有更强的功能

    8.4 Delphi自定义组件(3) http://tech.163.com 2006-04-29 11:49:34 来源: 清华大学出版社 网友评论0 条 论坛   3. 测试未安装的组件 在将新组 ...

  9. SOLOv 2:实例分割(动态、更快、更强)

    SOLOv 2:实例分割(动态.更快.更强) SOLOv2:  Dynamic, Faster and Stronger 论文链接: https://arxiv.org/pdf/2003.10152. ...

随机推荐

  1. 配置AD RMS及SharePoint 2013 IRM问题解决及相关资源

    最近配置AD RMS及SharePoint 2013 IRM遇到几个问题: 1. RMS配置好后,client端连不上, 一直要求输入用户名和密码. 后来换了台不是SP的机器,并用内部DB,搞定.   ...

  2. cf983E NN Country (倍增+dfs序+树状数组)

    首先可以求出从某点做$2^k$次车能到的最浅的点,这个只要dfs一下,把它的孩子能到的最浅的点更新过来就可以 然后倍增地往上跳,不能跳到lca的上面,记录坐车的次数ans 此时有三种情况(设最远能跳到 ...

  3. scrapy 部署

    下面简单介绍两种部署的方式,第一种也是我们最常用的crontab定时任务+日志,第二种则是scrapyd部署. 遇到的第一个问题,就是如何将编写好的spider启动: 最简单的方式: 1.在spide ...

  4. linux 用户及用户组管理

    主要分为以下三部分: 1. 用户账号的添加.修改及删除 2. 用户口令的管理 3. 用户组管理 用户管理 1.添加新用户账号 $ useradd 选项 用户名 选项: -c comment 指定一段注 ...

  5. Raspbian首次安装后无法使用SSH链接

    使用Putty连接树莓派,出现Network Error:Connection Refused 新版的Raspbian系统默认禁用了SSH. 解决方法:在/boot分区创建名为"ssh&qu ...

  6. AtCoder Grand Contest 004 C - AND Grid

    题意: 给出一张有紫色点的网格,构造一张红点网格和一张蓝点网格,使红蓝点的交集为紫色点. 保证网格四周没有紫色点. 构造一下,使蓝点和红点能够到每个点. #include<bits/stdc++ ...

  7. ASP.NET MVC 网站优化之压缩技术

    压缩 html 可以去除代码中无用的空格等,这样可提高网站的加载速度并节省带宽. 实现 ActionFilter 来完成 html 的压缩 public class WhitespaceFilterA ...

  8. caffe 错误

    一些caffe错误 训练时很快梯度爆炸,loss猛增至nan 如果找不到数据上的原因的话,可以怀疑caffe框架有问题,换用其它版本试试.比如我遇到的问题是在训练时使用了Accuracy层,而该层的实 ...

  9. activeMQ点对点

    摘要: ActiveMQ 点对点消息 Point-to-Point 是一对一 创建消息生产者 /**  * 点对点消息生产者  *   * @author Edward  *   */ public  ...

  10. CodeChef Arithmetic Progressions

    https://www.codechef.com/status/COUNTARI 题意: 给出n个数,求满足i<j<k且a[j]-a[i]==a[j]-a[k] 的三元组(i,j,k)的个 ...