基于USB接口的OTG應(yīng)用技術(shù)開發(fā)
(3)a設(shè)備在總線上檢測到b設(shè)備要成為主機(jī)的請(qǐng)求,連接其d+線上拉電阻以作為響應(yīng)。
(4)b設(shè)備發(fā)現(xiàn)d+線是高電平d 線是低電平,這表示a設(shè)備識(shí)別來自b設(shè)備的hnp請(qǐng)求,此時(shí),b設(shè)備成為主機(jī)而且發(fā)送總線復(fù)位信號(hào),開始使用總線。
(5)當(dāng)b設(shè)備使用完總線后,它停止所有的總線活動(dòng)。
(6)a設(shè)備在一定的時(shí)間內(nèi)檢測到?jīng)]有總線活動(dòng)時(shí)就會(huì)斷開其d+線上的上拉電阻。
(7)b設(shè)備連接其上拉電阻。
(8)a設(shè)備發(fā)現(xiàn)d+線是高電平d 線是低電平,表示b設(shè)備正在發(fā)送連接信號(hào)并準(zhǔn)備作為外圍設(shè)備響應(yīng),此時(shí),a設(shè)備變?yōu)橹鳈C(jī),并發(fā)送總線復(fù)位信號(hào)開始使用總線。
srp
otg規(guī)范定義了兩種b設(shè)備向a設(shè)備請(qǐng)求開始會(huì)話的方式,稱為數(shù)據(jù)線脈沖調(diào)制(data-line pulsing)和vbus脈沖調(diào)制(vbus pulsing)。這兩種方法組成了會(huì)話請(qǐng)求協(xié)議(srp)。srp 的初始條件是:b設(shè)備必須在確定a設(shè)備前一次會(huì)話結(jié)束以后才能嘗試啟動(dòng)新的會(huì)話。a設(shè)備通過檢測到vbus下降到低于其會(huì)話有效閾值來確定會(huì)話結(jié)束。b設(shè)備在檢測到d+和d 線至少在2ms的時(shí)間內(nèi)為低電平(se0),這確保a設(shè)備檢測到設(shè)備的斷開。數(shù)據(jù)線脈沖調(diào)制時(shí),b設(shè)備等待滿足上述條件后,接入其數(shù)據(jù)線上拉電阻(d+或d )。雙重角色b設(shè)備只能在全速初始化srp,因此只能上拉d+。vbus脈沖調(diào)制時(shí)在滿足初始條件后驅(qū)動(dòng)vbus。b設(shè)備先執(zhí)行數(shù)據(jù)線脈沖調(diào)制,然后執(zhí)行vbus脈沖調(diào)制,a設(shè)備設(shè)計(jì)為能響應(yīng)其中一種srp的方式。
linux操作環(huán)境下驅(qū)動(dòng)程序的編寫
當(dāng)otg雙角色設(shè)備以主機(jī)方式工作時(shí)(如圖5),usb主設(shè)備軟件包工作,以從機(jī)方式工作時(shí),usb設(shè)備軟件包工作。otg通過驅(qū)動(dòng)連接器中的id的不同連接,或通過是否有主設(shè)備轉(zhuǎn)換協(xié)議spr以確定雙角色設(shè)備的工作方式,并確定使用usb主設(shè)備軟件包或usb設(shè)備軟件包。
評(píng)論