OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4059|回复: 11

这个时序图应该采用FSMC的那个模式?

[复制链接]

19

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2016-8-21
在线时间
47 小时
发表于 2017-10-30 12:28:56 | 显示全部楼层 |阅读模式
1金钱
搜狗截图20171030121532.jpg
我现在有一块板子,它用的是fsmc,我想知道它具体采用的是哪种模式?上面是连接模块的时序图,根据我观察可知,FSMC_NWE和FSMC_NOE通过了一个逻辑门连接到了CS#,但具体是哪种逻辑门从芯片标识上看不出来。RD/WR#连接到了PG2,是一个普通io口。这个板子肯定是可以正常工作的,但是我研究了半天也没想出来它用的是哪种逻辑门?采用FSMC的哪种模式?
希望大家帮我看看,非常感谢!!

最佳答案

查看完整内容[请看2#楼]

FSMC 地址在NWE以前已经准备好了,因此RD/WR应该比CS#快,不管哪种模式,只要出现你模式2/B读那种时序,应该差不多了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2014-11-21
在线时间
48 小时
发表于 2017-10-30 12:28:57 | 显示全部楼层
本帖最后由 yzhanghe 于 2017-11-3 14:19 编辑
z0011k 发表于 2017-11-2 22:48
补充1楼时序图的时间说明

FSMC 地址在NWE以前已经准备好了,因此RD/WR应该比CS#快,不管哪种模式,只要出现你模式2/B读那种时序,应该差不多了
回复

使用道具 举报

19

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2016-8-21
在线时间
47 小时
 楼主| 发表于 2017-10-30 15:12:41 | 显示全部楼层
顶!            
回复

使用道具 举报

19

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2016-8-21
在线时间
47 小时
 楼主| 发表于 2017-10-31 00:14:13 | 显示全部楼层
求助              
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-10-31 01:13:17 | 显示全部楼层
你这个看起来像是用CS控制写入过程啊,有点怪
回复

使用道具 举报

19

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2016-8-21
在线时间
47 小时
 楼主| 发表于 2017-10-31 16:56:01 | 显示全部楼层
正点原子 发表于 2017-10-31 01:13
你这个看起来像是用CS控制写入过程啊,有点怪

是的,但是有块板子确实用的是fsmc,FSMC_NWE和FSMC_NOE通过了一个逻辑门连接到了CS#,我就想知道它用的是哪种逻辑门?
回复

使用道具 举报

15

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2014-11-21
在线时间
48 小时
发表于 2017-10-31 17:31:15 | 显示全部楼层
本帖最后由 yzhanghe 于 2017-10-31 17:35 编辑

个人意见,有可能是错的。CS#是由读和写都可以触发,PG2应该是FSMC的一条地址线,用这个地址是否置1来区分读和写,时序上看,针对于STM32芯片读和写的模式是不同,读是模式1或者模式C,写是模式B,STM32可以配置成读写2种模式工作
回复

使用道具 举报

19

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2016-8-21
在线时间
47 小时
 楼主| 发表于 2017-10-31 18:37:39 | 显示全部楼层
yzhanghe 发表于 2017-10-31 17:31
个人意见,有可能是错的。CS#是由读和写都可以触发,PG2应该是FSMC的一条地址线,用这个地址是否置1来区分 ...

我是这样想的:
1.PG2确实只是一个普通io,不是fsmc的地址线。
2.读写状态是由RD/WR#,也就是PG2的高低电平状态决定的,高电平是读,低电平是写。
3.CS#是控制写入的,FSMC_NWE和FSMC_NOE通过了一个逻辑门连接到了CS#,我猜测这个应该是个与门,FSMC应该用的是模式2,下面是模式2的时序图 搜狗截图20171031180913.jpg
读操作的时候,先把PG2拉高,然后进行读取,此时FSMC_NWE和FSMC_NOE通过与门后与模块的读操作时序图类似。
写操作的时候,先把PG2拉低,然后进行写入,此时FSMC_NWE和FSMC_NOE通过与门后与模块的写操作时序图类似。但这里我有个疑问就是,模式2写操作那里NWE的高电平只有1HCLK的时间,如果系统时钟是72MHZ的话,那么1HCLK就是13.8ns,可是模块写操作时CS# Tch最小要求15ns,如果降低系统时钟频率,不知道行不行?


以上是我粗略的理解,不知道是否正确,请各位帮忙看看,谢谢大家!
回复

使用道具 举报

15

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2014-11-21
在线时间
48 小时
发表于 2017-11-1 17:28:34 | 显示全部楼层
本帖最后由 yzhanghe 于 2017-11-1 17:36 编辑

1.刚看了下STM32F103 Datasheet,PG2确实是FSMC_A122.如果是模式2的写,你的CS拉低的时间很短,最多只有256个时钟周期

9]LZ1M[~6N9ZITN(4RN%CX6.png
回复

使用道具 举报

19

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2016-8-21
在线时间
47 小时
 楼主| 发表于 2017-11-2 22:47:36 | 显示全部楼层
yzhanghe 发表于 2017-11-1 17:28
1.刚看了下STM32F103 Datasheet,PG2确实是FSMC_A122.如果是模式2的写,你的CS拉低的时间很短,最多只有256 ...

PG2确实是FSMC_A12,这个是我看错了。
我1楼发的时序图中,写的时候,CS#要求在RD/WR#拉低后Tsw才能拉低。PG2也就是FSMC_A12硬件上连的是RD/WR,如果采用模式B的写,还能否保持这个Tsw?
回复

使用道具 举报

19

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2016-8-21
在线时间
47 小时
 楼主| 发表于 2017-11-2 22:48:42 | 显示全部楼层
QQ截图20171102223820.jpg
补充1楼时序图的时间说明
回复

使用道具 举报

15

主题

46

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2014-11-21
在线时间
48 小时
发表于 2017-11-3 14:19:53 | 显示全部楼层
你可以看下这个链接,有点区别的是他用了数据地址复用
http://blog.csdn.net/wisepragma/article/details/51622606
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-24 11:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表