|
使用大容量 STM32F10xxx 的 FSMC驱动外部的存储器 前言 ' f. L. J( n' T/ G# {7 U 这个应用笔记说明了如何使用大容量的STM32F10xxx的FSMC(灵活的静态存储器控制器)驱动一组外部的存储器。文中首先简要地介绍了STM32F10xxx的FSMC控制器,然后给出了包含典型的FSMC配置的存储器接口实例,以及时序计算和硬件连接方法。 * K% @* A1 {, q7 M, p1 F q 本应用笔记的实例是基于STM3210E-EVAL评估版上的存储器,这是大容量STM32F10xxx的评估版。使用的存储器是一个16位的异步NOR闪存存储器,一个8位的NAND闪存存储器和一个16位的异步SRAM存储器。 文中实例用到的固件库函数和不同存储器的驱动程序,可以在STMicroelectronics的网站上下载:www.st.com/mcu。 % f; |# @$ y/ o+ E! n% p/ k 1 STM32F10xxx灵活的静态存储器控制器简介 : b x1 u& @5 }0 c9 e' | $ Y: ]; r/ Y+ y$ F" \, S* }# _% W0 h 灵活的静态存储器控制器(FSMC)是内置于大容量STM32F10xxx的外部存储器控制器。使用这个控制器,STM3210xxx微控制器可以与许多存储器连接,包括SRAM、NOR闪存和NAND闪存等。 FSMC包含2类控制器: ● 一个NOR闪存/SRAM控制器,可以与NOR闪存、SRAM和PSRAM存储器接口。% U' d* V3 X$ j% t" O' ~3 M ● 一个NAND闪存/PC卡控制器,可以与NAND闪存、PC卡、CF卡和CF+存储器接口。控制器产生所有驱动这些存储器的信号时序: ● 16个数据线,用于连接8位或16位存储器6 W" B1 e2 |" d) y ● 26个地址线,最多可连接64M字节的存储器(译注:这里不包括片选线) ● 5个独立的片选信号线 ● 一组适合不同类型存储器的控制信号线: ─ 控制读/写操作8 Q; I/ @. [& ^( I/ S6 e" A ─ 与存储器通信,提供就绪/繁忙信号和中断信号 ─ 与所用配置的 PC 卡接口: PC 存储卡、PC I/O 卡和真正的 IDE 接口 3 u' R& h3 t$ e7 \/ j 下面是FSMC的框图。 & y! Z' p) V" ]& K8 z8 i; N 6 O1 t3 X- d& k( Y: r1 _" s 图1 FSMC框图$ N* D8 t. G% }
从FSMC的角度看,外部存储器分为4个固定大小为256M字节的存储块,如图2所示。 0 ]# ?# G2 ~9 X3 Z, w ● NOR闪存/SRAM控制器使用存储块1访问4个存储器设备,这个存储块被划分为4个区域,具有4个专用的片选信号。 ( C3 k- p% n( |; o8 c ● NAND闪存/PC卡控制器使用存储块2和3访问NAND闪存设备。 ● NAND闪存/PC卡控制器使用存储块4访问PC卡设备。 对于每个存储块,使用的存储器类型是用户通过配置寄存器定义的。 6 `/ W/ p; h$ q1 L* R6 v; W( a |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版