基于DSP和FPGA的机器视觉系统设计与实现
设计利用视频口进行图像采集,用以太网接口实现图像传输。
视频口能够支持BT.656、HDTV Y/C、MPEG-2 Transport stream input等多种格式的视频数据的输入输出。本次设计采用逐行扫描且只采集亮度数据,视频口工作在YcbCr 4:2:2方式下。视频口与DM642的EDMA结合,每采集一行图像数据便启动一次EDMA同步事件,将数据从接收FIFO中倒到SDRAM中暂存下来。一场图像数据采集之后,采用EDMA链接自动重新配置EDMA参数。整个图像采集只消耗极少的CPU时间,使CPU能够把精力集中到后面的图像处理工作中。
2.3.2 存储器模块
外扩了SDRAM及FLASH两种存储器。
1 )SDRAM存储器
在CE0空间连接了64bit的SDRAM总线。选取2片48LCHM3282来构成SDRAM。这32M的SDRAM空间用来存储程图像数据和图像处理中间结果等信息。总线由外部PLL驱动设备控制,在133MHz的最佳运行状态下运行。SDRAM的刷新由TMS320DM642自动控制。
2 )FLASH存储器
本系统扩展了1M的FLASH,映射在CE1空间的低位。FLASH存储器选用1M*8的MBM29DL800。FLASH存储器主要用于DSPs程序的存储。CE1空间被配置成8bit,异步接口,FLASH存储器也是8bit。复位后的默认地址是000,并进行1K数据的上电自动引导。
2. 4 以太网模块
DM642上的EMAC接口为DSP处理内核与网络提供了一个有效的接口。他支持10Base-T、100 Base-TX,可工作在10Mbits/second 和 100Mbits/second的速度下进行全双工或半双工传输。并提供硬件流量控制和QOS支持。
DM642的EMAC接口支持到计算机网络协议的数据链路层,支持标准的MII接口(媒体无关接口)与物理层设备相连。物理层设备使用BROADCOM公司的BCM5221,加Pulse公司的1:1型隔离变压器H1102。
网络图像及控制信息的传输采用非面向连接的UDP协议,对于480*480大小的8位灰度的图像,每秒可传送20幅。
2.5 IO模块与串行接口模块
IO接口由FPGA控制,用于向机械部分、自动控制部分发送控制信号,并行IO接口有两路,一路经LV162245驱动输出,一路经光耦进行隔离输出。
串行接口使用TI公司的TL16C752B UART,他与ST16C550 UART引脚兼容,并具有更大的发送、接收FIFO缓存(发送、接收各64Byte ),支持硬件、软件流量控制。电平转换采用MAXIM公司的MAX3160,RS-232、RS-485、RS-422等多种传输协议。
3、FPGA实现图像预处理算法
以FPGA实现3*3 Sobel边缘检测为例,介绍FPGA实现图像预处理的方法。
首先,应从视频信号中提取出3*3 大小的图像框。须使用三个FIFO,其大小与一行像素大小相同,将三个FIFO串行连接在一起。用视频信号的前三行充满三个FIFO,之后每来一个像素在写入FIFO的同时,从每个FIFO中读出一个像素的亮度值,分别放入三个移位寄存器。如此,在三个像素点之后就得到一个3*3的矩形框。随着视频信号的不断流入,矩形框将遍历整个图像区域。
之后,就可以对提取出来的像素点,进行各种算法的处理。
以下是用Verilog语言描述的3*3 Sobel算子:
wire[10:0] temp1,temp2,temp3,temp4;
wire[7:0] sobel1,sobel2,sobel3,sobel4;
wire[7:0] dataout;
assign temp1 = temp[1] + temp[2] + temp[3];
assign temp2 = temp[7] + temp[8] + temp[9];
assign temp3 = temp[1] + temp[4] + temp[7];
assign temp4 = temp[3] + temp[6] + temp[9];
assign sobel1 = (temp1>temp2)?(temp1-temp2):0 ;
assign sobel2 = (temp3>temp4)?(temp3-temp4):0 ;
assign sobel3 = (sobel1>8’d 255) ? 8’d255 : sobel1;
assign sobel4 = (sobel2>8’d 255) ? 8’d255 : sobel2;
assign dataout[7:0] = ((sobel3 > sobel4)?sobel3[7:0]:sobel4[7:0]);
其中,考虑到了数据计算的溢出或结果为负值的情况,边缘检测效果良好。
4、结束语
本次设计为机器视觉系统搭建图像处理部分的硬件平台,结合机器视觉系统发展的两大趋势:嵌入式系统与网络技术。基于美国德州仪器公司新近推出的6000系列DSPs芯片TMS320CDM642,利用TMS320DM642芯片上提供的Video Port和Ethernet Media Access Controller实现视频采集与网络技术的结合。利用在线可编程技术,在FPGA中实现必要的图像预处理算法,减轻TMS320DM642的负担,为后续的图像实时检测打下了良好的基础。
本次设计实现了对于480*480的灰度图像,通过以太网进行25 Frames/s的流畅的传输。
以下为FPGA实现
机器视觉 Altera 德州仪器 FPGA DSP 相关文章:
- Atmel针对工业机器视觉应用推出快速CMOS相机(10-22)
- 工业机器视觉系统市场迅猛发展,行业应用新视点逐步扩大(11-06)
- Xilinx用于工业自动化的机器视觉解决方案(11-30)
- Xilinx多协议机器视觉摄像机参考设计(12-01)
- 德州仪器(TI)3D机器视觉参考设计(11-30)
- Lattice USB 3.0 视频桥接解决方案(11-30)