基于LabVIEW與USB的虛擬儀器接口設(shè)計(jì)
0 引 言
LabVIEW是一種基于圖形程序的虛擬儀器編程語(yǔ)言,與傳統(tǒng)儀器相比,虛擬儀器技術(shù)以計(jì)算機(jī)為平臺(tái),在程序界面中有用于模擬真實(shí)儀器面板的控件可供調(diào)用,可用于設(shè)置輸入數(shù)值、觀察輸出值以及實(shí)現(xiàn)圖表、文本等顯示,因此具有友好的人機(jī)界面。LabVIEW具有強(qiáng)大的數(shù)據(jù)采集、分析、處理、顯示和存儲(chǔ)功能。在測(cè)試與測(cè)量、數(shù)據(jù)采集、儀器控制、數(shù)字信號(hào)分析、工廠自動(dòng)化等領(lǐng)域獲得了廣泛的應(yīng)用,顯示出其強(qiáng)勁的生命力。LabVIEW平臺(tái)下開發(fā)的虛擬儀器在相同硬件條件下,改變軟件即可實(shí)現(xiàn)不同的儀器功能,真正實(shí)現(xiàn)了“軟件即儀器”的設(shè)計(jì)理念。
實(shí)現(xiàn)LabVIEW對(duì)數(shù)據(jù)的采集和處理,傳統(tǒng)的方法是采用數(shù)據(jù)采集卡,但是這些數(shù)據(jù)采集卡設(shè)備存在安裝不便,價(jià)格昂貴,受計(jì)算機(jī)插槽數(shù)量、地址、中斷資源的限制,可擴(kuò)展性差等缺點(diǎn)。在LabVIEW平臺(tái)下使用USB總線進(jìn)行數(shù)據(jù)傳輸,由于USB接口總線具有即插即用,接口簡(jiǎn)單,傳送速率高等特點(diǎn),因此基于Lab-VIEW和USB接口的虛擬儀器具有靈活、可靠、經(jīng)濟(jì)等特點(diǎn)。
鑒于以上LabVIEW和USB接口儀器的優(yōu)點(diǎn),實(shí)現(xiàn)LabVIEW下USB接口的接口程序就顯得尤為重要。在此,介紹了一種基于LabVIEW與USB的虛擬儀器接口設(shè)計(jì)的方法。
1 設(shè)計(jì)方案
由于各類基于USB總線的數(shù)據(jù)采集、控制的虛擬儀器都涉及到LabVIEW與USB接口程序的設(shè)計(jì),為了不失一般性,這里以虛擬示波器為例,介紹該接口程序的設(shè)計(jì)方法。
1.1 硬件設(shè)計(jì)方案
該系統(tǒng)是虛擬示波器,主要工作是采集被測(cè)模擬信號(hào),并將信號(hào)通過(guò)USB2.o接口傳輸?shù)絇C104計(jì)算機(jī),運(yùn)行計(jì)算機(jī)LabVIEW平臺(tái)下的應(yīng)用軟件完成數(shù)據(jù)的處理與記錄,并在顯示器上繪制曲線。
該系統(tǒng)主要由模擬信號(hào)采集模塊、FPGA控制模塊、USB傳輸模塊和計(jì)算機(jī)組成,其系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
1.1.1 FPGA控制模塊
該設(shè)計(jì)采用Alter公司的Cyclone系列現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA),芯片EP1c3T144來(lái)實(shí)現(xiàn)高速數(shù)據(jù)控制及傳輸。
EP1C3T144采用TPFQ封裝,擁有100個(gè)I/O口和2 910個(gè)邏輯單元,是一種高密度、高性能的FPGA。
FPGA的主要功能是高速數(shù)據(jù)采集、數(shù)據(jù)幀控制,以及與USB單片機(jī)進(jìn)行通信。具體說(shuō)明如下:
(1)高速數(shù)據(jù)采集及增益控制。高速數(shù)據(jù)采集功能是控制高速A/D的時(shí)序進(jìn)行數(shù)據(jù)采集;增益控制功能是通過(guò)向程控增益放大電路發(fā)送控制命令,進(jìn)而達(dá)到控制模擬電路放大倍數(shù)的目的。由于篇幅關(guān)系,有關(guān)這兩個(gè)方面的內(nèi)容不做詳細(xì)介紹。
(2)數(shù)據(jù)幀控制。FPGA每秒向PC機(jī)發(fā)送100幀和每幀512 B的數(shù)據(jù),將如此高速的數(shù)據(jù)進(jìn)行準(zhǔn)確無(wú)誤的控制和傳輸是系統(tǒng)的技術(shù)難點(diǎn)之一。該方案中,每幀數(shù)據(jù)由3部分組成:如圖2所示。
其中,每一幀數(shù)據(jù)的開始位和結(jié)束位是固定數(shù)據(jù),計(jì)算機(jī)的測(cè)井應(yīng)用軟件判斷接收到每一幀數(shù)據(jù)的幀頭及幀尾是否錯(cuò)誤。若出現(xiàn)錯(cuò)誤,將該幀數(shù)據(jù)丟棄,同時(shí)準(zhǔn)備接收下一幀數(shù)據(jù)。數(shù)據(jù)第二部分,模擬信號(hào)由FPGA控制A/D芯片采集得到。
1.1.2 USB傳輸模塊
Cypress公司的。EZ-USB FX2芯片CY7C68013是一款性能較高的USB 2.0微控制器。在單片機(jī)上集成USB 2.O收發(fā)器、SIE(串行接口引擎)、增強(qiáng)的8051微控制器和可編程的外圍接口。EZ-USB FX2中的智能SIE可以處理大部分USB 2.0協(xié)議,使得微控制器可以專注于應(yīng)用功能,從而減少了開發(fā)時(shí)間,確保了USB的兼容性。
CY7C68013有3種可用的接口模式:端口、GPIF主控和Slave FIFO方式。在該系統(tǒng)中,根據(jù)系統(tǒng)對(duì)數(shù)據(jù)傳輸速度和實(shí)時(shí)性的要求,配置CY7C68013工作的接口模式為Slave FIFO模式。在Slave FIFO模式下,外部邏輯或外部處理器直接與FX2端點(diǎn)FIFO相連。這種模式下,外部主控器FPGA通過(guò)異步方式與CY7C68013進(jìn)行數(shù)據(jù)通信。
FPGA與CY7C68013之間的硬件接口框圖如圖3所示。SL_WR/SL_RD是Slave FIFO的寫使能/讀允許信號(hào)。FPGA向CY7C68013提供Slave FIFO輸出允許信號(hào)SL_OE,僅在數(shù)據(jù)輸出時(shí)有效。FB[7:O]為8位雙向數(shù)據(jù)總線。ADDR[1:0]為FIFO端點(diǎn)選擇信號(hào)。在數(shù)據(jù)輸入時(shí)固定為00,選擇的是端點(diǎn)2;在數(shù)據(jù)輸出時(shí)固定為10,選擇的是端點(diǎn)6。
評(píng)論