打印

什么是FSMC

[复制链接]
1328|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
redone|  楼主 | 2022-4-12 15:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 redone 于 2022-4-12 15:26 编辑

最早CPU要访问外部RAM需要三条总线:地址总线、数据总线(以16条地址线8位存储器为例)和控制总线
地址总线:A0到A15共计16根地址线
数据总线:D0到D7共计8根数据线
控制总线:至少包括读写控制等控制线
CPU要访问外部RAM,就得靠这些线来进行控制,
首先在这16根地址线上呈现地址值,指示要访问的目标地址,使得外部RAM可以定位到存储单元;
接着,要让控制总线上呈现是读还是要写,好让外部RAM做好准备;
最后,如果是读,则外部RAM就把指定地址存储器的值8位呈现在D0到D7上,由CPU取走。
如果是写,则CPU自己把8位值输出呈现在D0到D7上,由外部RAM接收后改写存储器的值。
这整个过程都是由硬件来实现的,完全没有任何一句用户代码来参与的,是CPU设计之初就定义实现好的,这个过程的时间关系就叫做时序。一定要记住一点,总线是硬件实现的,有严格的规定好的时序。
可以看到,这种对引脚要求是比较多的,16条地址线加8条数据线再加控制线必须有25根线以上,
所以8051为了省线,将8条数据线和地址线的低8位进行了时分复用(称为AD0到AD7),这样就可以省掉8根线,但代价是必须由外部增加锁存器来锁存地址的低8位(现在的外部RAM可以理解为将锁存器做到了芯片中)。
但过程仍是上述描述的内容。即使这样,仍需要引脚近20根,如果存储量大,地址线更多,这些线就是FSMC,


FSMC即灵活的静态存储器控制器,就是用来驱动外部总线,做上面所描述的工作的。
为什么说是灵活的,我想主要是因为它可以通过事先对一些时间等参数进行设置调整,可以适应不同厂家参数有差异的SRAM或者像LCD、OLED等类似外设。
但这些参数设定一次之后,整个控制时序关系就固定了,总线在具体工作的时候就不再需要用户来操心了,这就是硬件实现的优点,速度快且不占用CPU的计算资源。
至于IO,我想就不用解释了,就是CPU的输入输出端口,可以由CPU控制读写的一个个外部引脚,既然可以控制,就有人仿造总线的时序,用多个IO来通过软件控制的方式来模拟外部总线,比如8051没有SPI接口,就可以用至少三个IO口来分别模拟SCLK时钟,MOSI和MISO数据线。
事实上,你也可以用二十几个IO来模拟上面所说的三条总线,但每一次的读写你都得按照时间顺序来控制这二十几个IO端口,你可以把它编好后写成函数,但仍然是占用CPU大量资源的,这就是软件实现的弊端,速度慢且占用CPU的计算资源。
灵活的总线访问接口即FSMC,无须你用IO来模拟,就如同8051的地址数据总线一样以硬件的方式来自动工作。
不仅如此,如果你的系统用不到FSMC接口,还可以把预备FSMC使用的端口让出来,使它可以当成普通IO一样来使用,从而节省宝贵的外部引脚空间


使用特权

评论回复

相关帖子

沙发
yangxiaor520| | 2022-4-12 21:01 | 只看该作者
外部存储器访问总线

使用特权

评论回复
板凳
廖为情| | 2022-4-13 11:18 | 只看该作者
进口国产MCU,需要用的加我微信,L18121451280 廖**

使用特权

评论回复
地板
cen9ce| | 2022-5-6 16:21 | 只看该作者
FSMC好像是ST独创的一种操作内部内存的总线

使用特权

评论回复
5
d1ng2x| | 2022-5-7 10:48 | 只看该作者
其实用FSMC驱动并口液晶屏也还不错,有效果

使用特权

评论回复
6
tax2r6c| | 2022-5-7 11:34 | 只看该作者
其实FSMC这个总线IO占用太多了

使用特权

评论回复
7
w2nme1ai7| | 2022-5-7 12:51 | 只看该作者
不是很喜欢用FSMC,不过有些时候也是迫不得已

使用特权

评论回复
8
liu96jp| | 2022-5-7 13:29 | 只看该作者
这个就跟内部总线似的,给用于外部设备了

使用特权

评论回复
9
su1yirg| | 2022-5-7 14:53 | 只看该作者
驱动屏还行,或者并口设备

使用特权

评论回复
10
redone|  楼主 | 2022-5-7 17:51 | 只看该作者
su1yirg 发表于 2022-5-7 14:53
驱动屏还行,或者并口设备

对,用过一次就觉得不错

使用特权

评论回复
11
gouguoccc| | 2022-5-7 18:54 | 只看该作者
外部总线接口

使用特权

评论回复
12
chenjun89| | 2022-5-8 13:46 | 只看该作者
灵活扩展外部总线接口

使用特权

评论回复
13
lix1yr| | 2022-5-10 12:41 | 只看该作者
OLED没有多少用FSMC驱动吧

使用特权

评论回复
14
g0d5xs| | 2022-5-10 13:02 | 只看该作者
现在都有专门的驱动器了,也不需要用FSMC了

使用特权

评论回复
15
q1ngt12| | 2022-5-10 13:55 | 只看该作者
FSMC是不是F103有,而且这个一般都是100个IO以上才用

使用特权

评论回复
16
suw12q| | 2022-5-11 09:36 | 只看该作者
用过一次FMSC,还不错,效果比单纯并口还快一些

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

132

主题

742

帖子

5

粉丝