新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一款基于DSP的实时嵌入式机器视觉系统设计

一款基于DSP的实时嵌入式机器视觉系统设计

作者:时间:2014-03-19来源:网络收藏

摘要:为了解决机器视觉中实时性差和成本高的问题,设计了以DSP28335芯片为核心, CMOS彩色图像传感器的实时嵌入式机器视觉装置。该装置应用于检测液位,设计中以彩色图像数据作为研究对象,通过颜色识别进行定位;利用DSP28335的浮点运算单元进行处理及其支持高达1 Mb/s的数据速率CAN模块进行输出定位结果。测试表明该装置具有实时性强、精度高、体积小、成本低、设计灵活。

本文引用地址:http://www.eepw.com.cn/article/234976.htm

0 引言

目前运用于检测液位的嵌入式实时机器视觉装置要么是定点CPU,要么研究对象是黑白图像,且定位与测量算法的数据运算量较大,难以满足嵌入式机器视觉系统定位与测量功能的实时性和准确性要求,并且价格昂贵。

鉴于定位的精确度、自适应性、实时性和成本问题。本文设计了基于由TI公司新推出的一款具有32位单精度浮点运算数字信号处理器和CMOS彩色图像传感器所构建硬件平台的嵌入式机器视觉装置。设计中利用主频高达150 MHz,指令周期为6.67 ns的DSP28335对CMOS彩色图像传感器进行采集控制;并提出的液位检测算法,是以彩色图像数据作为研究对象,对液体颜色进行识别,大大提高了采集速度和识别速度以及精确度,同时解决了在复杂的颜色环境下难以定位液位的问题。

1 系统硬件设计

1.1 系统硬件结构

系统硬件结构如图1所示,包括图像采集,图像处理和图像传输。图像传感器负责图像的采集,采集的图像数据由主控制器进行实时的读取和处理。主控制器总线接口可以把多个装置连接起来组成一个总的系统。本文设计选用的是TI公司DSP中的TMS320F28335作为主处理器,为机器视觉装置的CPU,用来进行数据的采集和处理。TMS320F28335是TI公司新推出的一款浮点型数字信号处理器,集成32位单精度浮点运算单元(FPU),最高运算速度达150 MIPS。指令周期为6.67 ns,集成了256K×16 b FLASH,1路I2C通信接口,3路异步串口,2路CAN总线通信接口等资源。具有精度高,成本低,功耗小,外设集成度高,数据及程序存储量大和A/D转换更加精确快速等优点,为工业视觉应用提供更加优秀的性能和更加简单的软件设计。

 

 

选用作为图像传感器,其是CMOS黑白/彩色图像传感器。传感器包括一个640x480分辨率的图像阵列,内置10位双通道A/D转换器,输出8位图像数据;具有自动白平衡和自动增益控制,能进行对比度、亮度、γ校正、饱和度等多种调节功能;OV7620支持隔行和连续两种扫描方式,QVGA与VGA两种图像格式;帧速率为30 f/s;数据格式包括RGB,YcrCb和YUV三种;内部有I2C可编程,可以调整摄像头的参数,比如最大灰度,对比度,曝光率控制等等。其本质是SCCB协议的寄存器写入,需要对摄像头做跳线处理,并用MCU的I/O口模拟SCCB协议。本设计采用的是分辨率为640x480,RGB格式,8 b的数据输出格式。OV7620图像传感器提供信号包括:VSYNC(垂直同步脉冲帧信号)、HREF(水平有效数据输出)、PCLK(像素时钟)、16 b数据总线。

SRAM和FLASH分别选用IS61LV51216和SST39VF160,分别用作数据存储器和程序存储器,采用FIFO模式对缓存数据进行读取。由于系统运行时,需要对SRAM进行频繁读/写操作,因此SRAM选用ISS的一个快速存储器件IS61LV51216,它是一个8 Mb容量功耗低、集成度高,结构为512K×16 b字长的高速率SRAM。SST39VF160是SST公司的一个多功能FLASH存储器,存储容量为1M×16 b,工作电压为2.7~3.6 V,14 MHz时等待电流为4μA,有效电流为12mA,自动低功耗模式为4μA;字编程时间14μs,读访问时间90ns,芯片擦除时间70ms,扇区擦除时间18ms。

1.2 DSP28335与OV7620的硬件连接

通用I/O口GPIO71、GPIO70分别与SDA、SCL连接,作为I2C通信;通用I/O口GPIO67作为PCLK的I/O查询;GPIO69捕抓HREF的上升沿;GPIO68捕抓VSYNC的下降沿;通用I/O口GPIO66作为OV7620的硬件复位;通用I/O口GPIO72~GPIO79作为OV7620的数据输入。DSP28335与OV7620的连接图如图2所示。OV7620要连接相当的外围器件才能正常工作。需要5 V电源供电,27 MHz晶振,工作时功耗<120 mW,待机时功耗<10 μW;其中,晶振电路的设计中需要注意一个问题:必须在OV7620的XCLK1和XCLK2之间串联一个1 MΩ的反馈电阻。否则OV7620有时会出现不能正常工作的现象,原因是OV7620不能正常起振。

 

 

2 机器视觉装置的软件设计

2.1 机器视觉采集设计

如图3为机器视觉装置的采集程序流程图。首先进行系统的初始化工作,当检测到VYSN下降沿时,发出帧开始信号,检测到HREF上升沿时,发出行开始信号。通过逐行扫描的方式,从y0~y7端口接收像素数据信息,其顺序为B-G-R-G。其中GPIO68检测到下降沿时意味着一幅图像的开始,而GPIO69用于执行一行图像数据的开始。

 

 

STMF28335通过对OV7620的PCLK计数,当计数值到达640时,GPIO69计数溢出中断发生,表示一行图像数据采集时间到。而GPIO69用于对OV7620的HREF信号进行计数,确定一幅图像是否采集完毕。OV7620的输出分辨率可设置为640x480,DSP28335需要接收的数据就是307 200个8位的数据,为了提高实时性且不影响图像处理数据和检测要求。DSP28335选择性地接收数据,利用程序编写,每行每隔4个数据作为有效数据接收,因此每行的数据个数变为640/4=160,然后每隔4行作为有效行接收,因此行数变为480/4=120行,其分辨率变为160x120,总数据为19 200;并且采用了FIFO模式对数据进行缓存和读取。这样的做法既能达到图像的清晰要求,同时很好地提高了实时性。


上一页 1 2 下一页

关键词: DSPF28335 OV7620

评论


相关推荐

技术专区

关闭