新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 32 位ARM 嵌入式系統擴展USB 接口設計

        32 位ARM 嵌入式系統擴展USB 接口設計

        作者: 時間:2010-04-08 來源:網絡 收藏
        常用的主機與外設的高速通信有LPT 并行口、、1394 及10/100M 以太網等。RS232 不適合高速數據傳送,1394 需要專門的適配器接口成本過高,一般較少使用, 接口被廣泛用于高、中、低不同速度設備與主機通信,2.0 的最高速度可達480Mb/s, 可傳送高清晰數字視頻碼流,完全可以替代1394 接口,USB 與以太網接口相比,采用主從結構,有即插即用特性,驅動程序豐富,互操作性好等優點。
        USB(Universal Serial Bus,通用串行總線)接口是1994 年Intel、Microsoft 等多家公司聯合推出的計算機外設互連總線協議。USB 接口支持1.5Mb/s、12Mb/s 和480Mb/s 的數據傳輸速率,支持控制、中斷、批量與實時4 種數據傳輸模式,讓外圍設備可以有彈性的選擇。不管是交換少量或是大量的數據,還是有無時效的限制,都有合適的傳輸類型。USB的實時同步數據傳輸模式適合于高速實時音視頻數據流的傳送。
        基于(Advanced RISC Machines)處理器的32 位嵌入具有極高運算速度和大容量的數據處理能力,常需要高速接口與其他設備通信,為此本文討論基于S3C44B0X7 處理器的USB 接口(設備端)的技術方案。

        1 USB 接口原理
        USB1.1 規范將USB 分為5 部分:控制器、控制器驅動程序、USB 芯片驅動程序、USB設備以及針對不同USB 設備的客戶端驅動程序。
        (1) 控制器(Host Controller)主要負責執行由控制器驅動程序發出的命令。
        (2) 控制器驅動程序(Host Controller Driver), 在控制器與USB 設備間建立通信管道(Pipe)。
        (3) USB 驅動程序(USB Driver),提供對不同USB 設備及芯片的支持。
        (4) USB 設備(USB Device), 有兩類USB 設備:一類稱為功能設備(Function),另一類是稱為USB 集線器(HUB),可以連接多個USB 設備。
        (5) USB 設備驅動程序(Client Driver Software)及特定應用程序。

        本文引用地址:http://www.104case.com/article/151956.htm



        主控制器的驅動軟件由操作支持,USB 設備開發人員一般只需編寫客戶驅動程序,實現特定功能,設備端所有功能軟件需要全面
        USB 的四種數據傳輸模式分別是:控制型傳輸、中斷型傳輸、批量型傳輸、實時型傳輸。第一種在缺省通道中傳輸USB 接口本身的配置等控制信息,后面三種用于功能部件傳輸數據。中斷型用于鍵盤等的異步輸入輸出少量數據傳輸,批量傳輸主要用于象硬盤等塊設備的數據傳輸,在中斷和批量的傳輸過程中要傳遞交互握手信號,確保數據準確無誤。
        實時傳輸對帶寬有嚴格要求,但允許有一定誤碼,省去了交互握手信號的傳遞,常用于音視頻碼流數據傳輸。四種類型數據都按帶寬要求分配在1ms 一幀的數據幀內進行傳輸,USB1.0 實時傳輸可得到的最大帶寬10.24Mbps。

        2 USB 接口
        要滿足高性能嵌入式系統的要求,USB接口必須選擇高性能USB控制器芯片,Philips公司的PDISUBD12 USB器件,是與微處理器配合使用的高性能USB接口器件,性價比很高。PDIUSBD12主要特性有:
        (1) 符合USB 1.1 技術規范;
        (2) USB控制器并行接口與處理器間的數據傳輸速度高達2M 字節/秒;
        (3) 在批量模式和同步模式下均可實現1M 字節/秒的數據傳輸速率;
        (4) 集成了FIFO存儲收發器,支持DMA 操作;
        (5) 內置時鐘倍頻PLL電路,可編程時鐘頻率輸出;
        (6) 多中斷模式實現批量和同步傳輸;

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
        隔離器相關文章:隔離器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 蕲春县| 长沙县| 社旗县| 乐亭县| 凤庆县| 文成县| 鄢陵县| 古丈县| 芦山县| 宣武区| 永和县| 河曲县| 万载县| 朝阳市| 多伦县| 高邑县| 和硕县| 赤城县| 波密县| 新丰县| 虹口区| 秀山| 上林县| 双鸭山市| 凉山| 北流市| 桑植县| 清原| 涟源市| 前郭尔| 长汀县| 岳池县| 台中县| 昌乐县| 金阳县| 黄陵县| 台东县| 浮山县| 鹿泉市| 土默特左旗| 江达县|