《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于LabVIEW的USB實時數據采集處理系統的實現

基于LabVIEW的USB實時數據采集處理系統的實現

2008-08-29
作者:尹邦政 魏亞東 邢 達 何

?? ?摘? 要: 介紹了以圖形化編程語言LabVIEW為應用程序" title="應用程序">應用程序開發平臺的USB數據采集" title="數據采集">數據采集處理系統" title="處理系統">處理系統的設計,并給出了LabVIEW對外部動態鏈接庫的調用方法以及USB驅動程序的設計方法。

??? 關鍵詞: USB? LabVIEW? 數據采集

?

??? 通用串行總線USB(Universal Serial Bus)作為一種新型的數據通信接口在越來越廣闊的領域得到應用。而基于USB接口的數據采集卡" title="采集卡">采集卡與傳統的PCI卡及ISA卡相比具有即插即用、熱插拔、傳輸速度快、通用性強、易擴展和性價比高等優點。

??? USB的應用程序一般用Visual C++編寫,較為復雜,花費的時間較長。由美國國家儀器(NI)公司開發的LabVIEW語言是一種基于圖形程序的編程語言,內含豐富的數據采集、數字信號分析以及控制等子程序,用戶利用創建和調用子程序的方法編寫程序,使創建的程序模塊化,易于調試、理解和維護,而且程序編制簡單、直觀。因此它特別適用于數據采集處理系統。利用它編制USB應用程序,把LabVIEW 語言和USB總線緊密結合起來的數據采集系統將集成兩者的優點。USB總線可以實現對外部數據實時高速的采集,把采集的數據傳送到主機后再通過LabVIEW的功能模塊順利實現數據的顯示、分析和存儲。

1?USB及其在數據采集設備中的應用

  USB自1995年在Comdex上亮相以來,已廣泛地為各PC廠家所支持?,F在生產的PC幾乎都配備了USB接口,Microsoft的Windows 98、NT以及Mac OS、Linux等流行操作系統都增加了對USB的支持。USB具有速度快、設備安裝和配置容易、易于擴展、能夠采用總線供電、使用靈活等主要優點,應用越來越廣泛。

  一個實用的USB數據采集系統硬件一般包括微控制器、USB通信接口以及根據系統需要添加的A/D轉換器和EPROM、SRAM等。為了擴展其用途,還可以加上多路模擬開關和數字I/O端口。系統的A/D、數字I/O的設計可沿用傳統的設計方法,根據采集的精度、速率、通道數等諸元素選擇合適的芯片,設計時應充分注意抗干擾性,尤其對A/D采集更是如此。在微控制器和USB接口的選擇上有兩種方式:一種是采用普通單片機加上專用的USB通信芯片;另一種是采用具備USB通信功能的單片機。USB的另一大優點是可以總線供電,在數據采集設備中耗電量通常不大,因此可以設計成總線供電。

  一個USB設備的軟件一般包括主機的驅動程序、應用程序和寫進ROM里面的Firmware。Windows98提供了多種USB設備的驅動程序,但還沒有一種專門針對數據采集系統,所以必須針對特定的設備編制驅動程序。盡管系統已經提供了很多標準接口函數,但編制驅動程序仍然是USB開發中最困難的一件事。通常采用Windows DDK實現,但現在有許多第三方軟件廠商提供了各種各樣的生成工具,如Compuware的Driver Works、Blue Waters的Driver Wizard等軟件能夠輕易地生成高質量的USB驅動程序。單片機程序的編制也同樣困難,而且沒有任何一家廠商提供了自動生成的工具。編制一個穩定、完善的單片機程序直接關系到設備性能,必須給予充分的重視。以上兩個程序是開發者所關心的,而用戶卻不大關心。用戶關心的是如何高效地通過鼠標操作設備,如何處理和分析采集進來的大量數據。因此還必須有高質量的用戶軟件。用戶軟件必須有友好的界面、強大的數據分析和處理能力以及提供給用戶進行再開發的接口。

