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

OMAPL138 EMIF 与FPGA通信的问题

参考OMAPL138k开发板,自己做的板子。通过EMIF实现OMAPL138与FPGA(EP4CE6F17C8)通信,OMAPL138 与FPGA的连接方式见EMIF.png。EMIF配置为异步正常模式,16bit 数据,EMIF时钟为150M 。

EMIF.png

现象:

1) EMIF读操作,每读一次CS信号有限期间OE信号出现16个下降沿。

CEnCFG 配置结果为:

EMIFA_CE2CFG 0x08224111 

EMIFA_CE3CFG 0x08224111

2) 片选信号正常,看手册上有附件cache.png表述

个人理解EMIF 对应的cache大小为256bit ,当有一个读请求时(16bit),一次填充了16个读请求。

cache.png

3) 当同一个地址读多次(8次)的时候CS和OE信号只出现了一次

4) 在每次读之后添加sync();函数后,CS和OE都正常,不过CS信号有效期间 OE信号还是出现16个下降沿

问题:

1) 请问这是什么原因导致的,有什么方法可以解决

2) 是否是因为cache导致,EMIF是否有对应的cache, 如果有是否可以关闭EMIF对应的cache 

Denny%20Yang99373:

建议先把EMIFA地址CACHE对应的MAR寄存器关掉测试一下。

http://www.ti.com/lit/ug/sprufk5a/sprufk5a.pdf

xp Wen:

回复 Denny%20Yang99373:

@Denny Yang 开发板上跑的Linux 系统,该怎么操作? 是在U-boot 中关闭  还是在Kernel 中关闭

xp Wen:

回复 Denny%20Yang99373:

我尝试的操作,是在内核中板子初始化时对MAR 赋值,具体操作如下:

操作的结果是 读出来是0 ,写完之后再读还是0。不知这样操作是否可以,如果不可以,应该怎么操作,多谢!

Denny%20Yang99373:

回复 xp Wen:

你可以通过DSP来访问EMIF,关闭DSP的CACHE,如果还有这个问题,基本可以排除CACHE的影响

xp Wen:

回复 Denny%20Yang99373:

在DSP上关闭,DSP上是否运行实时系统。我之前测试时DSP上没有运行实时系统,直接访问EMIF Cache对应MAR的物理地址,赋值为零。没有起到作用,多次读操作只有一个片选信号和OE信号。如果不是CACHE的问题,那问题可能会是什么原因引起的?测试代码如下:

int main(void){ int i = 0; int count = 0x11; unsigned int *addr; unsigned int *ui_p_mar;

addr = (unsigned int *)0x8001ff70; ui_p_mar = (unsigned int *)0x01848188; *ui_p_mar = 0;

for(i = 0 ; i < 30 ;i++) { if(i == 0 ) *(addr + i) = *ui_p_mar; else *(addr + i) = (count + i); }

return 0;}

读取的结果如下:

0x00000000 0x00000012 0x00000013 0x00000014 0x00000015 0x00000016 0x00000017 0x00000018 0x00000019 0x0000001a 0x0000001b 0x0000001c 0x0000001d 0x0000001e 0x0000001f 0x00000020 0x00000021 0x00000022 0x00000023 0x00000024 0x00000025 0x00000026 0x00000027 0x00000028 0x00000029 0x0000002a 0x0000002b 0x0000002c 0x0000002d 0x0000002e

 

xp Wen:

回复 xp Wen:

我们是在ARM上通过EMIF访问FPGA的 

xp Wen:

回复 Denny%20Yang99373:

@Denny Yang 多谢回复,根据你的提示

关闭DSP的cache之后  用DSP访问EMIF,每次读操作过程中,一个片选信号有效期间OE信号只出现一次。如果把CACHE打开一个片选信号有效期间OE信号出现16次。

EMIF的配置与之前通过ARM访问EMIF时一样。是否可以断定是CHACHE的问题。ARM上是否也有关闭EMIF对应CACHE的寄存器?

赞(0)
未经允许不得转载:TI中文支持网 » OMAPL138 EMIF 与FPGA通信的问题
分享到: 更多 (0)