![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . 社区 . | ||
|
||
|
|||||
| 基于TMS320DM642的图像处理系统 | |||||
作者:陈明松,… 文章来源:现代电子技术 点击数: 更新时间:2008-8-28 ![]() |
|||||
|
严宁,鱼云岐 1 引言 随着大规模集成电路的飞速发展,DSP的性能越来越完善,能够满足图像处理时对数据处理速度的实时要求。以DSP为核心处理器组建图像处理系统应用广泛,其优点是DSP资源丰富、编程灵活、算法设计简单,并且在系统软件开发中可采用模块化设计,可提高系统的通用性,缩短系统的开发周期。本文介绍了基于TMS320DM642的图像处理系统。 2 TMS320DM642简介 TMS320DM642是TI公司推出的一款针对网络与多媒体应用的DSP。TMS320DM642具有以下主要特点: 处理器时钟频率高,具有500 MHz/600 MHz/720 MHz 三种时钟速率(本系统设计采用的时钟速率是600 MHz); 专用的视频口,包括3个可配置的视频口; 外部接口:64个独立通道的增强EDMA控制器,多通道音频串行端口(McASP),64 bit的外部存储单元接口EMIF,66 MHz 32-bit,3.3 V的PCI主/从接口,10 Mb/s/100 Mb/s以太网口(EMAC)及通用I/O端口(GPIO)等外围接口; 专用缓存,能够加快数据存储及运算速度。TMS320DM64采用二级高速缓存的Cache结构,一级程序和数据缓存为16 KB,二级缓存为256 KB,其CPU内核基于C64X的CPU。 因此,TMS320DM642的处理速度高,外围接口丰富,并具有专用的视频口。与其他同性能产品相比,TMS320DM642性价比高,无论从产品性能还是经济效益上考虑,TMS320DM642都是图像处理系统的理想选择。 3 系统设计 3.1硬件设计 系统硬件结构框图如图1所示。系统工作过程是:视频输入设备摄像机输入的图像数据经视频解码器解码后传输至TMS320DM642,TMS320DM642存储、处理采集到的数据,并将处理后的数据送至视频编码器,视频编码器对其编码后再送至视频输出设备监视器。
3.2视频输入设计 采集视频输人设备(摄像机)图像采用专门的视频解码器,视频解码器实现图像采集驱动,简化了设计,节省设计时间缩短设计周期。视频解码器采用Phillips公司的SAA7115。 TMS320DM6412数据采集驱动程序通过IOM器件驱动模式进行设计。如图2所示驱动器的设计分为Class Driver与Mini-Driver两个层面,利用FVID模块设计Class Driver,提供独立和通用的API设置以及Mini-Driver的多种服务。为了使代码重复利用率达到最高,Mini-Driver分为通用部分和面向不同电路板的个体部分设计,前者利用EDMAs与视频口进行数据传输,后者又称为EDC(External DeviceControl)接口设计,是针对不同电路板设置视频解码器,包括视频编码器的初始化及其配置等。采用此方式设计TMS320DM642视频输入驱动时,需配置DSP/BIOS参数:正确配置Input/Output下DeviceDrivers中的User-DefinedDrivers项,包括Init function、Function table ptr、Function table type、Deviceid、Device params ptr、Device global data ptr等参数。DSP/BIOS各参数配置完成后,DSP程序包含vport.h、vportcap.h、saa7115.h,并对SAA7115初始化及其配置,视频数据输入直接调用器件支持的API函数,即可完成视频输入驱动设计。 3.3视频输出设计 视频输出的编码器采用Phillips公司SAA7105。SAA7105与SAA7115是配套使用的一对器件。图3是视频输出驱动框图,在显示操作期间。数据从存储器加载到帧缓冲器中,然后通过EDMA传输给视频端口FIFO,视频端口再将数据传输至视频编码器进行显示。EDMA中断在每帧数据从存储加载完成后触发,此中断用于管理帧缓冲器和EDMA重新加载更新数据。
视频输出驱动设计与视频输入驱动设计类似,DSP/BIOS中各参数配置完成后,DSP程序中包含vport.h,vportdis.h,saa7105.h,并对SAA7105进行初始化以及配置,视频数据输出直接调用器件支持的API函数,即可完成视频输出驱动设计。 3.4数据处理设计 数据处理设计分为两步,第一步确定算法,第二步将确定好的算法用DSP程序代码实现。确定算法利用功能强大且容易使用的Matlab软件实现,在Matlab环境中设计算法并对其仿真,仿真结果正确后即可确定算法。DSP代码按照图4所示的C6000系列代码开发流程进行设计。代码开发流程分为三个阶段:第一阶段产生C代码,第二阶段优化C代码,第三阶段编写将C代码转换为线性汇编或汇编代码并对其优化,直到程序代码满足要求。
整个设计中代码的优化是核心,只有通过优化代码的效率才能保证满足既定的要求。代码优化的步骤及方法: 1)CCS编程环境中设置编译优化级别为-o3,并按照C代码的优化法则对代码做一些手动的初步优化。 2)经过优化后的C代码效率不能达到要求时将C代码转换为线性汇编代码让编译器作进一步优化。 3)如果还不能达到要求,则将线性汇编代码转换为汇编代码,并且手动调整代码顺序,改变代码的并行及流水能力,如此通过不断地对代码的调整,使代码的执行效率达到要求。 4 应用实例 利用TMS320DM642EVM硬件平台对PAL格式的图像进行旋转处理,算法设计时插值算法采用最近临插值算法。整个软件采用C语言编写,程序运行结果不理想,图像有明显的停滞现象。将耗时最多的旋转算法代码部分转换成汇编代码,并对其优化,重新调整代码次序,增加代码的并行及流水能力,代码执行效率大大提高,程序运行流畅无滞留,运行速度满足实时要求。 5 结束语 TMS320DM642提供的专用视频端口通过EDMAs传输数据使视频的获取及输出非常简单;同时TMS320DM642支持的视频驱动设计模式大大简化视频输入输出驱动设计的工作量,从而简化了整个图像处理系统的设计,节省了设计时间,从而保证了系统设计的高效性。基于TMS320DM642的图像处理系统设计简单,设计周期短,是图像处理系统较为理想的选择. |
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|