基于fpga的玻璃缺陷图像采集处理系统new

基于fpga的玻璃缺陷图像采集处理系统new

ID:33938689

大小:257.13 KB

页数:6页

时间:2019-02-28

上传者:jjuclb
基于fpga的玻璃缺陷图像采集处理系统new_第1页
基于fpga的玻璃缺陷图像采集处理系统new_第2页
基于fpga的玻璃缺陷图像采集处理系统new_第3页
基于fpga的玻璃缺陷图像采集处理系统new_第4页
基于fpga的玻璃缺陷图像采集处理系统new_第5页
资源描述:

《基于fpga的玻璃缺陷图像采集处理系统new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

http://www.paper.edu.cn1基于FPGA的玻璃缺陷图像采集处理系统严华宇,李方敏武汉理工大学信息工程学院,湖北武汉(430070)E-mail:yhyandsony@126.com摘要:在进行图像采集过程中,重点考虑采集系统的实时性,而本课题中选用的多线阵CCD拼接图像的采集方法势必导致在低级算法阶段会有极大的数据流,应用一个高速的嵌入式处理模块则能很好的完成图像处理的低级算法部分。本文分析了玻璃缺陷采集处理系统的工作过程,对系统内存控制作了详细的描述,并在FPGA内实现了图像的低级处理,从而使计算机从低级处理的大量数据中解脱出来。关键词:图像采集,图像处理,FPGA,SDRAM;中图法分类号:TP274文献标识码:A1.引言玻璃缺陷检测是玻璃生产过程中一个相当重要课题,玻璃缺陷(气泡、结石、锡点等)妨碍了其在重大技术领域中的应用,不但影响了产品的外观,同时由于它的不平整度及屈光度的影响,使得人透过玻璃观察实物时受到障碍。目前国内外在本领域的研究成果大致为分别利用线、面阵CCD获取表面图像,由后续软件对图像加以分析的方法来实现对表面质量的检测处理。本课题正是基于这样一种指导思想下,设计了一种基于FPGA的玻璃缺陷在线检测系统方案,利用FPGA实时、高速、可重构的特点,并对玻璃缺陷图像进行的预处理(卷积运算),从而大大降低了后期数据处理的压力,使得图像处理系统运算速度快,具有很好的适应性。2.图像采集处理系统硬件平台在图像信号处理过程中为保证实时性,首先要求实时图像处理系统具有处理大数据的能力;其次对系统的体积大小、功能、稳定性等也有严格的要求。实时图像处理算法中经常要[1]用到对图像的求和、求差运算、二维梯度运算、图像分割等不同层次、不同种类的运算。基于上述因素,考虑到FPGA和DSP的优异性能,我们在玻璃缺陷检测系统中采用了如图1所示的硬件平台。图1图像采集处理系统框图系统内各模块功能简要描述如下:(1)视频采集异步FIFO模块(内嵌于FPGA中)接收1本课题得到教育部博士点基金(200504970006)的资助。-1- http://www.paper.edu.cn从视频A/D芯片SAA7113送来的数字视频流,解决系统数据缓冲和异步时钟的问题,因为:SAA7113送过来的LLC频率为27MHz,而FPGA系统时钟频率为48MHz.(2)视频解码模块用来对得到的数字视频流进行解码,识别出行、场同步信号,并且根据需要选择采集图22像的大小。(3)IC配置接口模块(通过EP2C35进行模拟配置)通过IC总线对SAA7113进行初始化配置,选择产生的数字视频格式等。(4)图像帧存控制模块用来读写系统两片帧存储器并且可以在它们之间进行读写切换操作。(5)图像低级处理模块从帧存中读取一帧图像数据,对其进行底层大量运算的图像预处理,如噪声消除、边缘检测等,最后将处理完的图像数据经通信模块送至后端DSP处理器做进一步操作。此外由于采用基于SDRAM工艺的FPGA芯片,所以还需要配置电路在上电时对FPGA进行配置。系统上电时,FPGA首先从外部配置芯片中读取配置数据,通过AS主动串行方式完成2自身的程序加载,进入工作模式状态。随后IC配置接口模块完成对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-2- http://www.paper.edu.cn//控制信号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;图2SDRAM读写时序图3.2图像低级处理的FPGA实现图像处理系统中,底层的图像预处理(滤波、锐化)的数据量很大,要求运算速度很快,但运算结构相对比较简单,适应于FPGA通过硬件实现。而在数字信号处理中,卷积器经常[3]被用于图像滤波、边缘检测、图像锐化,我们在玻璃缺陷检测系统中,对采集的图像进行滤波去噪处理,以降低后续处理运算的压力。设对于两个长度分别为m和n的序列f(i)和g(j),我们可以给出一个长度为N=m+n-1的输出序列:h(i)=f(i)∗g(i)=∑f(i)g(i−j)j设f(i)为模板序列{w1,w2,w3,…,wk},g(j)为输入序列{x1,x2,x3,…,xn},则模板匹配后的结果序列为{y1,y2,y3,…,yn-k+1},则y=wx+wx+...+wxi1i2i+1ki+k−1上式显然与常规意义下的卷积有所不同,但只要将{w1,w2,w3,…,wk}从左到右按镜像排列预置于模块中即可。可以看出,每个输入点xi都要与模块中的所有元素进行累加和相乘。[4]VHDL程序顶层文件代码如下:entitymuladdisport(ain:instd_logic_vector(7downto0);bin:instd_logic_vector(15downto0);c:instd_logic;dout:outstd_logic_vector(15downto0));endmuladd;architecturemuladd_archofmuladdis-3- http://www.paper.edu.cncomponentadder16bisport(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- http://www.paper.edu.cn图3一维卷积仿真波4.结束语本文阐述了一种基于FPGA的玻璃缺陷图像采集处理系统方案,给出了具体的应用和设计框图,它体积小、系统集成度高,能有效的对图像进行高速采集处理。系统中采用的图像数据卷积算法,大大减轻DSP后期数据处理的压力,在研究过程中表明,采用FPGA实现图像低层次算法,设计者必须非常了解FPGA器件内部的资源,同时系统中涉及到时钟信号、RAM、PCI接口等各种器件,大量复用的数据、地址线要求设计者必须精心考虑逻辑结构和功能时序才能充分发挥出FPGA的功能,取得理想的应用效果。-5- http://www.paper.edu.cn参考文献[1]刘凌等译.BaeseUweMeyer.数字信号理的FPGA实现[M].北京:清华大学出版社,2002.[2]AlteraInc.Ltd.CycloneDeviceDatasheet.AlteraInc.Ltd,2003.[3]王燕峰.一种基于FPGA的系数对称3X3卷积器的设计[J].光学与光电技术.2004,Vol.2(3)-41-43.[4]KennethR.CastlemanDigitalimageProcessing北京:清华大学出版社,1998.GlassFlaw’sImageAcquisitionandProcessSystemBasedonFPGAYanHuayu,LiFangmiSchoolofInformationEngineering,WuhanUniversityoftechnology,Wuhan(430070)AbstractIntheprocessoftheimageacquisition,wetakecareoftheacquisitionsystem’stimeliness.Butinthistopic,weselectsthemulti-lineCCDsplicingimagegatheringmethodwillcauseenormousdatastreaminthepreliminaryalgorithmstage,soapplyahighspeedembeddedprocessingmodulecancompletetheimageprocessinginthepreliminaryalgorithmpartperfectly.Thisarticlehasanalyzedtheglassflawprocessingsystemworkingprocessanddescribedthesystemmemorycontrol,finally,werealizedimage’spreliminaryprocessinginFPGA,itcausedthecomputertoextricatefromthemassdatainthepreliminaryprocessing.Keywords:Imageacquisition;Imageprocess;FPGA;SDRAM作者简介:严华宇(1981-),男,湖南益阳人,工学硕士,主要研究领域为嵌入式系统,图像处理;李方敏(1968-),男,博士,教授,博士生导师主要研究领域为嵌入式系统,新型网络协议。-6-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