快讯
HOME
快讯
正文内容
fsmc nand STM3嵌入式-FSMC地址映射
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

STM3嵌入式-FSMC地址映射

本章学习目标:

1,了解FSMC模式

1.2 FSMC 简介

引脚数在 100 脚以上的 STM32F103 芯片都带有 FSMC 的接口,而什么是 FSMC 呢?FSMC 即灵活的静态存储控制器,FSMC 的接口支持包括 SRAM、NAND FLASH、NOR FLASH、 PSRAM 等存储器。说白了呢,就是可以当操作 SRAM、NAND FLASH、NOR FLASH 和 PSRAM 等存储器的时候,我们不必自己操作 IO 口模拟这些存储器的操作时序了,使用 FSMC 模块可以直接帮我们读写这些存储器。而 NOR FLASH 主要使用的信号线主要有:

FSMC信号名称

从 FSMC 的角度看,可以把外部存储器划分为固定大小为 256M 字节的四个存储块,每个存储块分4个段,如下图:

FSMC外部存储器

每段的存储空间为64MB,刚好对应地址线[A0,A25] 。四个段我们是通过FSMC_NE[X]来选择,在硬件设计时连接到外部设备的片选引脚。举个例子:假设我们用的是FSMC_NE4连接到外部存储器的片选引脚,那么该存储段在STM32中的地址范围是0x6C000000 到 0x6FFFFFFF 的区域,也就是说当我们对地址0x6C000000 到 0x6FFFFFFF 的区域进行操作的时候, FSMC模块就可以自动帮我们操作外部存储器,相当于把外部存储器挂在了单片机的地址总线上面了。

1.3:0x6C000000 到 0x6FFFFFFF之间的区域又是如何映射的呢

在了解这个问题之前我们先了解一下,TFT-LCD 8080 模式。

8080接口 模式

如图所示,我们把FSMC_NE4连接到8080接口中的CS,把地址线FSMC_A10连接到RS上。我们知道当RS为高电平的时候对显示屏传送数据,反之则传送命令。也就是说当我们要向显示屏传输数据的时候只要地址线 A10 输出为 1,就可以了;而当我们要写入命令的时候,正好相反,地址线 A10 输出为 0。我们例程上面使用结构定义的方式,我们定义一个结构体:

/* TFT 地址结构体 */ typedef struct

{

u16 TFT_CMD;

u16 TFT_DATA;

} TFT_TypeDef;

然后定义一个 TFT 的结构体,映射到(0x6C000000 | 0x000007FE)地址上面:

#define TFT_BASE ((uint32_t)(0x6C000000 | 0x000007FE))

#define TFT ((TFT_TypeDef *) TFT_BASE)

那么 TFT 这个结构体的 TFT_CMD 就映射在(0x6C000000 | 0x000007FE)这个地址上面, 这个时候, 地址线 A10 是为 0 的, 同时, TFT 这个结构体的 TFT_DATA 自动映射到了地址 0x6C000800 上面, 0x6C000800 也就是 (0x6C000000 | 0x000007FE) + 2,为什么加 2 呢?也因为我们定义的 TFT_CMD 是 16 位,在 FSMC 上面的地址对应的存储长度是 8 位,16 位也就 2 地址。

此时可能有同学会问:(0x6C000000 | 0x000007FE)把它转换成二进制后很容易发现刚好对应A10的是1,怎么会是零呢?注意我们定义的是16位模式。我们知道外部设备的内部AHB地址线每个地址对应一个字节单元。也就是如果模式是16位的那么最大可访问的32MB的地址空间对应地址线为A25-A1,也就是自动向右移了一位。

STM32F103芯片FSMC使用的外扩SRAM芯片

为什么可以利用FSMC来使用外部RAM呢,首先了解一下STM32里的FSMC。大容量且引脚数在100脚以上的STM32F103芯片都带有FSMC接口。FSMC是灵活的静态存储控制器,能够与同步或异步存储器和16位PC存储器卡接口,STM32的FSMC接口支持包括SRAM、NAND FLASH、NOR FLASH和PSRAM等存储器。

