李 彪,于 佩,沈昱明
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
基于FPGA與CIS架構(gòu)的玻璃管液位檢測(cè)裝置設(shè)計(jì)
李 彪,于 佩,沈昱明
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
在玻璃管液位檢測(cè)裝置的設(shè)計(jì)中,液位測(cè)量精度需要達(dá)到一定的標(biāo)準(zhǔn)。CIS傳感器的驅(qū)動(dòng)設(shè)計(jì)和采樣數(shù)據(jù)的處理方法是解決測(cè)量精度問(wèn)題的關(guān)鍵。文中采用FPGA內(nèi)部鎖相環(huán)和分頻模塊設(shè)計(jì)CIS驅(qū)動(dòng)電路,通過(guò)時(shí)序仿真驗(yàn)證了該驅(qū)動(dòng)電路可為CIS傳感器提供穩(wěn)定可靠的時(shí)鐘信號(hào);采用FPGA和Matlab相結(jié)合的方法設(shè)計(jì)16階FIR數(shù)字低通濾波器,對(duì)采樣數(shù)據(jù)進(jìn)行濾波處理可有效濾除噪聲干擾及不需要的CP高頻信號(hào)。經(jīng)過(guò)多次實(shí)驗(yàn)表明,該裝置的測(cè)量誤差約在±0.25 mm以內(nèi),達(dá)到了設(shè)計(jì)要求。
液位測(cè)量;接觸式圖像傳感器 ;驅(qū)動(dòng)電路 ;FIR濾波器
接觸式圖像傳感器(Contact Image Sensor,CIS)是上世紀(jì)80年代誕生的一種集圖像技術(shù)、光電技術(shù)和計(jì)算機(jī)技術(shù)于一體的新型圖像傳感。CIS是一種光電轉(zhuǎn)換器件,使用時(shí)將傳感器與被測(cè)物表面“接觸”在一起。在日常生活中,CIS通常應(yīng)用于點(diǎn)鈔機(jī)、掃描儀器、傳真機(jī)等[1-3]。有學(xué)者用CIS測(cè)量剛性物體外圍輪廓,并對(duì)物體進(jìn)行角度定位[4];也有學(xué)者將CIS應(yīng)用于微小流量的測(cè)量,以單片機(jī)為控制核心對(duì)微小流量進(jìn)行檢測(cè)[5]。本文將結(jié)合200 CIS傳感器設(shè)計(jì)一個(gè)高精確度的玻璃管液位自動(dòng)檢測(cè)裝置。
文中敘述了硬件電路設(shè)計(jì),包括CIS驅(qū)動(dòng)、A/D模塊采樣等。使用可編程邏輯控制器內(nèi)部的鎖相環(huán)和分頻模塊設(shè)計(jì)驅(qū)動(dòng)電路可以輕松地產(chǎn)生CIS和A/D所需的高頻時(shí)鐘。為得到穩(wěn)定液位信號(hào),在內(nèi)部緩沖器中實(shí)現(xiàn)對(duì)采集到的數(shù)據(jù)的緩沖。文中介紹了FIR濾波器設(shè)計(jì)的方法,并采用設(shè)計(jì)好的FIR濾波器直接對(duì)數(shù)據(jù)進(jìn)行處理。該方案設(shè)計(jì)簡(jiǎn)單,僅用較少的外圍電路便可實(shí)現(xiàn)高精度實(shí)時(shí)液位測(cè)量裝置的設(shè)計(jì)。
本設(shè)計(jì)的液位測(cè)量裝置是由平行光源[6-7]、接觸式圖像傳感器[8](Contact Image Sensor,CIS)、A/D采樣模塊[9-10]、FPGA控制模塊、數(shù)據(jù)處理軟件等組成。
硬件系統(tǒng)采用Altera公司CycloneII系列EP2C5T144C8 作為控制處理器產(chǎn)生 CIS 所需的驅(qū)動(dòng)信號(hào),通過(guò)CIS模塊內(nèi)的感光元件檢測(cè)到反射光,然后將玻璃液位計(jì)中液位的圖像信息轉(zhuǎn)換為電壓信號(hào)。由于液位和空氣的反射率折射率的不同,有液的部分被轉(zhuǎn)換為高電平,無(wú)液位的部分被轉(zhuǎn)換為低電平。再利用高速ADS930轉(zhuǎn)換模塊,對(duì)CIS輸出信號(hào)進(jìn)行采集,將采集到的數(shù)字信號(hào)存入FPGA中,并在 FPGA 中采用 FIR 濾波器對(duì)數(shù)據(jù)進(jìn)行濾波處理。采用脈沖計(jì)數(shù)處理方法,最后獲得液位高度數(shù)據(jù),并進(jìn)行實(shí)時(shí)顯示,圖1所示為系統(tǒng)硬件原理框圖。
圖1 系統(tǒng)硬件原理圖
2.1 CIS傳感器驅(qū)動(dòng)電路設(shè)計(jì)
本文選用的接觸式圖像傳感器所采集到的圖像是8位灰度圖像,傳感器的輸出信號(hào)表示的是物體圖像灰度分布的模擬電壓值。其主要參數(shù)如表1所示,CIS的控制信號(hào)有SP、CP,輸出信號(hào)為VOUT。
表1 CIS主要參數(shù)
CIS圖像傳感器若正常工作,除了雙電源供電外,還需兩路時(shí)鐘驅(qū)動(dòng)信號(hào)CP和SP。由于本系統(tǒng)所需兩路輸入信號(hào)比較特殊,尤其是SP門禁信號(hào)的周期比要求最高,因此常規(guī)的計(jì)數(shù)器很難滿足要求,而可編程邏輯器是較好的選擇。本文選擇EP2C5T144C8 來(lái)驅(qū)動(dòng)CIS,其采用外部晶振提供的20 MHz的時(shí)鐘工作,先利用鎖相環(huán)降頻到14 MHz,再通過(guò)4分頻、占空比為25%的分頻模塊生成CP所需要的3.5 MHz驅(qū)動(dòng),并從CLK_OUT輸出時(shí)鐘;CLK_OUT2與CLK_OUT3通過(guò)一個(gè)與邏輯模塊生成SP的工作時(shí)序。驅(qū)動(dòng)電路頂層邏輯圖如圖2所示。
圖2 CIS驅(qū)動(dòng)電路頂層邏輯圖
在驅(qū)動(dòng)電路設(shè)計(jì)時(shí),采用Quartus II進(jìn)行設(shè)計(jì),頂層模塊采用原理圖輸出方式進(jìn)行描述設(shè)計(jì),底層模塊同時(shí)采用VHDL和Verilog HDL共同完成。將設(shè)計(jì)好的程序進(jìn)行時(shí)序仿真,如圖3所示,通過(guò)波形可看出CP和SP信號(hào)滿足CIS的工作時(shí)序要求。
圖3 CIS驅(qū)動(dòng)時(shí)序仿真波形
2.2 A/D采樣模塊電路設(shè)計(jì)
CIS輸出的像素信號(hào)經(jīng)過(guò)預(yù)處理后送入A/D轉(zhuǎn)換模塊進(jìn)行模數(shù)轉(zhuǎn)換。本文選用的A/D轉(zhuǎn)換芯片是TI公司的ADS930,它的最高轉(zhuǎn)換頻率30 Mbit/s,在本裝置中所設(shè)計(jì)的高速A/D模塊由A/D轉(zhuǎn)換芯片和信號(hào)調(diào)理電路組成,CIS傳感器的VOUT引腳輸出的電壓信號(hào)將被輸入到A/D轉(zhuǎn)換電路的VIN引腳,再經(jīng)轉(zhuǎn)換電路將模擬圖像信息轉(zhuǎn)換成數(shù)字信號(hào),并從D0,D1,D2,D3,D4,D5,D6,D7輸出,然后保存在 FPGA 的存儲(chǔ)模塊中。電路設(shè)計(jì)的關(guān)鍵在于選擇運(yùn)放,本設(shè)計(jì)選用150 MHz高速M(fèi)AX4016,通過(guò)MAX4016實(shí)現(xiàn)模擬信號(hào)的放大。A/D采樣模塊電路設(shè)計(jì)原理圖如圖4所示,在本系統(tǒng)設(shè)計(jì)中,同樣采用FPGA為A/D芯片提供驅(qū)動(dòng)。
圖4 A/D采樣模塊電路
本裝置的軟件設(shè)計(jì)流程如圖5所示。在設(shè)計(jì)過(guò)程中,采用FPGA和Matlab 相結(jié)合的方法進(jìn)行濾波處理,大幅縮短系統(tǒng)設(shè)計(jì)開(kāi)發(fā)周期,優(yōu)化了系統(tǒng)的內(nèi)部結(jié)構(gòu),并可得到較好的數(shù)據(jù)處理結(jié)果,提高液位測(cè)量的精度[11]。
由采樣到的液位圖像信息分析可得出,圖像信號(hào)中夾雜著噪聲信號(hào)和CP移位信號(hào)的干擾。若要得到精確的液位信息,就需要對(duì)圖像信號(hào)進(jìn)行濾波處理。經(jīng)過(guò)多種濾波方法對(duì)比,本文采用Matlab軟件設(shè)計(jì)一個(gè)16階的FIR數(shù)字低通濾波器[12-13],采樣得到的混合信號(hào)通過(guò)設(shè)計(jì)的FIR濾波器模塊后,可以濾除3.5 MHz的高頻信號(hào)以及一些干擾噪聲。通過(guò)Matlab和QuartusII相結(jié)合的方法將FIR濾波算法下載到FPGA中,實(shí)現(xiàn)對(duì)采樣數(shù)據(jù)的濾波處理。在本裝置中,從FIFO中讀出液位信息數(shù)據(jù)的同時(shí),通過(guò)FIR濾波算法進(jìn)行濾波,濾波后的液位信息如圖6所示。
圖5 系統(tǒng)軟件設(shè)計(jì)流程
圖6 濾波后的液位信息
從圖6中可得出,濾波后的數(shù)據(jù)有一部分采樣點(diǎn)的數(shù)據(jù)為零,這是由于A/D采樣模塊將CIS輸出的液位信號(hào)先反向放大再進(jìn)行模數(shù)轉(zhuǎn)換得到的,因此圖中的零代表的就是有液位的部分。在濾波后的信號(hào)中只要求出一個(gè)掃描周期內(nèi)零的個(gè)數(shù),便可得出液位的信息。為此,本系統(tǒng)設(shè)計(jì)了一個(gè)計(jì)數(shù)器,在FIFO讀信號(hào)有效時(shí)(一幀完整的液位圖像開(kāi)始時(shí)),該計(jì)數(shù)器開(kāi)始計(jì)數(shù),直到掃描周期結(jié)束停止計(jì)數(shù)[15]。
本文設(shè)計(jì)的液位測(cè)量裝置,主要是應(yīng)用到流量標(biāo)準(zhǔn)裝置中的玻璃管液位測(cè)量中。在水與玻璃管交界處,水間的拉力小于水與玻璃間的拉力,會(huì)使得液面出現(xiàn)凹狀,這種現(xiàn)象反映在本系統(tǒng)中,就是濾波后的數(shù)據(jù)在液位分界處存在一段過(guò)渡區(qū)域。為了補(bǔ)償此誤差,本系統(tǒng)建立一個(gè)檢測(cè)值與實(shí)際值的數(shù)學(xué)模型,并通過(guò)曲線擬合的方法計(jì)算出兩者之間的函數(shù)表達(dá)式。通過(guò)實(shí)驗(yàn)數(shù)據(jù)分析,得到采樣點(diǎn)與液位值的函數(shù)關(guān)系式為
y=0.12×x+0.005 9
(1)
式中,x為液位像素點(diǎn)個(gè)數(shù)(本裝置檢測(cè)液位值);y為補(bǔ)償后的液位值。通過(guò)此函數(shù)可以有效補(bǔ)償過(guò)渡區(qū)域的誤差。通過(guò)該液位檢測(cè)裝置實(shí)驗(yàn)得出一組數(shù)據(jù),其詳細(xì)信息如表2所示。
由表2可得出,本裝置檢測(cè)數(shù)據(jù)大部分在±0.25 精度范圍內(nèi),可以用于玻璃管液位自動(dòng)檢測(cè)。
表2 液位測(cè)量結(jié)果
本裝置采用可編程邏輯器,通過(guò)內(nèi)部的鎖相環(huán)和分頻模塊設(shè)計(jì)驅(qū)動(dòng)電路對(duì)200 的CIS圖像傳感器進(jìn)行驅(qū)動(dòng),能滿足CIS的工作時(shí)序要求。在數(shù)據(jù)采樣時(shí),通過(guò)ADS930進(jìn)行高速A/D采樣。另外,在處理數(shù)據(jù)時(shí),采用FPGA和Matlab相結(jié)合的方法來(lái)設(shè)計(jì)Filter濾波模塊,該濾波模塊可以濾除噪聲干擾以及不需要的CP高頻信號(hào)。本文設(shè)計(jì)的液位檢測(cè)裝置的測(cè)量精度在0.25 mm以內(nèi),可用于玻璃管液位檢測(cè)。
[1] 王旭東,葉玉堂,陳東明,等.基于FPGA與CIS的高速高精度圖像采集系統(tǒng)[J].電子測(cè)量技術(shù),2010(9):63-69.
[2] 馮曉昱.基于DSP的光電圖象采集與處理系統(tǒng)的設(shè)計(jì)[D].成都:電子科技大學(xué),2010.
[3] 馮曉昱,吳云峰,葉玉堂,等.基于FPGA與接觸式圖像傳感器的寬幅掃描儀[J].中國(guó)科技信息,2009(2):110-111.
[4] 劉國(guó)棟,吳振林,韋進(jìn)強(qiáng).一種基于CIS傳感器的外輪廓掃描系統(tǒng)[J].機(jī)械,2009,36(4):65-67.
[5] 呂鋒杰,陳良才,茹更生,等.基于CIS的微小流量實(shí)時(shí)測(cè)量系統(tǒng)研究[J].計(jì)量與測(cè)試技術(shù),2004,31(12):19-20.
[6] 孫向東,李斌,馬宇峰.靜態(tài)容積法流量標(biāo)準(zhǔn)裝置的架構(gòu)[J].自動(dòng)化儀表,2007,28(4):12-15.
[7] 呂鋒杰,陳良才,茹更生,等.基于CIS的液面測(cè)量系統(tǒng)光源研究[J].化工自動(dòng)化及儀表,2005,32(3):71-73.
[8] Liu Guixi,Yang Wanhai,Xie Shipin.Signal detection and processing technique for contact image sensor[J].Opto-Electronic Engineering,2000,27(4):18-20.
[9] 楊亞讓,吳云虎.VHDL和FPGA在高速A/D采樣控制器設(shè)計(jì)中的應(yīng)用[J].長(zhǎng)江大學(xué)學(xué)報(bào):自然科學(xué)版,2009(4):272-274.
[10] 羅朝霞.基于VHDL語(yǔ)言的A/D采樣控制器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2005,28(12): 96-97,100.
[11] 張海軍.基于FPGA的16階 FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J].安徽大學(xué)學(xué)報(bào):自然科學(xué)版,2009,33(1):62-65,69.
[12] 張森,張正亮.Matlab 仿真技術(shù)與實(shí)例應(yīng)用教程[M].北京:機(jī)械工業(yè)出版社,2004.
[13] 周云波,劉小群.基于Matlab的FIR數(shù)字濾波器的優(yōu)化設(shè)計(jì)[J].電子科技,2010,23(10):28-29.
[14] 任張強(qiáng).高速CIS時(shí)鐘發(fā)生電路及驅(qū)動(dòng)電路設(shè)計(jì)[D].天津:天津大學(xué),2009.
[15] 董德興.高性能CIS控制系統(tǒng)及關(guān)鍵ISP技術(shù)研究[D].天津:天津大學(xué),2009.
Design of Glass Tube Liquid Level Detection Device Based on FPGA and CIS Architecture
LI Biao,YU Pei,SHEN Yuming
(School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China)
In the design of the glass tube liquid level detection device, the accuracy of the liquid level measurement needs to reach a certain standard. The driving design of CIS sensor and the processing method of sampled data are the key to solve the problem of measurement accuracy.In this paper, the CIS driver circuit is designed by using the FPGA internal phase locked loop and the frequency division module, which can provide a stable and reliable clock signal for the CIS sensor by the time sequence simulation; Using the method of combining FPGA and Matlab to design the 16 order FIR digital low-pass filter, the sampling data can be filtered to filter the noise interference and the CP high frequency signal. After many experiments show that the measurement error of the device is less than 0.25 mm, reached the design requirements.
liquid level measurement; contact image sensor; driving circuit; FIR filter
2016- 04- 14
李彪(1994-),男,碩士研究生。研究方向:檢測(cè)技術(shù)及其自動(dòng)化。沈昱明(1960-),男,教授。研究方向:流量測(cè)量技術(shù) 和PLC與現(xiàn)代工業(yè)控制技術(shù)。
10.16180/j.cnki.issn1007-7820.2017.03.031
TP212;TH86
A
1007-7820(2017)03-111-04