Only U is in my heart!
I will be right here waiting for you.

TMS320F28335外设DMA的时序及吞吐量

首先介绍一下DMA的流水线,DMA的流水线是一个四阶流水线。如下图所示:

wps_clip_image-32609

在这之中有一个例外。就是当任何一个McBSPs通道作为DMA的数据源的时候,由于在读取数据的期间,读取McBSP DRR寄存器会额外占用一个时钟周期,该周期内DMA总线依然被占用。具体时序图如下图所示:

wps_clip_image-2030

除了流水线之外,还有一些DMA的操作会影响到DMA总的数据吞吐量。具体的包括一下几点:

1.每个数据块(BURST)之前会加入一个时钟周期的延时;

2.从CH1高优先级中断返回时需要加入一个时钟周期的延时;

3.32位传输模式的吞吐量是16位传输模式的两倍,(也就是说,传输一个32位的字跟传输一个16位的字所消耗的总时间是相同的。)

4.与CPU同时操作数据源会造成额外的延时,这个具体在CPU与DMA的仲裁里面会仔细的说一下。

举个例子,现在要将128个16位的字从ADC搬移到RAM里面。DMA配置为16位传输模式,那么可以转移8个数据块,每个数据块包含16个字(16位),即可完成数据搬移。所需时钟如下:

8 数据块 * [(4 时钟周期/字 * 16 字/数据块) + 1] = 520 时钟周期

假如DMA配置为32传输模式,同样转移8个数据块,每个数据块包括8个字(32位),即可完成数据搬移。此时所消耗的时钟周期如下:

8 数据块 * [(4 时钟周期/字 * 8 字/数据块) + 1] = 264 时钟周期

赞(0) 打赏
未经允许不得转载:Onlyisu » TMS320F28335外设DMA的时序及吞吐量

相关推荐

  • 暂无文章

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

大前端WP主题 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