新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > USB On-The-Go 工作原理分析和應(yīng)用研究

USB On-The-Go 工作原理分析和應(yīng)用研究

作者: 時(shí)間:2013-11-08 來源:網(wǎng)絡(luò) 收藏
  1994年,Intel,Compaq等七家軟硬件全球知名企業(yè)為了突破當(dāng)時(shí)PC使用串口和并口傳輸速度的限制,成立了通用串行總線開發(fā)者論壇( Implementers Forum, IF),并在1994年11月提出了 0.7版,到了1998年開始出現(xiàn)了支持USB 1.1的設(shè)備,他的高速性(USB1.1支持1.5 Mb/s和12 Mb/s兩種速度[1])和易用性迅速使之成為P C外設(shè)的寵兒。為了對(duì)抗1394速度的優(yōu)勢(1394可以達(dá)到400 Mb/s),1999年提出了US B 2.0規(guī)范的思想,2000年4月USB IF推出USB 2.0。USB 2.0向下兼容1.1,提供3種速度 ,最高可以達(dá)到480 Mb/s[2]。
  USB 1.1和2.0都是必須依賴于PC的,為了在一定程度擺脫對(duì)PC的完全依賴,有一定程度的主機(jī)功能,2001年12月推出了OTG 1.0,經(jīng)過6次修改,于2003年6月推出了USB OTG 1.0 a,正式成為一個(gè)達(dá)到市場實(shí)用的規(guī)范[3]。
  本文中分析討論了USB 2.0補(bǔ)充規(guī)范OTG的,并且針對(duì)目前數(shù)碼相機(jī)伴侶存在的問題,作者提出了自己的解決方案。
1USB OTG的
  OTG補(bǔ)充規(guī)范對(duì)USB 2.0的最重要的擴(kuò)展是其更具節(jié)能性的電源管理和允許設(shè)備以主機(jī)和外設(shè)兩種形式工作。OTG有兩種設(shè)備類型:兩用OTG設(shè)備(Dualrole device)和外設(shè)式OTG設(shè)備(Peripheralonly OTG device) 。兩用OTG設(shè)備完全符合USB 2.0規(guī)范,同時(shí),他還要提供有限的主機(jī)能力和一個(gè)MiniAB插座、支持主機(jī)流通協(xié)議(Host Negotiatio n Protocol, HNP),并和外設(shè)式OTG設(shè)備一樣支持事務(wù)請(qǐng)求協(xié)議(Session Request Protocol, SRP)。當(dāng)作為主機(jī)工作時(shí),兩用OTG設(shè)備可在總線上提供8 mA的電流,而以往標(biāo)準(zhǔn)主機(jī)則需要 提供100~500 mA的電流。
  2個(gè)兩用OTG設(shè)備連接在一起時(shí)可交替以主機(jī)和從機(jī)的方式工作,這個(gè)特點(diǎn)兼容了現(xiàn)有USB 規(guī)范主機(jī)/外設(shè)的結(jié)構(gòu)模型。OTG主機(jī)負(fù)責(zé)初始化數(shù)據(jù)通信的任務(wù),比如:總線復(fù)位、獲取USB 各種描述符和配置設(shè)備。這些配置完成后,2個(gè)OTG設(shè)備便可以分別以主機(jī)和從機(jī)方式傳輸信息,2個(gè)設(shè)備主從角色交換的過程由主機(jī)傳輸協(xié)議(HNP)定義。
  下面從5個(gè)方面說明OTG的
1.1主機(jī)(Adevice)和從機(jī)(Bdevice)的初始功能
  設(shè)備的初始功能是通過定義連接器來實(shí)現(xiàn)的。OTG定義了一個(gè)叫做MiniAB的袖珍插孔,他能直接接入MiniA或者M(jìn)iniB插口,MiniAB有一個(gè)ID引腳 上拉至電源端,MiniA插頭有一個(gè)與地連接好的ID(R10 Ω),Mini B插頭有一個(gè)與地連接的開路ID引腳(R>100 kΩ)。當(dāng)2個(gè)OTG設(shè)備連接到一起的時(shí)候,MiniA插頭邊的ID引腳會(huì)注入一個(gè)“0”狀態(tài),MiniB插頭邊的ID引腳為 “1”,ID為0的OTG設(shè)備默認(rèn)為主機(jī)(Adevice),ID為1的OTG設(shè)備默認(rèn)為從機(jī)(B device)。圖1對(duì)上述內(nèi)容進(jìn)行了圖解[4]。
1.2對(duì)話請(qǐng)求協(xié)議SRP(Session Request Protocol)
  這個(gè)協(xié)議允許Adevice(可以是電池供電)在總線未使用時(shí)通過切斷Vbus來節(jié)省電源消耗,也為Bdevice啟動(dòng)總線活動(dòng)提供了一種方法。任何一個(gè)Adevice, 包括PC或便攜式電腦,都可以響應(yīng)SRP;任何一個(gè)Bdevice,包括一個(gè)標(biāo)準(zhǔn)USB外設(shè), 都可以啟動(dòng)SRP;要求一個(gè)雙重功能設(shè)備既能啟動(dòng)SRP,又能響應(yīng)SRP。
1.3主機(jī)流通協(xié)議HNP(Host Negotiation Protocol)
  HNP是一種用來實(shí)現(xiàn)Adevice和Bdevice主機(jī)/從機(jī)轉(zhuǎn)換的協(xié)議(實(shí)際上是電纜的反轉(zhuǎn))。主/從機(jī)功能交換的結(jié)果表現(xiàn)在下列過程中:
  (1)利用上拉電阻來發(fā)送信號(hào)給從機(jī)。
  (2)Adevice可在Bdevice上設(shè)置“HNP Enable”特性。
  (3)Bdevice斷開上拉。
  (4)ADevice與上拉電阻相連,表明Adevice從屬于從機(jī)。
  (5)Adevice給Vbus供電。
  (6)Bdevice檢測Adevice的上拉。
  (7)復(fù)位/列舉/使用Adevice。
1.4驅(qū)動(dòng)程序[5]
  與PC主機(jī)不同,便攜式設(shè)備沒有便捷的方式和足夠的空間裝載新的驅(qū)動(dòng)程序。因此,OTG 規(guī)范要求每個(gè)兩用OTG設(shè)備有一個(gè)支持的外設(shè)式OTG目標(biāo)設(shè)備的列表,列表中包括設(shè)備的類型和制造商等信息。
  與PC機(jī)不同,OTG兩用設(shè)備的驅(qū)動(dòng)程序棧由USB主機(jī)棧和USB設(shè)備棧構(gòu)成以滿足兩種工作方式的需要。OTG驅(qū)動(dòng)程序通過連接器的不同或者是否有NHP交換設(shè)備的工作方式來決定使用USB主機(jī)棧還是USB設(shè)備棧。
  當(dāng)OTG兩用設(shè)備以主機(jī)方式工作時(shí),USB主機(jī)棧工作。其中的主機(jī)控制器驅(qū)動(dòng)程序負(fù)責(zé)USB 主機(jī)棧與硬件端點(diǎn)的數(shù)據(jù)交換,USB驅(qū)動(dòng)程序枚舉并保存設(shè)備的信息,目標(biāo)外設(shè)主機(jī)類驅(qū)動(dòng)程序支持目標(biāo)設(shè)備列表里的設(shè)備。主機(jī)類驅(qū)動(dòng)程序由芯片制造商提供,同時(shí),OTG提供通用的主機(jī)類驅(qū)動(dòng)程序(可以修改以用于非通用設(shè)備)。
  當(dāng)OTG兩用設(shè)備以從機(jī)方式工作時(shí),USB設(shè)備棧工作。其中的設(shè)備控制器驅(qū)動(dòng)程序負(fù)責(zé)USB 設(shè)備棧與硬件端點(diǎn)的數(shù)據(jù)交換,USB協(xié)議層負(fù)責(zé)處理USB協(xié)議規(guī)范,設(shè)備類驅(qū)動(dòng)程序的功能取決于該兩用設(shè)備的功能(如數(shù)碼照相機(jī)、存儲(chǔ)設(shè)備、打印機(jī)等)。
  OTG驅(qū)動(dòng)程序負(fù)責(zé)處理兩用OTG設(shè)備的工作方式轉(zhuǎn)換,同時(shí),他還可以返回其結(jié)果(如設(shè)備是否支持HNP)并處理總線錯(cuò)誤。應(yīng)用層程序通過OTG驅(qū)動(dòng)程序開始或者結(jié)束一個(gè)傳輸事務(wù), 通過USB主機(jī)?;蛟O(shè)備棧與硬件層交換數(shù)據(jù)。 上拉電阻相關(guān)文章:上拉電阻原理

上一頁 1 2 下一頁

關(guān)鍵詞: USB On-The-Go 工作原理

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