TI中文支持网
TI专业的中文技术问题搜集分享网站

C6678的EDMA3从EMIF16往内存传输数据是否有对应事件触发?

各位专家好!  

    利用EDMA3在EMIF和DDR3之间进行数据传输的时候,能否采用事件触发?如果可以的话是否意味着在EDMA所有的通道事件中有和EMIF相关的某个事件,然后只需要对该事件对应的通道进行配置并等待事件产生以后触发通道传输即可?如果有的话那么是什么事件可以触发EDMA对EMIF的数据进行传输呢?谢谢!

Yu Liu:

回复 Yu Liu:

Andy,

C6678可以参考数据手册的“4.2 Data Switch Fabric Connections”

andy lee1:

回复 Yu Liu:

Yu Liu

  您好!EDMA的事件和通道是对应绑定的,如果EMIF有对应的事件的话,刚好可以让EMIF产生该事件然后触发对应的通道进行传输,我们也可以根据这个确定的事件事先设定好通道,但是如果从EMIF往外传输数据的时候没有对应的事件的话,那么在采用手动触发的时候如何知道设置哪个通道并触发该通道进行传输呢?

Yu Liu:

回复 andy lee1:

andy lee,

在下面文档中的“Figure 2-2 EDMA3 Channel Controller (EDMA3CC) Block Diagram”,我们可以看到ESR/ESRH可以用来进行手动触发。

www.ti.com/…/getliterature.tsp

andy lee1:

回复 Yu Liu:

Yu Liu

    利用CPU将ESR中的某一位置位是可以手动触发,但ESR中的每一位都是对应一个具体的事件和通道的,问题是我在从EMIF往外传输数据的时候如何知道应该设置ESR中的哪一位呢?谢谢!另外,C6678数据手册的“4.2 Data Switch Fabric Connections”只有几张图标,似乎并没有提到EMIF和DDR之间如何进行数据传输,谢谢!

Yu Liu:

回复 andy lee1:

andy lee,

你需要参考的是6678手册的Table 4-1 Switch Fabric Connection Matrix Section 1。大部分的TC都可以访问EMIF16和通过MSMC_SES访问DDR3.

你可以选择系统中事件触发没有使用的通道,然后配置DCHMAPn选择参数表项,配置DMAQNUMn选择Q也就是TC号。在参数表的源地址和目的地址设置为EMIF和DDR的地址就可以进行EMIF和DDR之间的手动触发传输了。

andy lee1:

回复 Yu Liu:

Yu Liu

   您好!是否简单的将源地址和目的地址分别设置为EMIF地址和DDR地址,然后手动触发就可以进行传输了呢?是否需要对EMIF和DDR进行配置?另外,如果采取ping—pong缓冲的话,由于ping有源地址和目的地址,pong也有源地址和目的地址,那么是否是在源地址即EMIF地址里面分配Ping和Pong的源地址,同时在目的地址即DDR地址里分配Ping和Pong的目的地址?谢谢!

Yu Liu:

回复 andy lee1:

andy lee,

您好!

从EDMA的配置角度是这样,当然你需要提前通过代码或脚本对EMIF和DDR进行配置保证可以访问。有问题请另外起帖子讨论配置问题。

如果你是从EMIF传到DDR的话,你对源和目的地址的理解是正确的。

赞(0)
未经允许不得转载:TI中文支持网 » C6678的EDMA3从EMIF16往内存传输数据是否有对应事件触发?
分享到: 更多 (0)