APP下载

基于FPGA 的巴布剂质量在线检测系统*

2012-08-09刘荣鹏苏寒松

电子器件 2012年5期
关键词:巴布视频信号像素点

刘荣鹏,金 杰,苏寒松

(天津大学电子信息工程学院,天津 300072)

目前,国外的巴布剂技术已经比较成熟,国内的巴布剂技术起步较晚,生产体系还不够先进。国内巴布剂成品质量检测大多通过感官评价,对其质量的评估分析带有一定的主观性,很难用统一的规格化标准去判定[1]。本设计以Altera 公司的DE2 板为开发平台,采用数字图像采集及处理将问题转化为数字信号处理问题,由于质量有缺陷的巴布剂其图像特征表现为有瑕点,导致每个位置的像素RGB信号数据有明显差异,提取其中的B 信号作为在线检测的判定对象,根据一定的数学方法识别图像特征,判定巴布剂涂布质量合格与否,并将结果反馈给系统主控制部分,对相关的设备进行相应的调整,实现对巴布剂涂布质量的在线检测。

1 系统架构

本设计系统采用Altera 公司的FPGA 芯片作为整个系统的核心芯片,外围设备主要包括CCD 摄像头、ADV7181B 图像编解码器、SDRAM 存储器、LED指示灯、反馈电路等,其结构图如图1所示。

图1 系统结构图

设计前端采用CCD 摄像头对巴布涂剂进行扫描后得到图像,该图像为模拟视频信号,然后输入至ADV7181B 中进行模数转化、编解码,输出数字图像信号。由于数字信号的数据量较大,须外置一个SDRAM存储器作为缓存,待整帧图像的数据缓存完毕后再对其进行提取、处理及判断识别,将判定结果在LED 指示灯显示,方便直观的观察,并且将此判定结果通过连接电路传给PLC 控制端,驱动生产线上相应的马达做出步进式调整,从而实现对巴布剂质量的在线检测。

2 硬件设计

2.1 CCD 摄像头

本设计系统采用的是Sony HAD CCD 摄像头,分辨率为640×480,输入电压为12 V。由摄像头输出的模拟视频信号包括图像信息、行消隐与场消隐信号、行同步与场同步等。

2.2 视频编解码器ADV7181B 及其配置

ADV7181B 是一款高性能集成视频解码器,支持多种格式模拟视频信号的输入,它接收来自CCD摄像头的模拟视频信号,并将其转化输出为与CCIR656 标准 相兼容的YCrCb 4∶2 2数字视频信号。ADV7181B 可以并行输出16 bit或8 bit 数据信息,同时包括场同步信号VS、行同步信号HS、场识别信号、中断请求信号等。

ADV7181B 内部共有240个控制寄存器,寄存器的值不同所实现的功能便不同,可以根据自己的需要配置这些寄存器。本设计用QuartusⅡ9.0 编写ADV7181B 的配置程序,并通过I2C 总线将配置数据传输到ADV7181B[2]。在QuartusⅡ9.0 中建立寄存器配置模块,将寄存器地址及数据信息通过数据总线(SDA)和时钟总线(SCL)写入到ADV7181B,就可以接收来自CCD 的模拟视频信号,并以27MHz的频率进行模数转换,输出为16 bit 的YUV 数字视频信号。

2.3 SDRAM 的存储

SDRAM 是多Bank 结构,Bank 之间并行工作,比如其中一个Bank 在进行预充电期间,另一个Bank 是可以被读取的,当一次读取后结束后,再去读取已经预充电结束的Bank 中的数据。这种多Bank 结构的优点是:不用等待,可以连续读取每个Bank 中的数据,很大程度上提高了SDRAM 的访问速度。SDRAM 上电后要对其进行初始化,主要过程为:上电等待、预充电、空操作、自刷新等,而后才能进行其他操作。SDRAM 内部操作是一个复杂的状态机[3-4],如图2所示,在各个状态之间切换时,列地址选择、行地址选择和读写选择信号会产生相应的变化,在QuartusⅡ9.0 中用状态机控制SDRAM,使其在各个状态改变RAS、CAS、WE 的值,从而控制SDRAM 的刷新、空操作、数据读取:

图2 SDRAM 内部状态转移图当SDRAM

SDRAM 的引脚主要分为以下几类:

(1)控制信号:片选(CS)、同步时钟(CLK)、时钟有效(CLKEN)、读写选择(WE)、数据有效(DQM)等;

(2)地址选择信号:行地址选择(RAS)、列地址选择(CAS)、行/列地址线(SA)、Bank 块地址线(BA);

(3)数据信号:包括双向数据端口(DQ)、接收数据有效信号(DQM)控制等。DQM为低时,写入/读出有效。

