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

关于AM3358与FPGA之间GPMC的burst读取问题

之前的帖子,我咨询过大家GPMC的single读取问题,现在已经能够成功的进行单次读取。接下来为了提高速度,我准备先尝试burst读取,根据手册的时序图和手册说明,将pageburstaccesstime设置为1,readmultiple设置为1。

具体寄存器配置值config1=0x68001000。

cs_on_time=0

cs_rd_offtime=14

adv_on_time=0

adv_off_time=2

oe_on_time=3

oe_off_time=14

pageburstaccesstime=1

rdcycletime=14

rdaccesstime=10

目前想要实现的是突然读取4words(一个words为16bit)。我观察到FPGA侧的时序图是正常的,即判断到读取指令后,连续发出0x0102,0x0304,0x0506,0x0708。

但是ARM这边我通过:*((volatile unsigned short int *)(0x80600000))=*((volatile unsigned short int *)0x02000004)语句进行读操作后,去查看0x80600000空间,发现只接收到了0x0102这个数。后来尝试过把radccesstime改为13,发现接收到的数只有0x0708。

按照我的理解,我只要设置好rdaccesstime和rdcycletime之间的间隔,这个间隔的长度就是我所能burst读取的数据的个数。但是现在仅仅只能读到一个数,这让我觉得很奇怪。burst读取得方式我也已经使能了,pageburstaccesstime也给了1。

希望大家能帮忙指点一下!

Jian Zhou:

有没有看过读有效这部分的时序?

赞(0)
未经允许不得转载:TI中文支持网 » 关于AM3358与FPGA之间GPMC的burst读取问题
分享到: 更多 (0)