STM32 - 存储/LCD/FSMC

存储器和寄存器:

  1. 存储器:

    1. 存储器是计算机中用于存储数据和指令的硬件设备。
    2. RAM:简单理解像运行内存,临时运行程序
    3. ROM:简单理解像内存,长期存储固件/系统
  2. 寄存器:

    1. 寄存器是CPU内部的高速存储单元,用于临时存放指令、数据和地址。
    2. 寄存器是单片机内部一种特殊的存储器,可以实现对单片机各个功能的控制。
    3. 给已经分配好地址的有特定功能的存储器单元取别名的过程就叫寄存器映射

SD 卡与 FATFS文件系统 :

  1. 存储设备SD卡:

    1. 支持两种协议, SDIO 和 SPI,在上电复位后确定是哪一种协议
    2. 初始化流程:发送CMD0复位→CMD8检查电压→ACMD41初始化
  2. FATFS文件系统:

    1. 核心函数:f_mount(挂载)、f_open(打开)、f_write(写入)
    2. 重要对象:FATFS(文件系统)、FIL(文件)、DIR(目录)
  3. 两者关系:

    SD

  4. SD卡使用流程:

    1. 开始 → 硬件初始化 → 发送CMD0复位 → 电压检测(CMD8) → 初始化(ACMD41) → 设置块长度(CMD16) → 就绪
  5. FATFS文件写入流程:

    1. f_mount(挂载) → f_open(打开/创建) → f_write(写入) → f_sync(强制写入) → f_close(文件关闭) → f_mount(NULL)(卸载)
    2. 必须先挂载和底层取得联系,然后才能写入数据

LCD显示:

  1. 一般引脚介绍:
    1. RST是LCD复位引脚,低电平复位。
    2. RD是读控制引脚,上升沿时读数据。
    3. WR是写控制引脚,上升沿时写数据。
    4. RS是数据或命令选择引脚RS=1写数据,RS=0写命令。
    5. CS是片选引脚,低电平有效。
    6. LEDA是背光电源(3.0V-3.4V)引脚。
    7. LEDK是背光亮度控制引脚。

FSMC :

  1. FSMCFlexible static memory controller灵活的静态内存控制器),其核心作用是:扩展微控制器的内存和接口能力,尤其适用于需要高速、大容量数据交互的场景。要注意的是,FSMC 只能扩展静态的内存(S:static),不能是动态的内存。

  2. FSMC主要由4部分组成:AHB总线接口(包括FSMC的配置寄存器)、NOR闪存/SRAM控制器、NAND闪存/PC卡控制器、外设接口四个部分构成。

  3. AHB总线接口:CPU、DMA等AHB总线主设备访问FSMC的通道,它负责把AHB总线事务转换成为外设通信的协议。AHB总线事务的请求可以是8、16或者32位的,但外设器件的数据线位宽是恒定的。

  4. NOR/PSRAM内存控制器:**支持各种同步和异步的内存。**NOR/PSRAM控制器用于生成适当的时序,以驱动8位、16位、32位的异步SRAM和ROM、异步或者突发模式的PSRAM和NOR闪存。

  5. NAND/PC卡控制器:用于驱动8位或者16位的NAND闪存以及16位的PC卡兼容设备。

  6. **外设接口:**用于与要扩展外设联通用的。在接线时必须根据每个外设的特点,来进行合适的接线。

参考链接: