引言
随着计算机科学和自动控制技术的发展,视觉系统被广泛用于工业检测、生物医学、军事侦察等领域。嵌入式视觉系统,是将图像的采集、处理与通信功能集成于单一相机内,从而提供了具有多功能、模块化、高可靠性、易于实现的机器视觉解决方案。同时,视觉传感器需要通过网络化设计完成控制信息、图像数据的通信任务CONTROL ENGINEERING China版权所有,网络通信装置是视觉传感器的重要组成部分。笔者采用DSP和CPLD作为核心芯片来控制图像采集处理和传输,采集的图像经DSP的处理后控制工程网版权所有,可经以太网传输至微机进一步处理,或与其他视觉系统、自动化检测装置通信,组成分布式监测网络。本系统的设计优点为:
·使用CMOS为图像传感器直接采集数字图像,采用高速DSP和CPLD作为核心芯片来控制图像采集和处理,简化了电路的复杂度,提高了系统的集成度,降低了成本。 ?在DSP内对采集到的图像实现快速图像的预处理,提高了系统的智能化。
·通过以太网将图像数据传输到联网计算机,利于图像的传输、保存和与其他视觉传感器通信交换数据控制工程网版权所有,组成视觉网络。并可与PLC、机器人和其他自动化装置通信。
系统设计
图1为系统框图,系统通过DSP给CPLD发出一个采集命令,由
图1 系统框图
图像采集过程
图像采集过程主要通过DSP给CPLD(ALTERA的MAX II系列 EPM240)发送命令字,包括单帧采集、连续采集等控制命令。每次采集的图像时都先复位FIFO,防止上一次采集过程出错有数据滞留而导致本次采集的图像出错。CPLD采集程序的仿真波形如图2所示,可以看出当采集单帧数据时,CPLD通过控制连续两个VSYNC(帧同步信号)间的FIFO( CYPRESS的CYCY7C4291V)的/WE(写使能信号)低有效来达到图像采集的目的。OV7640每帧图像的时间为33ms(30f/s),工作在黑白模式下,每幅图像数据有300K(640×480),即9.3MByte/s,而DSP读取的速度可以到66.7Mbyte/s,若采用16Bit总线宽度的FIFO,则可达到133Mbyte/s。本系统中由CPLD对图像的行进行计数,为保证图像数据不溢出FIFO(FIFO为128K字节),选取每80行图像数据触发一次DMA传输(DMA选择为外触发模式),每幅图像分成6次传输(共480行数据)。
图2 CPLD采集程序的仿真波形
以太网的图像传输
本系统的以太网设计,采用Wiznet公司全功能硬件协议栈芯片W5100。W5100内有16K的发送/接收缓存,支持TCP、UDP、ICMP、IPV4 ARP、IGMP等协议,本系统中采用TCP/IP协议,接收上位机的命令并执行相应的图像采集和处理任务。Wiznet公司提供了完整的Socket API函数,其工作方式类似于Windows的Socket API,程序在TI公司的CCS集成开发环境下,非常方便用C语言编写。图3是利用VC编写的基于异步Socket的系统软件。在不同的命令代码下上传图像。如果所示输入命令1,可以上传单幅不加任何图像处理的灰度图。
图3 带有命令选项的图像接受软件
软件流程
系统的软件流程如图4所示。系统初始化后配置网络设置控制工程网版权所有,建立命令Socket,Socket连接成功后处在TCP连接状态中。当接收到命令时,通过中断触发使DSP从W5100读取命令字,根据命令字做出相应的操作,添加图像预处理程序。然后关闭命令Socket,启动数据Socket进行数据传输,发送处理后的图像数据以便上位机进行更高级的图像处理,最终得到用户想要的结果和数据。
图4 软件流程图
图像采集和处理程序示例
本系统可以应用于视觉系统的多个领域,通过开发标准的软件处理模块,如几何边缘提取、Blob、灰度直方图、OCV/OCR、简单的定位和搜索等,由用户根据实际的测量需求选择相应的处理模块,由上位机编译成相应的固件并下载到系统中,从而实现特定功能的视觉检测。目前系统开发,只能完成特定的几种功能www.cechina.cn,以下以圆盘的直径检测为例,介绍系统的处理效果。
算法的基本思想是:先对采集的图像进行滤波,再用边缘检测算法检测出圆的边缘,最后再利用圆检测算法算出圆的外径和孔径。
检测基本过程如下:
标定
在能够进行检测之前,系统必须要标定。标定决定图像与物理世界之间的映射关系。因此,把图像中的每个点与一定的物理世界坐标以及反过来建立一一映射。使用一个无畸变的理想二维标定平面来进行