基于TMS320VC5509A 的图像采集处理系统

时间:2011-08-01

  摘要: 传统图像采集处理系统多以计算机为平台, 其图像处理速度不高, 且体积庞大、功耗大。为克服这些缺点, 介绍了一种成本低、结构简单、体积小、功耗低的图像采集处理系统。以TI 公司的T MS320VC5509A 为器件, 采用大容量FIFO 完成视频数据存储, 利用CPLD 完成逻辑控制功能。软件采用C 语言对5509A 进行编程, 完成整个采集过程的系统调度工作及图像处理算法, 增强了易读性和可移植性, 提高了图像处理的速度。

  0 引 言

  随着现代电子技术的发展, 图像采集和处理技术在工业、医学、军事等很多领域得到了广泛的应用。DSP( digital signal processor ) 芯片, 也称数字信号处理器, 有很高的集成度, 是一种特别适合于进行数字信号处理运算的微处理器器件, 它以其独特的哈佛结构和流水线技术以及快速实现各种数字信号处理算法的特点广泛应用于图像处理、语音合成等领域。T I 公司推出的高性能、超低功耗和低价位的定点数字信号处理器TMS320VC5509A, 具有体积小、处理速度快、使用灵活方便等特点。基于DSP 的图像采集处理系统能较好地满足处理数据量大、小型化便携式、高速传输以及大容量存储空间的需求。

  1 TMS320VC5509A 简介

  作为本系统的器件, 5509A 内核工作频率可达到144 MHz( 6. 94 ns) , 内核供电为1. 6 V。由3 部分组成:中央处理单元( CPU) 、内部存储器和片内外设。

  CPU 内部总线由一条读指令数据总线( 32 位) , 1 条读指令地址总线( 24 位) , 3 条读数据数据总线( 16 位) , 3 条读数据地址总线( 24 位) , 2 条写数据数据总线( 16 位) , 2 条写数据地址总线( 24 位) 组成。CPU 提供2 个MAC 单元支持乘加运算, 每个MAC 可以完成17 位× 17 位的乘法和40 位的加法操作, 结果送入累加器。采用2 段分离的流水线: 段为指令流水线; 第二段为执行流水线。

  5509A 内部有一个时钟发生器, 为了减少功耗, 时钟发生器和其他很多模块一样具有空闲( IDEL) 模式。5509A 支持2类外部存储器接口, 即异步接口和同步接口。

  2 系统硬件结构及原理

  硬件系统总体结构框图如图1 所示。本系统主要包括两个子系统: 图像采集系统与图像处理系统。图像采集系统包括CCD 摄像头、视频采集芯片、缓存以及用于逻辑控制与地址译码的CPLD; 图像处理系统则包括DSP、外扩的FLASH 和SDRAM。主要工作流程为: 由CCD 摄像头摄取视频图像, 输出标准PAL 制视频信号; 视频解码器将模拟视频信号转换为标准的数字视频信号并送入缓存, 缓存暂存视频数据; 待图像采集完毕后, DSP 通过外部存储器接口从缓存中读取图像数据并存入帧存储器, 以供后续处理。逻辑控制模块完成各部分之间的接口逻辑匹配和控制逻辑。电源模块为系统各部分提供电源。

图1  硬件电路总体结构

图1  硬件电路总体结构

  2. 1 图像采集模块

  2. 1. 1 T VP5150 与AL422B 的接口实现

  由于本系统中从TV P5150 输出的数字视频码流是由AL422B 缓冲的, 故需要将5150 的输出端口与A L422B 的写入端口相连。5150 的数据总线除了要与A L422B 的数据总线相连, 同时5150 还需要为AL422B 提供写时钟WCK, 写指针复位信号/ WRST 以及写使能信号/WE。

  TV P5150 有两种标准输出格式8 位ITU??R BT. 656 格式的数字信号和8 位YU V4: 2: 2 的数字信号。在本系统中采用后一种输出格式( 通过I2C 配置5150 芯片) , 数据总线宽度是8 位。

  2. 1. 2 TMS320VC5509A 与AL422B 接口实现

  当缓存中的数据存满后, 5509A 需要读取FIFO 里的数据, 因此要连接5509A 的EMIF 接口与AL422B 的读数据端口。5509A 的EMIF 接口可以连接各种异步或同步存储器, 根据EMIF 接口的特性, 本系统采用异步接口模式。5509A 的数据总线需与AL422B 的数据总线相连的同时, 要向A L422B 提供读使能信号/ RE、读时钟信号RCK 以及输出使能信号/ OE。将AL422B 的数据输出,通过EMIF 将数据传输至SDRAM。AL422B 外扩在/CE2 这个空间, 当/ CE2 和/ AOE 都为低电平时, 则使AL422B 的输出使能/OE 有效, 但是要等到/ ARE 变为低电平的时候, 才能使读使能/RE 有效, DSP 开始读取AL422B 中的数据。5509A 与FIF0 接口图如图2 所示。

图2  5509A 与FIFO 接口

