用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
中断服务程序

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved