1 引言
隨著USB2.0版本號(hào)的公布,USB越來(lái)越流行,已經(jīng)成為一種標(biāo)準(zhǔn)接口。如今,USB支持三種傳輸速率:低速(1.5Mb/s)、全速(12Mb/s)和快速(480Mb/s),四種傳輸類(lèi)型:塊傳輸、同步傳輸、中斷傳輸和控制傳輸。USB應(yīng)用靈活方便,能滿(mǎn)足多種外設(shè)的須要。隨著個(gè)人便攜式電子產(chǎn)品的增長(zhǎng)和嵌入式技術(shù)的飛速發(fā)展,USB主機(jī)已不再局限于單純的PC,能夠是含有USB主控器的不論什么設(shè)備,如PDA、MP3播放器等。在USB2.O規(guī)范中也添加了USB嵌入式設(shè)備的標(biāo)準(zhǔn)——On-The-Go(OTG),它使外設(shè)能夠在主機(jī)和設(shè)備之間相互切換,即當(dāng)其連接至PC時(shí),它是1個(gè)USB設(shè)備,而與其它USB設(shè)備相連接時(shí),它便作為USB主機(jī)。
2 USB OTG
2.1 USB OTG簡(jiǎn)單介紹
DSBOTG是USB2.O版本號(hào)的補(bǔ)充,并非獨(dú)立的標(biāo)準(zhǔn),它保留了USB2.0的全部特點(diǎn)。OTG使2個(gè)USB外設(shè)在脫離PC的情況下能夠直接通信。為了實(shí)現(xiàn)這樣的功能,在OTG中有一個(gè)新的概念——雙功能設(shè)備(DRD:Dual-RoleDevice)。1個(gè)DRD能滿(mǎn)足下列特征:
●具有一定的USB主機(jī)能力和提供1個(gè)外設(shè)列表;
●作為外設(shè)時(shí)可以實(shí)現(xiàn)全速操作(或快速操作);
●作為主控機(jī)時(shí)能支持全速操作(低速或快速)
●支持主機(jī)協(xié)商協(xié)議(HNP)和會(huì)話(huà)請(qǐng)求協(xié)議(SRP);
●僅有1個(gè)微型AB連接port;
●可以向電源總線提供不小于8mA的電流。
要實(shí)現(xiàn)主機(jī)功能,主機(jī)必須存儲(chǔ)大量的設(shè)備驅(qū)動(dòng)程序,而且向電源總線提供一定的電流。對(duì)于嵌入式USB主機(jī)來(lái)說(shuō),提供大量的設(shè)備驅(qū)動(dòng)程序是不現(xiàn)實(shí)的也沒(méi)有必要,1個(gè)嵌入式USB主機(jī)僅僅需支持部分特定設(shè)備,這些設(shè)備就是它的外設(shè)列表。
2.2 主機(jī)協(xié)商協(xié)議(HNP)
在USB標(biāo)準(zhǔn)中,主機(jī)採(cǎi)用A型接口,稱(chēng)為A類(lèi)設(shè)備(A-Device);外設(shè)採(cǎi)用B型接口,稱(chēng)為B類(lèi)設(shè)備(B-Device)。1個(gè)DRD既能夠作為主機(jī),也能夠作為外設(shè)。那么,當(dāng)2個(gè)DRD互連時(shí),哪個(gè)設(shè)備作為主機(jī),為什么要作為主機(jī)?為了解決這兩個(gè)問(wèn)題,在OTG中提出了新的協(xié)議——主機(jī)協(xié)商協(xié)議(HNP)。在OTG中還定義了一種新的接口——微型AB插座(mini-ABreceptacle)以及微型A插頭(mi-ni-Aplug)和微型B插頭(mini-Bplug)。在微型AB插座、微型A插頭和微型B插頭中添加了1個(gè)引腳——ID引腳,如圖l所看到的。
在微型A插頭中,ID引腳接地,在微型B插頭中,ID引腳懸空。在OTG中,如果設(shè)備的ID引腳接地(即mini-A插頭連接的設(shè)備,如圖l右側(cè)的設(shè)備),則此設(shè)備默覺(jué)得主機(jī),否則為外設(shè)。同一時(shí)候,在設(shè)備連接使用過(guò)程中,通過(guò)主機(jī)協(xié)商協(xié)議,同意主機(jī)和外設(shè)功能互換。比如,如果圖1左邊的B-Device為1個(gè)手持PDA,右邊的A-Device為1個(gè)打印機(jī)。因?yàn)檫B接線的關(guān)系,打印機(jī)初始化為主機(jī)。可是打印機(jī)的驅(qū)動(dòng)程序存在PDA中,這時(shí)須要PDA作為主機(jī),打印機(jī)作為外設(shè)。通過(guò)HNP能夠方便實(shí)現(xiàn)此功能,而不必拔下連接線調(diào)換插頭方向,又一次連接打印機(jī)和PDA。
2.3 會(huì)話(huà)請(qǐng)求協(xié)議(SRP)
OTG收發(fā)器一般用在嵌入式設(shè)備中,這類(lèi)設(shè)備普遍採(cǎi)用電池供電,對(duì)功耗要求非常嚴(yán)。為了節(jié)省電源,在OTG標(biāo)準(zhǔn)中,當(dāng)電源總線沒(méi)有使用時(shí),同意A類(lèi)設(shè)備掛起電源總線。當(dāng)1個(gè)B類(lèi)設(shè)備要工作時(shí),它必須通過(guò)某種方法通知A類(lèi)設(shè)備向電源總線供電。為了實(shí)現(xiàn)這一功能,在OTG中提出了會(huì)話(huà)請(qǐng)求協(xié)議(SRP)。在OTG中,1個(gè)會(huì)話(huà)定義為A類(lèi)設(shè)備向電源總線VBUS有效供電的時(shí)間。須要注意的是,在OTG中電源一直都是由A類(lèi)設(shè)備(連接mini-Aplug的DRD)提供的。因?yàn)橹鳈C(jī)協(xié)商協(xié)議,A類(lèi)設(shè)備也可能作為外設(shè)使用,此時(shí),電源也必須由A類(lèi)設(shè)備提供。當(dāng)A類(lèi)設(shè)備掛起VBUS后,B類(lèi)設(shè)備進(jìn)入休眠狀態(tài)。當(dāng)B類(lèi)設(shè)備須要再次工作時(shí),它可以通過(guò)向數(shù)據(jù)線發(fā)送1個(gè)脈沖信號(hào)(Data-linePulsing)或向電源總線發(fā)送一個(gè)脈沖信號(hào)(VBUSPulsing)來(lái)請(qǐng)求A類(lèi)設(shè)備向電源總線供電。OTG要求不管是DRD設(shè)備還是普通的B類(lèi)設(shè)備,都必須具有發(fā)送會(huì)話(huà)請(qǐng)求的功能;同一時(shí)候,普通的A類(lèi)設(shè)備或者DRD設(shè)備都必須可以響應(yīng)1個(gè)會(huì)話(huà)請(qǐng)求。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
