基于LabVIEW的 無(wú)線(xiàn)USB高速數據傳輸系統
通用串行總線(xiàn)USB(Universal Serial Bus)作為一種新型的數據通信技術(shù),具有即插即用、支持熱插撥、易于擴展、傳輸速度快、性?xún)r(jià)比高等優(yōu)點(diǎn);短距離無(wú)線(xiàn)通信技術(shù)是未來(lái)計算機和外設間進(jìn)行數據傳輸的發(fā)展趨勢,它具有分布靈活、使用簡(jiǎn)單、幾乎不受空間條件限制等特點(diǎn)。USB緊跟通信技術(shù)的無(wú)線(xiàn)化趨勢,2004年,惠普、英特爾、微軟、NEC、飛利浦半導體、三星電子等多家大公司成立了WUSB(Wireless USB)的促進(jìn)聯(lián)盟,旨在將USB的使用變得更加簡(jiǎn)單,實(shí)現無(wú)線(xiàn)化。Cypress公司推出了低成本的芯片級遠距離2.4 GHz射頻系統一一Wireless USB LR方案,與ZigBee和藍牙等復雜且昂貴的無(wú)線(xiàn)網(wǎng)絡(luò )方案相比,Wireless USB LR憑借其出色的遠程無(wú)線(xiàn)通信能力和低廉的系統成本,將無(wú)線(xiàn)系統的應用擴展到建筑、家庭自動(dòng)化、工業(yè)控制、醫療檢測、傳呼系統和顯示設備等領(lǐng)域。所以說(shuō),如果將無(wú)線(xiàn)和USB完美結合,在保證數據采集速率的前提下,可以使得數據傳輸更加方便,與PC接口也更加簡(jiǎn)單。
通常開(kāi)發(fā)USB系統時(shí),先用Windows DDK(設備驅動(dòng)程序開(kāi)發(fā)包)或第三方開(kāi)發(fā)工具(如Driver Studio)開(kāi)發(fā)USB驅動(dòng)程序,然后用Visual C++編寫(xiě)DLL(動(dòng)態(tài)連接庫),最后再調用DLL來(lái)開(kāi)發(fā)應用程序,這對不熟悉Win―dows編程的人有一定的難度;而USB應用程序也大都是使用Visual C++來(lái)編寫(xiě)的,過(guò)程繁瑣,調試麻煩,花費的時(shí)間也比較長(cháng)。
美國國家儀器NI(National Instlrument)公司開(kāi)發(fā)的LabVIEW(Laboratory Virtual Instrument Engineering Workbench)語(yǔ)言是一種基于圖形程序的編程語(yǔ)言,含有豐富的數據采集、數據信號分析以及控制等子程序,易于調試和維護,且程序編程簡(jiǎn)單、直觀(guān)??梢灾苯釉?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/LabVIEW">LabVIEW環(huán)境下通過(guò)NI一VISA(Virtual Instlrument Software Architecture,以下簡(jiǎn)稱(chēng)為“VISA”)開(kāi)發(fā)驅動(dòng)程序,完全避開(kāi)了以前開(kāi)發(fā)USB驅動(dòng)程序的復雜性,大大縮短了開(kāi)發(fā)周期。用它來(lái)開(kāi)發(fā)應用程序,把采集來(lái)的數據傳送到主機上,再通過(guò)LabVIEW的模塊實(shí)現數據的實(shí)時(shí)顯示、分析和存儲。
本設計將利用Cypress公司的CYWUSB6935來(lái)實(shí)現無(wú)線(xiàn)USB的高速數據傳輸系統,通過(guò)LabVIEW來(lái)簡(jiǎn)化開(kāi)發(fā)過(guò)程,縮短開(kāi)發(fā)周期。
1 無(wú)線(xiàn)USB與LabVIEW概述
1.1 無(wú)線(xiàn)USB和CYWUSB6935芯片
無(wú)線(xiàn)USB技術(shù)是一個(gè)全新的通信標準。它通過(guò)USB接口和最先進(jìn)的無(wú)線(xiàn)通信技術(shù)擴展了設備之間的連通性,最基本的工作原理是發(fā)送和接收脈沖間隔嚴格受控于高斯單周期超短時(shí)脈沖;具有傳輸速度快、功耗小、移植方便、安全性高等優(yōu)點(diǎn);最大的特點(diǎn)是傳輸速率高,3 m距離的最大傳輸速率達480 Mbps,其性能與現有的USB2.O相同。雖然在傳輸距離上,WUSB性能沒(méi)有達到USB2.0所規定的最長(cháng)5 m的距離,但對置于計算機周?chē)脑O備來(lái)說(shuō),3 m的距離已經(jīng)足夠了。一般情況下,通信距離越長(cháng),速率越慢;因此WUSB規定10 m的傳輸速率為110 Mbps。10 m足以覆蓋當前家庭的居室,此距離的速率已經(jīng)超過(guò)了目前的WLAN。
無(wú)線(xiàn)USB和有線(xiàn)USB2.0一樣,它也能處理4種傳輸形式,即控制傳輸、塊傳輸、中斷傳輸、同步傳輸。主機和無(wú)線(xiàn)USB設備合稱(chēng)WUSB集群,采用星型拓撲,不需要WUSB集線(xiàn)器,WUSB主機能直接連接多達127個(gè)設備。主機支持8種數據速率:53.3 Mbps、80 Mbps、106.7Mbps、200 Mbps、160 Mbps、320 Mbps、400 Mbps和480Mbps。設備必須支持3種數據速率53.3 Mbps、106.7Mbps、200 Mbps,其他5種為可選數據率。
針對無(wú)線(xiàn)傳輸的現狀,Cypress公司推出了低成本、高集成度的芯片CYWUSB6935,CYWUSB6935芯片結構框圖如圖1所示。
CYWUSB6935內部集成了串行數據接口(SPI)、串并/并串轉換器(SERDES)、綜合器(synthesizer)、2.4 GHz的射頻收發(fā)器;采用高斯頻移鍵控調制解調器(GFSKModem)和直接順序擴展頻譜(DSSS)數字基帶模塊;用戶(hù)可以通過(guò)控制信號靈活地設置射頻和數字基帶部分。為了進(jìn)一步優(yōu)化性能,CYWUSB6935將49個(gè)擴頻編碼調制到78個(gè)1 MHz寬度的頻率域上,從而在理論上可以為用戶(hù)提供3 822個(gè)獨立的頻道,讓每個(gè)主系統能夠連接多組外圍設備,且通信距離可達到50 m或更遠。
WUSB6935有4種工作模式:64 chips/bit單通道、32chips/bit雙通道、32 chips/bit單通道雙倍采樣和32chips/bit單通道雙倍數據速率。該系統選用32 chips/bit單通道雙倍采樣。模式選擇通過(guò)配置REG―DATA―RATE(0X04)來(lái)實(shí)現。接收和發(fā)射均采用中斷的方式。中斷的方式有3種:發(fā)射中斷、接收中斷和喚醒中斷。這些中斷共用一個(gè)IRQ引腳。配置REG(0XOD)使得發(fā)射中斷使能,將要發(fā)送的數據送到數據發(fā)送寄存器(0XOF),數據便通過(guò)RFOUT引腳發(fā)送出去。接收中斷使能寄存器為REG(0X07),通過(guò)讀取中斷狀態(tài)寄存器REG(0X08)可以確定中斷類(lèi)型,然后從相應的數據接收寄存器中獲得相應通道的數據。
1.2 LabVIEW和NI VISA
LabVIEW是美國國家儀器NI公司開(kāi)發(fā)的一種基于圖形程序的編程語(yǔ)言,廣泛應用于數據采集與控制、信號處理以及數據表達等方面,它提供了一種全新的編程方法,即對軟件對象“虛擬儀器(VI)”進(jìn)行圖形化的組合操作。LabVIEW程序的執行順序是按數據流的方式確定的,可以實(shí)現多任務(wù)的并行。用戶(hù)通過(guò)創(chuàng )建和調用子程序的方法編寫(xiě)程序,使創(chuàng )建的程序模塊化,而且程序簡(jiǎn)單、直觀(guān)。
LabVIEW的應用程序,即虛擬儀器(VI),包括3部分:前面板(front panel),是LabVIEW程序的圖形用戶(hù)界面,用于設置輸入數值和觀(guān)察輸出量,相當于傳統儀器的面板;框圖程序(block diagram),提供VI的圖形化源程序,是利用圖形語(yǔ)言編程控制和定義在前面板上的輸入和輸出功能;圖標/連結器(icon/connector),用于把Lab―VIEW程序定義成一個(gè)子程序,從而實(shí)現模塊化編程。
NI―VISA也是NI公司開(kāi)發(fā)的一種用來(lái)與各種儀器總線(xiàn)進(jìn)行通信的高級應用編程接口(API)。VISA總線(xiàn)I/0軟件是一個(gè)綜合軟件包,不受平臺、總線(xiàn)和環(huán)境的限制,可用來(lái)對USB、GPIB、串口、VXI、PXI和以太網(wǎng)系統進(jìn)行配置、編程和調試。本文介紹的高速數據傳輸系統采用它開(kāi)發(fā)USB驅動(dòng),大大簡(jiǎn)化了開(kāi)發(fā)過(guò)程。
2 無(wú)線(xiàn)USB高速數據傳輸系統的設計
該無(wú)線(xiàn)USB數據傳輸系統構成如圖2所示。
2.1 系統硬件設計
該系統使用了128引腳的CY7C68013單片機以及CYWUSB6935射頻模塊,其硬件設計框圖如圖3所示。
CY7C68013是Cypress公司的EZ―USB FX2系列芯片。其芯片固件存儲在主機上而不是在芯片內部,顯著(zhù)特點(diǎn)是代碼升級容易。該系列芯片集成了USB2.O收發(fā)器、串行接口引擎(SIE)、帶8.5 KB片上RAM的增強型8051、16 KB的RAM、4 KB的FIFO存儲器、I/0口、數據總線(xiàn)、地址總線(xiàn)和通用可編程接口(GPIF)。CYWUSB6935的SPI四個(gè)引腳(MOSI、MISO、SS、SCK)支持兩種傳輸模式――單字節模式和序列多字節模式。為了提高傳輸效率,本系統采用序列多字節模式。
2.2 系統軟件設計
數據傳輸系統軟件設計分為3部分:設備固件程序、驅動(dòng)程序以及應用程序,如圖4所示。
評論