嵌入式开发者社区

标题: C6748的EMIFA配置问题 [打印本页]

作者: alexjml    时间: 2017-1-3 15:13
标题: C6748的EMIFA配置问题
请教个问题,我配置EMIFA的CS0使用的SDRAM接口,参数是数据位宽16、突发长度为8。在DSP代码中直接用CPU读取CS0地址的short类型值,Byte地址每次累加2(short指针加1),连续读8个。EMIFA另一端为模拟SDRAM接口的FPGA,FPGA数据总线输出是从1开始累加的数,一个突发读到的应该是从1到8的8个数据,但是DSP得到的结果是[1,2,1,2,1,2,1,2]。从FPGA抓到的waveform看抓到的数据是这样的:当每次突发读取开始后在读取第一个数据的时候就发出了突发中止命令,连续读了多个burst。附件附了抓取的前三个突发,其他突发现象一致;由于不是用的同步时钟抓取的,所以CLK看起来不是很均匀。当DSP用memcpy函数读取SDRAM时,能得到[1,2,3,4,1,2,3,4],突发在第三个数据时发出中止命令。现象大概就是这样的,请问出现这种情况的原因是什么,或者怎么正确使用配置EMIFA的SDRAM接口?demo里面有SDRAM相关例程吗,没有找到,只找到异步数据接口的。

下面是chipscope抓的图
[attach]1789[/attach]

[attach]1790[/attach]

作者: Cheng    时间: 2017-1-4 16:09
您好,请您仔细查看EMIF的用户手册,CS0 是同步接口需要连接 SDRAM。CS2~CS5 是异步接口可以连接 FPGA。FPGA可以实现SDRAM控制器,但是一般没把FPGA模拟成一片SDRAM使用的。
作者: alexjml    时间: 2017-1-5 11:00
Cheng 发表于 2017-1-4 16:09
您好,请您仔细查看EMIF的用户手册,CS0 是同步接口需要连接 SDRAM。CS2~CS5 是异步接口可以连接 FPGA。FPG ...

谢谢提醒,异步接口可以实现连接FPGA,但是速率不够,所以才做此更改。现在已经把FPGA模拟成一片同步数据接口的SDRAM了,用CS0片选的,但是看DSP的SDRAM控制器表现并不正常,是不能这样实现同步数据接口吗?问题在哪里呢?
作者: human    时间: 2017-1-5 17:43
EMIF速率40M
作者: alexjml    时间: 2017-1-6 10:28
human 发表于 2017-1-5 17:43
EMIF速率40M

你好,我还是没搞明白,EMIFA时钟速率是可调的吧,还是说要固定为40M?手册里有介绍吗?




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4