图2  5509A 与FIFO 接口

  对于5509A 与A L422B 的接口, 有以下逻辑关系:

  RCK = CLK OUT ( 1)OE = CE2+ AOE ( 2)RE = CE2+ ARE ( 3)式中: RCK 为FIFO 的读时钟信号引脚; CLKOUT 为DSP 输出时钟; / OE 为FIFO 的输出使能信号; / AOE 为EMIF 接口的输出使能信号; /RE 为FIFO 的读使能信号; / ARE 为EMIF 接口的读使能信号。

  2. 2 图像处理模块

  2. 2. 1 TMS320VC5509A 与SDRAM 的接口实现

  SDRAM 即同步动态随机存取存储器, 外部接口采用同步和流水线技术, 具有较高的数据吞吐率。因此能满足图像处理高速以及大容量存储的要求。5509A 的EMIF能与SDRAM 进行无缝连接, 即不需要任何外加逻辑。

  由于本系统SDRAM 存储容量为64 M, 而5509A 的每一个CE 空间是32 Mbit, 因此其实是将其扩在CE0 到CE1空间上。但是EMIF 的特性决定了只要选中CE0 也就选中了该SDRAM, 所以只需要将CE0 与SDRAM 的片选信号引脚连接上即可。SDRAM 外扩在CE0 空间, 对CE01 寄存器需要相应的配置, 配置MTYPE 域为011, 用来指示该外部存储器类型是SDRAM。对于把CE 空间配置为SDRAM类型的存储器, EMIF 必须完成对SDRAM 初始化的工作。

  2. 2. 2 TMS320VC5509A 与FLASH 的接口实现

  FLASH 也称闪存, 主要特点是在不加电的情况下能长期保存存储的信息。本系统选用的是AMD 公司的AM29LV800B, 它具有以下特点: 高性能、访问时间短至70 ns、超低功耗、2. 7~ 3. 6 V 单电源供电、数据可以安全保存超过20 年。系统初始化时, 5509A 自动配置EMIF的数据宽度为16 位, 它的存储空间只能是CE1, 因此将5509A 的/ CE1 与FLASH 的片选信号/ CE 相连, / AOE、/AWE分别与FLASH 的/ OE、/ WE 相连, 但是5509A 多只能外扩16 K 异步存储器, 因此如果要访问全部的512 K 字节地址需要按照分页方式访问, 这个访问可以通过控制在CPLD 里设置的一个控制寄存器来实现。其中FLA SH 的高位地址线由CPL D 的控制寄存器控制, 该寄存器可以驱动FLASH 的高位地址线处于一个固定的状态, 从而实现分页的目的。5509A 与FLA SH 连接框图如图3 所示。

图3 5509A 与FLASH 接口

图3 5509A 与FLASH 接口

  3 系统软件设计

  本系统中, 软件主要分为3 个部分: DSP 的图像采集部分( 在CCS 软件开发环境下用C 语言编制、调试实现) ;图像处理部分以及CPLD 的逻辑控制部分( 在Quart us 环境下用VHDL 实现) 。图像处理部分的算法函数( 图像锐化、边缘检测等) 可在主程序中可以直接调用( 其中包括使用中值滤波对图像进行预处理, 图像二值化用于边缘检测, 以及拉普拉斯算法用于图像锐化) 。CPLD 主要完成视频解码器与缓存的接口逻辑, 缓存与DSP 的接口逻辑和FLASH 的地址译码等功能。DSP 主程序流程图如图4 所示。

图4  系统软件流程

图4  系统软件流程

  DSP 的主程序流程为: 系统在上电复位后, 需要完成系统的自举, 自举方式采取并行外部16 位异步内存引导方式, 因此需要将GPIO0、GPIO1、GPIO2 下拉, GPIO3 上拉[ 9??10] ; 当5509A 的bootloader 开始执行的时候, 程序会完成相应的初始化, 即将数据堆栈寄存器的地址配置为000090h, 系统堆栈寄存器的地址配置为000080h, 将ST 1_55寄存器的IN TM 域配置为1, 不使能中断, 地址为000060h 和000061h 这两个字用来暂时保存入口地址,ST 1_55 的SXMD 位被清0, ST1_55 的54CM 位被置1; 初始化完成后则开始执行bootloader 程序, bootloader 程序的自举代码存放在位于CE3 空间的FF_8000h 地址处, 然后读取位于CE1 空间地址为200000h 的boot table, 即自举表[8] ; 自举完毕以后, 接着对时钟、EMIF 进行初始化,然后初始化T VP5150 以及AL422B, 通过读状态寄存器判断有无场同步信号V SYNC, 通过向控制寄存器2 写数复位FIFO 的写指针, 结束复位状态, 想控制寄存器1 的ST ART 位写1, 开始采集图像; 当FIFO 满一场图像时, 触发外部中断INT 4, DSP 转去执行中断服务程序, 中断服务程序首先将ST ART 位清零, 然后将FIFO 的读指针复位, 结束复位状态, 开始接收来自FIFO 的数据, DSP 将数据存入SDRAM, 供DSP 的后续处理。

  4 结束语

  考虑到应用场合需要低价位, 低功耗的处理芯片, 选用5509A 作为本系统的芯片; 结合现有的图像处理算法, 设计出了一套低功耗, 低成本的嵌入式图像采集与处理系统。

参考文献:

[1]. CPLD  datasheet https://www.dzsc.com/datasheet/CPLD+_1136600.html.
[2]. AL422B  datasheet https://www.dzsc.com/datasheet/AL422B+_1094407.html.

上一篇:一种音视频监视系统的设计和实现
下一篇:基于磁流体密封技术在SF6负荷开关气室的应用

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料