用EDMA传输数字视频信号

2011-04-21 22:34:10来源: 互联网
1 引 言
  现有的电视技术中多采用隔行扫描技术,因此,对全电视信号直接采样所得到的数字视频信号,其图像信息是不连续的。而在现代图像处理技术中,常常是利用图像中位置相邻的像素之间的灰度关系进行各种运算,因此,必须将经过A/D变换之后的视频信号进行排序处理,在存储器中形成一幅完整的图像。EDMA(Enhanced Direct Memory Access)是指在TMS320C6x11/C64xDSP中,没有CPU参与的情况下,实现数据在DSP的各个存储器之间的转移。我们在系统中先用一片FPGA滤去数字视频信号中的非图像信息,然后,利用EDMA将处理过的数字信号从较小的缓冲区(如双口RAM)转移到较大的存储器,组成一幅完整的图像供DSP处理。
2 设置EDMA可选参数寄存器
2.1 EDMA传输参数组概述
  EDMA传输参数组由6个32位的字构成,用来定义EDMA传输过程,包括可选参数、源地址、目标地址、数据计数、地址修改索引、链接地址等各种寄存器。可选参数寄存器决定了EDMA的传输方式,共有10种控制位,下面主要阐述如何设置可选参数寄存器。

2.2 设置传输数据单元
  EDMA支持对8位、16位、32位的数据的存储,本系统中对图像灰度信号采用8位的量化,DSP的外部数据线为32位的,于是,可以把4个像素的灰度值合并成一个数据单元(element),共计32位,因此,寄存器中的ESIZE位设置为00b。
2.3 设置传输维数及地址更新方式
  数字化后的视频信号在缓冲区(源数据区)中是连续地存储的,地址是增长的(SUM=01b),可以视为一维的(2DS=0b)。在目标存储区,图像数据是按行存放的,而且每一行的列数和视频信号的每一行的点数相同,这样,目标数据区的存储变为一个二维的结构(2DD=1b)。地址也是增长的(DUM=01b),行与行间隔为存放一行电视信号所需的字节数,可以通过设置FRMIDX寄存器来实现。这样,只要设置存放奇数场和偶数场信号的起始地址相差一行,就能在目标存储区得到一幅完整的图像。图1为传输示意图。
2.4 设置传输结束后EDMA产生中断  
    在视频信号填满缓冲区的一半时,由FPGA给DSP一个外部中断,可以是INT4~INT7之中的任意一个,对应启动EDMA的4号传输通道至7号传输通道之一。触发信号到来时,EDMA取走整块数据(FS=1),同时,视频信号不断被写到缓冲区的另一半。把缓冲区分成两半,读数据和写数据不在同一个半区,保证了数据的完整性。
  在一次传输结束后,传输参数组中源地址和目标地址都需发生改变,本系统中,源地址和目标地址有很多种不同的情况,不能用链接方式来改变传输参数组(LINK=0b),而改用中断的方式,将传输结束中断位TCINT设置为1,我们在系统中采用的是INT7事件作为EDMA的触发事件,相应地传输结束代码位TCC设为0111b。这样,当对应的通道7的传输结束后,EDMA控制器将向CPU发出一个名为EDMA  INT的中断信号。



3 中断服务程序ISR(Interrupt Service Routines)
3.1 中断程序的功能
  如果CPU响应中断(缺省为CPU INT8),就转向执行对应的中断服务程序。可以在ISR中改变EDMA传输参数组,为下次的传输做准备。缓冲区分为上下两个部分,这表明数据源的地址有两种,而且在每次传输结束后,源地址必须改成另一个半区的地址,
这是典型的乒乓算法。同样,对于奇数场和偶数场的切换也可以用乒乓算法来完成,它们决定了目标地址的选择。
3.2 利用DSP/BIOS配置工具配置中断函数
  生成一个DSP/BIOS配置文件,并将它加入到工程中,打开配置文件,在Scheduling树的HWI子树中,为HWI INT8项加上中断函数。需要注意的是,如果配置文件不再保存在工程所在的目录,则必须在编译选项中加上-i选项,指明配置文件的位置,否则,编译程序找不到中断函数的定义。
3.3 算法实现
  我国的电视信号采用的是PAL制,每行是64μs,其中,图像信号占52μs,若采用12.288MHz采样,每行得到640个图像信号,即160个数据单元,共640×8bit的数据,若采用两片IDT7025双口RAM构成8Kbyte×32bit缓冲区,则半区可以存储25行的数字视频信号。即,当缓冲区写满了25行后,FPGA就给DSP外部引脚INT7高电平信号,触发EDMA开始传输数据。为了传输的方便,用FPGA在偶数场信号到来之前,先向缓冲区写入半行黑电平,这样,一场图像的行数是288行,传送一场需要12次传输,所以,在第13次传输到来时,必须进行奇数场和偶数场的切换,以改变目标存储器的起始地址。
3.4 算法流程图
  算法流程图如图2所示。
4 结束语
  由于C6x11DSP的片内存储空间只有64Kbyte,对于大数据量的图像处理系统来讲,数据必须在内部存储器和各个外部存储器之间不停传输,EDMA可以在不需要CPU干涉或重新编程条件下连续地传输,提高了CPU的效率,因此,EDMA被称为二级存储结构DSP的“脊梁”。


参考文献
1 任丽香等.TMS320C6000系列DSPs的原理与应用.北京:电子工业出版社,2000

关键字:EDMA  DSP  中断服务程序

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2011/0421/article_7467.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
EDMA
DSP
中断服务程序

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved