2019-08-08 13:36发布
yzhanghe 发表于 2017-10-31 17:31 个人意见,有可能是错的。CS#是由读和写都可以触发,PG2应该是FSMC的一条地址线,用这个地址是否置1来区分 ...
yzhanghe 发表于 2017-11-1 17:28 1.刚看了下STM32F103 Datasheet,PG2确实是FSMC_A122.如果是模式2的写,你的CS拉低的时间很短,最多只有256 ...
最多设置5个标签!
我是这样想的:
1.PG2确实只是一个普通io,不是fsmc的地址线。
2.读写状态是由RD/WR#,也就是PG2的高低电平状态决定的,高电平是读,低电平是写。
3.CS#是控制写入的,FSMC_NWE和FSMC_NOE通过了一个逻辑门连接到了CS#,我猜测这个应该是个与门,FSMC应该用的是模式2,下面是模式2的时序图
读操作的时候,先把PG2拉高,然后进行读取,此时FSMC_NWE和FSMC_NOE通过与门后与模块的读操作时序图类似。
写操作的时候,先把PG2拉低,然后进行写入,此时FSMC_NWE和FSMC_NOE通过与门后与模块的写操作时序图类似。但这里我有个疑问就是,模式2写操作那里NWE的高电平只有1HCLK的时间,如果系统时钟是72MHZ的话,那么1HCLK就是13.8ns,可是模块写操作时CS# Tch最小要求15ns,如果降低系统时钟频率,不知道行不行?
以上是我粗略的理解,不知道是否正确,请各位帮忙看看,谢谢大家!
1.刚看了下STM32F103 Datasheet,PG2确实是FSMC_A122.如果是模式2的写,你的CS拉低的时间很短,最多只有256个时钟周期
PG2确实是FSMC_A12,这个是我看错了。
我1楼发的时序图中,写的时候,CS#要求在RD/WR#拉低后Tsw才能拉低。PG2也就是FSMC_A12硬件上连的是RD/WR,如果采用模式B的写,还能否保持这个Tsw?
补充1楼时序图的时间说明
一周热门 更多>