劉松斌 王海星
(東北石油大學電氣信息工程學院,黑龍江 大慶 163318)
數(shù)據(jù)采集是連接計算機與物理世界的紐帶,也是信號處理和分析的重要環(huán)節(jié),高速且準確的數(shù)據(jù)采集能實時地還原原始信號和信息,為接下來的數(shù)據(jù)分析處理和控制打下堅實的基礎。傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)外圍電路龐大,接口設計復雜,與工業(yè)設備逐漸小型化的趨勢背道而馳。又因為早期的數(shù)據(jù)采集設備多是基于可編程邏輯器件(CPLD)的,造成編程復雜通用性差。隨著科學技術的發(fā)展,美國國家儀器公司(NI)推出Compact-RIO和Single-Board RIO(可重新配置 I/O)系列板卡,以其特有的FPGA結(jié)合Real-time(實時處理器)的架構(gòu)在數(shù)據(jù)采集及工業(yè)控制等領域得到了廣泛的應用。由于使用FPGA進行數(shù)據(jù)采集控制,其納秒級的運行速度可以大幅提高數(shù)據(jù)采集的速度和精度。并且RIO系列板卡無縫兼容LabVIEW,發(fā)揮了LabVIEW編程簡單、開發(fā)周期短的特點,采集到的數(shù)據(jù)可以從FPGA高速傳輸?shù)綄崟r處理器中,可以利用LabVIEW[1]內(nèi)置的眾多數(shù)據(jù)處理函數(shù)對數(shù)據(jù)進行處理從而得到所需的信息。
筆者就利用NI最新推出的Single-Board RIO板卡NI 9606作為嵌入式開發(fā)平臺設計并實現(xiàn)一種數(shù)據(jù)采集與顯示系統(tǒng)。考慮到一些數(shù)據(jù)采集設備需要就地顯示采集數(shù)據(jù)等信息,又因為NI配套的液晶顯示設備價格昂貴,用LabVIEW獨立開發(fā)第三方液晶的驅(qū)動程序工作量巨大,因此提出了一種間接驅(qū)動液晶的方案,即利用NI 9606自帶的RS232串口,將數(shù)據(jù)發(fā)送到驅(qū)動液晶的單片機中予以顯示,這樣可以大幅減少成本和開發(fā)周期。
系統(tǒng)硬件由兩部分組成,一是以Single-Board RIO為核心的數(shù)據(jù)采集部分,二是由單片機和液晶組成的顯示部分,RS232串口通信作為二者連接的橋梁。根據(jù)工程現(xiàn)場實際需求,需要顯示電機的運行情況,即電壓及電流等信息,將電機的電壓和電流作為信號采集的信號源。從而組成基于Single-Board RIO的數(shù)據(jù)采集與顯示系統(tǒng),系統(tǒng)硬件組成框圖如圖1所示。
圖1 數(shù)據(jù)采集與顯示系統(tǒng)硬件組成框圖
NI Single-Board RIO平臺[2]結(jié)合了可部署的嵌入式設備,在單一板卡上集成了實時處理器、可重復配置現(xiàn)場可編程門陣列(FPGA)、模擬和數(shù)字I/O??梢酝ㄟ^NI C系列模塊(本系統(tǒng)選擇NI 9683)擴展內(nèi)置模擬和數(shù)字I/O。利用電壓互感器、電流互感器將三相交流電轉(zhuǎn)換為NI 9606允許輸入范圍的電壓和電流信號。針對不同的信號源NI 9606提供3種接線方式,分別是參考單端模式、非參考單端模式和差分模式。結(jié)合要采集的信號和對信號精度的要求選擇差分模式,因為差分模式可以使放大器有效地抑制共模電壓以及任何與信號混雜在一起的共模形式的噪聲,有效地提高測量質(zhì)量。
為了減少成本,選擇利用單片機間接驅(qū)動液晶的方案。由于對顯示速度要求不高,所以單片機選擇STC89C52,組成單片機最小系統(tǒng)。利用電平轉(zhuǎn)換芯片MAX232將RS232電平轉(zhuǎn)換為TTL電平。液晶選擇川航科技CH240128字符液晶,液晶引腳定義見表1,顯示系統(tǒng)電路原理如圖2所示。
表1 液晶引腳定義
圖2 顯示部分電路原理
系統(tǒng)軟件設計按照程序運行的位置分為3部分,一是運行在NI 9606內(nèi)部FPGA部分的采集程序,二是運行在NI 9606內(nèi)部實時處理器的數(shù)據(jù)處理和串口發(fā)送程序。這兩部分都是利用LabVIEW語言編寫。第三部分是運行在單片機中的串口接收和顯示程序,此部分程序由C51語言編寫。
NI 9606無縫兼容LabVIEW,可以利用LabVIEW圖形化編程環(huán)境對內(nèi)部的FPGA和實時處理器進行編程。并且LabVIEW內(nèi)部集成了許多函數(shù),可以實現(xiàn)復雜的計算和信號處理,從而提高開發(fā)效率。程序框圖如圖3所示。
首先編寫FPGA VI,從FPGA I/O節(jié)點讀取數(shù)據(jù),利用順序程序第一幀的延時來定義采樣率,檢查錯誤狀態(tài)保證數(shù)據(jù)的完整性。FPGA程序如圖4所示。
圖3 LabVIEW程序框圖
圖4 FPGA程序
實時處理器部分程序主要實現(xiàn)數(shù)據(jù)的處理和串口發(fā)送,首先讀I/O節(jié)點取出數(shù)據(jù)[3],再利用LabVIEW自帶的函數(shù)求出電壓、電流有效值和功率因數(shù)。利用LabVIEW VISA[4]串口節(jié)點設置波特率等,將數(shù)據(jù)加標志位后發(fā)送到串口[5],程序如圖5所示。
圖5 實時處理器程序
通過單片機的控制引腳按照一定的時序輸送高低電平,通過I/O引腳輸送相應的數(shù)據(jù)和指令驅(qū)動液晶。設置與VISA[6]相同的串口通信參數(shù),如波特率及奇偶校驗等。利用標志位將電壓、電流、功率因數(shù)3組數(shù)據(jù)分別顯示在液晶的不同位置。單片機[7]程序流程如圖6所示。
圖6 單片機程序流程
結(jié)合硬件設計和軟件編程,實現(xiàn)基于Single-Board RIO的數(shù)據(jù)采集與顯示系統(tǒng),將電機的電壓和電流作為信號采集的信號源。信號通過電壓互感器、電流互感器后連接到NI 9606,數(shù)據(jù)經(jīng)運算處理后發(fā)送到顯示部分,在液晶上予以顯示。
設計并實現(xiàn)了基于Single-Board RIO的數(shù)據(jù)采集與顯示系統(tǒng),系統(tǒng)具有開發(fā)周期短、結(jié)構(gòu)簡單及穩(wěn)定性高等優(yōu)勢,可勝任高速、高精度的數(shù)據(jù)采集任務。筆者創(chuàng)新性地提出了間接驅(qū)動液晶的方案,大幅度減少了系統(tǒng)成本,對實際工程實現(xiàn)具有一定的現(xiàn)實意義,也為NI系列產(chǎn)品的驅(qū)動提供了一種全新的解決方案。
[1] 陳樹學,劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,2011:35~80.
[2] 徐超.LabVIEW在實時測控系統(tǒng)中的應用研究[D].重慶:重慶大學,2005.
[3] 楊忠仁,饒程,鄒建,等.基于LabVIEW數(shù)據(jù)采集系統(tǒng)[J].重慶大學學報(自然科學版),2004,27(2):32~35.
[4] 向科峰.基于LabVIEW的數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)[J].機械管理開發(fā),2011,(4):191~192.
[5] 阮奇楨. 我和LabVIEW[M].北京:北京航空航天大學出版社,2009:56~98.
[6] 高璽亮.基于LabVIEW的電能質(zhì)量分析系統(tǒng)的研究[D].哈爾濱:哈爾濱理工大學,2012.
[7] 張毅剛,彭喜元,姜守達,等.新編MCS51單片機應用設計[M].哈爾濱:哈爾濱工業(yè)大學出版社,2012:56~78.