EMI502NL16VM这个2M字节容量的SRAM芯片。可用于配置FSMC,利用FSMC来操作外部SRAM。在选择存储器类型时就选择SRAM。地址总线和数据总线是分开的,所以配置的时候选择不复用总线。在配置完成后使能控制块就可以了。

EMI502NL16VM系列由EMI先进的全CMOS工艺技术制造。位宽:128Kx16位,电源电压:2.3V〜3.6V这些系列支持工业温度范围和芯片级封装,以使用户灵活地进行系统设计。该系列还支持低数据保持电压最小值1.5V,以低数据保持电流实现电池备份操作,三态输出和TTL兼容。

国产SRAM芯片厂家安徽伟凌创芯微电子有限责任公司是一家以市场为导向的无晶圆半导体公司。专注外扩SRAM芯片,SRAM存储器、显示驱动,接口转换芯片设计、生产及销售。为行业客户提供高品质、低成本,供货持续稳定的自主知识产权的集成电路产品,产品领域涵盖智能感知、网络可视化、信息化、信息安全、大数据分析、智能语音、应用展现、特种通信和智能建筑等。

相关问答

问:很多人说到的 MC FS 代表什么意思?

MC=MovieClip。动画片断。FS=FSCOMMAND,是FLASH的一个非常重要的一个命令集合。MC=MovieClip。动画片断。FS=FSCOMMAND,是FLASH的一个非常重要...

stM32f103c8T6有没有 FsMc ?

没有,stm32只有集成256KB以上大容量Flash,后缀为xC、xD和xE的型号的才有FSMC。没有,stm32只有集成256KB以上大容量Flash,后缀为xC、xD和xE的型号的才有FS...

请问KG表示千克吗?那它与公斤的关系是什么?

================================补充一个:初中物理学过功是W=Fs,单位是N·m,也是焦耳,功和能的单位为什么一样?因为kg·m²/s²=kg·m·m/s²=kg...

fs 100c和 fs 800 mc 的区别?

1.产品定位:FS100C和FS800MC都是摄像机,但FS100C更偏向于专业级用户,而FS800MC更适合家庭和个人用户。2.传感器:FS100C采用Super35mmCMOS传感器,而FS...

OSD全称是什么啊?-ZOL问答

OSD是on-screendisplay的简称,即屏幕菜单式调节方式。一般是按Menu键后屏幕弹出的显示器各项调节项目信息的矩形菜单,可通过该菜单对显示器各项工作指标包括色...

FS 的T1套和战场套 哪个更好 - 182****2191 的回答 - 懂得

FS的战场套当然比MC出产的T1套要好!无论在法伤,爆击还有血量都是战场套好!!13级荣誉的更是没说了!13级荣誉要比T2.5套还要好!!FST1不好战场的好明...

FS 的T1套和战场套 哪个更好 - 157****8860 的回答 - 懂得

战场装备(少校/勇士)套装好一些FS的战场套当然比MC出产的T1套要好!无论在法伤,爆击还有血量都是战场套好!!13级荣誉的更是没说了!13级荣誉要比T2.5...

航模遥控器富斯i6x还是 MC 8b哪款比较好?

fs-i6b出来已经很多年了,mc8b更新一些,虽然i6b能升级10通,但英文版系统还是让人头疼,mc8b的中文更能让人接受,500米或800米的距离对于小飞机来说都足够了...

会51单片机,如何快速学习使用STM32单片机?

...对于自学者来说,尤其是从51单片机转过来的自学者来说,习惯了51单片机操作寄存器配置,学习stm32固件库是比较不习惯和困难的,尤其是对于C语言的指针和结构体理...

cmc最多有多少条轴?

理论上是无限制,因为可以引入多关节机械结构。但轴数越多,联动起来就越复杂,对控制系统和编程的要求就越复杂。而且太多的轴联动也还没有太高的现实意义。轴数...

 360yun  徐中远 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部