发明名称 一种基于FPGA和DSP的机器视觉系统
摘要 一种基于FPGA和DSP的机器视觉系统,是以千兆以太网接口作为图像数据输入接口;使用FPGA内部硬件电路实现图像的高速采集与底层预处理;使用DSP软件编程实现系统的逻辑控制以及图像的高层理解与模式识别处理。整个系统包括图像采集模块、图像预处理模块、图像高层处理与模式识别模块以及结果输出模块。图像采集模块通过千兆以太网接口将数字相机的图像数据采集到FPGA中,依次经过由FPGA内部硬件电路资源实现的图像预处理模块中各个计算单元,得到边缘图像以及图像特征信息;DSP通过软件实现高层图像理解与模式识别模块,并将最终的处理结果通过结果输出模块传送给远程上位机或执行设备。
申请公布号 CN102044063B 申请公布日期 2012.11.21
申请号 CN201010603189.5 申请日期 2010.12.23
申请人 中国科学院自动化研究所 发明人 何文浩;原魁;邹伟;李园
分类号 G06T1/00(2006.01)I 主分类号 G06T1/00(2006.01)I
代理机构 中科专利商标代理有限责任公司 11021 代理人 梁爱荣
主权项 一种基于FPGA和DSP的机器视觉系统,其特征在于,该系统以千兆以太网口作为图像数据输入接口;使用FPGA内部电路实现图像的高速采集与底层预处理;使用DSP软件编程实现系统的逻辑控制以及对预处理过的图像进行高层理解与模式识别处理,并将最终处理结果通过外设接口输出,整个系统包括图像采集模块、图像预处理模块、图像高层处理与模式识别模块以及结果输出模块;其中:图像采集模块包括千兆以太网接口、数字相机控制单元、网络数据包解析单元以及数据搬运单元,利用千兆以太网接口连接具有千兆以太网接口的数字相机;数字相机控制单元通过千兆以太网接口对数字相机发送控制命令,使数字相机工作在特定的工作模式并向外传输图像数据;数字相机的图像数据以UDP数据包的形式向外传输,网络数据包解析单元负责解析数字相机输出的UDP数据包,将图像数据从数据包中提取出来;数据搬运单元负责数据在各个模块间的自主高速搬运;所述图像采集模块通过在FPGA内实现一个SOPC(System on a Programmable Chip,可编程片上系统)系统,采用软、硬件相结合的处理方式实现;在Nios II处理器上运行μC/OS‑II操作系统,使用NicheStack协议栈支持UDP/IP协议,通过系统软件对相机进行控制;在FPGA内部使用硬件电路实现UDP解包功能,以保证采集模块整体的采集速度;软件实现对相机控制过程:初始化,包括μC/OS‑II操作系统初始化、中断服务的初始化、系统IP和MAC地址的设定以及启动UDP服务器;然后调用数字相机控制程序,控制数字相机的工作模式,设定数字相机传输的图像格式;启动接收图像数据的SGDMA控制器,等待数字相机的图像数据;数字相机将图像数据以UDP数据包的方式发送到SOPC系统,SOPC系统接收到数字相机的UDP数据包后,使用SGDMA控制器将接收到的原始UDP数据存入片内双端口RAM;SGDMA控制器完成一次图像UDP数据包接收后发起一个中断,在 中断服务程序中,首先重启SGDMA控制器,做好下个数据包接收的准备,然后启动发送SGDMA控制器,将双端口RAM中的原始UDP数据包搬运到用硬件电路实现的图像采集模块网络数据包解析单元;硬件实现的网络数据包解析单元分三个步骤解析UDP数据包:S1:图像数据包的判定:读取接收到数据包的端口号,确认是否为图像数据的UDP数据包,若是,执行S2操作,若不是,直接将该数据包丢弃,返回到S1;S2:IP头校验和的计算:将计算结果与IP报头中的头部检校和相比较,若相同则执行S3操作,若不相同,则丢弃该数据包,返回到S1;S3:图像数据格式解析:数字相机在每个UDP数据包的前部会插入该数据包中图像数据的说明,包括该包中的图像数据所在的帧号以及在该帧中的位置,图像数据格式解析电路根据插入的图像数据的说明,将UDP数据包中的数据组合成图像,并发送到图像预处理模块;图像预处理模块包括滤波单元、边缘提取单元及直线段提取单元,从图像采集模块输出的图像数据依次经过滤波单元、边缘提取单元、直线段提取单元,得到预处理过后的边缘图像以及图像中的直线段信息;图像高层处理与模式识别模块通过DSP软件编程实现,用于处理图像预处理模块输出的边缘图像以及图像特征信息并将处理结果送到结果输出模块;结果输出模块包括一个百兆以太网接口和一个RS485总线协议的通用异步接收/发送器接口,负责将处理结果传送给远程控制上位机或执行设备。
地址 100190 北京市海淀区中关村东路95号