AM3354通过片选cs3与FPGA通信,12位地址线gpmc_a0 ~ gpmc_a11,8位数据线gpmc_ad0 ~ gpmc_ad7,使用8位非复用模式。测试中发现发读写命令时,实际使用的地址为a1 ~ a11,即比如读地址7时,a1 ~ a3为高电平,而a0却是在高电平下一个低脉冲。且无读写时a0一直保持高电平,在读写时一个脉冲。在16位非复用用模式下a0无变化。求ti专家解答。
7个配置寄存器值如下
cfg1: 0x28600000
cfg2: 0x00011001
cfg3: 0x00020201
cfg4: 0x08031003
cfg5: 0x000f1111
cfg6: 0x0f030080
cfg7: 0x00000c4c
tianxiao long:
都一天了,没人看吗,专家们呢
leo chen:
16位的时候 A0没变换不是正常的吗不会用到A0啊
tianxiao long:
回复 leo chen:
16位时a0是没变化,但我用8位时a0也没正确响应,而是a1对应到a0了
Jian Zhou:
回复 tianxiao long:
我觉得还是寄存器配置有些问题,再仔细对照spec检查下寄存器配置
tianxiao long:
回复 Jian Zhou:
后来发现是变量定义导致的,由于把数据定义为16位整型,所以地址加1时,实际反应到gpmc上的地址是加2的,所以gpmc_a0永远都是0.