一种基于fpga的图像处理装置的制作方法

文档序号:6378700阅读:245来源:国知局
专利名称:一种基于fpga的图像处理装置的制作方法
技术领域
本发明涉及图像处理技术领域,更具体的说是涉及一种基于FPGA的图像处理装置。
背景技术
目前,在钢铁、机械制造、电气等诸多行业,自动化生产、检测、控制技术得到广泛应用,机器视觉技术伴随计算机技术、高速高分辨率拍摄技术的发展,技术日臻成熟,机器视觉技术的高速发展有力的推动了图像处理技术的发展。图像处理的硬件实现方法目前有诸如专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)的方法。ASIC是针对特定应用而定制的专用集成电路,可根据用户需求和项目需要,将常用的FFT、卷积、求统计特性等信号处理算法固化到芯片·内部去,ASIC的专用性和特殊性,使得其在众多的图像处理方案中算法实现速度最快,同时存在开发周期长、价格昂贵、灵活性受限的缺点,在芯片设计的某个环节中的失误很可能会导致芯片投产后的致命错误,使得ASIC在民用领域使用受限。图像处理领域涌现出较多的DSP厂商(TI等),因其具备较大规模的硬件乘法器,使得在做常用的信号处理算法时比常规的CPU、MCU快十倍甚至更多,但是DSP仅对特定运算提供硬件优化,其指令执行本质上还是串行机制,还是不能轻松满足大部分的算法需求。FPGA作为ASIC的一个特例,支持用户多次编程,因其富余的逻辑资源(几十万门 数千万门)、大规模的嵌入式的Block RAM、PCIe硬核、丰富的布线资源等等优势让其在图像处理领域得到广泛的应用。近年来论文和专利描述中,基于FPGA图像处理的硬件实现方法,大多同时利用FPGA的并行执行能力和外挂处理器指令集,一般有FPGA+DSP,FPGA+ARM, FPGA+MCU的方案,但这些方案因多个芯片及必要的外围电路设计到同一个硬件板卡上,存在板级规模大、集成度低等缺点,同时给项目研发带来了额外的芯片间的通信调试工作。

发明内容
本发明要解决的技术问题是,克服传统图像处理硬件方案板级规模大、集成度低的问题,提供一种具备强大的图像处理硬件实现的能力、集成度高的基于FPGA的图像处理
>j-U ρ α装直。本发明解决其技术问题所采用的技术方案是
一种基于FPGA的图像处理装置,包括图像处理板卡和计算机主机部分;
所述图像处理板卡用于完成图像信号的采集、处理、存储,并将原始图像数据和特征值数据打包传输至计算机主机部分;
所述计算机主机部分用于接收和解析图像处理板卡发送来的数据包,同时提供图像分类器和用户界面软件。所述图像处理板卡采用PCIe总线扩展方式安装在计算机主机部分的主板上,图像处理板卡和计算机主机间的通信符合PCIe通信协议规范。
优选的,在基于FPGA的图像处理装置中,所述图像处理板卡包括图像采集模块、片内Block RAM、图像处理模块、数据封装模块、DMA模块、MUX模块、PCIe桥、PCIe硬核、MicroBlaze软核处理器、时间示波器以及DDR2内存条。所述MicroBlaze软核处理器通过PLB总线分别与DMA模块、MUX模块、PCIe桥和时间示波器连接;Micix)BlaZe软核处理器还与数据封装模块连接;图像处理模块与MicroBlaze软核处理器连接,图像处理模块与片内Block RAM双向连接;图像采集模块、片内Block RAM、数据封装模块、DMA模块、MUX模块依次连接;MUX模块与PCIe桥双向连接;MUX模块与DDR2内存条双向连接;PCIe桥与PCIe硬核双向连接;PCIe硬核通过PCIe总线与计算机主机部分连接。所述图像采集模块用于完成图像设备(如高速线阵相机等)输出信号的采集,并按照片内Block RAM的时序特性输出图像数据流;
所述片内Block RAM用于完成图像信号的实时缓存; 所述图像处理模块用于完成图像的特征值实时运算和存储;所述图像处理模块自定义了寄存器组,计算完的特征值数据存储于对应寄存器中,MicroBlaze软核处理器可根据对应中断信号读走相应特征值;
所述数据封装模块用于完成存储图像和图像特征值数据的封装打包;
所述DMA模块用于完成数据包的直接内存存取,DMA (direct memory access)为直接内存存取,此操作可在MicroBlaze软核处理器不干预的情况下直接将数据流从片内BlockRAM中导出至PCIe链路(即PCIe桥和PCIe硬核),大大的提升了数据传输速度;
所述MUX模块用于完成数据链路的切换,决定数据包是传送至DDR2内存条还是PCIe链路(即PCIe桥和PCIe硬核);
所述PCIe桥用于完成PCIe通信接口的行为和逻辑控制,完成FPGA图像处理板卡的PLB总线地址和计算机主机部分的内存条物理地址映射;
所述PCIe硬核用于完成PCIe通信接口中应用层以下通信层次的封包解包处理;
所述DDR2内存条用于完成FPGA图像处理板卡本地的所有感兴趣的数据缓存和组织,标配512MB,最大可支持2GB ;
所述MicroBlaze软核处理器,通过PLB总线对DMA模块、MUX模块、PCIe桥、数据封装模块以及时间示波器的寄存器进行配置,完成各模块(即DMA模块、MUX模块和数据封装模块)的初始化和行为控制。所述MicroBlaze软核处理器对DMA模块进行智能化管理,以环形FIFCKfirst infirst output先入先出队列)的形式管理DMA任务,彻底解决了 DMA任务繁重而在某一时刻DMA只能响应其中一个请求所导致的数据传输请求丢失,FIFO中的每个数据单元为一个传输任务数据结构。所述时间示波器对图像处理板卡中感兴趣程序段的执行时间进行测量,并存储至所述DDR2内存条中,从而可以快速准确的观察到如图像数据处理核数据流传输所耗用的时间,进而分析系统性能,优化设计。图像处理板卡可为高集成度单芯片,图像采集模块、片内BlockRAM、图像处理模块、数据封装模块、DMA模块、MUX模块、PCIe桥、PCIe硬核、MicroBlaze软核处理器、时间示波器均可由VHDL语言和C语言设计,均集成于芯片内部。
优选的,在基于FPGA的图像处理装置中,所述计算机主机部分包括PCIe设备驱动程序、PC共享内存、图像存储介质、图像分类器、界面软件。所述PCIe设备驱动程序与PC共享内存双向连接,PC共享内存与界面软件、图像分类器、图像存储介质连接,图像分类器与界面软件连接。所述PCIe设备驱动程序支持图像处理板卡的挂载,完成数据包的接收、解析和存储;
所述图像存储介质为非易失性存储单元,可为硬盘、FLASH等存储形式;
所述图像分类器含有图像特征值数据库,可根据计算机接收的特征值数据,对接收图像进行智能分类;
所述界面软件提供人机交互的图像化界面程序,具备图像实时监控、图像特征分类显示、历史数据查询及故障报警等功能。 所述图像处理板卡的图像数据流方向为原始图像输入图像采集模块,由图像采集模块对图形信号进行采集并存储至片内Block RAM,图像处理模块对片内Block RAM中的图像数据进行处理后得到特征值数据,特征值数据经MicroBlaze软核处理器传送至数据封装模块,通过数据封装模块对特征值数据和存储图像封装为数据包,数据包作为DMA模块的源数据,一路通过PCIe桥、PCIe硬核透传至计算机主机部分的PC共享内存中,进而完成图像数据的高速处理和传输,另一路可选择性存储于图像处理板卡外挂的DDR2内存条中。所述原始图像和所述存储图像的区别在于行为逻辑不同,原始图像符合对应图像设备的行为逻辑(如Camera Link接口时序),存储图像符合对应缓存电源的行为逻辑(如Block RAM读写时序)。使用本发明之基于FPGA的图像处理装置进行图像处理的方法为
(O安装图像处理板卡Ul于计算机主机部分U2主板的PCIe插槽中。给图像处理板卡Ul上电,并检测电源工作是否正常,电源适配器电气标准为5VDC/30W,正常上电后电源指示灯亮起,整个板卡期间无过热、无异味。(2)下载图像处理板卡Ul的PCIe通信测试子程序于图像处理板卡Ul中,重启计算机,在计算机主机部分U2的Win Driver软件的设备向导中确认有该图像处理板卡Ul的PCIe扩展设备存在,并确认PCIe设备的BAR (Base Address Register)空间能够正常读写。(3)下载图像处理板卡Ul的图像采集子程序于图像处理板卡Ul中,重启计算机,运行计算机主机部分U2的界面软件程序,确认图像能够正常的采集。(4)下载图像处理板卡Ul的主程序于图像处理板卡Ul中,重启计算机,运行计算机主机部分U2的图像分类器和界面软件程序,通过图像处理板卡的运行,可以在界面软件程序中观察和记录图像处理板卡Ul的图像特征值分析结果、图像分类器对图片的分类结果、图像存在缺陷的报警情况。(5)运行过程中,统计图像处理装置的图像缺陷识别率和检出率,工作人员可根据以上指标并结合装置的应用工况,调整、改进、增加、删减图像处理板卡Ul中图像处理模块的部分功能。(6)优化完成后,重复以上(4)、(5)步骤,直至满足图像处理领域的特定要求和参数指标。
本发明除实现电路规模小的优势外,还具有如下有益效果
本发明在针对高速线阵相机(行像素为4096,单像素量化为IByte)采集的图像信号进行实施时,能实时完成图像数据的采集、处理、传输、存储,不失一般性地,所述图像处理板卡中的数据封装模块,对图像数据和处理后的特征数据进行封装打包,其中每个数据包中以32行像素为单位,即32*4096Byte图像数据和1032KB的特征数据,所述图像数据存储于图像处理板卡的片内Block RAM中,所述特征值数据由于计算过程所涉及的算法的多样性,存储于图像处理板卡的DDR2内存条中,所述MicroBlaze软核处理器通过环形FIFO形式管理DMA模块,将数据包通过所述PCIe桥和PCIe硬核传输至所述计算机主机的共享内存中,数据包内图像数据的采集、处理、传输及存储的总时间为O. 7ms,折算图像数据吞吐量为(32*4096+1032) *8/0. 0007s= I. 50976Gbps。极限运算可知单个数据包吞吐时间O. 7ms为32行图像时间,即使用本发明之图像处理装置能够实时吞吐处理的线阵相机(4096B/line)行频高达1/(0. 7/32ms)= 45. 714KHz。此类线阵相机在工业领 域运用时,在图像处理目标物运动速度高达22m/s情况下,运动方向分辨率可达到O. 5mm。本发明所设计的图像处理板卡为高集成度单芯片解决方案,发挥FPGA的并行执行能力的同时,应用内嵌的MicroBlaze软核处理器,完成现有外挂处理器的管理事务,整个设计集成在FPGA内,片内各模块间通过PLB总线进行通信,从根本上克服了现有“FPGA+外挂处理器”方案的缺点;图像处理板卡通过PCIe金手指安装于计算机的主板上,执行能力强,集成度高,使用和升级灵活方便。本发明克服了传统图像处理硬件方案板级规模大、集成度低的问题,具备强大的图像处理硬件实现的能力。本发明中,图像处理板卡,以FPGA为核心处理器,配有DDR2内存条进行图像缓存,采用PCIe总线扩展方式安装在计算机的主板上,用于完成图像信号的采集、处理、存储,并将原始图像数据和特征值数据打包传输至计算机,鉴于采集和处理的图像数据量庞大的情况,图像处理板卡采用环形FIFO管理DMA任务队列,并提供时间示波器(Time Scope)功能监测程序执行性能。本发明之基于FPGA的图像处理装置,电路规模小,硬件集成度高,具有良好的实时性和可扩展性。


图I为本发明一实施例图像处理装置结构示意 图2为图I所示实施例图像处理装置的图像处理板卡结构示意 图3为图I所示实施例图像处理装置的计算机主机部分结构示意 图4为图I所示实施例图像处理装置的DMA传输任务队列示意 图5为图I所不实施例图像处理装置的共孚内存不意 图6为图I所示实施例时间示波器工作原理 图7为采用图I所示实施例图像处理装置进行图像处理方法时时间示波器程序流程图。
具体实施例方式以下结合附图和实施例对本发明作进一步说明。参照图1,本发明之基于FPGA的图像处理装置包括图像处理板卡Ul和计算机主机部分U2 ;
图像处理板卡Ul用于完成图像信号的采集、处理、存储,并将原始图像数据和特征值数据打包传输至计算机主机部分U2 ;
计算机主机部分U2接收和解析图像处理板卡Ul发送来的数据包,同时提供图像分类器和用户界面软件。其中,图像处理板卡Ul采用PCIe总线扩展方式安装在计算机主机部分U 2的主板上,通信符合PCIe通信协议规范。使用本发明之基于FPGA的图像处理装置,不失一般性地,可将原始图像输入连接到高速线阵相机(行像素为4096,单像素量化为IByte)的输出上,实时完成图像数据的采集、处理、传输及存储的速度高达I. 50976Gbps,本发明可针对高速运动物体进行图像分析和识别,适用于目标运动方向分辨率高达O. 5mm的工业应用场合,目标物运动速度可高达22m/s,还可广泛的应用于薄膜、塑料、瓷砖、钢坯、板带铝等生产行业的表面检测。参照图2,图像处理板卡Ul包括图像采集模块U11、片内Block RAM U12、图像处理模块U13、数据封装模块U14、DMA模块U15、MUX模块U16、PCIe桥U17、PCIe硬核U18、MicroBlaze软核处理器U19、时间示波器UllO以及DDR2内存条Ulll。所述MicroBlaze软核处理器U19通过PLB总线分别与DMA模块U15、MUX模块U16、PCIe桥U17和时间示波器UllO连接;Micr0BlaZe软核处理器U19还与数据封装模块U14连接;图像处理模块U13与MicroBlaze软核处理器U19连接,图像处理模块U13与片内Block RAM U12双向连接;图像采集模块U11、片内Block RAM U12、数据封装模块U14、DMA模块U15、MUX模块U16依次连接;MUX模块U16与PCIe桥U17双向连接;MUX模块U16与DDR2内存条Ulll双向连接;PCIe桥U17与PCIe硬核U18双向连接;PCIe硬核U18通过PCIe总线与计算机主机部分U2连接。图像采集模块Ull用于完成图像设备(如线阵相机等)输出信号的采集,并按照片内Block RAM的时序特性输出图像数据流;
片内Block RAM U12用于完成图像信号的实时缓存;
图像处理模块U13用于完成图像的特征值实时运算和存储;计算得到的图像特征值数据可包括图像的灰度值、方差、熵值、频谱、纹理等;所述图像处理模块自定义了寄存器组,计算完的特征值数据存储于对应寄存器中,MicroBlaze可根据对应中断信号读走相应特征值;
数据封装模块U14用于完成图像原始数据和图像特征值数据的封装打包;
DMA模块U15用于完成数据包的直接内存存取,DMA (direct memory access)为直接内存存取,此操作可在MicroBlaze不干预的情况下直接将数据流从Block RAM中导出至PCIe链路,大大的提升了数据传输速度;
MUX模块U16用于完成数据链路的切换,决定数据包是传送至DDR2内存条还是PCIe链
路;
PCIe桥U17用于完成PCIe通信接口的行为和逻辑控制,完成FPGA图像处理板卡的PLB总线地址和计算机主机部分的内存条物理地址映射;
PCIe硬核U18用于完成PCIe通信接口中应用层以下通信层次的封包解包处理; MicroBlaze软核处理器U19,通过PLB总线对DMA模块U15、MUX模块U16、PCIe桥U17、数据封装模块U14以及时间示波器UllO的寄存器进行配置,完成所述模块的初始化和行为控制。MicroBlaze软核处理器U19对DMA模块U15进行智能化管理,以环形FIFO的形式管理DMA任务,彻底解决了 DMA任务繁重而在某一时刻DMA只能响应其中一个请求所导致的数据传输请求丢失,所述FIFO中的每个数据单元为一个传输任务数据结构。时间示波器UllO对所述图像处理板卡Ul中感兴趣程序段的执行时间进行测量,并存储至所述DDR2内存条Ulll中,从而可以快速准确的观察到如图像数据处理核数据流传输所耗用的时间,进而分析系统性能,优化设计。DDR2内存条Ul 11用于完成FPGA图像处理板卡本地的所有感兴趣的数据缓存和组织,标配512MB,最大可支持2GB ;
图像处理板卡按照功能分为三个部分图像采集部分(包括图像采集模块U11、片内Block RAM U12);图像处理部分(包括片内Block RAM U12、图像处理模块U13);图像传输部分(包括数据封装模块U14、DMA模块U15、MUX模块U16、PCIe桥U17、PCIe硬核U18、DDR2内存条Ulll ),其中MicroBlaze软核处理器U19服务于图像处理核心传输,完成FPGA内部各个IP核之间的配置、调度和管理,MicroBlaze软核处理器U19使用总线为PLB( ProcessorLocal Bus), MicroBlaze软核处理器U19针对FPGA内部诸如处理核传输所耗用时间进行评估,为本发明的实时性提供一种测试方法和可靠依据。图像处理板卡Ul的图像数据流方向为原始图像SI输入图像采集模块U11,由图像采集模块Ull对图形信号进行采集并存储至片内Block RAM U12,图像处理模块U13对片内Block RAM中的图像数据进行处理后得到特征值数据S2,特征值数据S2经MicroBlaze软核处理器U19传送至数据封装模块U14,通过数据封装模块U14对特征值数据S2和存储图像S3封装为数据包,数据包S4作为DMA模块U15的源数据,一路通过PCIe桥U17、PCIe硬核U18成为待传数据包S5,并透传至计算机主机部分U2的PC共享内存中,进而完成图像数据的高速处理和传输,另一路可选择性存储于图像处理板卡Ul外挂的DDR2内存条Ulll中。参照图3,计算机主机部分U2包括PCIe设备驱动程序U21、PC共享内存U22、图像存储介质U23、图像分类器U24、界面软件U25。所述PCIe设备驱动程序U21与PC共享内存U22双向连接,PC共享内存U22与界面软件U25、图像分类器U24、图像存储介质U23连接,图像分类器U24与界面软件U25连接。PCIe设备驱动程序U21支持图像处理板卡Ul的挂载,完成数据包的接收、解析和存储;
图像存储介质U23为非易失性存储单元,可为硬盘、FLASH等存储形式;
图像分类器U24含有图像特征值数据库,可根据计算机接收的特征值数据S2,对接收图像进行智能分类;
界面软件U25提供人机交互的图像化界面程序,具备图像实时监控、图像特征分类显示、历史数据查询及故障报警等功能。图4为对图像处理板卡Ul的一种DMA任务队列管理的结构示意图。在图像处理板卡Ul的FPGA下位机软件中,存在多个涉及到数据缓冲的应用,包括DMA传输队列和PCIe数据传输。为了实现数据的缓冲,在基于MicroBlaze软核处理器的嵌入式软件上实现了一个环形FIFO结构和相关的功能函数。它能实现基本的环形FIFO结构管理功能,应用程序只需要指定FIFO存储数据的缓冲区地址即可构建出一个完整的环形FIFO。该结构可对DMA模块U15进行智能化管理,彻底解决了 DMA任务繁重而在某一时刻DMA只能响应其中一个请求所导致的数据传输请求丢失,所述FIFO中的每个数据单元为一个传输任务数据结构。图4中所示的环形FIFO共有N个存储单元,存储单元可以是单个字节的数据,也可以根据实际应用需求而定义的数据结构。写索引指下一个待写入的数据单元的索引,读索引指下一个待读的数据单元的索引。环形FIFO除了以上三者外,还有一个变量用来统计当前还未发送的数据单元的个数,它的值用来指示FIFO的状态(FIFO为空、FIFO已满、FIFO正常)。为实现图4所示的FIFO结构,定义了如下结构体 typedef struct fifo_t
{
u32 fifo_depth; //FIFO 的深度 u32 write_index; // 写索引 u32 read_index; // 读索引 u32 unsend_cnt; //未读取的数据单元的数量 }FIF0;
接口函数如下
int FIFO_add_member (FIFO *pfifo),向FIFO中添加新的数据单兀,传入参数pfifo指向待操作的FIFO指针,操作成功返回0,操作失败返回I ;
int FIF0_det_member (FIFO *pfifo),从FIFO中读取数据单兀,传入参数pfifo指向待操作的FIFO指针;操作成功返回O,操作失败返回I ;
int Is_FIF0_full(FIF0 *pfifo),判断FIFO是否已满,传入参数pfifo指向待操作的FIFO指针;操作失败返回1,FIFO已满返回XST_FIF0_FULL,FIFO正常返回XST_FIF0_NORMAL ;
int FIF0_f lush (FIFO *pfifo),向FIFO中添加数据单元,传入参数复位FIFO,清空所有数据,操作成功返回0,失败返回I。依照图像处理板卡Ul图像数据流方向,图4中DMA模块U15的源地址为图像数据和特征值数据存储的内存地址,可为Block RAM U12和FPGA片外的DDR2内存条Ulll ;目的地址为数据包S5发往的内存地址,可为计算机主机部分U2的PC共享内存U22。图5提供了对图像处理板卡Ul和计算机主机部分U2间PCIe数据传输时的地址映射示意图。图像处理板卡Ul中MicroBlaze软核处理器的PLB总线地址,通过PCIe接口协议映射到计算机主机部分U2中PC共享内存地址,MicroBlaze软核处理器可通过PLB总线,启动DMA自由地访问映射端计算机主机部分U2的物理内存,而计算机主机部分U2可通过应用软件自由访问自身的物理内存,本发明正是通过此方式,完成数据Ul和U2间的数据通信。·时间示波器(Time Scope) UllO对所述图像处理板卡Ul中感兴趣程序段的执行时间进行测量,并存储至所述DDR2内存条Ulll中,从而可以快速准确的观察到如图像数据处理核数据流传输等所耗用的时间,进而分析系统性能,优化设计。
图6为时间示波器UllO的工作原理示意图,图7为时间示波器UllO的程序流程图,时间示波器UllO是基于一个自由运行的计数器来实现的,在感兴趣的程序段执行之前和程序段执行结束完之后分别获取计数器的计数值,两次计数值之差即为程序的执行时间。时间示波器可测量某程序段前后节点间的执行时间,参照图7,时间示波器执行开始步骤,首先判断双点时间测量是否开始?如果开始,则获取测量起始时刻的计数器计数值Tl,然后判断双点测量是否结束?如果结束,则获取测量结束时刻的计数器计数值T2,计算T2-T1并存储至DDR2对应地址的备份区,供工作人员监测所感兴趣的某特定双点间的执行时间;时间示波器还具备单点时间测量的功能,用于测试某循环执行的程序段的执行时间;然后判断是否进行单点时间测量?如果是则继续判断测量是否开始?如果是,则获取测量起始时刻的计数器计数值T3,然后判断测量是否结束?如果是,则获取测量结束时刻的计数器计数值T4,计算T4-T3并存储至DDR2对应地址的备份区,供工作人员监测所感兴趣的某特定单点循环执行的时间;以上流程结束则获取到了感兴趣的程序段执行时间,用于评估传输和处理等关键部分的性能是否达到项目需求。 在图6中,通道I用来测量程序段I的执行时间,通道2用来测量某一段程序两次执行之间的间隔时间,这种测量方式可以用来测量中断周期等。本发明中,使用了该时间示波器UllO测试片内Block RAM U12内图像存储满中断的间隔、DMA模块U15任务执行时隙、PCIe传输速度等,保证了实施过程中的功能和性能。使用本发明之基于FPGA的图像处理装置进行图像处理的方法为
(O安装图像处理板卡Ul于计算机主机部分U2主板的PCIe插槽中。给图像处理板卡Ul上电,并检测电源工作是否正常,电源适配器电气标准为5VDC/30W,正常上电后电源指示灯亮起,整个板卡期间无过热、无异味。(2)下载图像处理板卡Ul的PCIe通信测试子程序于图像处理板卡Ul中,重启计算机,在计算机主机部分U2的Win Driver软件的设备向导中确认有该图像处理板卡Ul的PCIe扩展设备存在,并确认PCIe设备的BAR (Base Address Register)空间能够正常读写。(3)下载图像处理板卡Ul的图像采集子程序于图像处理板卡Ul中,重启计算机,运行计算机主机部分U2的界面软件程序,确认图像能够正常的采集。(4)下载图像处理板卡Ul的主程序于图像处理板卡Ul中,重启计算机,运行计算机主机部分U2的图像分类器和界面软件程序,通过图2所示图像处理板卡的运行,可以在界面软件程序中观察和记录图像处理板卡Ul的图像特征值分析结果、图像分类器对图片的分类结果、图像存在缺陷的报警情况。(5)运行过程中,统计图像处理装置的图像缺陷识别率和检出率,工作人员可根据以上指标并结合装置的应用工况,调整、改进、增加、删减图像处理板卡Ul中图像处理模块的部分功能。(6)优化完成后,重复以上(4)、(5)步骤,直至满足图像处理领域的特定要求和参数指标。使用本发明,对某厂布匹的缺陷识别率>95%,缺陷检出率>90%。以上对本发明的一种优选具体实施方式
作了详细介绍。所述具体实施方式
只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也属于本发明权 利要求的保护范围。
权利要求
1.一种基于FPGA的图像处理装置,其特征在于,包括图像处理板卡和计算机主机部分; 所述图像处理板卡用于完成图像信号的采集、处理、存储,并将原始图像数据和特征值数据打包传输至计算机主机部分; 所述计算机主机部分用于接收和解析图像处理板卡发送来的数据包,同时提供图像分类器和用户界面软件; 所述图像处理板卡采用PCIe总线扩展方式安装在计算机主机部分的主板上。
2.根据权利要求I所述的基于FPGA的图像处理装置,其特征在于,所述图像处理板卡包括图像采集模块、片内Block RAM、图像处理模块、数据封装模块、DMA模块、MUX模块、PCIe桥、PCIe硬核、MicroBlaze软核处理器、时间示波器以及DDR2内存条; 所述MicroBIaze软核处理器通过PLB总线分别与DMA模块、MUX模块、PCIe桥和时间示波器连接;MicroBlaze软核处理器还与数据封装模块连接;图像处理模块与MicroBlaze软核处理器连接,图像处理模块与片内Block RAM双向连接;图像采集模块、片内Block RAM、数据封装模块、DMA模块、MUX模块依次连接;MUX模块与PCIe桥双向连接;MUX模块与DDR2内存条双向连接;PCIe桥与PCIe硬核双向连接;PCIe硬核通过PCIe总线与计算机主机部分连接; 所述图像采集模块用于完成图像设备输出信号的采集,并按照片内Block RAM的时序特性输出图像数据流; 所述片内Block RAM用于完成图像信号的实时缓存; 所述图像处理模块用于完成图像的特征值实时运算和存储;所述图像处理模块自定义寄存器组,计算完的特征值数据存储于对应寄存器中,MicroBlaze软核处理器根据对应中断信号读走相应特征值; 所述数据封装模块用于完成存储图像和图像特征值数据的封装打包; 所述DMA模块用于完成数据包的直接内存存取,DMA为直接内存存取,在MicroBlaze软核处理器不干预的情况下直接将数据流从片内Block RAM中导出至PCIe链路; 所述MUX模块用于完成数据链路的切换,决定数据包是传送至DDR2内存条还是PCIe链路; 所述PCIe桥用于完成PCIe通信接口的行为和逻辑控制,完成FPGA图像处理板卡的PLB总线地址和计算机主机部分的内存条物理地址映射; 所述PCIe硬核用于完成PCIe通信接口中应用层以下通信层次的封包解包处理; 所述DDR2内存条用于完成FPGA图像处理板卡本地的所有感兴趣的数据缓存和组织,标配512MB,最大可支持2GB ; 所述MicroBlaze软核处理器通过PLB总线对DMA模块、MUX模块、PCIe桥、数据封装模块以及时间示波器的寄存器进行配置,完成初始化和行为控制; 所述MicroBlaze软核处理器对DMA模块进行智能化管理,以环形先入先出队列的形式管理DMA任务; 所述时间示波器对图像处理板卡中感兴趣程序段的执行时间进行测量,并存储至所述DDR2内存条中。
3.根据权利要求I或2所述的基于FPGA的图像处理装置,其特征在于,所述计算机主机部分包括PCIe设备驱动程序、PC共享内存、图像存储介质、图像分类器、界面软件; 所述PCIe设备驱动程序与PC共享内存双向连接,PC共享内存与界面软件、图像分类器、图像存储介质连接,图像分类器与界面软件连接; 所述PCIe设备驱动程序支持图像处理板卡的挂载,完成数据包的接收、解析和存储; 所述图像存储介质为非易失性存储单元; 所述图像分类器含有图像特征值数据库,根据计算机接收的特征值数据,对接收图像进行智能分类; 所述界面软件提供人机交互的图像化界面程序,具备图像实时监控、图像特征分类显示、历史数据查询及故障报警功能。
4.根据权利要求2所述的基于FPGA的图像处理装置,其特征在于,图像处理板卡为高集成度单芯片,图像采集模块、片内Block RAM、图像处理模块、数据封装模块、DMA模块、MUX模块、PCIe桥、PCIe硬核、MicroBlaze软核处理器、时间示波器均由VHDL语言和C语言设计,均集成于芯片内部。
5.根据权利要求2所述的基于FPGA的图像处理装置,其特征在于,所述图像处理板卡的图像数据流方向为原始图像输入图像采集模块,由图像采集模块对图形信号进行采集并存储至片内Block RAM,图像处理模块对片内Block RAM中的图像数据进行处理后得到特征值数据,特征值数据经MicroBlaze软核处理器传送至数据封装模块,通过数据封装模块对特征值数据和存储图像封装为数据包,数据包作为DMA模块的源数据,一路通过PCIe桥、PCIe硬核透传至计算机主机部分的PC共享内存中,进而完成图像数据的高速处理和传输,另一路选择性存储于图像处理板卡外挂的DDR2内存条中。
全文摘要
一种基于FPGA的图像处理装置,包括图像处理板卡和计算机主机部分;所述图像处理板卡用于完成图像信号的采集、处理、存储,并将原始图像数据和特征值数据打包传输至计算机主机部分;所述计算机主机部分用于接收和解析图像处理板卡发送来的数据包,同时提供图像分类器和用户界面软件。所述图像处理板卡采用PCIe总线扩展方式安装在计算机主机部分的主板上。本发明之基于FPGA的图像处理装置,电路规模小,硬件集成度高,具有良好的实时性和可扩展性。
文档编号G06T1/00GK102903074SQ20121038700
公开日2013年1月30日 申请日期2012年10月12日 优先权日2012年10月12日
发明者何怡刚, 罗旗舞 申请人:湖南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1