一种基于高速DSP的图像处理应用平台
引言
本文引用地址:http://www.amcfsurvey.com/article/152403.htm完成某一特定任务的图像处理系统,其硬件方案大体上有三种:使用通用计算机[1]、使用ASIC(Application Specific Integrated Circuit)[2]和使用DSP(Digital Signal Processor)[3]。使用通用计算机的方案可以应用现有的硬件设备,选择合适的操作系统,只需要进行应用程序的开发。其优点在于开发周期短,费用较低,而且产品易于维护和升级;缺点是运算速度受到限制,对于算法的运算量和复杂度很高的应用场合,难以达到实时性要求。该方案有二种应用场合:算法开发初中期阶段及一些实时性要求不高的领域。使用ASIC的方案中,所有的运算都由硬件实现,因此实时性会非常好,但硬件的设计是一大难点,而且系统一旦定型,不方便对其进行升级。使用高速DSP可以说是二种方案的折衷,一方面在硬件实现上只需根据需求进行DSP外围接口电路的设计,另一方面,随着DSP技术的快速发展,高性能芯片的不断推出,其运算能力也能满足一般图像处理的要求。而且,系统功能由算法软件来实现,对系统的维护和升级也很方便。
本文采用TI公司的多媒体DSP芯片TMS320DM642[4](简称DM642),实现了一种图像处理系统基本功能的应用平台,包含视频输入、视频输出以及串行通信等功能。
2、系统硬件设计
系统硬件组成如图1所示。以DM642为核心,外部扩展了存储器SDRAM和Flash,分别用于程序运行和程序存储;通过控制视频编解码器完成视频的采集和输出;并通过McBSP接口实现UART,方便视觉系统与外界的通信。
图 1 DSP视觉系统硬件组成结构图
系统中,扩展的外部存储器包括ROM和SDRAM。其中,ROM采用Atmel公司的Flash,型号是AT49BV1614,其容量为16MBits,在系统启动时作为Boot ROM使用;SDRAM由两片4Banks×512K×32Bits规格的芯片够成,型号是HY57V643220CT,用来储存程序、数据和视频。视频ADC采用Phillips公司的SAA7113,转换精度9Bits,拥有有4个模拟输入通道,可输入4路模拟视频信号,输出接口(VP0)有一个,支持PAL、NTSC、SECAM这三种主要的模拟视频制式。视频输出DAC芯片采用的是Analog Devices公司推出的ADV7176视频编码器,转换精度为10Bits,最高信噪比达80dB,它在DM642的行、场同步信号及自己的时钟控制下从DM642中读出数据,经过D/A转换后输出到TV显示器上进行显示。通信接口中利用DM642已有的同步串口McBSP与EDMA实现UART的方法,硬件上加入一片MAX3323E,实现CMOS逻辑电平和RS-232逻辑电平之间转换,以满足与控制计算机进行串口通信的要求。
3、系统软件设计
TI为了对自己的DSP 产品提供软件开发支持,推出了DSP /BIOS(Basic Input Output System)抢先型、可裁剪的实时多任务操作系统,它与CCS(Code Composer Studio)编译环境集成在一起。使用DSP/BIOS可以进行高效的应用程序开发。本文图像系统的软件开发是基于DSP /BIOS环境下进行的。
3.1 软件设计流程
本文图像处理系统的软件流程如图2所示。应用主程序需要先完成CSL(Chip Support Library)库的初始化,以便在程序中能调用相关的芯片级支持库函数。随后,开EDMA中断,并使能EDMA中的I2C通道的中断;开VP1、VP2口中断;初始化并启动I2C的数据传输,完成对视频解码芯片SAA7113和视频编码芯片ADV7176的寄存器的参数初始化数配置;配置和启动VP1和VP2视频口;最后进入空闲等待循环。视频的采集以中断的方式进行,当一帧图像采集完后,触发VP1中断,系统调用相应的中断子程序对图像数据进行处理计算,求出位置和姿态等参数,最后将参数通过UART传输给控制计算机。
评论