摘要:为了处理机器视觉中实时性差和本钱高的问题,规划了以DSP28335芯片为中心,OV7620 CMOS五颜六色图画传感器的实时嵌入式机器视觉设备。该设备使用于检测液位,规划中以五颜六色图画数据作为研讨目标,经过色彩辨认进行定位;使用DSP28335的浮点运算单元进行处理及其支撑高达1 Mb/s的数据速率CAN模块进行输出定位成果。测验标明该设备具有实时性强、精度高、体积小、本钱低、规划灵敏。
0 导言
现在运用于检测液位的嵌入式实时机器视觉设备要么是定点CPU,要么研讨目标是是非图画,且定位与丈量算法的数据运算量较大,难以满意嵌入式机器视觉体系定位与丈量功用的实时性和准确性要求,而且价格昂贵。
鉴于定位的准确度、自适应性、实时性和本钱问题。本文规划了根据由TI公司新推出的一款具有32位单精度浮点运算数字信号处理器TMS320F28335和CMOS五颜六色图画传感器OV7620所构建硬件渠道的嵌入式机器视觉设备。规划中使用主频高达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转化愈加准确快速等长处,为工业视觉使用供给愈加优异的功用和愈加简略的软件规划。
选用OV7620作为图画传感器,其是CMOS是非/五颜六色图画传感器。传感器包含一个640×480分辨率的图画阵列,内置10位双通道A/D转化器,输出8位图画数据;具有主动白平衡和主动增益操控,能进行对比度、亮度、γ校对、饱和度等多种调理功用;OV7620支撑隔行和接连两种扫描方法,QVGA与VGA两种图画格局;帧速率为30 f/s;数据格局包含RGB,YcrCb和YUV三种;内部有I2C可编程,能够调整摄像头的参数,比方最大灰度,对比度,曝光率操控等等。其本质是SCCB协议的寄存器写入,需求对摄像头做跳线处理,并用MCU的I/O口模仿SCCB协议。本规划选用的是分辨率为640×480,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的输出分辨率可设置为640×480,DSP28335需求接纳的数据便是307 200个8位的数据,为了进步实时性且不影响图画处理数据和检测要求。DSP28335挑选性地接纳数据,使用程序编写,每行每隔4个数据作为有用数据接纳,因而每行的数据个数变为640/4=160,然后每隔4行作为有用行接纳,因而行数变为480/4=120行,其分辨率变为160×120,总数据为19 200;而且选用了FIFO形式对数据进行缓存和读取。这样的做法既能到达图画的明晰要求,一起很好地进步了实时性。