高速USB OTG--便攜設(shè)備絕佳的互連解決方案
B設(shè)備將先后執(zhí)行數(shù)據(jù)線脈沖調(diào)制和VBUS脈沖調(diào)制,分別通過使能數(shù)據(jù)線上拉電阻(全速和高速設(shè)備為D+,低速設(shè)備為D-)5~10ms和驅(qū)動VBUS實現(xiàn)。VBUS必須要有足夠長的時間對其電容充電,這個時間應(yīng)能保證不大于13μF的電容充電至2.1V(OTG設(shè)備的電容是6.5μF或更小),從而不會對標(biāo)準(zhǔn)主機(jī)的96μF或更大的電容充電至2.0V。該限制保證了從B設(shè)備引來的VBUS電流不會破壞標(biāo)準(zhǔn)主機(jī)的端口。
A設(shè)備檢測到數(shù)據(jù)線脈沖調(diào)制或者VBUS脈沖調(diào)制后,首先復(fù)位總線,然后發(fā)送Set_feature命令而先不進(jìn)行設(shè)備的枚舉,此時B設(shè)備尚處在默認(rèn)的從端狀態(tài)。如果Set_feature命令成功執(zhí)行,說明B設(shè)備為兩用OTG設(shè)備,A設(shè)備(使用HNP協(xié)議)掛起VBUS準(zhǔn)備讓B設(shè)備交換為主機(jī)方式接管總線。如果Set_feature命令執(zhí)行失敗,說明B設(shè)備為外設(shè)式OTG設(shè)備,于是A設(shè)備使能VBUS準(zhǔn)備開始一個傳輸事務(wù)(此時,A設(shè)備只是被喚醒,并未改變工作方式)。當(dāng)A設(shè)備認(rèn)為總線上沒有傳輸需要時,掛起VBUS以結(jié)束該事務(wù)。這種A設(shè)備自動檢測B設(shè)備是否支持HNP的特征稱為“No Silent Failure”。
USB得以成功的其中一項秘訣在于完善的認(rèn)證測試程序。這道程序能檢測設(shè)備是否符合規(guī)范且能否與其他USB設(shè)備共同運(yùn)作,唯有通過認(rèn)證測試的設(shè)備才能貼上USB的認(rèn)可標(biāo)簽。目前,認(rèn)證測試有兩種途徑,可通過USB Compliance Workshop(Plugfests)或個別的測試實驗室進(jìn)行測試。以上兩種方式都能將通過檢測的設(shè)備列入符合規(guī)范USB設(shè)備的整合廠商名單中。
USB OTG 評估板測試
1 USB EHCI 主端控制器測試
每個設(shè)備應(yīng)該能響應(yīng)USB規(guī)范所定義的控制請求。主端應(yīng)該能利用主端控制器經(jīng)USB纜線送出控制需求到USB設(shè)備。
圖3 EHCI 主端控制器測試架構(gòu) |
圖4 互測SNP和HNP的連接架構(gòu) |
利用兩臺USB OTG開發(fā)板互測SNP和HNP的連接架構(gòu)如圖4所示。
圖5 大量存儲的應(yīng)用測試 |
如圖5所示,設(shè)計一個SD卡主端應(yīng)用來做演示, SD卡的大量存儲用以測試FOTG200功能。FOTG200是智原的USB 2.0 OTG控制器, 能作為一個雙重角色。作為主設(shè)備,它包含一個USB主端制器,能支援所有速度的事務(wù)。無須軟件干涉的情形下,主端制器能處理一個基于事務(wù)的數(shù)據(jù)結(jié)構(gòu)以減去主控CPU的負(fù)擔(dān),自動地在USB總線上轉(zhuǎn)送和接收數(shù)據(jù)。作為從設(shè)備,每個端點,除了端點0,都承擔(dān)可編程的HS/FS傳輸類型提供彈性以適應(yīng)各式各樣的應(yīng)用。
在這個應(yīng)用上, USB子系統(tǒng)由USB IP核、EHCI HCD控制器、USB大量存儲Class驅(qū)動、文件系統(tǒng)和SD卡設(shè)備驅(qū)動所組成。因此,主端設(shè)備能夠讀/寫文檔到SD卡(外部設(shè)備)。順便也能驗證大量存儲Class驅(qū)動和Bulk IN/OUT傳輸?shù)墓δ堋?
評論