本设计中采用的SDRAM 容量为8 Mbyte,结构为:1 M×16 Bit×4 Banks。与SDRAM 相连的信号除了时钟信号CLK 以外都来自FPGA。FPGA 与SDRAM 信号的接口设置如图3所示。

图3 SDRAM 信号的接口设置

2.4 在线检测

2.4.1 在线检测原理

在线检测主要是对巴布涂剂的图像是否有黑色斑点(药物搅拌不均匀)或白色斑点(上药过程中出现气泡)等作出识别。

在线拍摄的巴布涂剂的部分图像如图4所示。

图4

根据图4 中正常的巴布剂与瑕疵点处像素RGB值的差异来判别巴布剂的质量。截取部分图像,用Matlab 对其进行分析处理,得到图像每像素点的R、G、B值,每个值都存放为一个二维矩阵,对应图像相应位置的像素点。观察得到的数据并与图像对比,得出B 信号在图像变化时数据跳跃最大,有更明显的变化,所以选用B值作为判定信号,使其更易判别。

此设计选用摄像头的分辨率为640×480,实际拍摄的巴布剂大小为420 mm×300 mm,单位像素点大小为0.656 mm×0.635 mm。当斑点小于单位像素点时,B值会因斑点大小与单位像素点的比例而不同,比例越高越偏离正常B值的范围,越接近不合格范围。经多次Matlab 数据分析并提取数据,巴布剂图像B 信号B0为80~130(B 信号为8 bit)可判定为正常范围,B1 大于190 可判定为白斑,B2 小于60 可判定为黑斑。图5为Matlab 得出的正常和黑斑处像素点的B值。

图5 Matlab 得出的正常和黑斑处像素点的B值

系统工作时,每当时钟CLK 上升沿到来,FPGA逐像素点从SDRAM 中提取图像信息[6],并转为RGB 格式。同时,使得到的B 信号与平均信号B0做对比,若其值大于平均值B0 一定范围(平均值B0的浮动)则计数器cont 累加1,否则计数器不变。同理用cont2 统计B 信号值小于平均值B0 的像素点个数。在QuartusⅡ9.0 中用Veilog 语言实现:

一幅图像结束后,将统计结果与像素点总数对比求概率,若其在误差允许范围之内则判定巴布剂质量合格,否则判定其为不合格。并将此结果通过高低电平的形式传到PLC,驱动系统马达做出相应调整。

2.4.2 图像预处理

在CCD 摄录端得到的图像中存在周围的设备的图像,在做图像检测的时候需要滤除巴布剂之外的图像[5.6]。对此本设计对原来的行同步HS和场同步VS 与实际进行比对并计算,得到HS1、VS1,将周围的景象切除。原图像一行有800个像素点,其中有效像素点为640,行消隐部分为160,而图像需要检测的部分其实是有效像素点中间的500 像素点。在程序中设一个计数器,消隐结束后继续累积70个时钟上升沿,此时HS1 置高,这部分便是数据判定的有效部分,如图6所示HS 在切边前后的变化。同样方法,得到场同步VS1,对图像进行切边后才是实际数据检测的部分。

图6 图像切边前后的HS 变化

3 结束语

本设计系统提出了一种在线检测巴布剂质量的方法,从巴布剂的数字图像特征入手,将原来的问题转化为图像处理问题。在线检测时,正常巴布剂的B值范围可根据不同的标准自行修改设定,使判定结果与观察判定结果接近一致。

[1]庞武耀,李明亚,谢清春.巴布剂的研究现状[J].亚太传统医药,2008,4(12):133,135.

[2]袁海林.ADV7181 的I2C 配置接口的SOPC 实现[J].湖北民族学院学报(自然科学版),2007,25(3):319-320.

[3]吴皓,刘鹏,蔡钟,王维东.视频采集系统SDRAM 控制器的FPGA 实现[J].中国有线电视,2003(22):58-60.

[4]段晓晨,何小刚,程永强.实时视频SDRAM 控制器的FPGA 设计与实现[J].太原理工大学学报,2006,5(37):6.

[5]朱奕丹,方怡冰.基于FPGA 的图像采集与VGA 显示系统[J].计算机应用,2011,31(5):1260.

[6]郭祥东.基于FPGA 的视频图像采集系统的设计[J].九江学院学报,2009(6):16-19.

猜你喜欢

巴布视频信号像素点
基于局部相似性的特征匹配筛选算法
基于5×5邻域像素点相关性的划痕修复算法
浅析新一代视频信号ICtCp
基于canvas的前端数据加密
复方青风藤巴布剂基质处方的优化
短距视频信号无线通信网络
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
温经止痛巴布剂对痛经模型小鼠的影响
挥发油包合对温脐巴布剂质量的影响
小飞鸽ZY—2250D数字机无视频输出故障的应急处理