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

0 引 言
    LabVIEW是一種基于圖形程序的虛擬儀器編程語言,與傳統儀器相比,虛擬儀器技術以計算機為平臺,在程序界面中有用于模擬真實儀器面板的控件可供調用,可用于設置輸入數值、觀察輸出值以及實現圖表、文本等顯示,因此具有友好的人機界面。LabVIEW具有強大的數據采集、分析、處理、顯示和存儲功能。在測試與測量、數據采集、儀器控制、數字信號分析、工廠自動化等領域獲得了廣泛的應用,顯示出其強勁的生命力。LabVIEW平臺下開發的虛擬儀器在相同硬件條件下,改變軟件即可實現不同的儀器功能,真正實現了“軟件即儀器”的設計理念。
    實現LabVIEW對數據的采集和處理,傳統的方法是采用數據采集卡,但是這些數據采集卡設備存在安裝不便,價格昂貴,受計算機插槽數量、地址、中斷資源的限制,可擴展性差等缺點。在LabVIEW平臺下使用USB總線進行數據傳輸,由于USB接口總線具有即插即用,接口簡單,傳送速率高等特點,因此基于Lab-VIEW和USB接口的虛擬儀器具有靈活、可靠、經濟等特點。
    鑒于以上LabVIEW和USB接口儀器的優點,實現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的時序進行數據采集;增益控制功能是通過向程控增益放大電路發送控制命令,進而達到控制模擬電路放大倍數的目的。由于篇幅關系,有關這兩個方面的內容不做詳細介紹。
    (2)數據幀控制。FPGA每秒向PC機發送100幀和每幀512 B的數據,將如此高速的數據進行準確無誤的控制和傳輸是系統的技術難點之一。該方案中,每幀數據由3部分組成:如圖2所示。

