新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 高速USB OTG--便攜設備絕佳的互連解決方案

        高速USB OTG--便攜設備絕佳的互連解決方案

        作者: 時間:2012-11-22 來源:網絡 收藏


        B設備將先后執行數據線脈沖調制和VBUS脈沖調制,分別通過使能數據線上拉電阻(全速和高速設備為D+,低速設備為D-)5~10ms和驅動VBUS實現。VBUS必須要有足夠長的時間對其電容充電,這個時間應能保證不大于13μF的電容充電至2.1V(設備的電容是6.5μF或更小),從而不會對標準主機的96μF或更大的電容充電至2.0V。該限制保證了從B設備引來的VBUS電流不會破壞標準主機的端口。

        A設備檢測到數據線脈沖調制或者VBUS脈沖調制后,首先復位總線,然后發送Set_feature命令而先不進行設備的枚舉,此時B設備尚處在默認的從端狀態。如果Set_feature命令成功執行,說明B設備為兩用設備,A設備(使用HNP協議)掛起VBUS準備讓B設備交換為主機方式接管總線。如果Set_feature命令執行失敗,說明B設備為外設式設備,于是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 主端控制器測試架構

        測試方法如下:USB測試Class驅動呼叫由USB IP核提供更高層的API,經USB子系統送出需求到USB設備。接著, 主端經控制端點(Endpoint)接受控制IN/OUT,然后解析/獲得回應數據/狀況用以核對其正確性。此外, 每個USB設備應該包含幾個必需的描述符并依靠所接受的Get_Descriptor需求的內容來回應這些描述符。圖3中PC安裝Windows 2000或是Windows XP,利用ARM ADS1.2的AxD調試器,FA5 CPU的ICE一端連接PC的打印機口或是USB口,另一端連接開發板,開發板的另一端則是各種USB設備,如USB集線器、攝像頭、鼠標、鍵盤和U盤。

        圖4 互測SNP和HNP的連接架構

        2 OTG 測試

        利用兩臺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傳輸的功能。

        上一頁 1 2 下一頁

        關鍵詞: 高速USB OTG PDA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁津县| 兴宁市| 临洮县| 绥德县| 绵阳市| 内黄县| 湖南省| 盐源县| 香港 | 伊金霍洛旗| 修水县| 崇阳县| 丽江市| 柳江县| 富源县| 灌阳县| 全南县| 巴彦淖尔市| 龙南县| 克山县| 静宁县| 贵州省| 宜兴市| 湘西| 政和县| 合水县| 建德市| 灵武市| 双鸭山市| 随州市| 嘉峪关市| 浦城县| 清原| 德惠市| 黄梅县| 留坝县| 崇义县| 济宁市| 罗定市| 县级市| 河源市|