以FPGA为基础的玻璃缺陷图像采集处理系统方案详解_第1页
以FPGA为基础的玻璃缺陷图像采集处理系统方案详解_第2页
以FPGA为基础的玻璃缺陷图像采集处理系统方案详解_第3页
以FPGA为基础的玻璃缺陷图像采集处理系统方案详解_第4页
以FPGA为基础的玻璃缺陷图像采集处理系统方案详解_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

以FPGA为基础的玻璃缺陷图像采集处理系统方案详解1.引言玻璃缺陷检测是玻璃生产过程中一个相当重要课题,玻璃缺陷(气泡、结石、锡点等)妨碍了其在重大技术领域中的应用,不但影响了产品的外观,同时由于它的不平整度及屈光度的影响,使得人透过玻璃观察实物时受到障碍。目前国内外在本领域的研究成果大致为分别利用线、面阵CCD获取表面图像,由后续软件对图像加以分析的方法来实现对表面质量的检测处理。本课题正是基于这样一种指导思想下,设计了一种基于FPGA的玻璃缺陷在线检测系统方案,利用FPGA实时、高速、可重构的特点,并对玻璃缺陷图像进行的预处理(卷积运算),从而大大降低了后期数据处理的压力,使得图像处理系统运算速度快,具有很好的适应性。2.图像采集处理系统硬件平台在图像信号处理过程中为保证实时性,首先要求实时图像处理系统具有处理大数据的能力;其次对系统的体积大小、功能、稳定性等也有严格的要求。实时图像处理算法中经常要用到对图像的求和、求差运算、二维梯度运算、图像分割等不同层次、不同种类的运算[1]。基于上述因素,考虑到FPGA和DSP的优异性能,我们在玻璃缺陷检测系统中采用了如图1所示的硬件平台。系统内各模块功能简要描述如下:(1)视频采集异步FIFO模块(内嵌于FPGA中)接收从视频A/D芯片SAA7113送来的数字视频流,解决系统数据缓冲和异步时钟的问题,因为:SAA7113送过来的LLC频率为27MHz,而FPGA系统时钟频率为48MHz.(2)视频解码模块用来对得到的数字视频流进行解码,识别出行、场同步信号,并且根据需要选择采集图像的大小。(3)I2C配置接口模块(通过EP2C35进行模拟配置)通过I2C总线对SAA7113进行初始化配置,选择产生的数字视频格式等。(4)图像帧存控制模块用来读写系统两片帧存储器并且可以在它们之间进行读写切换操作。(5)图像低级处理模块从帧存中读取一帧图像数据,对其进行底层大量运算的图像预处理,如噪声消除、边缘检测等,最后将处理完的图像数据经通信模块送至后端DSP处理器做进一步操作。此外由于采用基于SDRAM工艺的FPGA芯片,所以还需要配置电路在上电时对FPGA进行配置。系统上电时,FPGA首先从外部配置芯片中读取配置数据,通过AS主动串行方式完成自身的程序加载,进入工作模式状态。随后I2C配置接口模块完成对SAA7113的初始化,初始化结束后,FPGA等待采集图像的命令。FPGA收到采集命令后,启动采集视频数据模块、异步FIFO模块和视频解码模块进行解码,将数据轮换写到两个帧存中,供图像低级处理模块处理、经DSP对图像做了进一步处理后由通信模块送往工控PC。3.系统中内存管理和图像低级处理技术3.1SDRAM控制实现及仿真视频转换芯片输出的视频图像数据通过8位总线VPO传输给FPGA,FPGA需要将数据保存到SDRAM中,SDRAM在读写上有严格的时序要求。SDRAM的命令由RAS_n、CAS_n、WE_n和LOAD_mode构成,分别表示行选择、列选择、读写控制和寄存器配置控制[2]。在本系统中,我们设计了SDRAM(基于FPGA)接口模块,该模块控制SDRAM的命令与时序。模块内设计了初始化机制和系统指令分析机制。初始化机制不仅要完成对SDRAM的初始化配置,还要完成对控制器的初始化配置,从而使控制器与外部SDRAM的工作模式一致。为了实现高效的SDRAM存取,提高SDRAM总线的利用率,SDRAM接口模块CLK采用133MHz的高速时钟,当得到数据存取模块的读FIFO要求后,向SDRAM连续写入16个字。当得到PC接口模块的读SDRAM请求后读出1个字,其他时间保证SDRAM进行刷新工作,以免数据丢失。从我们的硬件设计平台可以看出,系统中的SDRAM分别由PFGA和DSP控制。当DSP和FPGA完成对相应SDRAM的操作后,需要进行总线切换。总线切换后,DSP和FPGA开始对另一块SDRAM进行相应操作。其主要代码如下://控制信号tg=1,dsp的EMIF接口连接到sdram1,dsp从sdram1中读取数据//控制信号tg=0,切换到sdram2assigned_sdram=tg?sdram_1_in_ed:sdram_2_in_ed;assignsdram_1_o_ed=tg?8‘hzz:ld;assignsdram_1_oen=tg?1’b0:1‘b1;assignsdram_1_ea=tg?ea_sdram:la;assignsdram_1_ce=tg?ce_sdram:sdram_ce;assignsdram_1_oe=tg?oe_sdram:sdram_oe;assignsdram_1_we=tg?we_sdram:sdram_we;//控制信号tg=1,fpga连接到sdram2,fpga写数据到sdram2//控制信号tg=0,切换到SDRAM1assignsdram_2_o_ed=tg?ld:8’hzz;assignsdram_2_oen=tg?1‘b1:1’b0;assignsdram_2_ea=tg?la:ea_sdram;assignsdram_2_ce=tg?sdram_ec:ce_sdram;assignsdram_2_oe=tg?sdram_oe:oe_sdram;assignsdram_2_we=tg?sdram_we:we_sdram;3.2图像低级处理的FPGA实现图像处理系统中,底层的图像预处理(滤波、锐化)的数据量很大,要求运算速度很快,但运算结构相对比较简单,适应于FPGA通过硬件实现。而在数字信号处理中,卷积器经常被用于图像滤波、边缘检测、图像锐化[3],我们在玻璃缺陷检测系统中,对采集的图像进行滤波去噪处理,以降低后续处理运算的压力。设对于两个长度分别为m和n的序列f(i)和g(j),我们可以给出一个长度为N=m+n-1的输出序列:VHDL程序顶层文件代码如下:[4]entitymuladdisport(ain:instd_logic_vector(7downto0);bin:instd_logic_vector(15downto0);c:instd_logic;dout:outstd_logic_vector(15downto0));endmuladd;architecturemuladd_archofmuladdiscomponentadder16bisport(a:instd_logic_vector(15downto0);b:instd_logic_vector(15downto0);cin:instd_logic;cout:outstd_logic;s:outstd_logic_vector(15downto0));endcomponent;componentmulti8isport(a:instd_logic_vector(7downto0);c:instd_logic;prod:outstd_logic_vector(15downto0));endcomponent;componentfd16ceisport(d:instd_logic_vector(15downto0);ce,c,clr:instd_logic;q:outstd_logic_vector(15downto0));endcomponent;signalpro,do:std_logic_vector(15downto0);signalgndint,vccint:std_logic;begingndint《=‘0’;vccint《=’1’;u1:multi8portmap(a=》ain(7downto0),c=》c,prod=》pro(15downto0));u2:adder8bportmap(a=》pro(15downto8),b=》bin(15downto8),cin=》gndint,cout=》gndint,s=》do);u3:fd16ceportmap(d=》do,c=》c,ce=》vccint,clr=》gndint,q=》dout);endmuladd_arch;假设模板为{1,1,1},其仿真波形如图3所示,在实际操作中,模板的值预置于每个单元中,很容易修改,可以方便的完成各种“窗口”的卷积运算。在卷积实现的基础上,只要采用不同系数的模板就可以完成各种运算,而且如果将卷积中的乘法和加法运算,分别换成比较运算和布尔运算中的“与”运算,那么卷积问题就换成了图像匹配问题了。如果将乘法运算改为加减法,将累加运算改为取最大最小值,就可以完成灰度图像的膨胀和腐蚀运算,这对于我们进行玻璃缺陷检测是有着极大帮助的。4.结束语本文阐述了一种基于FPGA的玻璃缺陷图像采集处理系统方案,给

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论