其中,每一幀數據的開始位和結束位是固定數據,計算機的測井應用軟件判斷接收到每一幀數據的幀頭及幀尾是否錯誤。若出現錯誤,將該幀數據丟棄,同時準備接收下一幀數據。數據第二部分,模擬信號由FPGA控制A/D芯片采集得到。
1.1.2 USB傳輸模塊
    Cypress公司的。EZ-USB FX2芯片CY7C68013是一款性能較高的USB 2.0微控制器。在單片機上集成USB 2.O收發器、SIE(串行接口引擎)、增強的8051微控制器和可編程的外圍接口。EZ-USB FX2中的智能SIE可以處理大部分USB 2.0協議,使得微控制器可以專注于應用功能,從而減少了開發時間,確保了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中充分利用其他編程語言的優勢,LabVIEW提供了強大的外部程序接口能力。這些接口包括DLL,C語言接口(CIN),ActiveX,.NET,DDE,Matlab等。通過DLL,可以方便地調用c,VC,VB等編程語言編寫的程序以及Windows自帶的大量API函數。動態鏈接庫(Dynamic LinkLibrary,DLL)是一個可以多方共享的程序模塊,內部對共享的例程和資源進行了封裝。動態鏈接庫文件的擴展名一般是.dll,DLL和可執行文件(exe)非常相似,最大的區別在于DLL雖然包含了可執行代碼卻不能單獨執行,必須由Windows應用程序直接或間接調用。
    因此,開發上層應用軟件的首要工作是DLL動態鏈接庫的開發,在這里DLL動態鏈接庫采用VC++6.0進行開發。LabVIEW調用DLL示意圖如圖4所示,由于DLL能夠調用API函數與USB設備進行通信,而采用NI公司的虛擬儀器軟件開發平臺LabVIEW可以充分發揮虛擬儀器的靈活性。因此,將兩者優勢結合起來,該設計的虛擬示波器用戶控制面板具有界面友好,操作直觀等優點,通過面板上的各種控件便可實現數據的采集、存儲、再現及分析等功能。

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

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

 

 

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

 

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


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

 

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美日韩人成在线播放| 99热免费精品| 91久久久久久| 一区国产精品| 国产综合第一页| 国产日韩欧美精品| 国产精品久久影院| 国产精品www994| 欧美日韩一区二区免费视频| 欧美日本三区| 欧美日本三级| 欧美日韩另类一区| 欧美日韩国产系列| 欧美日韩高清在线播放| 欧美激情bt| 欧美精品在线视频观看| 免费成人网www| 欧美电影免费观看网站| 免费试看一区| 欧美激情二区三区| 欧美激情导航| 欧美日韩国产一区二区三区地区| 欧美精品亚洲一区二区在线播放| 欧美成人精品激情在线观看| 欧美成人免费小视频| 欧美a级片一区| 欧美激情一级片一区二区| 欧美激情精品久久久久| 欧美激情第8页| 欧美日韩免费一区二区三区视频| 欧美日韩成人综合在线一区二区| 欧美久久在线| 欧美视频官网| 国产精品呻吟| 国产一区二区高清不卡| 国语自产精品视频在线看抢先版结局| 国语自产精品视频在线看抢先版结局 | 91久久夜色精品国产网站| 亚洲国产精品久久久久| 亚洲人妖在线| 一区二区三区高清| 亚洲一区国产| 久久精品九九| 99国产精品视频免费观看一公开| 亚洲一区二区精品在线观看| 欧美一区二粉嫩精品国产一线天| 久久久久久久一区| 欧美黄色影院| 国产精品自拍三区| 激情欧美一区二区| 亚洲精品乱码| 亚洲一品av免费观看| 亚洲大胆美女视频| 欧美另类视频| 欧美体内谢she精2性欧美| 国产精品资源在线观看| 在线观看亚洲视频| 一本色道久久加勒比88综合| 午夜精品福利视频| 亚洲乱码一区二区| 香蕉成人伊视频在线观看| 久久综合中文字幕| 国产精品v亚洲精品v日韩精品 | 亚洲性感美女99在线| 欧美在线高清视频| 一本久久知道综合久久| 久久精品中文字幕一区二区三区| 欧美国产激情| 国产日韩欧美一区二区| 1204国产成人精品视频| 亚洲一区日本| 日韩亚洲成人av在线| 欧美在线播放| 欧美日韩二区三区| 国内精品久久久久久影视8| 99re6这里只有精品视频在线观看| 欧美一级视频一区二区| 亚洲视频在线观看| 久久女同精品一区二区| 国产精品国产三级国产专播品爱网 | 一区二区三区精品国产| 亚洲福利国产精品| 亚洲专区免费| 欧美黄污视频| 国产综合激情| 亚洲欧美一级二级三级| 亚洲精品日韩在线观看| 久久久久久久综合色一本| 欧美日韩亚洲视频一区| 亚洲高清免费在线| 午夜精品久久久久久久久久久| 亚洲伦理在线观看| 久久视频在线视频| 国产精品亚洲精品| 日韩一二三区视频| 亚洲伦理中文字幕| 亚洲成人自拍视频| 久久综合久久综合九色| 国产精品一区二区久久| 亚洲欧洲精品一区二区三区不卡 | 国产亚洲午夜高清国产拍精品| 日韩视频在线你懂得| 亚洲精品少妇| 久久香蕉精品| 国产日韩欧美自拍| 一区二区三区精品在线| 99精品99久久久久久宅男| 米奇777在线欧美播放| 国产综合久久久久影院| 亚洲欧美综合另类中字| 午夜国产一区| 国产精品www色诱视频| 99国产精品99久久久久久粉嫩| 日韩小视频在线观看| 欧美福利视频在线| 亚洲成人在线网| 亚洲第一在线视频| 久久夜色精品| 国产一区二区毛片| 欧美中文日韩| 久久久久国产精品厨房| 国产主播喷水一区二区| 欧美一区=区| 久久精品理论片| 欧美一区二区三区四区在线观看地址 | 久久精品二区| 久久久国产成人精品| 国产日韩在线亚洲字幕中文| 亚洲欧美激情在线视频| 欧美在线视频观看| 国产一区二区成人| 亚洲成色精品| 欧美国产一区二区| 亚洲精品美女91| 中日韩美女免费视频网址在线观看| 欧美日韩精品伦理作品在线免费观看| 在线观看视频一区二区| 亚洲日本va午夜在线影院| 欧美成人午夜激情| 亚洲精品日韩在线观看| 一区二区三区黄色| 国产精品国产三级国产aⅴ9色| 国产精品99久久久久久久vr| 亚洲欧美国产视频| 国产日本欧美在线观看| 欧美一区国产二区| 麻豆久久精品| 亚洲精品日韩在线观看| 亚洲在线观看视频网站| 国产欧美一区二区色老头| 久久国产精品色婷婷| 欧美激情bt| 亚洲在线观看免费视频| 久久免费视频在线| 91久久久久久久久久久久久| 亚洲字幕在线观看| 国外成人在线| 99国产精品久久久久老师| 国产精品国产三级国产普通话三级| 午夜精品久久久久久| 欧美成人有码| 在线视频免费在线观看一区二区| 欧美一区二区三区男人的天堂| 精品1区2区3区4区| 一区二区三区久久| 国产视频一区在线观看| 亚洲精品国产系列| 国产精品高潮久久| 亚洲国产成人一区| 欧美三级中文字幕在线观看| 99视频+国产日韩欧美| 欧美综合国产| 亚洲国产片色| 性欧美长视频| 亚洲全部视频| 久久精品亚洲热| 亚洲精品国产拍免费91在线| 欧美中文字幕视频在线观看| 亚洲国产高清在线观看视频| 亚洲自拍另类| 亚洲高清在线精品| 性欧美办公室18xxxxhd| 亚洲激情成人在线| 欧美亚洲一区在线| 亚洲精品女av网站| 欧美专区一区二区三区| 日韩写真视频在线观看| 久久嫩草精品久久久精品| 一区二区三区四区五区精品| 老司机午夜精品视频在线观看| 中文av字幕一区| 欧美成人三级在线| 午夜在线观看免费一区| 欧美日韩一区二区视频在线 | 亚洲激情女人| 国产日韩成人精品| 一区二区三区欧美| 精品盗摄一区二区三区| 欧美一级免费视频| 一本久道久久综合婷婷鲸鱼|