日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
基于LabVIEW的USB實(shí)時(shí)數(shù)據(jù)采集處理系統(tǒng)的實(shí)現(xiàn)
基于LabVIEW的USB實(shí)時(shí)數(shù)據(jù)采集處理系統(tǒng)的實(shí)現(xiàn)
 更新時(shí)間:2008-8-4 4:41:07  點(diǎn)擊數(shù):21
【字體: 字體顏色


    

摘要:介紹了以圖形化編程語(yǔ)言L(fǎng)abVIEW為應(yīng)用程序開(kāi)發(fā)平臺(tái)的USB數(shù)據(jù)采集處理系統(tǒng)的設(shè)計(jì),并給出了LabVIEW對(duì)外部動(dòng)態(tài)鏈接庫(kù)的調(diào)用方法以及USB驅(qū)動(dòng)程序的設(shè)計(jì)方法。

    關(guān)鍵詞:USB LabVIEW 數(shù)據(jù)采集

通用串行總線(xiàn)USB(Universal Serial Bus)作為一種新型的數(shù)據(jù)通信接口在越來(lái)越廣闊的領(lǐng)域得到應(yīng)用。而基于USB接口的數(shù)據(jù)采集卡與傳統(tǒng)的PCI卡及ISA卡相比具有即插即用、熱插拔、傳輸速度快、通用性強(qiáng)、易擴(kuò)展和性?xún)r(jià)比高等優(yōu)點(diǎn)。

USB的應(yīng)用程序一般用Visual C++編寫(xiě),較為復(fù)雜,花費(fèi)的時(shí)間較長(zhǎng)。由美國(guó)國(guó)家儀器(VI)公司開(kāi)發(fā)的LabVIEW語(yǔ)言是一種基于圖形程序的編程語(yǔ)言,內(nèi)含豐富的數(shù)據(jù)采集、數(shù)據(jù)信號(hào)分析分析以及控制等子程序,用戶(hù)利用創(chuàng)建和調(diào)用子程序的方法編寫(xiě)程序,使創(chuàng)建的程序模塊化,易于調(diào)試、理解和維護(hù),而且程序編程簡(jiǎn)單、直觀(guān)。因此它特別適用于數(shù)據(jù)采集處理系統(tǒng)。利用它編制USB應(yīng)用程序,把LabVIEW語(yǔ)言和USB總線(xiàn)緊密結(jié)合起來(lái)的數(shù)據(jù)采集系統(tǒng)將集成兩者的優(yōu)點(diǎn)。USB總線(xiàn)可以實(shí)現(xiàn)對(duì)外部數(shù)據(jù)實(shí)時(shí)高速的采集,把采集的數(shù)據(jù)傳送到主機(jī)后再通過(guò)LabVIEW的功能模塊順利實(shí)現(xiàn)數(shù)據(jù)顯示、分析和存儲(chǔ)。

1 USB及其在數(shù)據(jù)采集設(shè)備中的應(yīng)用

USB自1995年在Comdex上亮相以來(lái),已廣泛地為各PC廠(chǎng)家所支持,F(xiàn)在生產(chǎn)的PC幾乎都配置了USB接口,Microsoft的Windows 98、NT以及Mac OS、Linux等流行操作系統(tǒng)都增加對(duì)USB的支持。USB具有速度快、設(shè)備安裝和配置容易、易于擴(kuò)展、能夠采用總線(xiàn)供電、使用靈活等主要優(yōu)點(diǎn),應(yīng)用越來(lái)越廣泛。

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

一個(gè)USB設(shè)備的軟件一般包括主機(jī)的驅(qū)動(dòng)程序、應(yīng)用程序和寫(xiě)進(jìn)ROM里面的Firmware。Windows98提供了多種USB設(shè)備的驅(qū)動(dòng)程序,但還沒(méi)有一種專(zhuān)門(mén)針對(duì)數(shù)據(jù)采集系統(tǒng),所以必須針對(duì)特定的設(shè)備編制驅(qū)動(dòng)程序。盡管系統(tǒng)已經(jīng)提供了很多標(biāo)準(zhǔn)接口函數(shù),但編制驅(qū)動(dòng)程序仍然是USB開(kāi)發(fā)中最困難的一件事。通常采用Windows DDK實(shí)現(xiàn),但現(xiàn)在有許多第三方軟件廠(chǎng)商提供了各種各樣的生成工具,如Compuware的Driver Works、Blue Waters的Driver Wizard等軟件能夠輕易地生成高質(zhì)量的USB驅(qū)動(dòng)程序。單片機(jī)程序的編制也同樣困難,而且沒(méi)有任何一家廠(chǎng)商提供了自動(dòng)生成的工具。編制一個(gè)穩(wěn)定、完善的單片機(jī)程序直接關(guān)系到設(shè)備性能,必須給予充分的重視。以上兩個(gè)程序是開(kāi)發(fā)者所關(guān)心的,而用戶(hù)卻不太關(guān)心。用戶(hù)關(guān)心的是如何高效地通過(guò)鼠標(biāo)操作設(shè)備,如何處理和分析采集進(jìn)來(lái)的大量數(shù)據(jù)。因此還必須有高質(zhì)量的用戶(hù)軟件。用戶(hù)軟件必須有友好的界面、強(qiáng)大的數(shù)據(jù)分析和處理能力以及提供給用戶(hù)進(jìn)行再開(kāi)發(fā)的接口。

