你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32库开发实战指南感悟

[复制链接]
一代睡神的崛起 发布时间:2018-12-5 19:25
本次讲的是FSMC-扩展外部SRAM。FSMC,即灵活的静态存储控制器,能够与同步或异步存储器和 16 位 PC 存储器卡连接,STM32 的 FSMC 接口支持包括 SRAM、NAND FLASH、NOR FLASH 和 PSRAM 等存储器。框图入图片所示!


SRAM信号线:信号线包括①地址输入②数据输入输出信号,低字节③数据输入输出信号,高字节④片选信号⑤输出使能信号,低电平有限⑥写入使能,低电平有效⑦数据掩码信号Upper Byte,高位字节允许访问,低电平有效⑧数据掩码信号Hight Byte,低位字节允许访问,低电平有效。


STM32 的 FSMC 支持 8/16/32 位数据宽度,我们这里用到的 LCD 是 16 位宽度的,所以在设置的时候,选择 16 位宽就 OK 了。我们再来看看 FSMC 的外部设备地址映像,STM32 的 FSMC将外部存储器划分为固定大小为 256M 字节的四个存储块。SRAM的控制比较简单,只要控制信号线使能了访问,从地址线输入要访问的地址,即可从I/O数据写入或读出数据。



FSMC控制SRAM的时序:当内核发出访问某个指向外部存储器地址时,FSMC外设会根据配置控制信号线产生时序访问存储器。至于图片建议大家百度吧!


SRAM时序结构体:控制FSMC使用SRAM存储器时主要是配置时序寄存器以及控制寄存器,利用ST标准库的SRAM时序结构体以及初始化结构体。结构体如下:typedef struct
{
uint32_t FSMC_Bank;
uint32_t FSMC_DataAddressMux;
uint32_t FSMC_MemoryType;
uint32_t FSMC_MemoryDataWidth;
uint32_t FSMC_BurstAccessMode;
uint32_t FSMC_AsynchronousWait;
uint32_t FSMC_WaitSignalPolarity;
uint32_t FSMC_WrapMode;
uint32_t FSMC_WaitSignalActive;
uint32_t FSMC_WriteOperation;
uint32_t FSMC_WaitSignal;
uint32_t FSMC_ExtendedMode;
uint32_t FSMC_WriteBurst;
FSMC_NORSRAMTimingInitTypeDef* FSMC_ReadWriteTimingStruct;
FSMC_NORSRAMTimingInitTypeDef* FSMC_WriteTimingStruct;
}FSMC_NORSRAMInitTypeDef;


未完待续,实在太多,一次也写不完,留着下次给大家更新吧!



FSMC框图

FSMC框图

FSMC储存地址映射

FSMC储存地址映射

评分

参与人数 1 ST金币 +20 收起 理由
STMCU + 20

查看全部评分

收藏 评论5 发布时间:2018-12-5 19:25

举报

5个回答
五哥1 回答时间:2018-12-5 22:00:09
好牛的感悟

点评

以前没用过,最近在看TFT感觉这个东西很强大,恕我孤陋寡闻了  发表于 2018-12-6 09:20
LN 回答时间:2018-12-6 09:34:49
并口的液晶使用的?

点评

是的  发表于 2018-12-6 11:36
STMCU-管管 回答时间:2018-12-6 14:34:48

TIM图片20181226105949_01.jpg

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版