当前位置:首页 > 单片机 > 单片机
[导读]STM32 FSMC 支持两个NAND闪存块,支持硬件ECC并可检测多达8K字节数据其地址映射如下图所示图161 FSMC存储块?NAND和PC卡地址映射表88 存储器映像和时序寄存器 ?对于NAND闪存存储器,通用和属性空间又可以在低256K字节

STM32 FSMC 支持两个NAND闪存块,支持硬件ECC并可检测多达8K字节数据

其地址映射如下图所示

图161 FSMC存储块?

NAND和PC卡地址映射

表88 存储器映像和时序寄存器 ?

对于NAND闪存存储器,通用和属性空间又可以在低256K字节部分划分为3个区(见表89)

● 数据区(通用/属性空间的前64K字节区域)

● 命令区(通用/属性空间的第2个64K字节区域)

● 地址区(通用/属性空间的第2个128K字节区域)

表89 NAND存储块选择

应用软件使用这3个区访问NAND闪存存储器:

●发送命令到NAND闪存存储器:软件只需对命令区的任意一个地址写入命令即可。

●指定操作NAND闪存存储器的地址:软件只需对地址区的任意一个地址写入命令即可。因为一个NAND地址可以有4或5个字节(依实际的存储器容量而定),需要连续地执行对地址区的写才能输出完整的操作地址。

●读写数据:软件只需对数据区的任意一个地址写入或读出数据即可。 因为NAND闪存存储器自动地累加其内部的操作地址,读写数据时没有必要变换数据区的地址,即不必对连续的地址区操作。

NAND闪存和PC卡控制器

外部闪存接口信号

NAND闪存/PC卡支持的存储器及其操作

表119 支持的存储器及其操作?

NAND闪存、ATA和PC卡时序图

● 控制寄存器:FSMC_PCRx

● 中断状态寄存器:FSMC_SRx

● ECC寄存器:FSMC_ECCRx

● 通用存储器空间的时序寄存器:FSMC_PMEMx

● 属性存储器空间的时序寄存器:FSMC_PATTx

● I/O空间的时序寄存器:FSMC_PIOx

每一个时序控制寄存器都包含3个参数,用于定义PC卡/CF或NAND闪存操作中三个阶段的HCLK周期数目,还有一个定义了写操作中FSMC开始驱动数据总线时机的参数。下图给出了在通用存储空间中操作的时序参数定义,属性存储空间和I/O空间(只适用于PC卡)中操作与此相似。

图177 NAND/PC卡控制器通用存储空间的访问时序?

NAND闪存操作

正如前面所述,NAND闪存的命令锁存使能(CLE)和地址锁存使能(ALE)信号由FSMC的地址信号线驱动。这意味着在向NAND闪存发送命令或地址时,CPU需要对存储空间中的特定地址执行写操作。

一个典型的对NAND闪存的读操作有如下步骤:

1. 根据NAND闪存的特性,通过FSMC_PCRx和FSMC_PMEMx寄存器配置和使能相应的存储器块,对于某些NAND闪存可能还要操作FSMC_PATTx寄存器(见19.6.5节——NAND闪存预等待功能)。需要配置的位包括:PWID指示NAND闪存的数据总线宽度,PTYP=1,PWAITEN=1,PBKEN=1,参见FSMC_PMEM2..4寄存器的时序配置。

2. CPU在通用存储空间写入闪存命令字节(例如对于Samsung的NAND闪存,该字节为0x00),在写信号有效期间(NWE的低脉冲)NAND闪存的CLE输入变为有效(高电平),这时CPU写的字节被NAND闪存识别为一个命令。一旦NAND闪存锁存了这个命令,随后的页读操作不必再发送相同的命令。

3. CPU在通用存储器空间或属性空间写入四个字节(较小容量的NAND闪存可能只需要三个字节)作为读操作的开始地址(STARTAD),以64Mbx8的NAND闪存为例,按照STARTAD[7:0]、STARTAD[16:9]、STARTAD[24:17]和STARTAD[25] 的顺序写入。在写信号有效期间(NWE的低脉冲)NAND闪存的ALE输入变为有效(高电平),这时CPU写的字节被NAND闪存识别为读操作的开始地址。使用属性存储空间,可以使FSMC产生不同的时序,实现某些NAND闪存所需的预等待功能(见19.6.5 NAND闪存预等待功能)。

4. 控制器在开始(对相同的或另一个存储器块)新的操作之前等待NAND闪存准备就绪(R/NB信号变为高),在等待期间控制器保持NCE信号有效(低电平)。

5. CPU可以在通用存储空间执行字节读操作,逐字节地读出NAND闪存的存储页(数据域和后备域)

6. 在CPU不写入命令或地址的情况下,NAND闪存的下一个页可以以下述任一种方式读出:

─ 按照步骤5进行操作

─ 返回步骤3开始输入一个新的地址

─ 返回步骤2开始输入一个新的命令

NAND闪存预等待功能

某些NAND闪存要求在输入最后一个地址字节后,控制器等待R/NB信号变低,如下图:


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

电磁铁是一种利用电流产生磁场的装置,具有快速响应、易于控制等特点,在工业自动化、电子设备、科学实验等领域有着广泛的应用。STM32是一款功能强大的微控制器,具有高性能、低功耗、易于编程等优点,是控制电磁铁的理想选择。本文...

关键字: 电磁铁 微控制器 STM32

边缘人工智能的实现涉及到三个基本 要素:安全性,连接性、自主性,而其中自主性是AI能力的体现,也是边缘AI有别于其他传统的物联网的关键。而通过ST Edge AI套件,就可以帮助各种不同类型的开发者实现覆盖全硬件平台的全...

关键字: 边缘人工智能 AI STM32

今天,小编将在这篇文章中为大家带来STM32单片机最小系统的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 单片机 单片机最小系统 STM32

STM32是一款由STMicroelectronics生产的微控制器系列,具有高性能、低功耗和丰富的外设资源。其中,串口通信是一种常用的通信方式,可以实现与其他设备之间的数据传输。

关键字: STM32 串口通信 微控制器

STM32是一种广泛使用的微控制器,具有丰富的通信接口。其中,串口通信是STM32与其他设备或系统进行数据交换的重要方式之一。本文将详细介绍STM32串口通信的原理、应用及常见故障。

关键字: STM32 串口通信

由于目前缺乏相应的监测技术,地下电缆线路出现异常运行状态无法被及时发现,久而久之易演变成大故障,最终只能通过更换地下电缆进行修复,耗费大量的人力、物力。鉴于此,开发了一种基于STM32的地下电缆异常状态检测系统,利用热传...

关键字: STM32 地下电缆

交通灯控制器是用于控制交通信号灯运行的设备,它可以根据交通流量、行人需求以及其他因素,动态地调整信号灯的变化时间和绿灯时长,以保证交通的流畅和安全。

关键字: 交通信号灯 STM32
关闭
关闭