2 LabVIEW及其外部動態鏈接庫的調用

  LabVIEW 是美國國家儀器(NI)公司開發的一種基于圖形程序的虛擬儀表編程語言,其在測試與測量、數據采集、儀器控制、數字信號分析、工廠自動化等領域獲得了廣泛的應用。LabVIEW程序稱為虛擬儀器程序(簡稱VI),主要包括兩部分:前面板(即人機界面)和方框圖程序。前面板用于模擬真實儀器的面板操作,可設置輸入數值、觀察輸出值以及實現圖表、文本等顯示??驁D程序應用圖形編程語言編寫,相當于傳統程序的源代碼。其用于傳送前面板輸入的命令參數到儀器以執行相應的操作。LabVIEW的強大功能在于層次化結構,用戶可以把創建的VI程序當作子程序調用,以創建更復雜的程序,而且,調用階數可以是任意的。LabVIEW這種創建和調用子程序的方法使創建的程序模塊化,易于調試、理解和維護。LabVIEW編程方法與傳統的程序設計方法不同,它擁有流程圖程序設計語言的特點,擺脫了傳統程序語言線形結構的束縛。LabVIEW的執行順序依方塊圖間數據的流向決定,而不像一般通用的編程語言逐行執行。在編寫方塊圖程序時,只需從功能模塊中選用不同的函數圖標,然后再以線條相互連接,即可實現數據的傳輸。

  LabVIEW雖有接口卡的驅動和管理程序,但主要是針對NI公司自己生產的卡。對于普通的I/O卡,還不能直接被LabVIEW所應用,必須采取其他方法。其中可以用LabVIEW的PortIn和PortOut功能,但此法應用簡單,無法實現較復雜的接口功能。而采用動態鏈接庫,可以根據具體需要編寫適當的程序,靈活利用LabVIEW的各項功能。用戶可以自己編寫DLLs實現LabVIEW與硬件的鏈接。用VC++6.0編制動態鏈接庫,首先生成DLL框架,AppWizard將自動生成項目文件,但不產生任何代碼,所有代碼均需用戶自己鍵入。DLL需要的文件有:①h函數聲明文件;②c源文件;③def定義文件。h文件的作用是聲明DLL要實現的函數原型,供DLL編譯使用,同時還提供應用程序編譯使用。c文件是實現具體文件的源文件,它有一個入口點函數,在DLL被初次調用時運行,做一些初始化工作。一般情況下,用戶無須做什么初始化工作,只需保留入口點函數框架即可。def文件是DLL項目中比較特殊的文件,它用來定義該DLL項目將輸出哪些函數,只有該文件列出的函數才能被應用函數調用。要輸出的函數名列在該文件EXPORTS關鍵字下面。

3 基于AN2131Q的單光子采集系統[6]

  該采集系統由筆者自行開發并用于單光子計數種子活性快速檢測儀中。它主要由將光子信號轉為電信號的光電倍增管(PMT)及其輔助電路和基于AN2131Q的USB 采集卡組成。PMT及其前置放大器、放大器、甄別器等輔助電路能將微弱的光子信號轉換為15ns的標準TTL脈沖信號,脈沖信號經過分頻處理后再被USB采集,USB將采集的結果實時地傳給主機處理。

3.1 USB采集卡的硬件組成

  該采集卡由微控制器、USB通信接口、主機以及數字I/O端口組成,如圖1所示。

?

