龍永良,孫洋,楊那
(成都信息工程大學 電子工程學院,成都 610225)
?
基于FPGA的固體測速系統的設計與應用
龍永良,孫洋,楊那
(成都信息工程大學 電子工程學院,成都 610225)
針對目前工業生產過程中的固體流速測量問題,提出了一種基于FPGA的固體流速測量系統。該系統以相關測速算法為理論基礎,通過發射載波信號到測試管道,并采集管道內兩個不同位置的流速信號,對這兩路信號進互相關運算,尋找峰值點,從而間接求得固體流速。該系統包括一套基于FPGA的硬件系統和一套基于C++的上位機軟件系統。經過測試驗證,本系統實現了固體流速的精確測量,性能穩定,達到了設計目標要求。
固體流速;載波信號;互相關運算;FPGA
近些年來,固體物料輸送的自動化控制技術在工業生產中的應用越來越廣泛,固體物料流速的檢測和計量在工業過程中的地位也越來越重要。但是,固體流速一直是工業過程中比較難測的參數。相對于成熟的流體的流速檢測技術,固體流速流量檢測方法的研究起步晚,技術不夠成熟[1],目前已有的測量方法存在操作不方便、制作成本高、實時測量精度難以評價等問題[2]。因此本文根據相關測速原理,利用FPGA平臺開發了一款新型的固體測速系統,該系統可以測量固體物料的速度,測量結果準確可靠。
本文的固體速度測量方法來源于相關測速原理[3]。固體顆粒在流動過程會自然產生流動噪聲信號,對固定不變的兩個位置的測試點的流動噪聲信號進行采集,采集到的信號則具有相關的性質。利用這一特性,可以將測量固體的速度問題轉化為測量固體通過兩個位置的時間間隔問題。
相關法測量固體速度系統構成如圖1所示。

圖1 相關流速測量系統

(1)


圖2 固體顆粒流動噪聲信號及互相關函數圖形
(2)
相關法測量固體速度是基于檢測兩路信號相似性與信號的幅度值無關,這意味著互相關法具有以下這些優點[5-6]:①采用非接觸測量,降低了設備損耗,增加了傳感器使用壽命;②測量精度高,量程寬;③與測量對象本身的化學和物理性質無關,固體液體都可以測量;④適用性強,與測量環境變化無關,如溫濕度變化。
正是因為相關測速法有諸多的優點,所以相比較其他速度測量方法(如光學法、聲學法、電磁法等),相關測速法在測量管道流體流速方面應用更廣泛。
本系統依據相關測速法原理,在原來互相關測速法基礎上做了改進,增加了信號發射端。這是因為傳統的相關測速方法,信號接收端采集的是物料的流動噪聲信號,此信號幅值比較小,通常是高頻信號,且具有很大的隨機性,直接采集流動噪聲信號作互相關運算,不容易找到正確的峰值點,很難正確地求出物料的速度。本系統采用的方案是由信號發射端發射大功率低頻載波信號,兩個信號接收端接收攜帶流動噪聲的載波信號,并通過低通濾波器把高頻的流動噪聲信號濾掉。
本方案的系統結構框圖如圖3所示。

圖3 系統結構框圖
其中,A端為信號發射端,向測試管道發射載波信號,B、C端為接收端,接收帶有流體信息的回波信號,并送入預處理電路處理,然后FPGA控制A/D芯片對處理后的兩路信號進行采集,再經過FIR低通濾波器,濾掉高頻噪聲信號,從而得到兩路良好的相關信號。對這兩路信號進行互相關運算,從而求得此時的流速。

(3)


結合性能與成本的考慮,主控芯片選擇Xilinx公司的Spattan-6系列的XC6SLX100芯片。該芯片配置有15 822個Slice,930 Kb容量的分布式RAM,182個DSP48E Slice以及482個可用I/O口[8],能夠滿足本系統的資源消耗。
本系統的工作原理是:中心控制器FPGA產生一定頻率的載波信號,經波形變化后發射到測量管道中,接收端采集到的兩路相關信號經前端放大處理、A/D采集后送入中心控制器處理,經過互相關運算后即可獲得固體顆粒速度數據。如圖4所示,由上圖可以看出本系統主要由信號發射模塊、信號采集模塊、USB通信模塊、溫度檢測模塊和EEPROM存儲模塊構成。

