USB On-The-Go 技術概述
1新的協(xié)議
OTG補充規(guī)范對USB2。0的最重要的擴展是其更具節(jié)能性的電源管理和允許設備以主機和外設兩種形式工作。OTG有兩種設備類型:兩用OTG設備(Dual-roledevice)和外設式OTG設備(Perip-heral-onlyOTGdevice)。兩用OTG設備完全符合USB2。0規(guī)范,同時它還要提供有限的主機能力和一個MiniAB插座、支持主機流通協(xié)議(HostNegotiationProtocol,HNP),并和外設式OTG設備一樣支持事務請求協(xié)議(SessionRequestProtocolSRP)。當作為主機工作時,兩用OTG設備可在總線上提供8mA的電流,而以往標準主機則需要提供100~500mA的電流。
兩個兩用OTG設備連接在一起時可交替以主機和從機的方式工作,這個特點兼容了現(xiàn)有USB規(guī)范主機/外設的結構模型。OTG主機同樣負責初始化數據通信的任務,比如:總線復位、獲取USB各種描述符和配置設備。這些配置完成后,兩個OTG設備便可以分別以主機和從機方式傳輸信息,兩個設備主從角色交換的過程由主機傳輸協(xié)議(HNP)定義。以下以兩用OTG設備為例討論SRP和HNP。
1。1事務請求協(xié)議SRP
在以往的USB系統(tǒng)運行過程中,主機提供5V的電源和不低于100mA的總線電流。當OTG主機(指以主機方式工作的兩用OTG設備,又稱A-device)連接到有線電源時這種方法是適用的,但像手機這樣的自供電移動設備則不能承受如此大的電能浪費。為了節(jié)約電源延長電池的使用壽命,當總線上沒有活動時,OTG主機將掛起總線電源VBUS。SRP協(xié)議可使OTG從機(指外設式設備或者以外設方式工作的兩用OTG設備,又稱B-device,此處指后者)請求A-device重新使能VBUS,而后A-device使用HNP協(xié)議交換兩個設備的工作方式,這兩步完成后由新的OTG主機開始事務傳輸。B-device可在前一事務結束2ms后的任意時間開始SRP。
B-device將先后執(zhí)行數據線脈沖調制(data-linepul-sing)和VBUS脈沖調制(VBUSpulsing)。它通過使能數據線上拉電阻(全速和高速設備為D+,低速設備為D-)5~10ms實現(xiàn)前者,后者通過驅動VBUS實現(xiàn)。VBUS必須要有足夠長的時間對其電容充電,這個時間應能保證不大于13μF的電容充電至2。1V(OTG設備的電容是6。5μF或更小),從而不會對標準主機的96μF或更高的電容充電至2。0V。該限制保證了從B-device引來的VBUS電流不會破壞標準主機的端口。
A-device檢測到數據線脈沖調制或者VBUS脈沖調制后,首先復位總線,然后發(fā)送Set_feature命令而先不進行設備的枚舉,此時B-device尚處在默認的從機狀態(tài)。如果Set_feature命令成功執(zhí)行,說明B-device為兩用OTG設備,A-device(使用HNP協(xié)議)掛起VBUS準備讓B-device交換為主機方式接管總線。如果Set_feature命令執(zhí)行失敗,說明B-device為外設式OTG設備,于是A-device使能VBUS準備開始一個傳輸事務。此時,A-device只是被喚醒,并未改變工作方式。當A-device認為總線上沒有傳輸需要時,掛起VBUS以結束該事務。這種A-device自動檢測B-device是否支持HNP協(xié)議的特征稱為“NoSilentFailure”。
1。2主機流通協(xié)議HNP
當兩用設備連接了一個Mini-A插頭或者Mini-B插頭時,它相應的便以OTG主機或者OTG外設的默認方式工作。A-device為默認主機,所以由它提供VBUS電源,且在檢測到有設備接入時復位總線、枚舉并配置B-device。
A-device在完成對B-device的使用后,可以通過查詢B-device的OTG性能描述符來判斷它是否支持HNP協(xié)議(即是否為兩用OTG設備)。如支持HNP,B-device將返回有效的OTG性能描述符,A-device則產生一個Set_feature命令(即HNP_Enable)來通知B-device可以在總線掛起的時候以主機方式工作,隨后A-device掛起總線。
B-device通過上拉電阻(全速時)或者下拉電阻(高速時)拉低D+以示連接斷開。隨后,作為對B-device斷開的響應,A-device使能它的數據線并開始以從機方式工作。完成這些轉換后,B-device和A-device便各自以主機角色和外設角色使用總線。如果該B-device屬于兩用OTG設備且A-device不再使用它了,A-device便重發(fā)Set_feature命令并掛起總線。若B-device申請角色轉換時出錯,A-device則拉低VBUS以結束該事務。當B-device正常結束傳輸事務時便掛起VBUS使能其上拉電阻,重新以從機方式運行。A-device檢測到總線掛起后,發(fā)出一個連接斷開信號并重新以主機方式工作。
2連接器和電纜
2。1連接器
USBIF在OTG中定義了更小的連接器,可以同時用于主機式和外設式的設備、具有更低的電源需求、擴展的電源保護模式和利于上層軟件開發(fā)的簡潔設計。
OTG和現(xiàn)有的USB2。0規(guī)范完全兼容,一個主要的機械上的改進是它的新式連接器。USB2。0定義了三種連接器對(插頭和插座):Standard-A、Standard-B和Mini-B。Mini-B連接器是專為較小的外設(如移動電話等)開發(fā)的。OTG規(guī)范增加了第四種插頭?Mini-A,兩種插座:Mini-A和Mini-AB。這些連接器比最初的USB連接器要小許多(如:Mini-A插頭截面積只有Standard-A插頭的38%),更適合于便攜式設備。
Mini-AB插座用于兩用設備。Mini-A新增的ID腳(以前的USB插頭不含此腳)在連接Mini-AB時接地短路,而Mini-B則使該腳斷開,這樣兩用設備便可識別連接設備的類型以決定設備的默認角色。
評論