當前位置:文思屋>學習教育>畢業論文>

基於USB介面的儀器儀表通訊技術

文思屋 人氣:2.24W

USB(universal serial bus)即通用序列匯流排,它是一種應用在PC領域的新型介面技術。隨著支援USB標準Windows98的出現和USB裝置數量的快速增加,USB才在近年逐漸流行起來。目前普遍採用的USB1.1主要應用在中低速外部裝置上,它提供的傳輸速度有低速1.5Mbps和全速12Mbps兩種,一個USB埠可同時支援全速和低速的裝置訪問。目前,USB在自動化控制領域主要用於資料採集系統,由PC作為USB主機端,微控制器作為USB裝置端。

基於USB介面的儀器儀表通訊技術

USB資料傳輸方式USB通過主機上客戶軟體的記憶體緩衝區和USB裝置上端點之間的管道來傳送資料。它提供有4種傳輸方式:控制傳輸、同步傳輸、中斷傳輸和批量傳輸。控制傳輸傳送裝置請求資訊,主要用於讀取裝置配置資訊和裝置狀況,設定裝置地址和裝置屬性、傳送控制命令等功能;同步傳輸提供了確定的頻寬和時間間隔,常被用於時間嚴格並具有較強容錯性的流資料傳輸,或4《自動化儀表》第24卷第10期 2003年10月PROCESS AUTOMATION INSTRUMENTATION, Vol.24, No。10,Oct。, 2003者用於要求恆定的資料傳輸率的即時應用中;中斷傳輸主要用來支援那些偶爾需要對少量資料進行通訊,但服務時間卻受限的裝置;批量傳輸主要用於大批量的資料傳輸,同時又沒有頻寬和時間間隔的要求,但是USB只能在滿足頻寬的情況下才進行批量傳輸。

USB外圍裝置的設計方案目前用於USB外圍裝置設計的方案有兩種:一種是採用普通微控制器外加USB介面器件;另一種是採用具有USB介面的微控制器。普通微控制器外加USB介面器件USB介面器件只用於處理USB通訊,它必須由一個外部微控制器來控制。通過USB介面器件可以把USB埠接到任何型別的微控制器上,這種實現USB介面的模組化設計方法使得設計者可自由選擇合適的微控制器。

目前市場上已有很多公司提供USB介面器件,Philips公司的PDIUSBD12是一款價效比高、帶並行匯流排的USB介面器件,它集成了SIE(序列介面引擎)、FI-FO(先進先出)儲存器、收發器及電壓調節器,可與任何微控制器實現高速並行介面;其主端點的雙緩衝配置增加了資料的吞吐量,從而可以輕鬆地實現實時資料傳送;可通過軟體控制與USB的連線,支援雙電源(即3。3V和擴充套件的5V)操作;具有高糾錯率的全掃描設計確保了其高品質。

具有USB介面的微控制器隨著USB應用的日益廣泛和流行,Intel、Cypress等微控制器廠商推出了具有USB介面的微控制器,這類微控制器處理能力強,有的本身就具備多路A/D、D/A,採用這類微控制器構成系統的電路簡單、除錯方便、電磁相容性好。因此採用具有USB介面的微控制器成了開發USB外設的較好方案。不過由於增加了USB介面,這類微控制器與原先的開發系統一般不完全相容,需要購買新的開發套件,需要新的投資。

Cypress半導體公司作為USB市場的著名廠商,開發的EZ-USB FX2成了世界上第一款USB2。0整合微控制器。它包括1個增強型8051微控制器、1個序列介面引擎(SIE)、1個USB收發器、片上RAM、FIFO儲存器以及1個通用可程式介面。FX2提供了一個全面整合的解決方案,它不僅可減少電路板空間,而且大大縮短了產品的上市時間。

FX2擁有一個獨特的架構,其智慧序列介面引擎在硬體層上處理USB1。1和USB2。0協議的大部分內容,因此外設產品設計人員不必為增加產品的USB功能而學習USB協議,從而使產品開發變得更加容易,同時減輕了微控制器的負擔,而讓智慧序列介面引擎從硬體上保證更高的傳輸率。FX2通用可程式介面(GPIF),允許它"無膠粘接",即可與任何ASIC或DSP進行介面,並且它還支援所有通用匯流排標準,包括ATA、UTOPIA、EPP和PCMCIA。FX2完全適用於USB2。0,並向下相容USB1.1。

USB在測控領域的應用2001年9月的.《Test andMeasurement World》進行了一次針對測量應用中PC使用者的未來需求調查,該調查顯示越來越多的使用者期望使用USB介面將他們的儀器及資料採集裝置連線到PC。

USB通訊的軟體設計包括微控制器部分的韌體部分和主機(PC)的驅動程式部分。對於微控制器控制程式,由於目前沒有任何廠商提供自動生成韌體(firmware)的工具,因此所有程式都需要手工編制。對USB的微控制器控制程式通常由三部分組成:①初始化微控制器和所有的外圍電路(包括PDIUS-BD12);②主迴圈部分,其任務是可以中斷的;③中斷服務程式,其任務是對時間敏感的,必須馬上執行。根據USB協議,任何傳輸都是由主機(host)開始的,這樣,微控制器作它的前臺工作,等待中斷。

主機首先要發令牌包給USB裝置,PDIUSBD12接收到令牌包後就給單片機發中斷,微控制器進入中斷服務程式,首先讀PDIUSBD12的中斷暫存器,判斷USB令牌包的型別,然後執行相應的操作。因此,USB微控制器程式主要就是相對應的中斷服務程式。

對於主機部分的軟體設計,Windows98已提供多種USB裝置的驅動程式,但還沒有一種是專門針對資料採集系統的,所以必須針對特定的裝置來編制驅動程式。儘管系統已經提供了很多標準介面函式,但編制驅動程式仍然是USB開發中最困難的一件事情,通常採用WindowsDDK來實現。作為WIN98和WIN2K推薦的一項新技術來說,USB的驅動程式和以往的直接跟硬體打交道的WIN95的VXD方式的驅動程式不同,它屬於WDM型別。