USB OTG概述
********************************LoongEmbedded************************
作者:LoongEmbedded(kandi)
時間:2011.05.30
類別:WINCE驅動開發
********************************LoongEmbedded************************
?
關鍵字:
HNP:主機協商協議(Host Negotiation Protocol)。
SRP:會話請求協議(Session Request Protocol)。
DRD:兩用設備(Dual-role-devices),即可當host,也可當device。
POD:(Peripheral-only-device),只能作為device。
?
1.?????? USB OTG
1.1?? USB OTG含義
OTG是On The Go的縮寫,正在進行中的意思,是近年發展起來的技術,2001年12月18日由USB Implementers Forum公布,主要應用于各種不同的設備或移動設備間的聯接,進行數據交換。特別是PDA、移動電話、消費類設備。改變如數碼照相機、攝像機、打印機等設備間多種不同制式連接器,多達7種制式的存儲卡間數據交換的不便。
圖1
1.2?? USB OTG作用
OTG的設備,例如數碼相機直接連接到打印機上,通過OTG技術,連接兩臺設備間的USB口,將拍出的相片立即打印出來;也可以將數碼照相機中的數據,通過OTG發送到USB接口的移動硬盤上,野外操作就沒有必要攜帶價格昂貴的存儲卡,或者背一個便攜電腦。我們知道USB設備分為HOST(主設備)和SLAVE(從設備),只有當一臺HOST與一臺SLAVE連接時才能實現數據的傳輸,而OTG設備既能充當HOST,亦能充當SLAVE,也即DRD(Dual-role-devices),所以這樣就可以脫離PC(host設備)來在不同的移動設備上通過OTG技術來傳輸數據了。USB OTG設備就是指具備獨立數據拷貝功能的移動硬盤產品。
?
1.3?? USB OTG的由來和發展
自1996年USB1.0規范以后,USB-IF(Universal Serial Bus Implementers Forums)又陸續公布了USB2.0和 USB OTG等幾個規范,其中USB2.0的傳輸帶寬達到480Mbps,而USB OTG更使USB裝置擺脫了原來主從架構的限制,實現了端對端的傳輸模式,隨著USB規范的不斷完善,USB的應用領域也得到了拓展。USB誕生的初衷是簡化電腦和其外設的連接,最早是用在鍵盤和鼠標上,而現在,USB的應用已經從PC外設跨越到了消費電子產品和通信電子產品領域,最顯著的應用是在數碼相機等消費電子產品上。
?
目前,USB低功耗、便于連接和高速傳輸的特性已經使它成為一個可方便應用的架構,它與其他技術結合便誕生出新的應用。如在移動存儲領域,USB與閃存結合,創造性催生了目前廣為流行的移動存儲設備-U盤。
?
1.4?? USB OTG設計原理
1.4.1?????? USB OTG接口
傳統的USB設備是主從結構,分為A和B兩種,A接口的設備提供電源VBUS,用作HOST。B接口的設備在通訊過程中作為Device。無論是A接口、B接口還是各自的Mini接口,雖然外形有些差異,但是用的引腳都遵循以下的定義:
1腳:VCC電源
2腳:D-差分負極
3腳:D+差分正極
4腳:GND接地
?
USB OTG增加了一個ID引腳,它的接口(Mini-AB)定義如下:
1腳:VCC電源
2腳:D-差分負極
3腳:D+差分正極
4腳:ID
5腳:GND
?
當2個DRD互連時,哪個設備作為主機?為什么要作為主機呢?為了解決這兩個問題,在USB OTG中提出了新的協議———主機協商協議(HNP)。在OTG中還定義了一種新的接口———mini AB插座(可以直接接入mini A或Mini B插頭)以及mini A插頭和mini B插頭(mini A和mini B是通過電纜連為一體的USB OTG連接線)。為了是用方便,不同的接插件顏色不一樣:Mini A采用白色,Mini B采用黑色,Mini AB采用灰色。在mini AB插座以及mini A插頭和mini B插頭中都增加了一個ID引腳,如下圖所示
圖2
Mini AB接口有一個ID引腳上拉至電源端,Mini A插頭有一個與地連接好的ID引腳(R<10歐姆),Mini B插頭有一個與地連接的開路ID引腳(R>100千歐姆)。當兩個OTG設備通過連接線(一端為Mini A插頭,另一端為Mini B插頭)連接到一起的時候,Mini A插頭邊的ID引腳會直接給一個OTG設備Mini AB接口的ID引腳一個低電平,此OTG設備默認為主機(如圖2的A-device);Mini B插頭邊的ID引腳會直接給另一個OTG設備的Mini AB接口的ID引腳一個高電平,此時,此OTG設備默認為外設(如圖2的B-device)。當然,我們也可以調換連接線插頭方向來互換為主機或外設,但不需要這樣做,只需要通過HNP協議就可以互換為主機或外設。
?
1.4.2?????? 主機協商協議(HNP)
HNP協議用于兩個OTG設備互連時角色切換,當兩用設備連接了一個Mini A插頭或者Mini B插頭時,它相應的便以OTG主機或者OTG外設的默認方式工作。A-device為默認主機,所以由它提供VBUS電源,且在檢測到有設備接入時復位總線、枚舉并配置B-device。
?
1) A-device在完成對B-device的使用后,可以通過查詢B-device的OTG描述符來判斷是否支持HNP協議(即是否為兩用OTG設備)。如支持HNP,B-device將返回有效的OTG描述符,A-device則發送一個SetFeature命令通知B-device可以在A-device掛起總線的時候控制總線,在SetFeature命令發送完成后,接著A-device便掛起總線。
?
2) A-device掛起總線后,B-device通過turn off D+的上拉電阻來通知A-device以示斷開連接,處于掛起狀態的A-device解析到這個斷開的動作作為B-device要作為主機的請求。接著A-device便通過turn on D+的上拉電阻來作為對B-device斷開的響應,完成這些轉換后,B-device和A-device便各自以主機和外設角色來使用總線了。
?
3) B-device使用總線完成后,它在總線FS(full speed,全速)空閑的時候通過停止所有的總線活動和turn on自身D+的上拉電阻來開始返回作為從設備的工作方式。A-device將會檢測到這個動作并且turn off自身D+上拉電阻,接著如果A-device檢測到B-device的連接,它將作為主機復位總線操作,這樣A-device和B-device又回到初始的工作方式,也即分別工作在主機和從設備的方式。
?
A-device便掛起總線B-device
1.4.3?????? 會話請求協議
在以往的USB系統運行過程中 主機提供5V的電源和不低于100mA的總線電流。當OTG主機(指以主機方式工作的兩用OTG設備 又稱A-device)連接到有線電源時這種方法是適用的 但像手機這樣的自供電移動設備則不能承受如此大的電能浪費。為了節約電源延長電池的使用壽命,當總線上沒有活動時OTG主機將掛起總線電源VBUS,從而節省系統的功耗。
?
當一個B-device設備連接到A-device之后,就要初始化SRP并且請求給A-device來turn on VBUS以提供足夠的電壓和電流來開始會話。在OTG中,DRD既可以作為A-device,也可作為B-device,因此DRD必須支持初始化SRP和響應SRP,而POD只能作為B-device,所以只能初始化SRP。B-device有兩種方式向A-device發送請求來要求建立會話:數據線脈沖(Data-Line Pulsing),另一種是VBus脈沖(VBus Pulsing)。任何一個A-device只要求能響應一種SRP方式,而B-device必須能初始化兩種SRP方式,這樣才能保證B-device初始化一種SRP,A-device無法響應時,B-device能用另一種SRP方式來建立會話。
?
1.5 USB的主要特點
1) 接口更小巧,有效減少電子產品的體積。
2) 既能當HOST又能作為Device,即DRD(Dual-role-devices)雙重作用的設備。
3) OTG設備依然可以連接到PC上用作普通的外設,即POD(Peripheral-only-device)
綜合2)和3)點:
OTG有兩種設備類型:兩用的OTG設備(Dualrole Device)和外設式OTG設備(POD)。兩用OTG設備完全符合USB 2.0規范,同時它還要提供有限的主機能力、一個MiniAB插座、支持HNP,并和外設式OTG設備一樣支持SRP(注意了,當作為外設式OTG設備時是不支持HNP協議的)。當作為主機工作時,兩用OTG設備可在總線上提供8mA的電流,而以往標準主機則需要提供100~500mA的電流。
4) 功耗更低,以延長采用電池供電的USB設備的待機時間。
?
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: WINCE6.0+S3C6410下的DM
- 下一篇: WINCE6.0添加微软简体中文输入法3