32 位ARM 嵌入式系統(tǒng)擴(kuò)展USB 接口設(shè)計
USB(Universal Serial Bus,通用串行總線)接口是1994 年Intel、Microsoft 等多家公司聯(lián)合推出的計算機(jī)外設(shè)互連總線協(xié)議。USB 接口支持1.5Mb/s、12Mb/s 和480Mb/s 的數(shù)據(jù)傳輸速率,支持控制、中斷、批量與實時4 種數(shù)據(jù)傳輸模式,讓外圍設(shè)備可以有彈性的選擇。不管是交換少量或是大量的數(shù)據(jù),還是有無時效的限制,都有合適的傳輸類型。USB的實時同步數(shù)據(jù)傳輸模式適合于高速實時音視頻數(shù)據(jù)流的傳送。
基于ARM(Advanced RISC Machines)處理器的32 位嵌入系統(tǒng)具有極高運算速度和大容量的數(shù)據(jù)處理能力,常需要設(shè)計高速接口與其他設(shè)備通信,為此本文討論基于S3C44B0XARM7 處理器的嵌入式統(tǒng)擴(kuò)展USB 接口(設(shè)備端)的技術(shù)方案。
1 USB 接口原理
USB1.1 規(guī)范將USB 分為5 部分:控制器、控制器驅(qū)動程序、USB 芯片驅(qū)動程序、USB設(shè)備以及針對不同USB 設(shè)備的客戶端驅(qū)動程序。
(1) 控制器(Host Controller)主要負(fù)責(zé)執(zhí)行由控制器驅(qū)動程序發(fā)出的命令。
(2) 控制器驅(qū)動程序(Host Controller Driver), 在控制器與USB 設(shè)備間建立通信管道(Pipe)。
(3) USB 驅(qū)動程序(USB Driver),提供對不同USB 設(shè)備及芯片的支持。
(4) USB 設(shè)備(USB Device), 有兩類USB 設(shè)備:一類稱為功能設(shè)備(Function),另一類是稱為USB 集線器(HUB),可以連接多個USB 設(shè)備。
(5) USB 設(shè)備驅(qū)動程序(Client Driver Software)及特定應(yīng)用程序。
主控制器的驅(qū)動軟件由操作系統(tǒng)支持,USB 設(shè)備開發(fā)人員一般只需編寫客戶驅(qū)動程序,實現(xiàn)特定功能,設(shè)備端所有功能軟件需要全面設(shè)計。
USB 的四種數(shù)據(jù)傳輸模式分別是:控制型傳輸、中斷型傳輸、批量型傳輸、實時型傳輸。第一種在缺省通道中傳輸U(kuò)SB 接口本身的配置等控制信息,后面三種用于功能部件傳輸數(shù)據(jù)。中斷型用于鍵盤等的異步輸入輸出少量數(shù)據(jù)傳輸,批量傳輸主要用于象硬盤等塊設(shè)備的數(shù)據(jù)傳輸,在中斷和批量的傳輸過程中要傳遞交互握手信號,確保數(shù)據(jù)準(zhǔn)確無誤。
實時傳輸對帶寬有嚴(yán)格要求,但允許有一定誤碼,省去了交互握手信號的傳遞,常用于音視頻碼流數(shù)據(jù)傳輸。四種類型數(shù)據(jù)都按帶寬要求分配在1ms 一幀的數(shù)據(jù)幀內(nèi)進(jìn)行傳輸,USB1.0 實時傳輸可得到的最大帶寬10.24Mbps。
2 嵌入式系統(tǒng)USB 接口設(shè)計
要滿足高性能ARM嵌入式系統(tǒng)的要求,擴(kuò)展USB接口必須選擇高性能USB控制器芯片,Philips公司的PDISUBD12 USB器件,是與微處理器配合使用的高性能USB接口器件,性價比很高。PDIUSBD12主要特性有:
(1) 符合USB 1.1 技術(shù)規(guī)范;
(2) USB控制器并行接口與處理器間的數(shù)據(jù)傳輸速度高達(dá)2M 字節(jié)/秒;
(3) 在批量模式和同步模式下均可實現(xiàn)1M 字節(jié)/秒的數(shù)據(jù)傳輸速率;
(4) 集成了FIFO存儲收發(fā)器,支持DMA 操作;
(5) 內(nèi)置時鐘倍頻PLL電路,可編程時鐘頻率輸出;
(6) 多中斷模式實現(xiàn)批量和同步傳輸;
評論