USB接口技術研究應用與設計探究

學識都 人氣:1.48W

從U盤、鼠標、讀卡器、外接光驅等常用USB設備,到採用USB接口的電吹風、咖啡爐、剃鬚刀、聖誕樹等千奇百怪的電腦附件,通過一臺電腦的USB周邊設備使人們享受到了更多的方便和樂趣。USB之所以能夠如此普及並受到大衆歡迎,在於它方便的熱插拔,帶寬大,速度快,可連接設備多,簡單的網絡互聯功能等諸多優點。

USB接口技術研究應用與設計探究

一、USB接口技術傳輸類型及優點

USB是通用串行總線(Universal Serial Bus)的簡稱。在計算機使用中,常常利用PC或工控機對各種數據進行數據採集。這其中有很多地方需要對各種數據進行採集,如液位、溫度、壓力、頻率等。常用的採集方式是通過數據採集板卡,如A/D卡以及422、485總線板卡等。採用板卡不僅安裝麻煩、易受機箱內環境的干擾,而且由於受計算機插槽數量和地址、中斷資源的限制,不可能掛接很多設備。而USB接口技術的出現,很好地解決了以上這些衝突,很容易就能實現低成本、高可靠性、多點的數據採集。USB系統主要由主控制器(Host Controller)、USB Hub 和USB外設(Peripherals Node)組成系統拓撲結構。

的傳輸類型。USB總線包括4種傳輸類型(傳輸管道):(1)控制傳輸類型:用於傳輸控制信息。(2)塊數據傳輸類型:用於傳輸相對比較大的和突發性強的數據,一般用於打印機、掃描儀等。(3)中斷數據傳輸類型:通常用於傳輸設備反饋回計算機的字符和座標信息,如鼠標,鍵盤、遊戲杆等。(4)同步數據傳輸類型:佔用預先分配的帶寬,實時傳輸,例如海量儲存類、打印機類和HID(人機接口)類等。

的主要優點。速度快;USB 2.0將設備之間的數據傳輸速度增加到了480Mbps,比USB 1.1標準快40倍左右,速度的提高對於用戶的最大好處就是用戶可以使用到更高效的外部設備,而且具有多種速度的周邊設備都可以被連接到USB 2.0的線路上,而且無需擔心數據傳輸時發生瓶頸效應。設備安裝和配置容易;安裝USB設備不必再打開機箱,加減已安裝過的設備完全不用關閉計算機。所有USB設備支持熱拔插,系統對其進行自動配置,徹底拋棄了過去的跳線和撥碼開關設置。易於擴展;通過使用Hub擴展可撥接多達127個外設。標準USB電纜長度爲3m(5m低速)。通過Hub或中繼器可以使外設距離達到30m。能夠採用總線供電;USB總線提供最大達5V電壓、500mA電流。使用靈活。USB共有4種傳輸模式:控制傳輸(control)、同步傳輸(Synchronization)、中斷傳輸(interrupt)、批量傳輸(bulk),以適應不同設備的需要。

二、USB的應用與設計

USB的應用主要是數據採集工作,隨着USB應用的日益廣泛,Intel、SGS-Tomson、Cypress、Philips等芯片廠商都推出了具備USB通信接口的單片機。這些單片機處理能力強,有的本身就具備多路A/D,構成系統的電路簡單,調試方便,電磁兼容性好,因此採用具備USB接口的單片機是構成USB數據採集系統較好的方案。USB接口開發中有相當大的工作量是關於USB軟件的開發,USB軟件包括三方面的工作:固件(firmware)設計,驅動程序設計和主機端應用程序的`設計。

1、固件設計。固件是運行在USB芯片上的程序,可採用匯編語言或C語言設計,其主要功能是控制USB芯片接收並處理USB驅動程序的請求、控制USB芯片接收應用程序的控制指令、通過USB芯片存放數據並實時上傳至PC等。

2、驅動程序設計。在Windows平臺下,USB驅動程序由3部分組成:USB設備驅動程序,USB總線驅動程序和USB主控制器驅動程序,他們必須遵循win32驅動程序模型(WDM)。其中,windows操作系統已經提供了處於驅動程序棧底的USB總線驅動程序和USB主控制器驅動程序。而USB設備驅動程序由設備開發者編寫,通過向USB總線驅動程序發送包含URB(USB Request Block)的IRP(I/0 Request Packet),來實現USB外設之間的信息交換。當主機應用程序要對USB設備進行I/0操作時,調用Windows API函數對win32子系統進行win32調用,由I/O管理器將此請求構造成一個合適的IRP,並把它傳遞給USB設備驅動程序。USB設備驅動程序接受到這個IRP後,根據IRP中的包含的具體操作代碼,構造響應的URB並把他放到一個新IRP中,然後把此IRP傳遞到USB總線驅動程序,USB總線驅動程序根據IRP中所包含的URB執行響應的操作,USB接口技術研究應用與設計並把操作結果通過IRP返還給USB設備驅動程序。USB設備驅動程序接受到此IRP後,將操作結果通過IRP返還I/O管理器。最後,I/O管理器將此IRP中的操作結果返還給應用程序,至此應用程序對USB設備的一次I/O操作完成。

3、應用程序設計。應用程序工作於用戶模式,用戶模式可以訪問文件,處理數據,人機交互,不過必須藉助設備驅動程序來訪問硬件。在VC環境下開發的主機端的應用程序,容易實現了設備的打開、關閉、固件下載、端口配置和文件傳輸等功能。

USB接口技術的應用正處於高速發展階段。在USB數據採集、USB工業控制等領域已經得到成功的應用。隨着時代的進步和技術的發展,USB必將在更廣闊的領域得到更深層次的應用。