USB OTG與傳統USB不同不需透過電腦也能溝通

2004-08-27
OTG技術從2001年提出到現在已經過了3年了,但市場上OTG的產品卻少之又少,主要的因素很多...
OTG技術從2001年提出到現在已經過了3年了,但市場上OTG的產品卻少之又少,主要的因素很多,例如:市場需求和市場對OTG產品的定位不了解,並且USB-IF的OTG spec一直都在更正,所以目前USB-IF只提供FS OTG的認證,HS OTG的認證將在2004年底開放。  

USB OTG最大的特色在於它提供了一個方式,讓2個USB裝置得以連結。讓未來所有的USB產品都能夠互相溝通,不再需要透過電腦。本文將介紹USB OTG spec中重要的專有名詞及其細部定義。  

USB OTG spec並不是一個全新的USB規範,所以在USB OTG spec中未提到的事項都必須參考USB 2.0 spec為準,因此USB OTG存在的目的僅在於提供一個方式,讓2個USB裝置得以連結。USB OTG spec1.0中提到一個具備雙重角色裝置DRD(Dual-Role Device)的概念,就是說一個OTG裝置在不同情況下能有不同角色,有時可以當主機端Host,有時可以當設備端Device。如此一來,當2個 OTG裝置遇上的時候,就可以由其中一方當作主機,另一方當作設備端,就可以完全符合USB對兩個裝置相連的需求,這就符合了USB-IF的目的,也就是未來所有的USB產品都能夠互相溝通,不需要透過電腦。  

以下將介紹USB OTG中重要的專有名詞。  

‧A-Device:接上Mini-A Cable的DRD又稱A-Device,它Default的角色為HOST。  

‧B-Device:接上Mini-B Cable的DRD又稱B-Device,它Default的角色Peripheral。  

‧Host:提供Vbus上的電源,同USB 2.0 spec上的定義,並可發Start Of Frame(SOF)。  

‧Peripheral:同USB 2.0 spec上的定義,一般又稱Device Mode,需回應Host下的Commands。  

‧ID Pin:傳統USB裝置的Connect為4Pin,但OTG裝置使用的Connect為Mini-AB Receptacle,這種Connect多了一個ID Pin。因OTG裝置使用Mini-A和Mini-B的Cable,而Mini-A和Mini-B都可插入Mini-AB Receptacle。所以當2個OTG裝置接在一起,Default那一個OTG裝置當主機端Host,那一個當設備Device呢?答案就在 Cable上,因為一般的USB OTG Chip都有一個ID Pin,而在IC內部有一個Impedance Detect線路去Check Cable上的Impedance。  

而Cable 上Mini-A的ID是Short to GND,Mini-B的ID是OPEN所以USB OTG Chip就可以知道是那一種Cable接上來了,就可以決定DRD Default的角色了,如圖1,接上Mini-A的DRD又稱A-Device,它Default的角色為HOST,而接上Mini-B的DRD又稱B -Device,它Default的角色為Peripheral。  

OTG 1.0 spec中詳細規定每一種接頭的大小及形狀甚至是顏色,例如Mini-A接頭的外觀是橢圓形,顏色是白色;Mini-B接頭的外觀是長方形,顏色是黑色,以利使用者辨識。  

‧Targeted Peripheral List(TPL) :傳統的USB裝置,如DSC接上XP OS的電腦時有些DSC是要Driver的,例如Canon的DSC走的Protocol是PTP(Picture Transfer Protocol ),但有些是不用Driver的,例如SONY DSC走的Protocol是(Mass Storage Class)因為XP Default就支援。  

所以當OTG裝置成為主機端時,沒有辦法像傳統的OS一樣有那麼強大的相容性,所以OTG裝置必須將其所支援的設備清單列出,以告知消費者選擇可連接的設備(圖2)。  

Dual-Role Device(DRD)  

一個Device裝置具有下列特性者,我們可稱它為DRD。  

‧有限的HOST主機功能  

‧當Peripheral設備端時,必須支援FS傳輸(HS is Optional)  

‧當HOST主機端時,至少要支援FS傳輸(HS ,LS is Optional)  

‧Targeted Peripheral List(TPL)可連結設備的清單  

‧支援SRP(Session Request Protocol):這個Protocol允許B-Device要求A-Device打開Vbus並且開始一個「Session」,當Session開始B-Device可以行使HNP的控制。  

‧支援HNP(Host Negotiation Protocol):這個protocol允許B-Device拿到Bus上的控制權並且變成一個Host Device,同時A-Device 變成Peripheral。  

‧僅能有一個且唯一的一個Mini-AB插座  

‧至少能提供8mA的電源在Vbus上  

‧必須告知使用者傳輸的狀態  

最後我們將對上述DRD特性中的幾項作詳細介紹。  

「有限的HOST主機功能」與 「必須告知使用者傳輸的狀態」  

OTG裝置成為主機端時,沒有辦法像傳統的OS一樣有那麼強大的相容性,除非OTG裝置是一個Embedded Systems,所以當OTG裝置在使用時,必須將目前狀態讓使用者知道,例如:  

‧連結的設備不支援  

當OTG裝置成為主機端,接上來的Peripheral Device不在TPL中,可Show個Message在A-Device表示:Attached Device Not Supported  

‧B-Device開始SRP的動作  

此時可Show個Message在B-Device上表示:Attempting to Connect  

‧B-Device完成SRP的動作  

完成SRP的動作後,A-device未回應並且未打開Vbus.不允許未告知使用者的錯誤狀態或是動作,例如可Show個Message在B-Device上表示:Device not Responding  

所以一般OTG裝置都會利用LED或LCD Panel來告知使用者現在的狀態,在OTG LOGO認證中,OPT的測試有多項都和這有關,並且OTG裝置可以選擇支援Hub或不支援。  

「關於至少能提供8mA的電源在Vbus上」  

在2個DRD對接的情況下,當OTG裝置成為主機端時,spec中規定,至少必須供應8mA以上的電源給設備端,OTG裝置成為設備端時則不需供應電源,但也不能從Vbus汲取超過8mA的電源。  

但當一個OTG裝置成為主機端時,接上傳統USB Device則問題就來了,因為傳統USB Device有分Bus Power和Self Power二種,Bus Power如一般常見的大姆哥,它本身是沒有電源,因為它的電都是由主機端提供,假設A牌的大姆哥吃150mA的電。  

因此,當OTG裝置成為主機端,如果只供應8mA以上但小於100mA的電,那接上傳統A牌的Bus Power的Device就無法支援,這時就需在硬體想些辦法。  

筆者在IC設計公司從事USB OTG的產品已經有2年了,當開始入門也有很多觀念不清楚,但從做產品一直到過認證一路下來才慢慢釐清,希望這篇文章能讓業界的開發廠商們了解USB OTG和傳統USB有何不同。  

(作者為揚智科技技術行銷部工程師)  

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!