2 LabVIEW及其外部動(dòng)態(tài)鏈接庫(kù)的調(diào)用

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

LabVIEW雖有接口卡的驅(qū)動(dòng)和管理程序,但主要是針對(duì)NI公司自己生產(chǎn)的卡。對(duì)于普通的I/O卡,還不能直接被LabVIEW所應(yīng)用,必須采取其他方法。其中可以用LabVIEW的PortIn和PortOut功能,但此法應(yīng)用簡(jiǎn)單,無(wú)法實(shí)現(xiàn)較復(fù)雜的接口功能。而采用動(dòng)態(tài)鏈接庫(kù),可以根據(jù)具體需要編寫(xiě)適當(dāng)?shù)某绦颍`活利用LabVIEW的各項(xiàng)功能。用戶(hù)可以自己編寫(xiě)DLLs實(shí)現(xiàn)LabVIEW與硬件的鏈接。用VC++6.0編制動(dòng)態(tài)鏈接庫(kù),首先生成DLL框架,AppWizard將自動(dòng)生成項(xiàng)目文件,但不產(chǎn)生任何代碼,所有代碼均需用戶(hù)自己鍵入。DLL需要的文件有:①h函數(shù)聲明文件;②c源文件;③def定義文件。H文件的作用是聲明DLL要實(shí)現(xiàn)的函數(shù)原型,供DLL編譯使用,同時(shí)還提供應(yīng)用程序編譯使用。C文件是實(shí)現(xiàn)具體文件的源文件,它有一個(gè)入口點(diǎn)函數(shù),在DLL被初次調(diào)用的運(yùn)行,做一些初始化工作。一般情況下,用戶(hù)無(wú)須做什么初始化工作,只需保留入口點(diǎn)函數(shù)框架即可。def文件是DLL項(xiàng)目中比較特殊的文件,它用來(lái)定義該DLL項(xiàng)目將輸出哪些函數(shù),只有該文件列出的函數(shù)才能被應(yīng)用函數(shù)調(diào)用。要輸出的函數(shù)名列在該文件EXPORTS關(guān)鍵字下面。

3 基于AN2131Q的單光子采集系統(tǒng)

該采集系統(tǒng)由筆者自行開(kāi)發(fā)并用于單光子計(jì)數(shù)種子活性快速檢測(cè)儀中。它主要由將光子信號(hào)轉(zhuǎn)為電信號(hào)的光電倍增管(PMT)及其輔助電路和基于AN2131Q的USB采集卡組成。PMT及其前置放大器、放大器、甄別器等輔助電路能將微弱的光子信號(hào)轉(zhuǎn)換為15ns的標(biāo)準(zhǔn)TTL脈沖信號(hào),脈沖信號(hào)經(jīng)過(guò)分頻處理后再被USB采集,USB將采集的結(jié)果實(shí)時(shí)地傳給主機(jī)處理。

3.1 USB采集卡的硬件組成

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

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

圖2 開(kāi)啟設(shè)備和獲取采集數(shù)據(jù)的流程圖

    3.2 USB采集卡的軟件構(gòu)成

在USB的Firmware中,采取同步傳輸(Isochronous Transactions)和塊傳輸(Bulk Transactions)兩種傳輸方式。同步方式用來(lái)實(shí)時(shí)傳送采集的數(shù)據(jù),塊傳輸主要用來(lái)傳輸主機(jī)命令信號(hào)和USB的狀態(tài)信息。塊傳輸中利用端點(diǎn)(Endpoint)2。兩種傳輸方式的核心中斷程序如下:

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

{

//initialize the couters in the 8051

TMOD=0x05;

TCON=0x10;

TH0=0;

TL0=0;

Thb=0,

TH0=0;

TL0=0;

thb=0;

EZUSB_IRQ_CLEAR();

USBIRQ=bmSUTOK; //Clear SUTOK IRQ

}

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

{

if(TCON&0x21){ //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應(yīng)用程序中設(shè)計(jì)了一Usb.dll文件作為L(zhǎng)abVIEW與USB的驅(qū)動(dòng)程序。由于EZ-USB開(kāi)發(fā)系統(tǒng)中已經(jīng)提供了底層驅(qū)動(dòng)程序(GPD)接口函數(shù),用戶(hù)只需調(diào)用這些函數(shù)即可與USB設(shè)備連接。因此在DLL的編制中只需調(diào)用它提供的函數(shù),大大節(jié)約了開(kāi)發(fā)時(shí)間,提高了開(kāi)發(fā)速度。創(chuàng)建的Usb.dll文件中包含了如下五個(gè)輸出函數(shù),功能說(shuō)明如表1所示。

表1 Usb.dll包含函數(shù)的功能說(shuō)明

  • 上一篇: PCI總線(xiàn)協(xié)議的FPGA實(shí)現(xiàn)及驅(qū)動(dòng)設(shè)計(jì)
  • 下一篇: 基于USB總線(xiàn)的高速數(shù)據(jù)采集系統(tǒng)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話(huà):0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1