一种基于TMS320VC33 DSP的通用图像处理系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要:介绍了一种以美国TI公司推出的浮点DSP—TMS320VC33为处理器的通用图像处理系统,阐述了该系统的硬件设计思想及软件开发流程。
该系统具备良好的算法通用性,是一种优良的图像处理平台。
关键词:图像处理;DSP
1 引言
为了实现实时采集摄像机视场中的图像数据并完成相应的图像处理算法运算的任务,我们选择了美国TI公司TMS320系列中一款浮点型DSP—TMS320VC33作为信号处理器核心,研制开发出一种图像处理算法可灵活加载的通用图像处理系统。
该系统能处理50场/秒的,图像分辨率256×288至768×288可调的标准电视图像信号。
用户只需要通过修改算法软件,便可以在此硬件平台上运行该算法。
本系统可提供实验室图像处理算法研究及产品开发。
2 TMS320VC33的特点
TMS320VC33是TI推出的TMS320C3X浮点DSP中最新的一款32位高性能数字信号处理器。
指令周期分13ns和17ns两种,单周期完成 32位整数、40位浮点乘法运算,DSP工作在75MHz主频时,运算能力达150MFLOPS(Million Floating-Point Operations Per Second);片内34K×32bit SRAM,组织为2个16K和2个2K的块;片上集成一个同步串口,两个32bit的定时器,一个DMA 通道;总存储空间为16M×32bit,程序、数据和I/O空间都包含在这16M空间中,可以按照不同的要求采用不同的方法进行分配地址,从而可以达到最大的存储器利用率;具有程序引导装载功能(Bootloader),可以在系统复位后,方便的将程序数据从慢速的外部存储器中装载到快速的片内RAM中运行;支持IEEE Std 1149.1(JTAG)标准;0.18-um工艺,1.8V核心电压,3.3V I/O电压;低功耗(<200mW@150MFLOPS)。
该款DSP将浮点运算与定点运算结合起来,具有更高的运算精度,并且具有较高的运算速度,性价比高,尤其适用于信号处理、图像处理等领域。
3 基于TMS320VC33的图像处理系统硬件设计
3.1 系统整体硬件构架
系统从摄像机输入PAL制式的视频信号,通过视频信号输入与复合模块进行同步分离、A/D转换。
同步分离产生的同步信号作为系统的基准时序信号,在CPLD时序电路中进行图像行列计数;A/D输出12位高质量数字视频图像。
图像数据根据奇偶场分别存储在图像双口RAM的上下半区中。
DSP在每场正程从图像双口RAM中读取图像数据进行处理,在场逆程DSP将处理的结果以及相关数据写入图形显示双口RAM,在时序电路和视频复合电路配合下将上述信息显示到监视器上,完成实时图像处理任务。
系统状态的启动、结束,图像算法选取及参数的设置是位于PC机上的控制程序通过RS232串口来进行控制。
系统复位时从FLASH中加载程序。
系统方案设计时,考虑了系统数据处理的实时性、硬件系统的规模、系统调试难度等诸多因素,系统整体框架如图1所示。
图1 系统硬件整体结构框图
3.2 DSP小系统
系统使用15MHz晶体作为DSP外部时钟输入,内部锁相环使用×5模式(CLKMD0=CLKMD1=1),系统工作主频75MHz。
TMS320VC33总存储空间为16M×32bit,程序、数据和I/O空间都包含在整个16M空间中,同一编址。
考虑系统主要处理对象是数字图像信号,要求较大的系统程序和数据空间,片内RAM是通常不能满足系统要求,因而在DSP片外做存储器扩展。
DSP连接了2个CY7C1041V33 256K×16bit SRAM,一个SST39VF400A
256K×16bit FLASH,1个IDT70v09 128K×8bit双口RAM和一个用于图形显示的IDT70v08 64K×8bit双口RAM。
2个CY7C1041V33 256K×16bit SRAM按照数据位扩展方式连接,扩展成为256K×32bit。
DSP采用Microcomputer/Bootloader工作模式(= 1)。
3.3 系统时序控制电路
系统时序由一片Xilinx XC95144XL CPLD产生、控制和管理。
硬件电路完成的主要功能有:
产生系统行列计数信号为视频图像λ水平、垂直方向定时信号,提供图像存储器行列地址;产生系统奇偶场信号,用于实现图像存储器按场在上下半区来回切换读写。
·产生DSP外部存λ储器的接口信号:地址译码选通信号,写脉冲信号,读信号等。
·实现用户自定义端口。
λ
·实现图形信号的并串转换。
λ
·产λ生复位信号和复位后的系统自举需要的中断脉冲信号。
3.4 存储器设计
图像数据双口RAM用来实现图像数据实时采集,成为与DSP实时处理图像数据并行工作的图像数据缓冲器。
图像数据双口RAM的图像数据采集端数据线接视频输入与复合电路的数字图像数据输出,地址线接系统时序产生的行、列计数信号,地址最高位接奇偶场标志信号,片选常接地,写控制信号由系统时序单元综合产生。
图像数据根据奇偶场标志分别存入双口RAM的上下半区。
图像存储器的两种工作模式见图2所示。
图2 图像存储器工作模式示意图
图形数据双口RAM用于存储用于显示的字符、图形等。
视场中的一个确定位置对应于存储器中的一个单元(byte)中的一位(bit)。
DSP将要显示的字符或图形以点阵形式写入存储器规定的存储单元内,存储器在系统时序控制下读出要显示字符或图形的点阵信号。
8位图形数据经CPLD并-串转换电路变成串行信号迭加在模拟视频信号上提供显示。
3.5 串口通信单元设计
TMS320VC33 DSP中的串口是一种同步串行接口,并不支持通用异步接收器/发送器(UART)标准。
当用户需要使用RS232串口时,需要用户自己来实现UART。
在本系统中使用了TI公司生产的双通道UART芯片TL16C752B实现DSP与上位机的高速通信,配合使用MAX3232来实现到RS232串口电平的转换。
3.6 视频图像输入与复合电路设计
视频图像输入与复合电路主要由视频放大电路、同步分离电路、半行周期脉冲滤除电路、锁相环电路、视频A/D变换电路、视频复合电路、时序电路等构成。
输入为标准的电视信号(625行,50Hz,隔行扫描),同步分离后输出场同步信号、奇偶场标志信号以及视频复合信号。
同步分离出的视频复合同步信号中,除周期为64us的行同步脉冲外,在场回扫期间还含有周期为1/2行周期(32us)的场均衡脉冲和场同步脉冲,因此视频复合同步信号不能直接送到锁相环输入端,应先滤除具有1/2行周期的脉冲。
滤除电路采用74LS221不可重触发单稳触发器。
输入视频信号经放大后充满A/D转换器的量程0~5V,经锁相环锁相输出系
统象素时钟提供给A/D变换器使用,得到12位高质量数字图像数据。
视频复合电路将CPLD中并-串转换电路输出的字符图形数据叠加到输入的视频图像上,形成最后我们看到的处理结果。
时序电路主要完成锁相计数,产生系统行、场同步信号,A/D后数字图像输出等功能。
4 基于TMS320VC33的图像处理系统软件设计
4.1 系统工作流程
以我们开发的一种基于仿射变换的图像跟踪算法为例来说明该系统的软件开发原理和流程。
跟踪目标的初始捕获由人工完成,用户在上位PC机视场中选定目标区域,第一帧时DSP把目标区域内图像数据插值成规定的尺寸,并存储在DSP片内存储器作为模板图像。
在随后的图像帧中,系统进入图像跟踪状态,DSP将对截取的新的目标图像中根据模板图像进行一系列的仿射变换算法处理,最后得到感兴趣目标区域在下一帧图像中的位置、姿态和偏离视场中心的误差。
该算法全部在DSP上实现的,软件设计中不仅要实现基本的功能,还要考虑程序的效率,使整个系统能够在最优化最快速的情况下运行。
用C语言开发DSP 程序可以缩短开发周期,提高程序开发的效率,也使程序的可读性、可移植性以及算法的通用性大大提高,对于系统的改进和升级换代也带来了极大的便利。
软件设计采用C语言和汇编语言混合编程的方法。
汇编程序主要实现系统的初始化,图形操作,串口操作;C程序主要用来实现整个系统的流程控制以及图像处理算法的实现。
程序在场正程中进行图像算法运算,在场逆程中用户可进行串口命令的解释和字符图形显示等。
系统为用户留出了软件开发接口,极大方便了用户加载各种图像处理算法,缩短了程序开发周期。
下图3说明了程序流程。
图3 DSP程序流程
4. 2 关于代码优化
λ大量数据拷贝和转移方面的优化
为了提高算法的计算速度,尽量使其在DSP内部存储器中完成,在开始数据处理之前需要将目标区域的原始图像从图像存储器中拷贝到DSP的片内存储器中。
这一拷贝过程往往由于目标区域的图像很大,要耗费很多的时间和DSP资源。
为了在一定程度上解决这个矛盾,使用DMA在CPU的后台传输这些数据,DSP 不参与传输,传输过程中DSP可以进行其他的数据运算,这样在一定程度上提高了DSP的运算效率。
使用编译器中的优化选项λ
对于使用C编写的代码,可以采用优化编译器来生成高效率的汇编代码,从而提高程序的运行速度,减少目标代码的长度,在一定程度上可以认为,C编译器的效率主要取决于编译器所能进行优化的范围和数量。
C优化编译器有4个不同的级别,使用命令参数-On(n=0,1,2,3)来选择,四个优化级别对应了不同的优化范围。
使用优化器改善程序效率的同时也会带来一些问题,因此在调试C语言程序时最好先不要用优化编译,等到程序调试完成后再进行有优化编译。
5 结束语
在此硬件平台上成功实现了一种基于仿射变换的图像跟踪算法。
实验证明该系统完全胜任计算复杂的仿射变换跟踪算法,能够在规定的时间范围内完成指定的计算任务,能够稳定、精确和快速的跟踪目标。
该图像处理系统具有良好的软硬件体系结构,能够灵活的适应不同算法的需要,完成各种图像处理算法的硬件实现。
参考文献:
【1】潘安君,张凯,阎兆春,宋振福,黄继昌,邵苏苓. TMS320系列芯片在电视跟踪器中的应用. 系统工程与电子技术,1994.3:pp1~6
【2】 TMS320VC33 Digital Signal Processor Data Sheet. Literature number:SPRS087. Texas Instruments Incorporated (TI),February
1999-Revised July 2000
【3】 J.C.Rachal. The Real-Time Image Processing Problem. IEEE 1982,National aerospace Electronics,1982:pp14~21。