TI论坛
直播中

陈芳

7年用户 162经验值
私信 关注

请问EDMA在传几十K数据的时候速率比较慢是这样嘛?

本帖最后由 一只耳朵怪 于 2018-6-22 09:28 编辑

我用的芯片是AM1808,最近采用了EDMA实现了从DDR往EMIF接口传数据。在对EDMA做传输压力测试后发现,EDMA在传92K数据时,速率只能达到2.4MB/s。但传32MB数据时,速率能达到320MB/s。EDMA速率真是这样吗,在传几十K数据的时候速率比较慢?  

回帖(14)

李波

2018-6-21 07:18:24
我有点怀疑上面得到的结果,因为EMIF的速度最高100MHz, 最高也就100/3 *2byte,DDR往EMIF的瓶颈在EMIF,所以不可能达到320Mbyte/S的.
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

陈芳

2018-6-21 07:28:22
引用: lifei639156 发表于 2018-6-21 07:18
我有点怀疑上面得到的结果,因为EMIF的速度最高100MHz, 最高也就100/3 *2byte,DDR往EMIF的瓶颈在EMIF,所以不可能达到320Mbyte/S的.
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.

    Tony,你好。后来我又去测了一下,发现是我测试的问题。32MB数据情况下,传输速率大概9.7MB/s。但传输92K时传输速率还是比较低只有2MB/s的样子(我大概需要4MB/s 的速率)。我做了一份试验报告,里面包括了我测试代码、试验硬件环境以及示波器测试结果。Tony你的邮箱是什么?
   对了,有什么EDMA和EMIF的 例子吗?
 
举报

李波

2018-6-21 07:35:25
引用: wyfwer 发表于 2018-6-21 07:28
    Tony,你好。后来我又去测了一下,发现是我测试的问题。32MB数据情况下,传输速率大概9.7MB/s。但传输92K时传输速率还是比较低只有2MB/s的样子(我大概需要4MB/s 的速率)。我做了一份试验报告,里面包括了我测试代码、试验硬件环境以及示波器测试结果。Tony你的邮箱是什么?
   对了,有什么EDMA和EMIF的 例子吗?
...

92K的块也不少了,怎么也比EDMA的最小可配burst size大多了,所以其实际传输速度是一样的,区别在于额外的开销也是一样的,所以计算下来的平均速度就下来的。这个额外开销指的是软件的干预:配置EDMA参数等。
EMIFA的速度取决于3点:
#1. 时序参数的配置:CEnCFG,里的读写setup, strobe, hold,这几个参数要根据其外接的芯片的电气时序要求计算配置,做为简单测试,都设为0试一下,即每个阶段一个cycle(100MHz EMIFA时钟下,即为10ns,一般也够了),保险的做法,还是对照一下外接设备的手册.
#2. EMIFA接口时钟:PLL0_SYSCLK3,或者PLL0 Multiplier Out。
#3. 既然用到EDMA,则还跟EDMA burst size有点关系:CFGCHIP0/1
再有跟DDR相关的就只一个寄存器:PBBPR,自己看一下说明配置吧。

                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

陈芳

2018-6-21 07:55:19
引用: lifei639156 发表于 2018-6-21 07:35
92K的块也不少了,怎么也比EDMA的最小可配burst size大多了,所以其实际传输速度是一样的,区别在于额外的开销也是一样的,所以计算下来的平均速度就下来的。这个额外开销指的是软件的干预:配置EDMA参数等。
EMIFA的速度取决于3点:
#1. 时序参数的配置:CEnCFG,里的读写setup, strobe, hold,这几个参数要根据其外接的芯 ...

Tony,我去设置了一下EMIF口setup、strobe、hold这几个参数,确实从CS波形上看速率变快了(CS有效时间变短,大概10ns左右),第三个建议无有效作用。但我发现每次EMIF操作之间的时间还是有点长。这里我需要说一下我的EDMA操作是每一次传2个byte的字节给EMIF16位数据总线,然后以链式传输实现92K数据的传输。下面图一是对EMIF的setup等三个参数没有进行修改EMIF的CS的时序情况,图二是对EMIF的setup等三个参数进行修改后EMIF的CS情况。
                             图一:时间轴坐标为每个放个250ns

                                                图2 时间轴横坐标为250ns
从图一上看CS低电平之间的高电平持续时间为500ns左右,从图二看cs低电平之间的高电平持续时间为300ns左右。

问题:
     1、cs低电平之间的高电平主要是EDMA链式传输所需要的时间吗。
     2    怎么把这段高电平的时间再减少。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分