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