关键词 图像识剐 光电图像处理TMS320C6416 S3C2440 自动识别模块
引 言
光电混合模式识别以其高速并行处理和无串扰的优点成为实现模式识别实用化和实时化的重要途径,其在目标识别、指纹识别、光纤检测、工业零件识别、汽车牌照识别等领域得到了广泛的研究和应用[1.2],并取得了很好的识别效果。
但在实际应用中,待识别的目标图像需要经过图像预处理和畸变处理等操作。针对图像的实时处理要求,本文将联合变换相关识别系统与数字信号处理中的双CPU技术相结合,采用“FPGA+DSP+ARM”架构,研究与设计一种新型的光电混合图像识别系统。利用TMS320C6416与FPGA完成目标图像的采集与处理,利用ARM9处理器S3C2440完成对相关功率谱的采集与目标图像识别,从而实现畸变不变模式识别的快速和准确性。并实现了该系统的智能化和网络化。
该光电混合图像识别系统每秒能处理25帧图像,可实现真正的动态图像识别,因而对图像识别有很好的实用性。
1 光电混合图像识别系统
光电混合图像识别系统是基于光电混合联合变换相关器的一种系统,本文提出并设计的光电混合图像识别系统的结构框图如图1所示。
2 系统设计
该光电图像识别系统主要由目标图像采集与处理模块、光电相关联合变换模块以及自动识别模块组成,采用TMS320c6416DSP与FPGA来完成目标图像的采集与处理,采用ARM9处理器S3C2440来完成对相关功率谱的采集与目标图像识别。
2.1 TMS320C6416
C64x是TI公司推出C6000系列DSP中的最新成员,采用了VelociTI1.2结构,其主要在内部CPU功能单元、通用寄存器组及其数据通路等方面进行了较大的改进。C64x具有8个相互独立的功能单元,其中包含6个支持单周期内单32位、双16位或4个8位数据操作的算术逻辑单元,以及2个支持单周期双16×16位或4个8×8位数据操作的乘法器;内部CPU的通用寄存器组含有32个32位寄存器,支持8位和64位定点数据,并且寄存器A0也可用作条件寄存器;通用寄存器组内部有两条交叉通路,且都可以通过交叉通路访问另一侧的寄存器组;C64x还能够利用非排列的存取指令访问任意字节边界的字或双字。
与C62x相比,C64x平均每条指令在每个时钟周期内的运算能力增加了7.6倍。由于C64x支持双16位和8位数据以及时钟频率的提高,使得其图像处理能力比C62x提高了15倍左右。C64x为程序和地址两级片内存储器结构。一级存储器由程序(L1P)和数据(L1D)缓存组成。其中L1P为512组32B的16KB直接映像式缓存,L1D为128组64B的16KB两路组相联式缓存。C64x具有与C621x、C67lx不同的存储体结构,其存储体位于32位边界,因此对于相同存储体访问时,地址总线的3LSBs相同。另外,C64x具有丰富的外设资源,其中包括:64通道的增强型存储器直接存取(EDMA)控制器;64位/16位数据总线的外部存储器接口EMIFA/EMIFB;33MHz、32位PCI接口和针对异步传输模式的UTOPLA接口;16位或32位主机端接口;3个多通道缓冲串行口等。
内部结构的改进、并行处理能力的提高及丰富的外设资源,使得C64x在图像处理领域具有巨大的开发潜力。为提高系统实时性能,本文采用主频400 MHz的TMS320C6416GLZ作为目标图像处理单元来设计该识别系统。
2.2 目标图像采集与处理模块
该模块主要由DSP处理器TMS320C6416和FPGA来实现,DSP和FPGA之间采用主/从方式。其中,DSP主要完成对目标图像的处理及控制FPGA采样信号的启动。FPGA则完成对目标图像的采样控制过程,其硬件结构图如图2所示。
采用TI公司的TLC5510芯片来进行高速A/D采样。TLC5510为5V电源、8位、20Msps的高速并行ADC,最大量程为2V。为了达到实时处理的目的,本系统只采集灰度图像,CCD图像的帧频为30Hz,帧图像分辨率为512×512像素,每个像素点8位量化。
FPGA在行(HS)、场(VS)同步信号和时钟信号的驱动下,产生A/D采样的控制信号来控制采样过程,同时,FPGA提供存储器地址及片选与读写控制信号,数字信号按照该地址并在RAM_W有效时,写入FPGA存储器RAM中,为图像预处理作好准备。
采样完成后,FPGA产生外部中断,向DSP发出中断请求,DSP进入中断处理:FPGA提供RAM的地址信号,并在RAM_R有效时,DSP将RAM中的采样数据以EDMA方式读至同步动态存储器SDRAM中。SDRAM为4balaks×512 kb×32b,时钟主频为166 MHz,这样就保证了工作时所需的存储容量和实时性的要求。数据传输完毕,DSP启动FPGA进行下一帧图像的采样,FPGA再次进入采样控制处理过程,DSP则对目标图像数据进行预处理和畸变等处理。
在完成对目标图像的数据处理后,DSP将处理后目标图像和存储在ROM中的参考图像构成的联合输入图像实时输出到液晶电视上的约定区域内,以便进行光信息处理。
2.3 自动识别模块
自动识别模块采用三星公司ARM处理器S3C2440来完成。S3C2440处理器是基于ARM920T内核的32位RISC嵌入式芯片。该ARM内核的CPU主频最高可达533MHz,此处使用499MHz,它除了集成3个串口、SD卡控制器、USB Host控制器、LCD控制器、Nand Flash控制器以及实时时钟外,还增添了工业控制总线(CAN)、Camera控制器(数码摄像机接口)、PCMCIA接口(可接无线网卡或调制解调器及其他外设)。另外,用1个96针总线插槽引出CPU的局部总线,可外接其他总线设备并与多方通信。目前,S3C2440已被广泛应用于工业控制、多媒体处理、消费类电子及网络通信等领域。
S3C2440处理器的接口框图如图3所示。S3C2440内置Camera控制器,并支持最大为4096×4096像素的图像输入,因此本系统对联合频谱图像的获取选用130万像素摄像头进行视频采集与传输,通过Catnera控制器完成对频谱图像的数据转换与存储,然后对频谱进行振幅调制和傅里叶反变换,得到互相关结果,从而进行判别与处理。
图3中,64MB NAND Flash采用三星的。K9F1208,用于存放应用程序;2MB的NOR Flash采用AMD的AM29LV160DB,用于存放Bootloader及Kernel;64MBSDRAM采用现代的HY57V561620;32KB FRAM(铁电存储器),减少对Flash的频繁操作,延长Flash寿命,同时防止掉电时数据丢失。