1、基于双 CPU 的实时图像采集系统 李定川 宜宾市电子科技有限公司 摘 要: 研讨基于双 CPU 技术的光电图像识别系统, 该系统主要由目标图像采集与处理模块、光电相关联合变换模块以及自动识别模块组成。采用 TMS320C6416 与FPGA 完成目标图像的采集与处理, 采用 ARM9 处理器 S3C2440 完成对相关功率谱的采集与目标图像识别。与传统光电图像识别系统相比, 该系统实时性和精度更高, 并可实现智能化和网络化。关键词: 图像识别; TMS320C6416; S3C2440; Research of real time image acquisition system based
2、 on dual CPULi Dingchuan Abstract: This paper designed a photoelectric image recognition system using dual CPU model, the system consists of image acquisition and processing module, photoelectric joint transform correlation module and automatic identification module. TMS320C6416 and FPGA are used to
3、 collect and process the target image, and the ARM9 processor S3 C2440 is used to acquire the correlation power spectrum and recognize the target image. Compared with the traditional photoelectric image recognition system, the system has higher real-time and accuracy, and can realize intelligence an
4、d network.Keyword: Image Identification; TMS320C6416; S3C2440; 1 引言电混合模式识别以其高速并行处理和无串扰的优点成为实现模式识别实用化和实时化的重要途径, 其在目标识别、指纹识别、光纤检测、工业零件识别、汽车牌照识别等领域得到了广泛的研究和应用1-2, 并取得了很好的识别效果。但在实际应用中, 待识别的目标图像需要经过图像预处理和畸变处理等操作。针对图像的实时处理要求, 本文将联合变换相关识别系统与数字信号处理中的双 CPU 技术相结合, 采用“FPGA+DSP+ARM”架构, 研究与设计一种新型的光电混合图像识别系统。项目利用
5、 TMS320C6416 与 FPGA 完成目标图像的采集与处理, 利用 ARM9 处理器S3C2440 完成对相关功率谱的采集与目标图像识别, 从而实现畸变不变模式识别的快速和准确性。并实现了该系统的智能化和网络化。该光电混合图像识别系统每秒能处理 25 帧图像, 可实现真正的动态图像识别, 因而对图像识别有很好的实用性。2 光电混合图像识别系统光电混合图像识别系统是基于光电混合联合变换相关器的一种系统, 本文提出并设计的光电混合图像识别系统的结构框图如图 1 所示。ARM9 处理器 S3C2440 与 DSP 间为主/从方式, DSP 与 FPGA 间也为主/从方式。由DSP 和 FPGA
6、 组成的目标图像采集与处理模块, 将待识别的目标通过摄像头 1 传输到 DSP 中, DSP 完成对目标图像的预处理和畸变处理等处理过程。然后, DSP将处理后的目标图像和参考图像构成的联合输入图像实时输出到液晶电视上, 联合图像经过激光光束的照射后, 经傅里叶变换透镜 3 后, 形成联合图像傅里叶频谱。该频谱经低通滤波后, 得到所需的中心频谱3, 并通过摄像头 2 接收进入 ARM9 处理器 S3C2440, 来完成图像频谱的振幅调制及傅里叶逆变换的处理, 得到所需互相关结果。由于真目标互相关信号较强, 假目标的互相关信号很弱, 可以通过设定阈值来判断真假目标图像, 即当相关结果大于阈值时,
7、 识为真目标, 小于阈值时, 识为假目标。当判为假目标时, 通过通信接口控制 DSP 继续进行图像采集与处理, 实现下一个目标的图像识别, 直至判别出真目标。3 系统实现该光电图像识别系统主要由目标图像采集与处理模块、光电相关联合变换模块以及自动识别模块组成, 采用 TMS320C6416DSP 与 FPGA 来完成目标图像的采集与处理, 采用 ARM9 处理器 S3C2440 来完成对相关功率谱的采集与目标图像识别。3.1 DSPTMS320C6416 是 TI 公司推出 C6000 系列 DSP 中的最新成员, 采用了 Veloci TI1.2结构, 其主要在内部 CPU 功能单元、通用寄
8、存器组及其数据通路等方面进行了较大的改进。C64x 具有 8 个相互独立的功能单元, 其中包含 6 个支持单周期内单 32 位、双 16 位或 4 个 8 位数据操作的算术逻辑单元, 以及 2 个支持单周期双 1616 位或 4 个 88 位数据操作的乘法器;内部 CPU 的通用寄存器组含有32 个 32 位寄存器, 支持 8 位和 64 位定点数据, 并且寄存器 A0 也可用作条件寄存器;通用寄存器组内部有两条交叉通路, 且都可以通过交叉通路访问另一侧的寄存器组;C64x 还能够利用非排列的存取指令访问任意字节边界的字或双字。与 C62x 相比, C64x 平均每条指令在每个时钟周期内的运算
9、能力增加了 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 通道的增强型存
10、储器直接存取 (EDMA) 控制器;64 位/16 位数据总线的外部存储器接口 EMIFA/EMIFB;33MHz、32 位 PCI 接口和针对异步传输模式的UTOPLA 接口;16 位或 32 位主机端接口;3 个多通道缓冲串行口等。内部结构的改进、并行处理能力的提高及丰富的外设资源, 使得 C64x 在图像处理领域具有巨大的开发潜力。为提高系统实时性能, 本文采用主频 400 MHz 的TMS320C6416GLZ 作为目标图像处理单元来设计该识别系统。3.2 目标图像采集与处理模块模块主要由 DSP 处理器 TMS320C6416 和 FPGA 来实现。DSP 和 FPGA 之间采用主/
11、从方式。其中, DSP 主要完成对目标图像的处理及控制 FPGA 采样信号的启动。FPGA 则完成对目标图像的采样控制过程, 其硬件结构图如图 2 所示。摄像头拍摄到的图像首先进行信号调理, 即对图像进行嵌位、锬相、放大以及同步信号分离。然后, 由 DSP 启动对图像信号的采样, 即控制 FPGA 进行图像的采样, 同时通过中断查询方式 (FTNT) , 监控 FPGA 发出的采样完成信号。采用 TI 公司的 TLC5510 芯片来进行高速 A/D 采样。TLC5510 为 5V 电源、8 位、20Msps 的高速并行 ADC, 最大量程为 2V。为了达到实时处理的目的, 本系统只采集灰度图像
12、, CCD 图像的帧频为 30Hz, 帧图像分辨率为 512512 像素, 每个像素点 8 位量化。FPGA 在行 (HS) 、场 (VS) 同步信号和时钟信号的驱动下, 产生 A/D 采样的控制信号来控制采样过程, 同时, FPGA 提供存储器地址及片选与读写控制信号, 数字信号按照该地址并在 RAM_W 有效时, 写入 FPGA 存储器 RAM 中, 为图像预处理作好准备。采样完成后, FPGA 产生外部中断, 向 DSP 发出中断请求, DSP 进入中断处理:FPGA 提供 RAM 的地址信号, 并在 RAM_R 有效时, DSP 将 RAM 中的采样数据以EDMA 方式读至同步动态存储
13、器 SDRAM 中。SDRAM 为 4balaks512kb32b, 时钟主频为 166 MHz, 这样就保证了工作时所需的存储容量和实时性的要求。数据传输完毕, DSP 启动 FPGA 进行下一帧图像的采样, FPGA 再次进入采样控制处理过程, DSP 则对目标图像数据进行预处理和畸变等处理。在完成对目标图像的数据处理后, DSP 将处理后目标图像和存储在 ROM 中的参考图像构成的联合输入图像实时输出到液晶电视上的约定区域内, 以便进行光信息处理。3.3 自动识别模块自动识别模块采用三星公司的 A R M 架构处理器 S3C2440 来完成。S3C2440 处理器是基于 ARM920T
14、内核的 32 位 RISC 嵌入式芯片。该 ARM 内核的 CPU 主频最高可达 533MHz, 此处使用 499MHz, 它除了集成 3 个串口、SD 卡控制器、USB Host 控制器、LCD 控制器、Nand Flash 控制器以及实时时钟外, 还增添了工业控制总线 (CAN) 、Camera 控制器 (数码摄像机接口) 、PCMCIA 接口 (可接无线网卡或调制解调器及其他外设) 。另外, 用 1 个 96 针总线插槽引出 CPU 的局部总线, 可外接其他总线设备并与多方通信。目前, S3C2440 已被广泛应用于工业控制、多媒体处理、消费类电子及网络通信等领域。S3C2440 处理器
15、的接口框图如图 3 所示。S3C2440 内置 Camera 控制器, 并支持最大为 40964096 像素的图像输入, 因此本系统对联合频谱图像的获取选用 130 万像素摄像头进行视频采集与传输, 通过 Catnera 控制器完成对频谱图像的数据转换与存储, 然后对频谱进行振幅调制和傅里叶反变换, 得到互相关结果, 从而进行判别与处理。图 3 中, 64MB NAND Flash 采用三星的。K9F1208, 用于存放应用程序;2MB 的 NOR Flash 采用AMD 的 AM29LV160DB, 用于存放 Bootloader 及 Kernel;64MBSDRAM 采用现代的HY57V5
16、61620;32KB FRAM (铁电存储器) , 减少对 Flash 的频繁操作, 延长Flash 寿命, 同时防止掉电时数据丢失。S3C2440 作为主控处理器, 还负责与上位机进行通信, 并可通过网卡与Internet 进行互联, 实现该系统的智能化与网络化。另外, 还可通过 USB 接口进行数据的存取。4 软件流程该光电混合图像识别系统工作主流程如图 4 所示。ARM 和 DSP 在完成初始化后, 通过 HPI 口加载 DSP 程序并通过中断激活 DSP 运行;DSP 在工作后启动 FPGA, FPGA 控制 A/D 采样芯片进行实时图像采集。5 结束语基于双 CPU 技术的光电图像识别系统由 TMS320C6416 与 FPGA 完成目标图像的采集与处理, 通过光电相关联合变换器得到图像的联合频谱, 利用 S3C2440 完成对相关功率谱的采集与目标图像自动识别。该识别系统图像处理能力达 25 帧/s, 因而实现了真正动态图像的图像识别。与传统光电图像识别系统相比, 该系统实时性和精度更高, 并实现了智能化和网络化, 有较高的实用价值。