龍永良,孫洋,楊那
(成都信息工程大學(xué) 電子工程學(xué)院,成都 610225)
?
基于FPGA的固體測(cè)速系統(tǒng)的設(shè)計(jì)與應(yīng)用
龍永良,孫洋,楊那
(成都信息工程大學(xué) 電子工程學(xué)院,成都 610225)
針對(duì)目前工業(yè)生產(chǎn)過(guò)程中的固體流速測(cè)量問(wèn)題,提出了一種基于FPGA的固體流速測(cè)量系統(tǒng)。該系統(tǒng)以相關(guān)測(cè)速算法為理論基礎(chǔ),通過(guò)發(fā)射載波信號(hào)到測(cè)試管道,并采集管道內(nèi)兩個(gè)不同位置的流速信號(hào),對(duì)這兩路信號(hào)進(jìn)互相關(guān)運(yùn)算,尋找峰值點(diǎn),從而間接求得固體流速。該系統(tǒng)包括一套基于FPGA的硬件系統(tǒng)和一套基于C++的上位機(jī)軟件系統(tǒng)。經(jīng)過(guò)測(cè)試驗(yàn)證,本系統(tǒng)實(shí)現(xiàn)了固體流速的精確測(cè)量,性能穩(wěn)定,達(dá)到了設(shè)計(jì)目標(biāo)要求。
固體流速;載波信號(hào);互相關(guān)運(yùn)算;FPGA
近些年來(lái),固體物料輸送的自動(dòng)化控制技術(shù)在工業(yè)生產(chǎn)中的應(yīng)用越來(lái)越廣泛,固體物料流速的檢測(cè)和計(jì)量在工業(yè)過(guò)程中的地位也越來(lái)越重要。但是,固體流速一直是工業(yè)過(guò)程中比較難測(cè)的參數(shù)。相對(duì)于成熟的流體的流速檢測(cè)技術(shù),固體流速流量檢測(cè)方法的研究起步晚,技術(shù)不夠成熟[1],目前已有的測(cè)量方法存在操作不方便、制作成本高、實(shí)時(shí)測(cè)量精度難以評(píng)價(jià)等問(wèn)題[2]。因此本文根據(jù)相關(guān)測(cè)速原理,利用FPGA平臺(tái)開(kāi)發(fā)了一款新型的固體測(cè)速系統(tǒng),該系統(tǒng)可以測(cè)量固體物料的速度,測(cè)量結(jié)果準(zhǔn)確可靠。
本文的固體速度測(cè)量方法來(lái)源于相關(guān)測(cè)速原理[3]。固體顆粒在流動(dòng)過(guò)程會(huì)自然產(chǎn)生流動(dòng)噪聲信號(hào),對(duì)固定不變的兩個(gè)位置的測(cè)試點(diǎn)的流動(dòng)噪聲信號(hào)進(jìn)行采集,采集到的信號(hào)則具有相關(guān)的性質(zhì)。利用這一特性,可以將測(cè)量固體的速度問(wèn)題轉(zhuǎn)化為測(cè)量固體通過(guò)兩個(gè)位置的時(shí)間間隔問(wèn)題。
相關(guān)法測(cè)量固體速度系統(tǒng)構(gòu)成如圖1所示。
圖1 相關(guān)流速測(cè)量系統(tǒng)
(1)
圖2 固體顆粒流動(dòng)噪聲信號(hào)及互相關(guān)函數(shù)圖形
(2)
相關(guān)法測(cè)量固體速度是基于檢測(cè)兩路信號(hào)相似性與信號(hào)的幅度值無(wú)關(guān),這意味著互相關(guān)法具有以下這些優(yōu)點(diǎn)[5-6]:①采用非接觸測(cè)量,降低了設(shè)備損耗,增加了傳感器使用壽命;②測(cè)量精度高,量程寬;③與測(cè)量對(duì)象本身的化學(xué)和物理性質(zhì)無(wú)關(guān),固體液體都可以測(cè)量;④適用性強(qiáng),與測(cè)量環(huán)境變化無(wú)關(guān),如溫濕度變化。
正是因?yàn)橄嚓P(guān)測(cè)速法有諸多的優(yōu)點(diǎn),所以相比較其他速度測(cè)量方法(如光學(xué)法、聲學(xué)法、電磁法等),相關(guān)測(cè)速法在測(cè)量管道流體流速方面應(yīng)用更廣泛。
本系統(tǒng)依據(jù)相關(guān)測(cè)速法原理,在原來(lái)互相關(guān)測(cè)速法基礎(chǔ)上做了改進(jìn),增加了信號(hào)發(fā)射端。這是因?yàn)閭鹘y(tǒng)的相關(guān)測(cè)速方法,信號(hào)接收端采集的是物料的流動(dòng)噪聲信號(hào),此信號(hào)幅值比較小,通常是高頻信號(hào),且具有很大的隨機(jī)性,直接采集流動(dòng)噪聲信號(hào)作互相關(guān)運(yùn)算,不容易找到正確的峰值點(diǎn),很難正確地求出物料的速度。本系統(tǒng)采用的方案是由信號(hào)發(fā)射端發(fā)射大功率低頻載波信號(hào),兩個(gè)信號(hào)接收端接收攜帶流動(dòng)噪聲的載波信號(hào),并通過(guò)低通濾波器把高頻的流動(dòng)噪聲信號(hào)濾掉。
本方案的系統(tǒng)結(jié)構(gòu)框圖如圖3所示。
圖3 系統(tǒng)結(jié)構(gòu)框圖
其中,A端為信號(hào)發(fā)射端,向測(cè)試管道發(fā)射載波信號(hào),B、C端為接收端,接收帶有流體信息的回波信號(hào),并送入預(yù)處理電路處理,然后FPGA控制A/D芯片對(duì)處理后的兩路信號(hào)進(jìn)行采集,再經(jīng)過(guò)FIR低通濾波器,濾掉高頻噪聲信號(hào),從而得到兩路良好的相關(guān)信號(hào)。對(duì)這兩路信號(hào)進(jìn)行互相關(guān)運(yùn)算,從而求得此時(shí)的流速。
(3)
結(jié)合性能與成本的考慮,主控芯片選擇Xilinx公司的Spattan-6系列的XC6SLX100芯片。該芯片配置有15 822個(gè)Slice,930 Kb容量的分布式RAM,182個(gè)DSP48E Slice以及482個(gè)可用I/O口[8],能夠滿足本系統(tǒng)的資源消耗。
本系統(tǒng)的工作原理是:中心控制器FPGA產(chǎn)生一定頻率的載波信號(hào),經(jīng)波形變化后發(fā)射到測(cè)量管道中,接收端采集到的兩路相關(guān)信號(hào)經(jīng)前端放大處理、A/D采集后送入中心控制器處理,經(jīng)過(guò)互相關(guān)運(yùn)算后即可獲得固體顆粒速度數(shù)據(jù)。如圖4所示,由上圖可以看出本系統(tǒng)主要由信號(hào)發(fā)射模塊、信號(hào)采集模塊、USB通信模塊、溫度檢測(cè)模塊和EEPROM存儲(chǔ)模塊構(gòu)成。
圖4 硬件系統(tǒng)框圖
信號(hào)發(fā)射模塊實(shí)現(xiàn)的功能是產(chǎn)生一定形式的載波信號(hào)發(fā)送至測(cè)量管道。由相關(guān)法測(cè)速原理可知,載波信號(hào)經(jīng)過(guò)測(cè)量管道后會(huì)帶有物料通過(guò)的信息。
信號(hào)采集模塊實(shí)現(xiàn)的功能是將接收電極接收到的兩路相關(guān)信號(hào)同時(shí)進(jìn)行放大濾波,然后同時(shí)輸入到A/D芯片進(jìn)行A/D轉(zhuǎn)換,最后輸入到FPGA進(jìn)行處理。本系統(tǒng)采用的A/D轉(zhuǎn)換芯片是ADC122S101。ADC122S101是一款低功耗,雙通道輸入的模擬—數(shù)字轉(zhuǎn)換器,它與控制器之間采用SPI方式進(jìn)行通信,它的輸出數(shù)據(jù)位為12位。與傳統(tǒng)單一采樣率的A/D器件不同,ADC122S101的采樣率可以從500 Ksps~1 Msps,可以滿足本產(chǎn)品的采樣需求。
USB通信模塊實(shí)現(xiàn)的功能是完成硬件系統(tǒng)和上位機(jī)相互通信。USB接口的優(yōu)點(diǎn)是可以實(shí)現(xiàn)即插即用,可以隨時(shí)利用電腦進(jìn)行參數(shù)的配置和系統(tǒng)的調(diào)試[9]。USB通信模塊部分選用的芯片是FT232BM。FT232BM是FTDI公司開(kāi)發(fā)的一款數(shù)據(jù)轉(zhuǎn)換芯片,可將USB數(shù)據(jù)轉(zhuǎn)換成串口數(shù)據(jù)。
溫度檢測(cè)模塊負(fù)責(zé)對(duì)相關(guān)器板載溫度進(jìn)行實(shí)時(shí)采集,以便實(shí)時(shí)了解管道環(huán)境溫度情況。溫度檢測(cè)裝置采用的是一塊溫度傳感器DS1631,測(cè)量范圍為0~70 ℃,測(cè)量精度為±0.5 ℃。中心控制器FPGA可通過(guò)I2C協(xié)議讀取DS1631測(cè)量的溫度數(shù)據(jù)。
EEPROM存儲(chǔ)模塊負(fù)責(zé)對(duì)配置參數(shù)存儲(chǔ)。硬件電路需要配置許多參數(shù),主要參數(shù)包括兩相鄰電極之間的間距、發(fā)射信號(hào)頻率、信號(hào)的數(shù)據(jù)率、硬件系統(tǒng)地址等參數(shù)。由于FPGA斷電重啟后會(huì)丟失系統(tǒng)參數(shù),EEPROM可以使得存儲(chǔ)的參數(shù)掉電不丟失。本系統(tǒng)選用的存儲(chǔ)芯片是Atmel公司的AT24C04,存儲(chǔ)容量最大為4 KB,F(xiàn)PGA可以通過(guò)I2C協(xié)議讀取和存儲(chǔ)數(shù)據(jù),芯片內(nèi)的資料可以在斷電的情況下保存10年。
本系統(tǒng)FPGA程序設(shè)計(jì)主要實(shí)現(xiàn)以下功能:對(duì)固體顆粒流速數(shù)據(jù)采集與計(jì)算;完成溫度信息的采集;與上位機(jī)系統(tǒng)進(jìn)行數(shù)據(jù)通信;將系統(tǒng)相關(guān)參數(shù)存儲(chǔ)到EEPROM中。
4.1 FPGA互相關(guān)運(yùn)算程序設(shè)計(jì)
FPGA互相關(guān)運(yùn)算程序是整個(gè)系統(tǒng)的核心,這部分程序的流程圖如圖5所示。
圖5 FPGA互相關(guān)運(yùn)算 程序流程圖
A/D采集完后的兩路數(shù)據(jù),經(jīng)過(guò)解調(diào)后送到FIR低通濾波器中進(jìn)行濾波處理,并抽取到合適的數(shù)據(jù)速率。然后,兩路數(shù)據(jù)存儲(chǔ)到RAM中,等待一個(gè)FFT周期(4 096點(diǎn))數(shù)據(jù)存儲(chǔ)完成后,便進(jìn)行FFT變換。FFT變換完成后,將其中一路FFT結(jié)果取共軛,并與另一路相乘,將相乘后的結(jié)果進(jìn)行IFFT變換,即完成互相關(guān)運(yùn)算。最后通過(guò)一一比較的方法求出最大值和最大值點(diǎn)對(duì)應(yīng)的坐標(biāo)(取最大值點(diǎn)的時(shí)間τ0),將該坐標(biāo)值點(diǎn)送入速度計(jì)算程序求出對(duì)應(yīng)的速度。
4.2 FPGA硬件系統(tǒng)與上位機(jī)通信程序
上位機(jī)軟件實(shí)現(xiàn)的功能主要是:與硬件系統(tǒng)進(jìn)行串口通信;給硬件系統(tǒng)發(fā)送命令或參數(shù);接收硬件系統(tǒng)發(fā)送的測(cè)量值,并實(shí)時(shí)顯示測(cè)量值波形。上位機(jī)程序采用C/C++語(yǔ)言編寫(xiě),軟件界面采用MFC編寫(xiě)。
上位機(jī)與硬件系統(tǒng)之間通信步驟如下:
① 上位機(jī)直接將通信數(shù)據(jù)發(fā)送給硬件系統(tǒng)。
② 硬件系統(tǒng)收到數(shù)據(jù)后,進(jìn)行數(shù)據(jù)解析。
③ 硬件系統(tǒng)根據(jù)解析數(shù)據(jù)進(jìn)行相應(yīng)操作。
④ 硬件系統(tǒng)發(fā)送回讀數(shù)據(jù)給上位機(jī)以確保通信成功。
硬件系統(tǒng)與上位機(jī)通信的程序設(shè)計(jì)流程如圖6所示。上位機(jī)在與硬件系統(tǒng)通信時(shí)是作為通信的發(fā)起者,硬件系統(tǒng)是通信的應(yīng)答者。硬件系統(tǒng)接收到串行數(shù)據(jù)幀并根據(jù)相應(yīng)的命令執(zhí)行對(duì)應(yīng)的操作,當(dāng)數(shù)據(jù)接收模塊接收到一幀數(shù)據(jù)時(shí),首先要進(jìn)行CRC效驗(yàn),如果CRC效驗(yàn)正確執(zhí)行下一步操作數(shù)據(jù)解析,否則把這一幀數(shù)據(jù)丟棄。進(jìn)行數(shù)據(jù)解析時(shí),根據(jù)命令判斷數(shù)據(jù)是讀數(shù)據(jù)還是寫(xiě)數(shù)據(jù),如果是讀數(shù)據(jù),則回復(fù)相應(yīng)的數(shù)據(jù)幀到數(shù)據(jù)發(fā)送模塊,否則判斷是否是配置數(shù)據(jù),如果是配置數(shù)據(jù),則進(jìn)行參數(shù)配置,否則丟棄這幀數(shù)據(jù)。
圖6 硬件系統(tǒng)與上位機(jī)通信FPGA設(shè)計(jì)流程圖
為了讓本系統(tǒng)能夠應(yīng)用于實(shí)際工業(yè)生成中,本文針對(duì)測(cè)量數(shù)據(jù)的準(zhǔn)確性和穩(wěn)定性進(jìn)行實(shí)現(xiàn)測(cè)試。如圖7所示,首先搭建測(cè)試平臺(tái),將測(cè)試管道、硬件系統(tǒng)板和計(jì)算機(jī)之間用相應(yīng)的連接線連接好、上電,讓測(cè)速系統(tǒng)開(kāi)始工作。然后持續(xù)下料(測(cè)試中選取的物料為大米),通過(guò)上位機(jī)觀察測(cè)得的速度并進(jìn)行分析。
圖7 相關(guān)器與上位機(jī)和邏輯器通信FPGA設(shè)計(jì)流程圖
上位機(jī)顯示界面如圖8所示。
圖8 相關(guān)器上位機(jī)軟件數(shù)據(jù)界面
圖8中框內(nèi)顯示的是大米實(shí)時(shí)速度值,可以看出此時(shí)大米速度值為3.83 m/s。已知測(cè)量管道豎直放置,下料口和傳感器之間的距離h為80 cm,而兩個(gè)傳感器之間的距離L為8 mm(相對(duì)于h,L數(shù)值較小可忽略)。自由落體公式如下:
(4)
(5)
可以計(jì)算出理想情況下,此時(shí)的流速ν為4m/s,考慮到空氣阻力因素,可以判斷測(cè)速儀測(cè)出的結(jié)果是正確的。
實(shí)驗(yàn)過(guò)程中也可以通過(guò)上位機(jī)軟件波形窗口觀測(cè)速度波形圖,如圖9所示。上半部分框內(nèi)顯示的波形為大米實(shí)時(shí)速度值波形。
圖9 單通道上位機(jī)速度波形界面
可以看出,此時(shí)物料的流速穩(wěn)定在3.60~3.90 m/s。在MATLAB中讀取速度數(shù)據(jù)文檔,并對(duì)速度數(shù)據(jù)
Design and Application of Solid Velocity Measurement System Based on FPGA
Long Yongliang,Sun Yang,Yang Na
(Electronic Engineering Institute,Chengdu University of Information Technology,Chengdu 610225,China)
Aiming at the problem of the solid velocity measurement in industrial production process,a new method of measuring system based on FPGA is proposed in the paper.The system takes the related speed algorithm as the theory,it transmits the carrier signal to the test pipeline,and collects the velocity signals of two different locations in the pipeline.The system carries out the cross-correlation operation to the two signals,and then finds the peak.The solid velocity is obtained indirectly in this way.The system includes the hardware system based on FPGA and the software system based on C++.The experiment results show that the system realizes the accurate measurement of the solid flow rate,and the working performance of the system is stable and effective just as expected.
solid flow rate;carrier signal;cross-correlation;FPGA
TH815
A