EDMA的基本概念

1. 基本概念

l  元素传输(Element transfer):在1D传输中,从源到目的的单个数据元素的传输,每个同步事件触发一个元素的传输。

l  帧(Frame):在1D传输中,一组元素组成一帧,元素可以连续也可以有间隔(通过元素索引),一个同步事件可以触发一帧的传输。

l  数组(Array):在2D传输中,一组连续的元素组成一个数组。一个事件可以触发一个数组的传输。

l  块(Block):一组数组或帧构成一个数据块,对于1D传输,块由帧构成,对于2D传输,块由数组构成。

l  一维传输(1D transfer):帧组成的1D数据块的传输,FRMCNT指明帧数,ELECNT指明组成帧的元素个数。

l  二维传输(2D transfer):帧组成的2D数据块的传输,FRMCNT指明数组个数,ELECNT指明组成数组的元素个数。

2. 传输方式:

l  基于元素(Element)同步的1D1D传输:FS = 0,一个事件触发一个Element的传输。整个块完毕(FRMCNT = 0且ELECNT = 1)产生传输完毕中断。除最后一次传输结束外其它每次事件触发传输一次时产生Alternate Transfer Complete中断。

l  基于帧(Frame)同步的1D1D传输:FS = 1,一个事件触发一个Frame的传输。整个块完毕(FRMCNT = 0)产生传输完毕中断。除最后一次传输结束外其它每次事件触发传输一次时产生Alternate Transfer Complete中断。

l  基于数组(Array)同步的2D2D传输:FS = 0,一个事件触发一个Array的传输。整个块完毕(FRMCNT = 0)产生传输完毕中断。除最后一次传输结束外其它每次事件触发传输一次时产生Alternate Transfer Complete中断。

l  基于块(Block)同步的2D2D传输:FS = 1,一个事件触发整个Blcok的传输。整个块完毕(FRMCNT = 0)产生传输完毕中断。不产生Alternate Transfer Complete中断。

l  基于数组(Array)同步的1D2D传输:FS = 0,一个事件触发一个Array的传输。注意在这个方式,一维源的帧(Frame)必须是连续的。整个块完毕(FRMCNT = 0)产生传输完毕中断。除最后一次传输结束外其它每次事件触发传输一次时产生Alternate Transfer Complete中断。

l  基于块(Block)同步的1D2D传输:FS = 1,一个事件触发整个Block的传输。注意在这个方式,一维源的帧(Frame)必须是连续的,不能有间隔。整个块完毕(FRMCNT = 0)产生传输完毕中断。不产生Alternate Transfer Complete中断。

l  基于数组(Array)同步的2D1D传输:FS = 0,一个事件触发一个Array的传输。注意在这个方式,一维目的的帧(Frame)必须是连续的。整个块完毕(FRMCNT = 0)产生传输完毕中断。除最后一次传输结束外其它每次事件触发传输一次时产生Alternate Transfer Complete中断。

l  基于块(BLCOK)同步的2D1D传输:FS = 1,一个事件触发整个Block的传输。注意在这个方式,一维目的的帧(Frame)必须是连续的。整个块完毕(FRMCNT = 0)产生传输完毕中断。不产生Alternate Transfer Complete中断。

3. EDMA的传输效率:

对于一个给定的传输任务,按2所说,可能有多种传输方式可以实现要求传输任务,但是效率(传输速度)可能大大不一样,总线利用率相差非常巨大,这一点必须注意,比如下表:

表一:元素的尺寸与总线带宽利用率的关系

元素宽度
 传输的数据长度(字节)
 读操作
 写操作
 
传输带宽(Mb/sec)
 利用率
 传输带宽(Mb/sec)
 利用率
 
32-bit
 4
 400
 50%
 400
 50%
 
32-bit
 16
 800
 100%
 800
 100%
 
32-bit
 128
 800
 100%
 800
 100%
 
16-bit
 4
 143.9
 18.0%
 200
 25.0%
 
16-bit
 16
 85.1
 10.6%
 105.3
 13.2%
 
16-bit
 128
 74.0
 9.3%
 100.6
 12.6%
 
8-bit
 4
 50.0
 7.0%
 55.6
 7.0%
 
8-bit
 16
 42.1
 5.3%
 51.9
 6.5%
 
8-bit
 128
 38.4
 4.8%
 50.2
 6.3%
 

可见字节传输效率最低

表二:EDMA地址更新模式(增量、减量、索引、固定)与总线带宽利用率的关系(以L2到EMIF为例)

SUM
 DUM
 传输周期(CPU周期)
 传输带宽(Mb/sec)
 利用率(%)
 
L2: Any
 EMIF: Increment
 96
 800
 100
 
L2: Any
 EMIF: Fixed
 96
 800
 100
 
L2: Any
 EMIF: Decrement
 144
 533.3
 66.7
 
L2: Any
 EMIF: Index
 379
 202.5
 25.3
 
EMIF: Increment
 L2: Any
 96
 800
 100
 
EMIF: Fixed
 L2: Any
 96
 800
 100
 
EMIF: Decrement
 L2: Any
 108
 715
 89.4
 
EMIF: Index
 L2: Any
 495
 155
 19.4
 

可见Index传输效率最低

还有很多其它的影响因素,参看Ti文档spraa02

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wjdvt/archive/2009/09/25/4593924.aspx

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]中的代码片段展示了在DSP6678上使用EDMA进行数据传输的部分代码。在这段代码中,首先打开指定的QDMA通道,并将其映射到指定的参数入口。然后获取参数入口句柄,并使用paramSetup信息配置参数入口。最后,使能指定的通道进行数据传输。 引用\[2\]中提到了Parameter RAM(PaRAM),它用于维护通道和重载参数集的参数设置条目。需要将PaRAM写入所需通道和链接参数集的传输上下文。 引用\[3\]中提到了在使用EDMA进行数据传输时可能遇到的缓存一致性问题。由于EDMA是独立于CPU的功能模块,CPU并不知道EDMA在搬运数据。因此,可能会出现缓存中的数据与DDR中的数据不一致的情况。为了解决这个问题,可以使用Cache_Invalid函数将DDR对应的Cache置为无效,或者使用Cache回写函数将Cache中的数据回写到DDR中,以保持DDR和Cache的一致性。 综上所述,DSP6678上的EDMA是一种用于数据传输的功能模块。通过配置参数和映射通道,可以实现高效的数据传输。在使用EDMA时,需要注意缓存一致性问题,以确保数据的正确性。 #### 引用[.reference_title] - *1* [C6678学习-EDMA](https://blog.csdn.net/g360250466/article/details/130473874)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [DSP篇--C6678功能调试系列之EDMA3调试](https://blog.csdn.net/nanke_yh/article/details/128156123)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [TMS320C6678 EDMA传输配置](https://blog.csdn.net/HSU0911/article/details/117984837)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值