《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于LabVIEW與USB的虛擬儀器接口設計
基于LabVIEW與USB的虛擬儀器接口設計
摘要: 鑒于以上LabVIEW和USB接口儀器的優(yōu)點,實現LabVIEW下USB接口的接口程序就顯得尤為重要。在此,介紹了一種基于LabVIEW與USB的虛擬儀器接口設計的方法。 ...
Abstract:
Key words :

0 引 言
    LabVIEW是一種基于圖形程序的虛擬儀器編程語言,與傳統儀器相比,虛擬儀器技術以計算機為平臺,在程序界面中有用于模擬真實儀器面板的控件可供調用,可用于設置輸入數值、觀察輸出值以及實現圖表、文本等顯示,因此具有友好的人機界面。LabVIEW具有強大的數據采集、分析、處理、顯示和存儲功能。在測試與測量、數據采集、儀器控制、數字信號分析、工廠自動化等領域獲得了廣泛的應用,顯示出其強勁的生命力。LabVIEW平臺下開發(fā)的虛擬儀器在相同硬件條件下,改變軟件即可實現不同的儀器功能,真正實現了“軟件即儀器”的設計理念。
    實現LabVIEW對數據的采集和處理,傳統的方法是采用數據采集卡,但是這些數據采集卡設備存在安裝不便,價格昂貴,受計算機插槽數量、地址、中斷資源的限制,可擴展性差等缺點。在LabVIEW平臺下使用USB總線進行數據傳輸,由于USB接口總線具有即插即用,接口簡單,傳送速率高等特點,因此基于Lab-VIEW和USB接口的虛擬儀器具有靈活、可靠、經濟等特點。
    鑒于以上LabVIEW和USB接口儀器的優(yōu)點,實現LabVIEW下USB接口的接口程序就顯得尤為重要。在此,介紹了一種基于LabVIEW與USB的虛擬儀器接口設計的方法。


1 設計方案
    由于各類基于USB總線的數據采集、控制的虛擬儀器都涉及到LabVIEW與USB接口程序的設計,為了不失一般性,這里以虛擬示波器為例,介紹該接口程序的設計方法。
1.1 硬件設計方案
    該系統是虛擬示波器,主要工作是采集被測模擬信號,并將信號通過USB2.o接口傳輸到PC104計算機,運行計算機LabVIEW平臺下的應用軟件完成數據的處理與記錄,并在顯示器上繪制曲線。
    該系統主要由模擬信號采集模塊、FPGA控制模塊、USB傳輸模塊和計算機組成,其系統結構框圖如圖1所示。

1.1.1 FPGA控制模塊
    該設計采用Alter公司的Cyclone系列現場可編程門陣列(Field Programmable Gate Array,FPGA),芯片EP1c3T144來實現高速數據控制及傳輸。
    EP1C3T144采用TPFQ封裝,擁有100個I/O口和2 910個邏輯單元,是一種高密度、高性能的FPGA。
    FPGA的主要功能是高速數據采集、數據幀控制,以及與USB單片機進行通信。具體說明如下:
    (1)高速數據采集及增益控制。高速數據采集功能是控制高速A/D的時序進行數據采集;增益控制功能是通過向程控增益放大電路發(fā)送控制命令,進而達到控制模擬電路放大倍數的目的。由于篇幅關系,有關這兩個方面的內容不做詳細介紹。
    (2)數據幀控制。FPGA每秒向PC機發(fā)送100幀和每幀512 B的數據,將如此高速的數據進行準確無誤的控制和傳輸是系統的技術難點之一。該方案中,每幀數據由3部分組成:如圖2所示。

其中,每一幀數據的開始位和結束位是固定數據,計算機的測井應用軟件判斷接收到每一幀數據的幀頭及幀尾是否錯誤。若出現錯誤,將該幀數據丟棄,同時準備接收下一幀數據。數據第二部分,模擬信號由FPGA控制A/D芯片采集得到。
1.1.2 USB傳輸模塊
    Cypress公司的。EZ-USB FX2芯片CY7C68013是一款性能較高的USB 2.0微控制器。在單片機上集成USB 2.O收發(fā)器、SIE(串行接口引擎)、增強的8051微控制器和可編程的外圍接口。EZ-USB FX2中的智能SIE可以處理大部分USB 2.0協議,使得微控制器可以專注于應用功能,從而減少了開發(fā)時間,確保了USB的兼容性。
    CY7C68013有3種可用的接口模式:端口、GPIF主控和Slave FIFO方式。在該系統中,根據系統對數據傳輸速度和實時性的要求,配置CY7C68013工作的接口模式為Slave FIFO模式。在Slave FIFO模式下,外部邏輯或外部處理器直接與FX2端點FIFO相連。這種模式下,外部主控器FPGA通過異步方式與CY7C68013進行數據通信。
    FPGA與CY7C68013之間的硬件接口框圖如圖3所示。SL_WR/SL_RD是Slave FIFO的寫使能/讀允許信號。FPGA向CY7C68013提供Slave FIFO輸出允許信號SL_OE,僅在數據輸出時有效。FB[7:O]為8位雙向數據總線。ADDR[1:0]為FIFO端點選擇信號。在數據輸入時固定為00,選擇的是端點2;在數據輸出時固定為10,選擇的是端點6。

 

 

1.2 軟件設計方案
    為了能夠在LabVIEW中充分利用其他編程語言的優(yōu)勢,LabVIEW提供了強大的外部程序接口能力。這些接口包括DLL,C語言接口(CIN),ActiveX,.NET,DDE,Matlab等。通過DLL,可以方便地調用c,VC,VB等編程語言編寫的程序以及Windows自帶的大量API函數。動態(tài)鏈接庫(Dynamic LinkLibrary,DLL)是一個可以多方共享的程序模塊,內部對共享的例程和資源進行了封裝。動態(tài)鏈接庫文件的擴展名一般是.dll,DLL和可執(zhí)行文件(exe)非常相似,最大的區(qū)別在于DLL雖然包含了可執(zhí)行代碼卻不能單獨執(zhí)行,必須由Windows應用程序直接或間接調用。
    因此,開發(fā)上層應用軟件的首要工作是DLL動態(tài)鏈接庫的開發(fā),在這里DLL動態(tài)鏈接庫采用VC++6.0進行開發(fā)。LabVIEW調用DLL示意圖如圖4所示,由于DLL能夠調用API函數與USB設備進行通信,而采用NI公司的虛擬儀器軟件開發(fā)平臺LabVIEW可以充分發(fā)揮虛擬儀器的靈活性。因此,將兩者優(yōu)勢結合起來,該設計的虛擬示波器用戶控制面板具有界面友好,操作直觀等優(yōu)點,通過面板上的各種控件便可實現數據的采集、存儲、再現及分析等功能。

2 軟件設計
    軟件設計是虛擬儀器開發(fā)的必備環(huán)節(jié)。基于LabVIEW與USB的虛擬儀器的軟件設計分為4部分:主機操作系統上的客戶驅動程序、主機應用程序、Ez-USB FX2的固件程序以及FPGA軟件。
2.1 驅動程序
    主機軟件部分包括USB客戶驅動程序和主機應用程序。USB客戶驅程序是支持即插即用功能的標準WDM驅動程序,它為實現控制傳輸、中斷傳輸和批傳輸提供了標準接口函數。一般情況下Cypress公司所提供的客戶驅動程序已經能夠滿足需求,如果有特別的需求,可以在其基礎上開發(fā)自己的驅動程序。
2.2 應用程序LabVIEW調用DLL
    主機應用程序是系統與用戶的接口,需要一個圖形用戶界面來控制所調用的函數,這里采用LabVIEW來編寫應用程序。它通過調用DLL與驅動程序進行通信,以完成對外設的數據傳輸。在編寫用戶程序時,首先要建立與外設的連接,然后才能實施數據的傳輸。在DLL程序中主要用到2個API函數:一是利用Create-File得到USB句柄;二是利用DeviceIoControl來向設備驅動程序發(fā)送請求,完成在EZ-USB FX2中數據批傳輸的讀取與寫入。
    采用LabVIEw來設計這里的應用程序,關鍵是通過Call Library Function節(jié)點來調用前面所編寫DLL文件中的各個函數。該節(jié)點位于Functions Palette的Connectivity |Libraries & Executables | Call LibraryFunction Node,如圖5所示。

    通過CLF節(jié)點來調用前面所編寫的DLL步驟如下:
    (1)單擊該節(jié)點將其放置在程序框圖中,此時該節(jié)點沒有與任何DLL連接;
    (2)右擊該節(jié)點并選擇Configure選項或者直接雙擊該節(jié)點可以打開庫函數配置對話框;
    (3)在該模塊的屬性設置中選擇DLL文件中所包含的某個函數,然后再設置好函數的返回類型和參數類型。這樣就可以使LabVIEW調用DLL文件中的一個函數(針對DLL中的每個函數都需要設置一個CallLibrary Function Node)。最后把該模塊的另一端連接到顯示模塊,就可以顯示從USB接口讀進的數據。

 

 

2.3 EZ-USB FX2的固件程序
    固件程序是指運行在設備CPU中的程序。只有在該程序運行時,外設才能稱之為具有特定功能的外部設備。固件程序負責初始化各硬件單元,重新配置設備。固件代碼的存儲位置一般有2種:
    第一種是存在主機中,設備加電后由驅動程序把固件下載到片內RAM后執(zhí)行,即“重新枚舉”;
    第二種是把固件代碼固化到1片E2RPOM中,外設加電后由FX2通過I2C總線下載到片內RAM后自動執(zhí)行。筆者選用第一種方式,這種方式便于系統的調試和升級。
    為了簡化和加速用戶使用EZ-USB FX2芯片進行USB外設的開發(fā)過程,Cypress公司提供了一個完整的固件程序架構,用戶只需要提供一個USB描述符表,添加其他端點接收和發(fā)送數據的通信代碼,以及控制外圍電路的程序代碼。具體操作可以參考文獻[1]中的內容。
2.4 FPGA軟件
    該系統采用VHDL和BlockDiagram/Schematic相結合的方法來對各功能模塊進行邏輯描述,然后通過EDA開發(fā)平臺,對FPGA芯片進行編程,實現系統的設計要求。
    數據采集系統的數據方向是雙向的。從計算機端來看,“讀數據”即FPGA通過CY7C68013向計算機發(fā)送測井數據;“寫數據”即計算機通過CY7C68013向FPGA發(fā)送測井命令。
    如圖6所示,“讀數據模式”的工作原理是計算機在數據采集模式下,CY7C68013的PD7被設置為低電平,FPGA判斷該位電平為低,則工作在向USB發(fā)送數據模式。此時,FPGA判斷USB單片機FULL管腳是否有效,若CY7C68013中FIFO6未滿,則一直向FIFO6發(fā)送數據。計算機接收到被A/D數據后,完成計算、繪圖、保存等功能。

 

“寫數據模式”的工作原理:計算機在發(fā)送命令模式下,CY7C68013的PD7被設置為高電平,FPGA判斷該位電平為高,則工作在接收USB發(fā)送命令模式。此時,FPGA判斷USB單片機EMPTY管腳是否有效,若CY7C68013中FIFO2未空,則一直讀取FIFO2中的命令數據,同時根據命令改變A/D采集的通道數和程控放大器的增益值。


3 結語
    設計的基于LabVIEW與USB的虛擬儀器不但具有體積小,功耗低,成本低,使用靈活方便,硬件電路簡單,可在線更新等特點;而且還充分利用了微機資源和LabVIEw的靈活性,因而易開發(fā),且擴展性好。目前,基于LabVIEW與USB的虛擬儀器已經用于我校電子電工實驗室建設之中,能達到高速數據傳輸、記錄及顯示的要求,具有較高的實用價值。

 

 