圖4 硬件系統框圖
信號發射模塊實現的功能是產生一定形式的載波信號發送至測量管道。由相關法測速原理可知,載波信號經過測量管道后會帶有物料通過的信息。
信號采集模塊實現的功能是將接收電極接收到的兩路相關信號同時進行放大濾波,然后同時輸入到A/D芯片進行A/D轉換,最后輸入到FPGA進行處理。本系統采用的A/D轉換芯片是ADC122S101。ADC122S101是一款低功耗,雙通道輸入的模擬—數字轉換器,它與控制器之間采用SPI方式進行通信,它的輸出數據位為12位。與傳統單一采樣率的A/D器件不同,ADC122S101的采樣率可以從500 Ksps~1 Msps,可以滿足本產品的采樣需求。
USB通信模塊實現的功能是完成硬件系統和上位機相互通信。USB接口的優點是可以實現即插即用,可以隨時利用電腦進行參數的配置和系統的調試[9]。USB通信模塊部分選用的芯片是FT232BM。FT232BM是FTDI公司開發的一款數據轉換芯片,可將USB數據轉換成串口數據。
溫度檢測模塊負責對相關器板載溫度進行實時采集,以便實時了解管道環境溫度情況。溫度檢測裝置采用的是一塊溫度傳感器DS1631,測量范圍為0~70 ℃,測量精度為±0.5 ℃。中心控制器FPGA可通過I2C協議讀取DS1631測量的溫度數據。
EEPROM存儲模塊負責對配置參數存儲。硬件電路需要配置許多參數,主要參數包括兩相鄰電極之間的間距、發射信號頻率、信號的數據率、硬件系統地址等參數。由于FPGA斷電重啟后會丟失系統參數,EEPROM可以使得存儲的參數掉電不丟失。本系統選用的存儲芯片是Atmel公司的AT24C04,存儲容量最大為4 KB,FPGA可以通過I2C協議讀取和存儲數據,芯片內的資料可以在斷電的情況下保存10年。
本系統FPGA程序設計主要實現以下功能:對固體顆粒流速數據采集與計算;完成溫度信息的采集;與上位機系統進行數據通信;將系統相關參數存儲到EEPROM中。
4.1 FPGA互相關運算程序設計
FPGA互相關運算程序是整個系統的核心,這部分程序的流程圖如圖5所示。

圖5 FPGA互相關運算 程序流程圖
A/D采集完后的兩路數據,經過解調后送到FIR低通濾波器中進行濾波處理,并抽取到合適的數據速率。然后,兩路數據存儲到RAM中,等待一個FFT周期(4 096點)數據存儲完成后,便進行FFT變換。FFT變換完成后,將其中一路FFT結果取共軛,并與另一路相乘,將相乘后的結果進行IFFT變換,即完成互相關運算。最后通過一一比較的方法求出最大值和最大值點對應的坐標(取最大值點的時間τ0),將該坐標值點送入速度計算程序求出對應的速度。
4.2 FPGA硬件系統與上位機通信程序
上位機軟件實現的功能主要是:與硬件系統進行串口通信;給硬件系統發送命令或參數;接收硬件系統發送的測量值,并實時顯示測量值波形。上位機程序采用C/C++語言編寫,軟件界面采用MFC編寫。
上位機與硬件系統之間通信步驟如下:
① 上位機直接將通信數據發送給硬件系統。
② 硬件系統收到數據后,進行數據解析。
③ 硬件系統根據解析數據進行相應操作。
④ 硬件系統發送回讀數據給上位機以確保通信成功。
硬件系統與上位機通信的程序設計流程如圖6所示。上位機在與硬件系統通信時是作為通信的發起者,硬件系統是通信的應答者。硬件系統接收到串行數據幀并根據相應的命令執行對應的操作,當數據接收模塊接收到一幀數據時,首先要進行CRC效驗,如果CRC效驗正確執行下一步操作數據解析,否則把這一幀數據丟棄。進行數據解析時,根據命令判斷數據是讀數據還是寫數據,如果是讀數據,則回復相應的數據幀到數據發送模塊,否則判斷是否是配置數據,如果是配置數據,則進行參數配置,否則丟棄這幀數據。

圖6 硬件系統與上位機通信FPGA設計流程圖
為了讓本系統能夠應用于實際工業生成中,本文針對測量數據的準確性和穩定性進行實現測試。如圖7所示,首先搭建測試平臺,將測試管道、硬件系統板和計算機之間用相應的連接線連接好、上電,讓測速系統開始工作。然后持續下料(測試中選取的物料為大米),通過上位機觀察測得的速度并進行分析。

圖7 相關器與上位機和邏輯器通信FPGA設計流程圖
上位機顯示界面如圖8所示。

圖8 相關器上位機軟件數據界面
圖8中框內顯示的是大米實時速度值,可以看出此時大米速度值為3.83 m/s。已知測量管道豎直放置,下料口和傳感器之間的距離h為80 cm,而兩個傳感器之間的距離L為8 mm(相對于h,L數值較小可忽略)。自由落體公式如下:
(4)

(5)
可以計算出理想情況下,此時的流速ν為4m/s,考慮到空氣阻力因素,可以判斷測速儀測出的結果是正確的。
實驗過程中也可以通過上位機軟件波形窗口觀測速度波形圖,如圖9所示。上半部分框內顯示的波形為大米實時速度值波形。

圖9 單通道上位機速度波形界面
可以看出,此時物料的流速穩定在3.60~3.90 m/s。在MATLAB中讀取速度數據文檔,并對速度數據
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