?

  筆者設計了一種同步傳輸方式" title="傳輸方式">傳輸方式的單片方案,應用了內置微處理器的USB芯片——EZ-USB AN2131Q。它是Cypress公司的一種內嵌微控制器的80腳USB芯片,包含三個8位多功能口,8位數據端口,16位地址端口,二個USB數據端口,二個可定義為16位的定時/計數器和其他輸入輸出端口。其采用一種基于內部RAM的解決方案,允許客戶隨時不斷地設置和升級,不受端口數、緩沖大小和傳輸速度及傳輸方式的限制。片內嵌有一個增強型的8051微控制器,其4個時鐘的循環周期使它比標準8051的速度快3倍。采用同步傳輸方式將單片機的計數值實時傳送給主機,而主機對計數器的控制信號則采用塊傳輸方式傳送。EZ-USB是Cypress公司推出的USB開發系統,它為USB外設提供了一種很好的集成化解決方案。EZ-USB在其內核已做了大量繁瑣的、重復性的工作,這樣就簡化了開發代碼,進而縮短了開發周期。此外,開發商還提供了配套的開發軟件 (包括編譯軟件uVision 51、調試軟件dScope 51、控制軟件EZ-USB Controll Panel)以及驅動程序GPD(General Purpose Driver)接口,以便于用戶進行開發使用。

3.2 USB采集卡的軟件構成

  在USB的Firmware中,采取同步傳輸(Isochronous Transactions)和塊傳輸(Bulk Transactions)兩種傳輸方式。同步方式用來實時傳送采集的數據,塊傳輸主要用來傳輸主機的命令信號和USB的狀態信息。塊傳輸中利用端點(Endpoint)2。兩種傳輸方式的核心中斷程序如下:

  void ISR_Sutok(void) interrupt 0???????? //塊傳輸方式

  {

???????? //initialize the couters in the 8051

?? ?   TMOD = 0x05;???????????

?? ?   TCON = 0x10;??????????

?? ?   TH0 = 0;

?? ?   TL0 = 0;

?? ?   thb=0;

?? ?   EZUSB_IRQ_CLEAR();

?? ?   USBIRQ = bmSUTOK;?????      //Clear SUTOK IRQ

  }

????void ISR_Sof(void) interrupt 0???   //同步傳輸方式

? {

    if(TCON&0x20){? //Deal with the counter overflow

????????????? TH0 = 0;

???????? ???? TL0 = 0;

???????? ???? THB++;

???????? ???? TCON&=0xdf;}

????????IN8DATA = TH0; ???       //3 Bytes counter result

????????IN8DATA = TL0;

????????IN8DATA= THB;

????????EZUSB_IRQ_CLEAR();

????????USBIRQ = bmSOF;??????????     //Clear SOF IRQ

  }

  在LabVIEW應用程序中設計了一Usb.dll文件作為LabVIEW與USB的驅動程序。由于EZ-USB開發系統中已經提供了底層驅動程序(GPD)接口函數,用戶只需調用這些函數即可與USB設備連接。因此在DLL的編制中只需調用它提供的函數,大大節約了開發時間,提高了開發速度。創建的Usb.dll文件中包含了如下五個輸出函數,功能說明如表1所示。

?

  其定義如下:

  LPSTR __declspec (dllexport) __stdcall Cntrol(int input);

  int __declspec (dllexport) __stdcall ReadResult(void);

  int __declspec (dllexport) __stdcall StartIsoStream(void);

  int __declspec (dllexport) __stdcall StartThread(void);

  int __declspec (dllexport) __stdcall StopThread(void);

  開啟設備和獲取采集數據的過程如圖2所示。它的主要功能有:開啟或關閉USB設備、檢測USB設備、設置USB數據傳輸管道(pipe)和端點(endpoint)、實時從USB接口采集數據、顯示并分析數據。

?

?

  程序在VC++6.0環境下編譯成功后自動生成DLL文件。調用時,在框圖程序窗口打開FunctionPalette(功能模板),在Advanced模塊包含有對庫函數的調用模塊,即CallLibraryFunction。把編寫好的DLLs放在當前目錄或特定目錄下。在功能模板放置函數調用模塊,然后選Configure,出現對話框。根據LabVIEW與DLLs的參數對應關系填寫好DLL文件的路徑(DLL文件不在當前目錄下)、被調用函數名、參數的類型及返回類型。需要注意的是,當調用多個函數時要分別填寫參數的個數和對應的類型,而且在調用過程中應保持數據位的一致。填好選擇OK按鈕后,LabVIEW將自動生成各參數的入口及出口狀態。這樣就實現了LabVIEW與DLLs的調用。

  通過上述方法成功實現了LabVIEW與USB驅動程序的數據交換,從而實現了以LabVIEW為應用程序的USB實時采集處理系統。將USB采集卡增加A/D或D/A并對電路作相應的改動后,即可實現傳統采集卡的所有功能。很明顯,這種集成了USB接口優點和LabVIEW圖形化編程語言的采集處理系統與傳統采集卡相比具有不可比擬的優勢,不僅性價比高、通用性強、易于開發、數據處理簡單,且可以大大縮短開發時間。