此內容為AET網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品久久7| 亚洲级视频在线观看免费1级| 久久综合国产精品台湾中文娱乐网 | 99日韩精品| 在线高清一区| 一色屋精品视频在线看| 韩日视频一区| 国产亚洲一级高清| 国产日韩欧美成人| 国产日韩欧美夫妻视频在线观看| 国产精品青草综合久久久久99| 欧美视频在线免费看| 欧美日韩一二三四五区| 欧美日韩亚洲一区二区三区四区| 欧美三级午夜理伦三级中文幕| 欧美激情在线有限公司| 欧美日韩精品在线视频| 欧美日韩综合| 国产精品日韩一区| 国产日韩av在线播放| 国产一区二区你懂的| 黄色日韩网站视频| 亚洲国产成人精品视频 | 亚洲欧洲日本一区二区三区| 亚洲级视频在线观看免费1级| 亚洲精品免费观看| 在线视频亚洲| 香蕉成人久久| 亚洲国产一区二区a毛片| 亚洲免费av网站| 亚洲香蕉成视频在线观看 | 国产精品一区二区你懂的| 国产日本欧美在线观看| 狠狠色狠狠色综合人人| 亚洲国产精品成人| 亚洲伦理网站| 一区二区三区日韩欧美精品| 亚洲欧美成人一区二区在线电影| 久久精品一区四区| 日韩午夜在线电影| 亚洲女人天堂av| 久久久久一区二区| 欧美福利视频在线观看| 欧美亚洲第一页| 国产一区二区精品| 亚洲美女黄网| 欧美一区二区精品久久911| 最新中文字幕一区二区三区| 亚洲视频精选| 久久精品亚洲一区| 欧美精品www| 国产女人精品视频| 在线观看视频欧美| 一本色道久久综合| 久久国产精品亚洲77777| 一本色道久久精品| 久久精品视频99| 欧美日韩午夜在线| 国产一区二区高清不卡| 亚洲精品国产欧美| 欧美亚洲综合久久| 一区二区三区视频在线| 久久久久久亚洲精品中文字幕| 欧美极品一区二区三区| 国产精品综合色区在线观看| 亚洲黄色尤物视频| 亚洲自拍16p| 亚洲精品自在久久| 欧美制服第一页| 欧美日韩和欧美的一区二区| 国产视频丨精品|在线观看| 亚洲人成7777| 久久爱www久久做| 亚洲午夜在线| 欧美高清视频免费观看| 国产日韩欧美视频| 一区二区三区精品久久久| 亚洲国产天堂久久国产91| 午夜精品久久久久久久99热浪潮 | 欧美一区二区三区免费视| 欧美激情视频免费观看| 国产亚洲一本大道中文在线| 在线视频你懂得一区| 亚洲理伦电影| 老司机午夜精品| 国产精品一区毛片| 日韩一区二区精品视频| 亚洲国产美女精品久久久久∴| 亚洲欧美日韩一区在线| 欧美精品18| 在线精品一区| 午夜性色一区二区三区免费视频 | 国产精品视频一区二区三区| 亚洲免费大片| 亚洲人体大胆视频| 久久综合中文字幕| 国产午夜久久久久| 亚洲无线一线二线三线区别av| 日韩午夜在线电影| 嫩草成人www欧美| 激情六月婷婷久久| 久久国产福利| 久久精品夜色噜噜亚洲a∨| 国产精品久久久久婷婷| 夜夜嗨av一区二区三区| 亚洲乱码国产乱码精品精98午夜| 久色成人在线| 好吊日精品视频| 久久av资源网| 久久视频国产精品免费视频在线| 国产欧美一区二区三区视频| 亚洲一区二区三区精品视频| 亚洲中字黄色| 国产精品成av人在线视午夜片| 亚洲毛片在线看| 一区二区精品在线观看| 欧美精品电影在线| 91久久久国产精品| 亚洲精品综合| 欧美理论电影在线播放| 亚洲精品123区| 亚洲美女诱惑| 欧美日韩a区| 99热在这里有精品免费| 亚洲一区二区影院| 国产精品电影网站| 亚洲一区精彩视频| 欧美一区二区视频观看视频| 国产欧美精品日韩精品| 欧美在线地址| 久久综合精品一区| 亚洲高清视频的网址| 亚洲美女福利视频网站| 欧美日韩精品久久| 一区二区三区免费看| 亚洲欧美日本伦理| 国产伦精品一区二区三区视频孕妇| 午夜国产精品视频免费体验区| 久久久91精品| 在线观看亚洲专区| 妖精成人www高清在线观看| 欧美日韩中文字幕在线| 亚洲一区二区三区免费视频| 久久精品动漫| 亚洲电影有码| 中国av一区| 国产欧美在线观看| 久久国产精品久久久| 欧美黄色精品| 亚洲午夜精品一区二区三区他趣| 欧美综合第一页| 在线观看一区二区视频| 一区二区免费在线播放| 国产九九精品视频| 亚洲第一网站免费视频| 欧美久久视频| 亚洲欧美高清| 免费视频最近日韩| 99精品久久免费看蜜臀剧情介绍| 午夜欧美视频| 亚洲高清视频一区二区| 亚洲免费一在线| 国产自产在线视频一区| 亚洲另类在线视频| 国产精品夜夜夜一区二区三区尤| 亚洲高清在线观看一区| 欧美日韩国产精品一卡| 欧美亚洲专区| 欧美日韩国产精品专区| 小处雏高清一区二区三区| 欧美福利视频在线| 亚洲欧美制服另类日韩| 欧美成人xxx| 亚洲女与黑人做爰| 欧美激情精品| 欧美诱惑福利视频| 欧美日韩国产一区二区| 性伦欧美刺激片在线观看| 欧美精品一二三| 欧美一二三区精品| 欧美日韩一区二区在线| 亚洲大片在线| 国产精品夜夜夜一区二区三区尤| 亚洲韩日在线| 国产精品午夜av在线| 亚洲精品久久久久中文字幕欢迎你| 国产精品你懂的| 亚洲精品国产精品久久清纯直播| 国产农村妇女毛片精品久久麻豆| 亚洲精品在线电影| 国产一区二区三区久久精品| 亚洲一区二区黄| 亚洲黄色三级| 久久夜色精品国产噜噜av| 亚洲男人av电影| 欧美日韩在线播放三区| 亚洲黄色小视频| 国产视频不卡| 亚洲欧美影院| 一区二区高清|