基于FPGA与CIS架构的玻璃管液位检测装置设计

2017-03-27 10:25沈昱明
电子科技 2017年3期
关键词:液位滤波驱动

李 彪,于 佩,沈昱明

(上海理工大学 光电信息与计算机工程学院,上海 200093)

基于FPGA与CIS架构的玻璃管液位检测装置设计

李 彪,于 佩,沈昱明

(上海理工大学 光电信息与计算机工程学院,上海 200093)

在玻璃管液位检测装置的设计中,液位测量精度需要达到一定的标准。CIS传感器的驱动设计和采样数据的处理方法是解决测量精度问题的关键。文中采用FPGA内部锁相环和分频模块设计CIS驱动电路,通过时序仿真验证了该驱动电路可为CIS传感器提供稳定可靠的时钟信号;采用FPGA和Matlab相结合的方法设计16阶FIR数字低通滤波器,对采样数据进行滤波处理可有效滤除噪声干扰及不需要的CP高频信号。经过多次实验表明,该装置的测量误差约在±0.25 mm以内,达到了设计要求。

液位测量;接触式图像传感器 ;驱动电路 ;FIR滤波器

接触式图像传感器(Contact Image Sensor,CIS)是上世纪80年代诞生的一种集图像技术、光电技术和计算机技术于一体的新型图像传感。CIS是一种光电转换器件,使用时将传感器与被测物表面“接触”在一起。在日常生活中,CIS通常应用于点钞机、扫描仪器、传真机等[1-3]。有学者用CIS测量刚性物体外围轮廓,并对物体进行角度定位[4];也有学者将CIS应用于微小流量的测量,以单片机为控制核心对微小流量进行检测[5]。本文将结合200 CIS传感器设计一个高精确度的玻璃管液位自动检测装置。

文中叙述了硬件电路设计,包括CIS驱动、A/D模块采样等。使用可编程逻辑控制器内部的锁相环和分频模块设计驱动电路可以轻松地产生CIS和A/D所需的高频时钟。为得到稳定液位信号,在内部缓冲器中实现对采集到的数据的缓冲。文中介绍了FIR滤波器设计的方法,并采用设计好的FIR滤波器直接对数据进行处理。该方案设计简单,仅用较少的外围电路便可实现高精度实时液位测量装置的设计。

1 系统工作原理

本设计的液位测量装置是由平行光源[6-7]、接触式图像传感器[8](Contact Image Sensor,CIS)、A/D采样模块[9-10]、FPGA控制模块、数据处理软件等组成。

硬件系统采用Altera公司CycloneII系列EP2C5T144C8 作为控制处理器产生 CIS 所需的驱动信号,通过CIS模块内的感光元件检测到反射光,然后将玻璃液位计中液位的图像信息转换为电压信号。由于液位和空气的反射率折射率的不同,有液的部分被转换为高电平,无液位的部分被转换为低电平。再利用高速ADS930转换模块,对CIS输出信号进行采集,将采集到的数字信号存入FPGA中,并在 FPGA 中采用 FIR 滤波器对数据进行滤波处理。采用脉冲计数处理方法,最后获得液位高度数据,并进行实时显示,图1所示为系统硬件原理框图。

图1 系统硬件原理图

2 硬件电路设计

2.1 CIS传感器驱动电路设计

本文选用的接触式图像传感器所采集到的图像是8位灰度图像,传感器的输出信号表示的是物体图像灰度分布的模拟电压值。其主要参数如表1所示,CIS的控制信号有SP、CP,输出信号为VOUT。

表1 CIS主要参数

CIS图像传感器若正常工作,除了双电源供电外,还需两路时钟驱动信号CP和SP。由于本系统所需两路输入信号比较特殊,尤其是SP门禁信号的周期比要求最高,因此常规的计数器很难满足要求,而可编程逻辑器是较好的选择。本文选择EP2C5T144C8 来驱动CIS,其采用外部晶振提供的20 MHz的时钟工作,先利用锁相环降频到14 MHz,再通过4分频、占空比为25%的分频模块生成CP所需要的3.5 MHz驱动,并从CLK_OUT输出时钟;CLK_OUT2与CLK_OUT3通过一个与逻辑模块生成SP的工作时序。驱动电路顶层逻辑图如图2所示。

图2 CIS驱动电路顶层逻辑图

在驱动电路设计时,采用Quartus II进行设计,顶层模块采用原理图输出方式进行描述设计,底层模块同时采用VHDL和Verilog HDL共同完成。将设计好的程序进行时序仿真,如图3所示,通过波形可看出CP和SP信号满足CIS的工作时序要求。

图3 CIS驱动时序仿真波形

2.2 A/D采样模块电路设计

CIS输出的像素信号经过预处理后送入A/D转换模块进行模数转换。本文选用的A/D转换芯片是TI公司的ADS930,它的最高转换频率30 Mbit/s,在本装置中所设计的高速A/D模块由A/D转换芯片和信号调理电路组成,CIS传感器的VOUT引脚输出的电压信号将被输入到A/D转换电路的VIN引脚,再经转换电路将模拟图像信息转换成数字信号,并从D0,D1,D2,D3,D4,D5,D6,D7输出,然后保存在 FPGA 的存储模块中。电路设计的关键在于选择运放,本设计选用150 MHz高速MAX4016,通过MAX4016实现模拟信号的放大。A/D采样模块电路设计原理图如图4所示,在本系统设计中,同样采用FPGA为A/D芯片提供驱动。

图4 A/D采样模块电路

3 软件系统设计

