陸 浩,李 冶,張秉仁,閆立東,潘 紅
(吉林大學(xué)儀器科學(xué)與電氣工程學(xué)院,吉林長春 130026)
基于USB2.0和LabVIEW的虛擬數(shù)字電工儀表設(shè)計
陸 浩,李 冶,張秉仁,閆立東,潘 紅
(吉林大學(xué)儀器科學(xué)與電氣工程學(xué)院,吉林長春 130026)
為了有效地實(shí)現(xiàn)電工儀表功能的擴(kuò)展和其自身的可維護(hù)性,設(shè)計了一款基于USB2.0和LabVIEW的新型虛擬數(shù)字電工儀表。基于虛擬儀器模塊化的設(shè)計思想,搭建了基于FPGA的硬件電路,增強(qiáng)了擴(kuò)展的功能,并采用LabVIEW圖形化編程語言編寫了儀表的服務(wù)程序和用戶界面,可以根據(jù)實(shí)際情況修改各物理量參數(shù),同時實(shí)現(xiàn)各種物理量的采集及實(shí)時顯示、數(shù)據(jù)處理及存儲與回放等功能。最后給出實(shí)驗(yàn)結(jié)果,驗(yàn)證該設(shè)計方案的可行性。
電工儀表;虛擬實(shí)驗(yàn)系統(tǒng);LabVIEW
通常傳統(tǒng)的數(shù)字電工儀表是由專用集成電路和顯示器件構(gòu)成。專用集成電路實(shí)現(xiàn)模擬量的輸入到數(shù)字量輸出的功能,是數(shù)字電工儀表的核心部分。這種電工儀表不但設(shè)計簡單,而且精確度很高,但由于這種設(shè)計方法缺乏靈活性,其系統(tǒng)功能固定,所以很難實(shí)現(xiàn)更新和擴(kuò)展。后來數(shù)字電工儀表以微處理器(單片機(jī))作為核心元器件來控制通用A/D轉(zhuǎn)換,這種設(shè)計的靈活性有了提高,系統(tǒng)更新擴(kuò)展也變得容易,但由于電子工業(yè)的快速發(fā)展,微處理器不足的引腳數(shù)量、有限控制轉(zhuǎn)換速度和靈活性都難以滿足需求。而應(yīng)用FPGA(現(xiàn)場可編程門陣列)技術(shù),其速度快、集成度高、性能十分可靠、易于編程、系統(tǒng)擴(kuò)展功能非常強(qiáng)大[1-3]。
虛擬數(shù)字電工儀表硬件部分主要由主控制卡、模塊化采集卡和系統(tǒng)背板組成,再與計算機(jī)上的軟件部分結(jié)合就構(gòu)成了這套采集系統(tǒng)。本系統(tǒng)采用模塊化的構(gòu)建方式,主控制卡和模塊采集卡均插在系統(tǒng)背板上進(jìn)行數(shù)據(jù)傳輸,實(shí)現(xiàn)即插即用功能,提高了系統(tǒng)的靈活性和方便了儀器的可重構(gòu)性;硬件采用FPGA技術(shù),使其具有開放性,有利于功能的擴(kuò)展;軟件采用LabVIEW圖形化編程語言,其開發(fā)效率高、可維護(hù)性好、自定義功能強(qiáng)大。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
上層軟件采用LabVIEW語言進(jìn)行編程,通過驅(qū)動程序把控制命令傳遞到主控制卡上,主控制卡再通過系統(tǒng)背板總線與模塊采集卡中的雙口RAM保持通信、傳遞命令,微處理器通過解析雙口RAM中的命令并控制譯碼控制電路輸出高低電平,繼而控制采集電路中的多路開關(guān)和繼電器,達(dá)到選擇量程和所測對象。采集到的數(shù)據(jù)存儲到模塊采集卡FIFO存儲器中,當(dāng)FIFO存滿時再通過背板總線把數(shù)據(jù)傳送到主控制卡,主控制卡再把數(shù)據(jù)傳送到LabVIEW中,LabVIEW對數(shù)據(jù)進(jìn)行分析、處理、顯示,實(shí)現(xiàn)測試的目的。
主控制器具有以下幾方面功能:
(1)命令解析。系統(tǒng)控制卡一方面對計算機(jī)發(fā)送過來的命令進(jìn)行解析,再將命令下達(dá)到模塊采集卡上,另一方面獲取采集卡采到的數(shù)據(jù),將數(shù)據(jù)上傳到主機(jī)。
(2)系統(tǒng)監(jiān)控。系統(tǒng)控制器對儀器電源、機(jī)箱內(nèi)環(huán)境溫度、模塊采集卡的狀態(tài)進(jìn)行監(jiān)控,分別有報警響應(yīng)、啟動風(fēng)扇進(jìn)行降溫處理和LED狀態(tài)顯示功能。
(3)模塊中斷處理。當(dāng)模塊采集卡申請中斷進(jìn)行及時處理。
(4)觸發(fā)管理。觸發(fā)時進(jìn)行資源的調(diào)度與分配。
(5)總線驅(qū)動。總線驅(qū)動為了提高總線帶動負(fù)載的能力。
2.1.1 USB2.0 主控制卡的設(shè)計
主控制卡采用CY7C68013-128AC(EZ-USB FX2系列)芯片實(shí)現(xiàn)和主機(jī)的USB2.0接口,它集成了微處理器的USB2.0芯片,支持12 Mb/s的全速傳輸和480 Mb/s的高速傳輸,具有4種USB傳輸方式,完全符合USB2.0標(biāo)準(zhǔn)。此外 EZ-USB FX2系列芯片還包括USB2.0收發(fā)器、串行接口引擎(SIE)、增強(qiáng)型8051、8.5 KB的RAM、4 KB的FIFO存儲器、I/O口、數(shù)據(jù)總線、地址總線和通用可編程接口(GPIF)。
USB2.0主控制卡的功能框圖見圖2,CY7C68013中的微處理器控制所有的監(jiān)測單元,而總線處理單元、中斷處理單元、時鐘發(fā)生單元、觸發(fā)單元等電路均是在FPGA中設(shè)計的??紤]到EP1C3T144C8輸出帶載能力有限,通過74HC245芯片對總線進(jìn)行驅(qū)動[5]。
圖2 USB2.0主控制卡的功能框圖
2.1.2 USB2.0 協(xié)議的數(shù)據(jù)解析與處理
EZ-USB FX2具有3個固定的端點(diǎn)緩沖區(qū)和4個可配置端點(diǎn)緩沖區(qū)。EP0、EP1IN、EP2OUT使用3個固定的 64B 緩沖空間,EP2、EP4、EP6、EP8則可占用4KB的可配置緩沖區(qū)進(jìn)行緩存。其中,默認(rèn)端點(diǎn)0為控制端點(diǎn),IN、OUT數(shù)據(jù)使用同一存儲空間;端點(diǎn)1支持塊傳輸、中斷傳輸和同步傳輸。端點(diǎn)2、4、6、8則可以支持大容量高帶寬的數(shù)據(jù)傳輸,其配置方式非常靈活,可以適應(yīng)不同場合下的帶寬要求。
主控制卡和模塊采集卡之間傳輸數(shù)據(jù)都是先將數(shù)據(jù)傳遞到USB的端點(diǎn)緩存中,USB內(nèi)置的增強(qiáng)型8051處理器對數(shù)據(jù)進(jìn)行分析處理。因此,數(shù)據(jù)流的結(jié)構(gòu)是處理器進(jìn)行數(shù)據(jù)解析處理的基礎(chǔ)。USB按默認(rèn)的方式配置2、4、6、8端點(diǎn),其中端點(diǎn)2和端點(diǎn)4為雙緩沖、批輸出,端點(diǎn)6和端點(diǎn)8為雙緩沖、批輸入,端點(diǎn)4和端點(diǎn) 8 保留[6]。
USB2.0的數(shù)據(jù)流結(jié)構(gòu)如圖3所示。數(shù)據(jù)流結(jié)構(gòu)將數(shù)據(jù)分為三層,頂層是PC機(jī),中間層是USB主控制卡,底層為模塊化采集卡。
圖3 USB2.0的數(shù)據(jù)流結(jié)構(gòu)
系統(tǒng)背板是主控制卡與模塊采集卡連接的樞紐,在其上印制的各種總線是信息傳遞的通道。系統(tǒng)背板總線結(jié)構(gòu)如圖4所示,從功能上分,背板系統(tǒng)總線可分為以下幾種:
圖4 系統(tǒng)背板總線結(jié)構(gòu)
(1)電源總線。電源總線為總控制卡和模塊采集卡提供必要的直流電源,分為模擬電源和數(shù)字電源,由一個開關(guān)電源提供。
(2)公用總線。公用總線包括系統(tǒng)時鐘線、系統(tǒng)復(fù)位線、電源故障線。系統(tǒng)時鐘線為系統(tǒng)提供一個時鐘信號,作為系統(tǒng)操作時間基準(zhǔn)。系統(tǒng)復(fù)位線為模塊采集卡提供一個復(fù)位信號,當(dāng)模塊采集卡初始化或通信出現(xiàn)故障時,需要對其進(jìn)行復(fù)位操作。電源故障線可監(jiān)測電源,如果電源有故障,將進(jìn)行報警處理[7]。
(3)數(shù)據(jù)傳輸總線。數(shù)據(jù)傳輸總線包括數(shù)據(jù)線、地址線、控制線。數(shù)據(jù)線為16 b,當(dāng)進(jìn)行8 b總線數(shù)據(jù)傳輸時,則使用數(shù)據(jù)線的低8 b,高8 b無效。地址線一共有20根,最大可以實(shí)現(xiàn)1 MB字的尋址空間。控制線提供控制信號控制模塊采集卡。
(4)中斷總線。中斷總線用于模塊采集卡向主控制卡申請中斷請求。
(5)觸發(fā)總線。為模塊采集卡提供觸發(fā)信號。
模塊采集卡采用模塊化的設(shè)計思想,是數(shù)據(jù)采集的核心,主要包括通信譯碼控制模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)存儲模塊三大部分。
2.3.1 通信譯碼控制模塊
通信譯碼控制電路見圖5,此電路是通過FPGA中設(shè)計的雙口RAM-IDT7130實(shí)現(xiàn)與背板總線接口通信。在給系統(tǒng)上電時,微處理器AT89C52單片機(jī)進(jìn)行初始化,它把初始化配置信息寫到雙口RAM中,再通過背板總線傳到主控制卡中,主控制卡進(jìn)行分析處理判斷配置信息是否有誤。主控制卡發(fā)送控制命令時,就可以把數(shù)據(jù)寫到雙口RAM中,微處理器對讀取的數(shù)據(jù)解析,再通過在FPGA中自行設(shè)計的譯碼控制電路,使其輸出高低電平實(shí)現(xiàn)對采集電路中多路開關(guān)的選擇和繼電器的吸合,從而實(shí)現(xiàn)對量程和對象的控制[8]。
圖5 通信譯碼控制電路
2.3.2 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊是以ICL7107芯片為核心設(shè)計出一個多檔電壓、電流、電阻、電容測量電路。數(shù)據(jù)采集原理如圖6所示,它是由直流電壓測量電路、交流/直流轉(zhuǎn)換電路、電流/電壓轉(zhuǎn)換電路、電阻/電壓轉(zhuǎn)換電路、電容/電壓轉(zhuǎn)換電路、模數(shù)轉(zhuǎn)換、計數(shù)、譯碼電路組成。ICL7107是3 b半雙積分器,范圍是0~1999,芯片集成度高、測量準(zhǔn)確[9]。它包括積分器、比較器、計數(shù)器,譯碼器等部分,所測結(jié)果通過自身電路譯成七段碼形式輸出,輸出結(jié)果直接輸入到FPGA的FIFO存儲器中,為了滿足FPGA采集信號的電平標(biāo)準(zhǔn),本設(shè)計提供ICL7107芯片±3.3 V基準(zhǔn)電壓。
圖6 數(shù)據(jù)采集原理框圖
2.3.3 數(shù)據(jù)存儲模塊
采集到的段碼信號按每8 b數(shù)據(jù)緩存在FPGA中設(shè)計的FIFO存儲器中,每個FIFO設(shè)置為2.5 KB的存數(shù)空間[10],共設(shè)計兩個FIFO存儲,每個FIFO存儲兩位七段碼信號和標(biāo)志位信號,標(biāo)志位信號由轉(zhuǎn)換時鐘提供,轉(zhuǎn)換時鐘控制轉(zhuǎn)換開關(guān),實(shí)現(xiàn)數(shù)據(jù)的復(fù)用,同時轉(zhuǎn)換時鐘的高低電平作為緩存數(shù)據(jù)的最高位存儲,防止上層軟件對段碼信號分析處理的混淆。
本系統(tǒng)采用LabVIEW軟件進(jìn)行編程,主要由前面板和程序框圖兩部分組成。前面板為用戶界面,用于設(shè)置參數(shù)和顯示所測物理量;程序框圖由節(jié)點(diǎn)按照一定邏輯關(guān)系相互連接,可控制數(shù)據(jù)的流動方向和進(jìn)行數(shù)據(jù)的分析處理。
LabVIEW中具有功能強(qiáng)大的接口通信函數(shù),可以保障上位機(jī)與硬件電路的數(shù)據(jù)傳遞和連接控制。本數(shù)字電工儀表是通過調(diào)用庫函數(shù)(Call Library Function,CLF)調(diào)用動態(tài)鏈接庫(Dynamic Link Library,DLL)函數(shù)的方法實(shí)現(xiàn)LabVIEW與USB之間的通訊,動態(tài)鏈接庫VI5102.DLL是用C++語言編寫而成,加載后的CLF節(jié)點(diǎn)如圖7所示,系統(tǒng)傳遞命令時,只需通過LabVIEW的CLF節(jié)點(diǎn)調(diào)用動態(tài)鏈接庫的方式將所需的參數(shù)傳遞給USB控制器[11]。同樣,在數(shù)據(jù)采集時,通過CLF節(jié)點(diǎn)函數(shù)將采集到的數(shù)據(jù)傳遞到上位機(jī)LabVIEW中,以完成進(jìn)一步的分析處理和顯示。
圖7 加載后的CLF節(jié)點(diǎn)
上位機(jī)通過CLF節(jié)點(diǎn)調(diào)用動態(tài)鏈接庫函數(shù)的方法把十進(jìn)制數(shù)據(jù)存儲到LabVIEW的一維數(shù)組中,之后通過抽取一維數(shù)組函數(shù)把兩個FIFO上傳的數(shù)據(jù)抽取出來,其數(shù)據(jù)處理程序如圖8所示,由于采集的數(shù)據(jù)是最高位為0或1標(biāo)志的8位信號,所以通過數(shù)值最大值與最小值函數(shù)就可以判別每個FIFO的數(shù)據(jù)對應(yīng)的顯示位。每位顯示的數(shù)據(jù)是0到9共十個值,采用在公式節(jié)點(diǎn)中編寫c語言條件語句的方法就可以準(zhǔn)確地將采集到的十進(jìn)制段碼信號轉(zhuǎn)化為0~9[12]。將4位數(shù)值計算的結(jié)果乘以不同量程下的小數(shù)點(diǎn)系數(shù),再把單位和數(shù)值捆綁在一起的結(jié)果顯示到LabVIEW的前面板上。
圖8 數(shù)據(jù)處理程序框圖
對數(shù)據(jù)的存儲與回放是該系統(tǒng)的主要功能之一,通過存儲功能,用戶可保存多組測量數(shù)據(jù),通過回放功能,可對多組數(shù)據(jù)進(jìn)行分析比對,有利于尋找規(guī)律和提高效率。如圖9所示為數(shù)據(jù)存儲與回放程序,在事件結(jié)構(gòu)中分別實(shí)現(xiàn)數(shù)據(jù)存儲和數(shù)據(jù)回放功能。通過替換數(shù)組子集函數(shù)將采集到的數(shù)據(jù)循環(huán)存儲到10個元素大小的一維數(shù)組中,超過存儲深度后可循環(huán)覆蓋,如果用戶想存儲較多數(shù)據(jù),只需在初始化數(shù)組中提高存儲深度的大小,充分利用了LabVIEW軟件自定義功能強(qiáng)大的特點(diǎn),在前面板上點(diǎn)擊回放按鈕,就可以將存儲的數(shù)據(jù)通過顯示對話框顯示出來。
圖9 數(shù)據(jù)存儲與回放程序
使用可調(diào)電源調(diào)出一個-9 V的直流電壓信號,采用本虛擬數(shù)字電工儀表進(jìn)行測試。首先添加動態(tài)鏈接庫VI5102.DLL和選擇設(shè)備槽號4,然后選擇直流電壓測量對象和20 V的電壓量程,最后打開儀器開關(guān)進(jìn)行測試,測試結(jié)果見圖10,測得的電壓與實(shí)際電壓相符,滿足要求,驗(yàn)證了該設(shè)計方案的可行性[13]。
圖10 虛擬數(shù)字電工儀表前面板
本文介紹了一款采用LabVIEW和FPGA技術(shù)設(shè)計的虛擬數(shù)字電工儀表,與傳統(tǒng)電工儀表相比,它具備許多優(yōu)點(diǎn)。首先,本系統(tǒng)采用了模塊化設(shè)計思想,使得儀器的設(shè)計、調(diào)試和維護(hù)更加簡單,方便。其次,在硬件上本儀器采用FPGA技術(shù),使其具有開放性,有利于功能的擴(kuò)展,如電感、電源的內(nèi)阻、交流電的峰值等物理量的測量,只需在模塊采集卡中搭建不同的硬件電路,就可以實(shí)現(xiàn)擴(kuò)展的功能。最后,在軟件上本儀器采用LabVIEW技術(shù),LabVIEW具有開發(fā)效率高、可維護(hù)性好、自定義功能強(qiáng)大等特點(diǎn),與傳統(tǒng)儀器相比,本儀器用軟件對信號進(jìn)行分析、處理和顯示,減少了電路的復(fù)雜程度,同時也減少了成本[14-15]。該虛擬數(shù)字電工儀表可廣泛用于高校實(shí)驗(yàn)教學(xué)中,具有廣闊前景。
[1] Nielsen D M.Electric measuring instruments[J].Electrical Engineering,1964,65(2):66-74.
[2] Arnold A H M.Performance limits in electrical instruments[J].Proceedings of the IEE-Part II:Power Engineering,1951,98(66):701-710.
[3] 周善芳,趙汝儉.淺談萬用表功能的擴(kuò)展利用[J].實(shí)驗(yàn)室研究與探索,2004,23(3):48-49.
ZHOU Shan-fang,ZHAO Ru-jian.Discussion on the function of the expansion of the use of multimeter[J].Research and Exploration in Laboratory,2004,23(3):48-49.
[4] 吳忠杰,林 君,韋建榮,等.虛擬測試系統(tǒng)中模塊化儀器關(guān)鍵技術(shù)研究[J].儀器儀表學(xué)報,2005,26(8):2083-2086.
WU Zhong-jie,LIN Jun,WEI Jian-rong,et al.Research on key technologies of modularized instruments in virtual test system[J].Chinese Journal of Scientific Instrument,2005,26(8):2083-2086.
[5] 劉 君,戚萬忠.電工儀表的結(jié)構(gòu)和工作原理[J].黑龍江科技信息,2012,(22):2.
LIU Jun ,QI Wan-zhong.The structure and working principle of electrical instrument[J].HeiLongJiang Science and Technology Information,2012,(22):2.
[6] 陳振榮,鄭孔華,張華春.應(yīng)用IEEE-488接口實(shí)現(xiàn)APPLE-Ⅱ微型機(jī)與HP3457A數(shù)字萬用表的通訊[J].電子技術(shù)應(yīng)用,1989,(2):2-3.
CHEN Zhen-rong, ZHENG Kong-hua, ZHANG Hua-chun.Implementation of APPLE-Ⅱmicrocomputer and HP3457A digital multimeter used IEEE-488interface communication[J].Application of Electronic Technique,1989,(2):2-3.
[7] 牛昱光,崔正文.多現(xiàn)場總線接口智能儀表設(shè)計[J].電子技術(shù)應(yīng)用,2011,37(8):131-134.
NIU Yu-guang,CUI Zheng-wen.Design of multi-fieldbus interface in intelligent instrument[J].Application of Electronic Technique,2011,37(8):131-134.
[8] 吳月江.數(shù)字萬用表的原理和使用[J].教學(xué)儀器與實(shí)驗(yàn),2009,(4):7-9.
WU Yue-jiang.Principles and use of digital multimeter[J].Teaching Apparatus and Experimental,2009,(4):7-9.
[9] 劉洪彥.31/2位數(shù)字萬用表的實(shí)驗(yàn)應(yīng)用[J].實(shí)驗(yàn)室研究與探索,1995,(4):51-56.
LIU Hong-yan.31/2 bit Digital multimeter experimental application[J].Research and Exploration in Laboratory,1995,(4):51-56.
[10] 楊 艷,白連平.一種新型多功能電工儀表的設(shè)計[J].電測與儀表,1997,34(7):13-15.
YANG Yan,BAI Lian-ping.Design of a new type of multifunctional electrical meter[J].Electrical Measurement & Instrumentation,1997,34(7):13-15.
[11] 韋建榮.可重構(gòu)測控系統(tǒng)的研究與設(shè)計[D].長春:吉林大學(xué),2006.
[12] 耿艷敏,胡愛華,劉院英.虛擬萬用表的設(shè)計與實(shí)現(xiàn)[J].電腦與微電子技術(shù),2011(18):71-73.
GENG Yan-min, HU ai-hua, LIU Yuan-ying. Design and implementation ofa virtualmultimeter[J].Computer and Microelectronics Technology,2011(18):71-73.
[13] Uluisik,C.Sevgi,L.A LabVIEW-Based Analog Modulation Tool for Virtual and Real Experimentation[J].Antennas and Propagation Magazine,IEEE,2012,54(6):246-254.
[14] 高 原.淺析電工儀表的正確選用[J].電氣傳動自動化,2007,29(2):59-60.
GAO Yuan.Analysis of correctly choosing electrotechnical instruments[J].Electric Drive Automation,2007,29(2):59-60.
[15] 李 文.智能電工儀表特點(diǎn)及應(yīng)用[J].中國計量,2007,(10):51-52.
LI Wen.The characteristics and application of intelligent electric meter[J].China Measurement,2007,(10):51-52.
Design of a Virtual Digital Electrical Instrument Based on USB2.0 and LabVIEW
LU Hao,LI Ye,ZHANG Bing-ren,YAN Li-dong,PAN Hong
(College of Instrument Science and Electrical Engineering,Jilin University,Changchun 130026,China)
In order to effectively realize the expansion of electrical instrument function and its maintainability,a novel virtual digital electric instrument based on USB2.0 and LabVIEW was designed.The design idea of virtual instrument was based on modularization,the hardware circuit was built based on FPGA,to enhance the expansion of the function,and the preparation of the instrument service programand The user’s interface was designed by using the graphical programming language LabVIEW.,various Various physical parameters can could be modified according to the actual situation,Mmeanwhile,the system can could implement the functions that such as acquisition and real-time display of the various physical quantities,date processing,and storage and playback,and the experiment results were listed to prove the feasibility of this design.
electrical instrument;virtual experiment system;LabVIEW
TM 933
A
1006-7167(2014)05-0067-05
2013-07-24
吉林省重點(diǎn)科技成果轉(zhuǎn)化項(xiàng)目(20130303015GX)
陸 浩(1988-),男,吉林九臺人,碩士生,主要研究方向:電子測量儀器、虛擬儀器。
Tel.:13596062473;E-mail:haoranzhengqi116@126.com
李 冶(1958-),男,吉林長春人,教授,主要研究方向:虛擬儀器、嵌入式系統(tǒng)。