什么是FSMC

[复制链接]
 楼主| 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独创的一种操作内部内存的总线
d1ng2x 发表于 2022-5-7 10:48 | 显示全部楼层
其实用FSMC驱动并口液晶屏也还不错,有效果
tax2r6c 发表于 2022-5-7 11:34 | 显示全部楼层
其实FSMC这个总线IO占用太多了
w2nme1ai7 发表于 2022-5-7 12:51 | 显示全部楼层
不是很喜欢用FSMC,不过有些时候也是迫不得已
liu96jp 发表于 2022-5-7 13:29 | 显示全部楼层
这个就跟内部总线似的,给用于外部设备了
su1yirg 发表于 2022-5-7 14:53 | 显示全部楼层
驱动屏还行,或者并口设备
 楼主| redone 发表于 2022-5-7 17:51 | 显示全部楼层
su1yirg 发表于 2022-5-7 14:53
驱动屏还行,或者并口设备

对,用过一次就觉得不错
gouguoccc 发表于 2022-5-7 18:54 来自手机 | 显示全部楼层
外部总线接口
chenjun89 发表于 2022-5-8 13:46 来自手机 | 显示全部楼层
灵活扩展外部总线接口
lix1yr 发表于 2022-5-10 12:41 | 显示全部楼层
OLED没有多少用FSMC驱动吧
g0d5xs 发表于 2022-5-10 13:02 | 显示全部楼层
现在都有专门的驱动器了,也不需要用FSMC了
q1ngt12 发表于 2022-5-10 13:55 | 显示全部楼层
FSMC是不是F103有,而且这个一般都是100个IO以上才用
suw12q 发表于 2022-5-11 09:36 | 显示全部楼层
用过一次FMSC,还不错,效果比单纯并口还快一些
您需要登录后才可以回帖 登录 | 注册

本版积分规则

132

主题

742

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部