本装置的软件设计流程如图5所示。在设计过程中,采用FPGA和Matlab 相结合的方法进行滤波处理,大幅缩短系统设计开发周期,优化了系统的内部结构,并可得到较好的数据处理结果,提高液位测量的精度[11]。

由采样到的液位图像信息分析可得出,图像信号中夹杂着噪声信号和CP移位信号的干扰。若要得到精确的液位信息,就需要对图像信号进行滤波处理。经过多种滤波方法对比,本文采用Matlab软件设计一个16阶的FIR数字低通滤波器[12-13],采样得到的混合信号通过设计的FIR滤波器模块后,可以滤除3.5 MHz的高频信号以及一些干扰噪声。通过Matlab和QuartusII相结合的方法将FIR滤波算法下载到FPGA中,实现对采样数据的滤波处理。在本装置中,从FIFO中读出液位信息数据的同时,通过FIR滤波算法进行滤波,滤波后的液位信息如图6所示。

图5 系统软件设计流程

图6 滤波后的液位信息

从图6中可得出,滤波后的数据有一部分采样点的数据为零,这是由于A/D采样模块将CIS输出的液位信号先反向放大再进行模数转换得到的,因此图中的零代表的就是有液位的部分。在滤波后的信号中只要求出一个扫描周期内零的个数,便可得出液位的信息。为此,本系统设计了一个计数器,在FIFO读信号有效时(一帧完整的液位图像开始时),该计数器开始计数,直到扫描周期结束停止计数[15]。

4 实验数据

本文设计的液位测量装置,主要是应用到流量标准装置中的玻璃管液位测量中。在水与玻璃管交界处,水间的拉力小于水与玻璃间的拉力,会使得液面出现凹状,这种现象反映在本系统中,就是滤波后的数据在液位分界处存在一段过渡区域。为了补偿此误差,本系统建立一个检测值与实际值的数学模型,并通过曲线拟合的方法计算出两者之间的函数表达式。通过实验数据分析,得到采样点与液位值的函数关系式为

y=0.12×x+0.005 9

(1)

式中,x为液位像素点个数(本装置检测液位值);y为补偿后的液位值。通过此函数可以有效补偿过渡区域的误差。通过该液位检测装置实验得出一组数据,其详细信息如表2所示。

由表2可得出,本装置检测数据大部分在±0.25 精度范围内,可以用于玻璃管液位自动检测。

表2 液位测量结果

5 结束语

本装置采用可编程逻辑器,通过内部的锁相环和分频模块设计驱动电路对200 的CIS图像传感器进行驱动,能满足CIS的工作时序要求。在数据采样时,通过ADS930进行高速A/D采样。另外,在处理数据时,采用FPGA和Matlab相结合的方法来设计Filter滤波模块,该滤波模块可以滤除噪声干扰以及不需要的CP高频信号。本文设计的液位检测装置的测量精度在0.25 mm以内,可用于玻璃管液位检测。

[1] 王旭东,叶玉堂,陈东明,等.基于FPGA与CIS的高速高精度图像采集系统[J].电子测量技术,2010(9):63-69.

[2] 冯晓昱.基于DSP的光电图象采集与处理系统的设计[D].成都:电子科技大学,2010.

[3] 冯晓昱,吴云峰,叶玉堂,等.基于FPGA与接触式图像传感器的宽幅扫描仪[J].中国科技信息,2009(2):110-111.

[4] 刘国栋,吴振林,韦进强.一种基于CIS传感器的外轮廓扫描系统[J].机械,2009,36(4):65-67.

[5] 吕锋杰,陈良才,茹更生,等.基于CIS的微小流量实时测量系统研究[J].计量与测试技术,2004,31(12):19-20.

[6] 孙向东,李斌,马宇峰.静态容积法流量标准装置的架构[J].自动化仪表,2007,28(4):12-15.

[7] 吕锋杰,陈良才,茹更生,等.基于CIS的液面测量系统光源研究[J].化工自动化及仪表,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采样控制器设计中的应用[J].长江大学学报:自然科学版,2009(4):272-274.

[10] 罗朝霞.基于VHDL语言的A/D采样控制器设计[J].现代电子技术,2005,28(12): 96-97,100.

[11] 张海军.基于FPGA的16阶 FIR滤波器的设计与实现[J].安徽大学学报:自然科学版,2009,33(1):62-65,69.

[12] 张森,张正亮.Matlab 仿真技术与实例应用教程[M].北京:机械工业出版社,2004.

[13] 周云波,刘小群.基于Matlab的FIR数字滤波器的优化设计[J].电子科技,2010,23(10):28-29.

[14] 任张强.高速CIS时钟发生电路及驱动电路设计[D].天津:天津大学,2009.

[15] 董德兴.高性能CIS控制系统及关键ISP技术研究[D].天津:天津大学,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-),男,硕士研究生。研究方向:检测技术及其自动化。沈昱明(1960-),男,教授。研究方向:流量测量技术 和PLC与现代工业控制技术。

10.16180/j.cnki.issn1007-7820.2017.03.031

TP212;TH86

A

1007-7820(2017)03-111-04

猜你喜欢
液位滤波驱动
国外储罐防溢油液位的设置
基于模糊PI控制的驱动防滑仿真系统分析
屈宏斌:未来五年,双轮驱动,砥砺前行
轨旁ATC系统门控柜接收/驱动板改造
基于S3C6410的Wi-Fi驱动移植实现
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
宝马530车冷却液液位过低报警
基于四元数互补滤波的无人机姿态解算