本帖最后由 aozima 于 2012-7-5 22:06 编辑
STM32F4使用FSMC连接RA8875,
测试有发现读取数据时,地址自增有时没成功。
具体表现为连接写入了一些数据如 12345678.
实际读出来的可能为 01122345 或123445这样的。
进行重复读取确认数据写入是成功的,故障发生在读取时。
仔细对比RA8875的时序要求,发现RA8875有一个address hold time
在STM32的FSMC上面是不支持的。
注:这里的address hold time指CS和A0延迟于RD释放。
STM32只支持全部同时释放,因此造成RA8875内部的坐标自增不成功。
本来只需要每次读一个数据即可,但因为有dummy read的存在,
所以,依然没法保证第一个数据就是对的。
下图是RA8875的时序要求,可以看到有一个tAH。
下面是STM32的FSMC时序,所有模式下都是CS与RD全部同时释放。
这是某处理器的时序,可以看到每个时间段都可以独立控制。
|