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

am3517的GPMC数据总线keep问题

我的板子是am3517,设置gpmc功能,异步16位数据线,设置wrofftime=1f(31个fclk周期),cstime=1f,片选周期和写周期都是31个fclk周期,且波形都很正常,我是单步通信,每隔一秒钟写一个数据,示波器显示数据的保持时间只有片选的一半,根据datasheet上看异步不复用写模式数据应该保持到写周期结束,如图所示,黄线是片选信号,蓝线是数据表示1,但是后来又降低为0了,请ti的工程师帮忙分析一下,最近被这个事情搞的吃不好睡不好的。

xiang li5:

就是这个图

xiang li5:

路过的懂点的,都给点建议啊给出我的寄存器配置,打印出来的。

xiang li5:

datasheet里面有这一节,这个怎么理解啊?

9.1.5.3.10 Bus Keeping SupportAt the end-cycle time of a read access, if no other access is pending, the GPMC drives the bus with thelast data read after RDCYCLETIME completion time to prevent bus floating and reduce powerconsumption.After a write access, if no other access is pending, the GPMC keeps driving the data bus afterWRCYCLETIME completes with the same data to prevent bus floating and power consumption.

xiang li5:

回复 xiang li5:

有没有ti的工程师帮帮忙啊

xiang li5:

没人吗

Jian Zhou:

回复 xiang li5:

请问您是用AM3517接什么外设呢?是NAND Falsh么?

xiang li5:

回复 Jian Zhou:

谢谢你的回复。

我模拟的是norflash,外设其实是继电器低速设备,我调用gpmc.c里面的函数,引脚默认配置都是gpmc功能,我在board-am3517ev.c这个文件里写入

 gpmc_cs_write_reg(5, GPMC_CS_CONFIG1, 0x00001200);//16-bit, Async
    gpmc_cs_write_reg(5, GPMC_CS_CONFIG2, 0x001F1F00);
    gpmc_cs_write_reg(5, GPMC_CS_CONFIG3, 0x00060604);
    gpmc_cs_write_reg(5, GPMC_CS_CONFIG4, 0x1F081F06);
    gpmc_cs_write_reg(5, GPMC_CS_CONFIG5, 0x000C1F1F);
    gpmc_cs_write_reg(5, GPMC_CS_CONFIG6, 0x89060000);
    gpmc_cs_write_reg(5, GPMC_CS_CONFIG7, 0x00000F55); //0x15000000

然后在用户层映射地址,出来的波形还是那个样子,这个我就不知道是哪里的问题了,按道理来说,数据位应该一直保持到片选结束啊。

xiang li5:

回复 Jian Zhou:

在吗

Jian Zhou:

回复 xiang li5:

有没有在U-boot下抛开Linux OS用裸方式测一下读写波形呢?

我觉得还是寄存器某些部分没有配对

xiang li5:

回复 Jian Zhou:

十分感谢,我把原来gpmc的资源全部换成慢速的gpio了,基本可以满足要求,您这个方法我可以试一下

赞(0)
未经允许不得转载:TI中文支持网 » am3517的GPMC数据总线keep问题
分享到: 更多 (0)