基于DSP的数字图像处理系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于DSP的数字图像处理系统的设计与实现
文:杨文胜李梅时间:2008-10-7 17:20:49
安徽广电信息网络有限责任公司阜阳分公司
摘要:为满足高数据量图像处理需求,提出并设计了以TMS320DM642为处理器的数字图像处理硬件系统,并在DSP/BIOS上配以实时图像处理软件系统,实现数字图像处理。本文阐述了系统模块的构成、软件系统的设计,在此平台上,采集图像并运用优化算法对图像进行增强、分割、边缘检测,结果表明系统运行正常。
关键词:TMS320DM642 图像处理DSP
一、引言
随着计算机科学技术发展和相关理论的不断完善,数字图像处理技术被广泛应用于可视电话、电视会议、监控系统、商用及工业生产领域中。在技术要求中,一个突出的问题就是数据量庞大、数据处理相关性高、实现实时比较困难。而实时性的主要因素为图像处理的速度,即要求数字图像处理系统要有强大的运算能力。高性能DSP 的发展为实时的图像处理提供了一个解决方法。高速DSP 不仅可以满足在运算性能方面的需要,而且由于DSP 的可编程性,还可以在硬件一级获得系统设计的极大灵活性。
TI公司的TMS320DM642是一款专门面向多媒体应用的专用DSP。该DSP时钟高达600 MHz,8个并行运算单元,处理能力达4800MIPS;采用二级缓存结构,具有64位外接存储器接口,兼容JTAG边界扫描,为了面向多媒体应用,还集成了3个可配置的视频端口。采用DM642为核心设计的数字图像处理系统,能够很好的满足图像处理要求。
二、系统硬件平台框架
系统的整体硬件框图如图1所示,整个系统是以TMS320DM642为核心构成的应用系统。包括DM642处理器芯片、视频编解码器芯片、其他外围电路。DM642通过I2C总线对视频编解码器进行配置,使其能够满足系统的需求;通过VP口接收和传送视频数据以及同步控制信号;通过EMIF总线实现外部存储器的扩展,SDRAM 用于运行时的程序代码和数据的存储,FLASH用于系统引导程序的存储。
时钟模块方面,片内PLL输入时钟和EMIF外部输入时钟是DM642的两个重要时钟,为确保时钟的准确性均采用了有源晶振。其中PLL输入时钟为50MHz,通过对PLL倍频参数选择使DM642工作在600MHz 主频。EMIF外部输入时钟为100MHz,此时钟由ICS512芯片提供。
外部存储器扩展方面,系统采用了2片MT48LC4M32B2-7 SDRAM芯片,此芯片采用了同步接口方式(所有信号都在时钟信号的上升沿触发),与系统时钟同步运行。芯片内存颗粒的构架为1M×32×4banks,每个bank 的行地址数目为12,列地址数目为8。DM642仅支持8位的ROM启动,因此本系统选用了8位数据线宽的AM29LV033C-90EI Flash存储器,映射到CE1低地址空间。由于CE1可寻址地址线位数(20根地址线)比Flash 的地址线位数(22根地址线)要少,因此使用FPGA来创建2根地址线,把Flash分为4页,每页大小为1Mbytes。
协处理器FPGA与DM642数据线、地址线以及时钟信号线相连,为Flash提供2个分页信号。同时协
处理器模块具有独立的供电模块和配置模块,以及仿真和程序烧写的端口,使系统具有硬件功能扩展性。
视频模块主要实现视频捕获和显示功能,即实现视频信息的编解码,如图2所示。
视频捕获模块中,DM642视频端口VP0和VP1与两片视频解码芯片TVP5150相连,实现视频捕获功能。DM642通过I2C总线对TVP5150进行参数配置,使其能够正常工作。TVP5150是TI公司推出的一款高性能视频解码器,可将NTSC/PAL/SE-CAM制式的视频信号转换成数字色差信号(YUV4:2:2)。它支持两个复合视频或一个S端输入,输出格式为ITU-R BT.656,使用TI专有技术锁住弱、嘈杂以及不稳定信号。视频捕获模块电路原理图如图3所示。
图3 TVP5150电路原理图
视频显示模块中,TMS320DM642的视频端口VP2与视频编码芯片SAA7105相连,实现视频显示功能,可输出PAL/NTSC制式的复合视频信号、S端子视频信号和RGB视频信号。TMS320DM642通过I2C总线对SAA7105内部寄存器进行配置,从而实现不同类型视频信号的输出。SAA7105与TMS320DM642相连的电路原理图如图4所示。
系统通过单5V供电,在板子内部转换为1.4V、1.5V、1.8V和3.3V分别为DSP内核、FPGA内核、TVP5150、DSP的I/O和其他外设供电。DM642需要1.4V内核和3.3V I/O两种电压,芯片对两者的上电顺序没有特殊要求,只要保证两种电压上电前后不超过1秒即可。利用两个开关稳压电源芯片TPS54310来产生1.4V 和3.3V,同时采用电源监控芯片TL7705来保证DM642芯片在电源未达到要求电平时,不会产生失控的状态。
三、系统软件设计
1、软件系统整体组成
基于模块化设计思想进行软件系统的设计,针对系统所要实现的功能,将其划分为初始化、视频捕获、视频处理以及视频显示四个模块,后三个模块为RF5参考框架中的三个任务,其整体框图如图5所示。
2、软件系统程序流程
根据系统要实现的功能,在DSP/BIOS和RF5参考框架下构建了整个软件系统。软件系统中使用了三个任务模块:视频捕获任务、图像处理任务以及视频显示任务。整个软件系统工作流程为:首先主线程序完成系统的初始化工作,即完成系统工作中要使用模块的初始化;完成初始化后,将程序控制
权交给DSP/BIOS的调度程序,由它按照任务权限来调度相应的任务。整个系统程序流程如图6所示。
3、模块化程序实现
初始化:软件系统第一步就是要在上电后或重启后完成系统的初始化,包括处理器和系统板初始化、RF5模块初始化、视频捕获和显示通道的建立以及图像处理算法实例的建立和注册。设备重启后,通过外围设备配置寄存器(PERCFG)以软件配置的方式对外围设备进行配置和选择。DM642具有用于外围设备配置(PERCFG),设备状态(DEVS-TAT)和JTAG识别(JTAGID)的指定寄存器。这些寄存器是设备配置模块的一部分,被映射到从0x01B3F000开始的一个大小为4K的内存块中,CPU可通过配置总线来访问这些寄存器,并完成相应的配置。这部分工作通过调用编写的板级支持库中的DEyesDM642_init()函数来完成。此函数不仅对功能复用管脚进行了配置,而且还设置外部存储器扩展接口EMIF和I2C控制器。
处理器和系统板初始化还包括初始化BIOS环境和CSL,设置使用64K二级高速缓存,设置二级高速缓存可映射到EMIF的CE0和CE1空间,设置DMA优先级序列长度取最大值,设置二级高速缓存的请求优先级最高。
RF5模块的初始化包括:系统初始化RF5通道模块;系统初始化RF5框架中用于内部单元通讯和任务间通讯的ICC和SCOM模块;各通道在内部扩展的临时堆上完成建立。
视频捕获和显示模块:
视频捕获,负责将外部视频解码器TVP5150解码生成的数字视频信号实时采集到系统外扩的存储器SDRAM中。系统初始化后完成视频捕获通道的建立,视频采集单元进入自动采集状态,每场图像采集完成后视频端口自动发出中断请求,VPISR中断服务程序更新图像存储区,继续进行下一场图像的采集。当视频端口的FIFO装满数据后,会触发一个EDMA中断,进入EDMA ISR中断服务程序将视频数据送入到SDRAM 中。
视频显示,负责将经过图像处理任务处理后的图像编码成标准数字视频流,输出给外部视频解码器SAA7105,编码生成标准模拟视频信号用于显示器的显示。在显示操作中,EDMA传输器将放置在内存中的数据送入到视频端口的FIFO中,视频端口将数据轮流输出到用于显示的外部编码器SAA7105中。当完整的一帧图像从内存传输到视频端口后会触发EDMA中断,将会送入新的一帧图像,而VPISR主要用来完成视频端口FIFO中图像存储区的更新。
四、实验结果
整个系统工作过程为:首先在PC机上对软件系统进行编译,生成DM642可执行文件。将数字图像