轉發一個寫的很好的MHL技術文章
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晶片可以接收到電視遙控器的訊號,再把鍵值通過驅動報給手機的系統,可以實現基本的手機操作了(如方向鍵,音量加減,主選單,返回等)
還沒有做到這一步,不知道其原理
未完待續。。。。。。。。。。。
相關文章
- 寫的很好的關於GoldenGate的文章Go
- 寫一篇好的技術文章有多難?
- 如何寫好一篇技術文章?
- 為什麼寫技術文章?
- [譯]如何撰寫精彩的技術部落格文章
- 一個很好的網站網站
- 一個很好的部落格地址
- 一篇技術文章合格的標準
- 來通過寫技術文章掙錢
- 程式設計師如何寫好一篇技術文章?程式設計師
- MOS上一片關於ASM Rebalance很好的文章ASM
- 轉一個白老大的文章--- 一個診斷的思路
- 檢視mfc原始碼的一個很好的導航工具 (轉)原始碼
- 19 個 JavaScript 有用的簡寫技術JavaScript
- 19 個 JavaScript 常用的簡寫技術JavaScript
- 分享一個很好的音樂站
- 程式設計師寫好技術文章的幾點小技巧程式設計師
- 如何在 Oracle 技術網上發表技術文章Oracle
- [轉]轉一個關於優化sql的文章優化SQL
- 程式設計師編寫技術文章需要的四個輔助神器 ,強烈建議收藏 !程式設計師
- 一個 SAP 開發工程師十餘年的技術寫作之路回顧工程師
- [技術文章譯文]推進下一個儲存時代
- 用weexplus從0到1寫一個app(2)-頁面跳轉和文章列表及文章詳情的編寫APP
- 一個“老”程式設計師的技術及非技術個人回顧 (轉)程式設計師
- [直播預告]如何寫好技術文章?開源技術寫作入門與實踐
- 7 年 700 篇技術文章,收穫的 7 個心得
- 垃圾回收技術的發展(轉)
- 撰寫有效的技術簡歷的 7 個技巧
- java技術文章Java
- 一個C++眼中的前端技術發展的規律C++前端
- 依賴注入的很好的一個部落格例子依賴注入
- 關於linux的load的解釋,很好的文章Linux
- 關於網上各種技術文章的一點思考
- 一個小的技術細節
- 最新的B/S開發技術 (轉)
- Jerry的ABAP原創技術文章合集
- 技術文章是怎樣煉成的?
- 2018第一篇文章就被刪減轉成了別人的文章,技術的世界怎麼了?