?

參考文獻

1 National Instruments. LabVIEW User Manual. U.S.A,1996

2 National Instruments Corporation. Function and VI Reference Manual,1998

3 Universal Serial Bus Specification, Revision 1.1. 1998

4 Mindshare, Inc. Universal Serial Bus System Architecture,?1997

5 Cypress semiconductor Corporation. The EZ-USB Integrated? Circuit ,Technical Reference Manual, 1999

6 魏亞東,邢 達. USB數據采集在單光子計數種子活性快速檢測儀中的應用.光電子激光,2002;13(10):1077~1080

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          91久久精品一区二区三区| 国产在线播放一区二区三区| 在线播放中文字幕一区| 美女视频一区免费观看| 毛片基地黄久久久久久天堂| 亚洲精品中文在线| 一本色道久久综合精品竹菊| 麻豆精品国产91久久久久久| 久久久久九九九九| 国产婷婷色一区二区三区四区| 亚洲国产高清aⅴ视频| 香蕉精品999视频一区二区| 国产日韩视频| 欧美日韩专区在线| 欧美精品免费在线| 久久高清一区| aa级大片欧美| 久久人人97超碰国产公开结果| 蜜臀av性久久久久蜜臀aⅴ四虎| 免费短视频成人日韩| 欧美日韩高清在线| 久久人91精品久久久久久不卡| 精品1区2区| 久久综合导航| 一区二区三区高清视频在线观看| 91久久精品一区二区别| 久久久久久97三级| 亚洲欧美国产不卡| 国产日韩欧美制服另类| 亚洲二区精品| 久久影院午夜片一区| 在线观看成人小视频| 亚洲欧美日韩天堂一区二区| 亚洲狠狠婷婷| 久久久久久久国产| 欧美国产免费| 欧美先锋影音| 亚洲精品日日夜夜| 亚洲福利视频免费观看| 欧美日一区二区在线观看| 欧美在线一区二区| 久久久久久久一区二区三区| 国产视频丨精品|在线观看| 亚洲精品在线一区二区| 亚洲日本va在线观看| 国产最新精品精品你懂的| 欧美一二区视频| 亚洲裸体视频| 欧美亚男人的天堂| 亚洲精品自在久久| 亚洲韩国一区二区三区| 久久九九全国免费精品观看| 欧美区日韩区| 欧美日韩精品福利| 国产香蕉久久精品综合网| 国产精品久久久久久久第一福利| 国产乱码精品| 国产伦精品一区二区三区在线观看| 欧美成人精品不卡视频在线观看| 国产日韩欧美在线视频观看| 国产日韩欧美不卡在线| 欧美日韩一区在线视频| 国产欧美日韩在线播放| 国产精品国产三级国产普通话99| 激情成人在线视频| 欧美午夜a级限制福利片| 亚洲欧洲偷拍精品| 欧美一区二区视频在线| 欧美日韩综合一区| 国产精品女主播一区二区三区| 欧美日韩亚洲国产一区| 国产人妖伪娘一区91| 欧美日本一区二区高清播放视频| 免费不卡欧美自拍视频| 国产视频久久久久久久| 欧美另类久久久品| 亚洲激情第一页| 亚洲欧洲综合另类在线| 日韩视频久久| 亚洲福利视频一区二区| 99re66热这里只有精品4| 极品尤物久久久av免费看| 亚洲精品欧美在线| 欧美一二三区在线观看| 久久婷婷综合激情| 国产精品日产欧美久久久久| 免费看的黄色欧美网站| 欧美电影专区| 欧美高清视频一区二区三区在线观看| 黄色日韩在线| 巨胸喷奶水www久久久免费动漫| 欧美日韩精品一区二区天天拍小说| 亚洲黄一区二区三区| 久久久久久尹人网香蕉| 99成人免费视频| 国产精品一区二区久久精品| 久久久久久久国产| 亚洲高清在线观看一区| 欧美丝袜第一区| 国产精品草草| 亚洲国产成人av好男人在线观看| 一区在线播放视频| 欧美日韩ab片| 国产精品亚洲综合一区在线观看| 先锋影音一区二区三区| 国产精品尤物福利片在线观看| 欧美日韩国产成人在线观看| 久久成人这里只有精品| 午夜一级久久| 久久免费少妇高潮久久精品99| 久久久久久综合网天天| 国内自拍一区| 美国十次了思思久久精品导航| 欧美三级韩国三级日本三斤| 亚洲日本一区二区三区| 欧美黄色aaaa| 久久久精品一区二区三区| 国产欧美大片| 国产精品亚洲视频| 老司机免费视频一区二区| 国产精品啊啊啊| 在线观看亚洲专区| 欧美一区二区视频网站| 亚洲乱码国产乱码精品精98午夜| 欧美日韩精选| 国产一区二区三区丝袜| 亚洲在线免费观看| 久久精品男女| 欧美一级视频免费在线观看| 亚洲影视综合| 中国亚洲黄色| 日韩视频在线免费观看| 久久伊人免费视频| 一本大道av伊人久久综合| 国产精品久久久久一区二区三区| 在线观看日产精品| 欧美日韩一区二区三区在线| 99精品久久免费看蜜臀剧情介绍| 久久久久久久97| 欧美一区国产一区| 久久国产综合精品| 亚洲免费在线看| 影音先锋日韩精品| 欧美a级片网| 性欧美办公室18xxxxhd| 国产精品久久久久久久第一福利| 久久综合狠狠综合久久综青草| 国产日韩欧美日韩大片| 欧美四级在线观看| 欧美性猛交xxxx免费看久久久| 一区二区三区国产| 亚洲国产日韩美| 亚洲少妇最新在线视频| 国产精品入口日韩视频大尺度| 久久精品一区二区三区四区| 日韩写真在线| 国产精品久久久久久一区二区三区| 国产精品任我爽爆在线播放| 国产日韩在线看片| 亚洲另类春色国产| 国产视频一区在线| 国产精品入口| 精东粉嫩av免费一区二区三区| 欧美日韩综合在线免费观看| 国产一区久久| 免费不卡在线视频| 国产乱码精品一区二区三区五月婷| 亚洲九九爱视频| 国产精品三上| 国产一区亚洲| 国产一区二区三区的电影| 国产在线观看一区| 久久av最新网址| 欧美中文字幕精品| 永久免费视频成人| 欧美日韩视频在线| 国产精品久久久久久亚洲调教| 欧美在线一区二区三区| 欧美高清在线一区二区| 亚洲一区二区在线播放| 日韩午夜精品| 国产精品女人毛片| 亚洲深夜激情| 国产精品家庭影院| 国产精品av一区二区| 国产欧美日韩不卡免费| 国产精品v一区二区三区| 亚洲精品欧美精品| 99精品欧美一区| 国产精品久久久久aaaa樱花| 亚洲欧洲日本一区二区三区| 一区二区三区在线观看欧美| 国产欧美日韩综合精品二区| 欧美在线观看天堂一区二区三区| 欧美一区二区视频观看视频| 国产美女精品免费电影| 黑人一区二区| 欧美成人三级在线| 在线免费观看一区二区三区| 亚洲美女av电影| 久久久久久综合网天天| 欧美日韩国产大片| 99亚洲视频| 亚洲图片自拍偷拍| 欧美激情一区二区三区| 亚洲毛片播放| 久久九九热re6这里有精品| 亚洲一区二区精品| 国产免费一区二区三区香蕉精| 亚洲电影免费观看高清完整版| 欧美亚洲视频在线看网址| 99在线观看免费视频精品观看| 性欧美长视频| 久久九九热免费视频| 亚洲第一区中文99精品| 国产精品美女久久久免费| 免费不卡在线观看av| 亚洲网站在线观看| 欧美日韩一区二区三区在线视频| 国产一区在线免费观看| 欧美视频官网| 美女视频网站黄色亚洲| 日韩一级黄色av| 欧美成人精精品一区二区频| 欧美日韩无遮挡| 亚洲欧美日韩精品久久亚洲区| 亚洲午夜在线| 久久精品女人| 欧美成人自拍视频| 亚洲激情网站免费观看| 亚洲电影免费观看高清完整版在线| 在线日韩电影| 欧美久久一级| 亚洲欧美国内爽妇网| 在线观看欧美| 亚洲精品综合在线| 久久久久.com| 一本色道久久综合狠狠躁的推荐| 亚洲欧洲在线看| 国产亚洲午夜高清国产拍精品| 另类天堂视频在线观看| 欧美一级黄色录像| 国产欧美一区二区三区久久| 国产欧美亚洲精品| 久久天堂精品| 在线成人黄色| 激情综合亚洲| 免费观看不卡av| 欧美在线免费播放| 亚洲美女区一区| 国产精品久久一区主播| 日韩视频免费看| 久久久亚洲影院你懂的| 欧美福利视频在线| 久久精视频免费在线久久完整在线看| 欧美亚洲午夜视频在线观看| 欧美一区二区三区视频| 欧美成人精品一区二区| 亚洲第一级黄色片| 欧美日本在线一区| 国产精品久久久久aaaa九色| 亚洲娇小video精品| 久久精品人人做人人综合| 一区二区日韩精品| 欧美大片va欧美在线播放| 亚洲三级视频| 国产乱码精品| 久久国产精品一区二区| 欧美华人在线视频| 欧美在线啊v| 久久人91精品久久久久久不卡| 久热精品视频| 黄色成人在线免费| 麻豆av一区二区三区久久| 免费成人网www| 国产欧美91| 日韩午夜剧场| 亚洲欧美日韩中文在线制服| 亚洲国产中文字幕在线观看| 欧美日韩人人澡狠狠躁视频| 一区二区黄色| 一区二区日韩| 国产精品私拍pans大尺度在线| 一区二区三区在线观看视频| 一区二区三区在线看| 久久亚洲不卡| 黄色日韩网站视频| 欧美久久综合| 欧美在线一二三| 国产欧美一区二区三区在线老狼| 国产欧美1区2区3区| 国产精品午夜久久| 久久久天天操| 欧美色欧美亚洲另类二区| 亚洲第一级黄色片| 亚洲综合日韩| 蜜桃av一区二区| 亚洲视频在线观看三级| 久久大综合网| 在线视频日韩| 欧美体内she精视频在线观看| 国产精品国产自产拍高清av| 亚洲天堂av电影| 99爱精品视频| 一区二区三区日韩欧美| 亚洲精选91| 欧美日韩国产大片| 在线日韩欧美| 99riav久久精品riav| 午夜精品一区二区三区在线播放| 亚洲国产成人91精品| 亚洲综合色婷婷| 久久在线免费视频| 国产精品乱码久久久久久| 亚洲精品日韩在线| 一本综合久久| 免费久久99精品国产自在现线| 欧美极品影院| 亚洲精品女人| 欧美精品在线观看| 欧美午夜无遮挡| 欧美日韩在线直播| 欧美视频在线观看免费网址| 狠狠色丁香久久婷婷综合_中| 欧美色网一区二区| 欧美人成在线视频| 国产精品高潮呻吟久久av黑人| 欧美福利视频|