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

6678 EMIF16 16位访问 地址与数据对应的问题

您好,

新做的板子,6678 DSP EMIF16与FPGA相连,16位数据访问时,往CE0连续地址写入线性数,FPGA端抓到EMIF地址与数据情况如下图:

按照EMIF16手册 16位连接图:

地址变化是对的,但为何是两个数据对应一个地址,请问EMIF16 哪个地方配置让数据和地址一一对应

谢谢!

jack liu_first:

麻烦TI的工程师们给看下哪里出问题了?在寄存器配置上我只看到 Async Config Register 的ASIZE位选择16位或者8位宽。配置8位宽的时候数据和地址是一一对应的,16位的时候就会出现两个数据对应一个地址。按EMIF16手册 16位接法DSP按连续地址访问FPGA挂接的NOR FLASH是不正确的。如果EMIFA0不接,其他地址线依次往后挪一位,DSP按偶地址访问是可行的。但问题是我们需要作EMIF NOR BOOT,按TI手册接法是否能够正常读取NOR FLASH中的启动代码?

谢谢

Brighton Feng:

回复 jack liu_first:

没完全明白你的问题,不过EMIF地址线有一点很容易混淆,在16位宽的情况下,管脚和逻辑字节地址的对应关系如下:

EMIFA23->A1

EMIFA0->A2

EMIFA1->A3

EMIFA2->A4

……

注意16位宽时,逻辑字节地址A0不存在。

lingshan lan:

回复 Brighton Feng:

《KeyStone Architecture Literature Number: SPRUGZ3A May 2011 External Memory Interface (EMIF16)》这篇手册里面说的是对应这A0 ,为什么说逻辑字节地址A0不存在,EMIFA23->A0不是EMIFA23->A1啊???我算了一下,按照16bit接法访问的大小为2^24*16=268435456 bit=256 Mbit=32 MByte;手册上不是说一个CE可以访问64MByte吗?是哪理解错了呢?

user4484884:

你好!我也在调试C66x的EMIF16和FPGA,遇到一个最基本的问题:

我将ce1地址段配置成Norflash后,这样来访问EMIF16

volatile Uint32 emif16_ce1_addr=0x74000000u; *(Uint16 *)(emif16_ce1_addr)=j;

但是上面的程序检测不到任何CE,WE,OE的电频跳变,但是在用STK_EMIF是可以检测到这个信号的变化,而且可以通过STK_EMIF历程的检测?请问这样访问EMIF16是正确的吗?如果不对那该如何访问EMIF16,先谢谢你的解答!

jack liu_first:

回复 user4484884:

这样访问没错,你不是测和f p ga互联吗,f p ga做一个双口Ram,d s p通过emif读写双口ram试试?

user4484884:

回复 jack liu_first:

谢谢你的回答!现在我将EMIF16配置成Norflash如图

访问如图:

但是在FPGA端的采样数据和地址都不是连续的 数据为0这是为啥啊?求解,先谢谢你的解答!

赞(0)
未经允许不得转载:TI中文支持网 » 6678 EMIF16 16位访问 地址与数据对应的问题
分享到: 更多 (0)