深入剖析RX64M/RX71M组闪存内存:特性、配置与操作指南
在电子工程领域,微控制器(MCU)的闪存内存是关键组件之一,它直接影响着设备的存储能力、数据安全性和操作效率。本文将详细介绍Renesas的RX64M组和RX71M组闪存内存,涵盖其特性、模块配置、地址空间、寄存器、操作模式、FACI命令以及安全功能等方面,为电子工程师们提供全面的设计参考。
文件下载:R5F571MGHDBG#20.pdf
一、闪存内存特性
1. 编程/擦除功能
闪存内存配备了专用的闪存序列器,通过内部外设总线6执行编程和擦除操作。该序列器支持编程或擦除的暂停、恢复以及后台操作(BGO),大大提高了操作的灵活性和效率。
2. 安全功能
为防止闪存内存中的数据被非法篡改或读取,闪存内存集成了硬件安全功能,为数据提供了可靠的保护。
3. 保护功能
硬件保护功能可防止错误编程,确保闪存内存的操作准确性和稳定性。
4. 中断支持
闪存内存支持两种中断:一种用于指示闪存序列器处理完成,另一种用于指示操作错误,方便工程师及时处理异常情况。
二、模块配置
闪存内存相关模块的配置如图2.1所示,闪存序列器由闪存控制单元(FCU)和闪存应用命令接口(FACI)组成。FCU负责闪存内存的基本控制,FCURAM用于存储控制FCU执行的固件,FACI通过内部外设总线6接收FACI命令并相应地控制FCU操作。在复位时,FACI将数据从闪存内存传输到选项设置内存。
三、地址空间
| 使用闪存内存的硬件接口需要访问多个区域,包括硬件寄存器区域、FACI命令发布区域、FCU固件存储区域和FCURAM区域。具体信息如下表所示: | 区域 | 地址 | 容量 |
|---|---|---|---|
| 硬件寄存器区域 | 见第4节“寄存器” | 见第4节“寄存器” | |
| FACI命令发布区域 | 007E 0000h | 4字节 | |
| FCU固件存储区域 | FEFF F000h 至 FEFF FFFFh | 4 K字节 | |
| FCURAM区域 | 007F 8000h 至 007F 8FFFh | 4 K字节 | |
| 配置设置区域 | 0012 0040h 至 0012 007Fh | 64字节 |
四、寄存器
使用闪存内存硬件接口时,需要访问多个寄存器,每个寄存器都有特定的功能和操作规则。以下是部分重要寄存器的介绍:
1. 闪存P/E保护寄存器(FWEPROR)
该寄存器用于禁止代码闪存内存、数据闪存内存或选项设置内存的编程和擦除,以及锁定位的编程和擦除,还有空白检查。通过设置特定的位组合,可以控制这些操作的权限。
2. 闪存访问状态寄存器(FASTAT)
指示代码闪存内存或数据闪存内存是否发生访问违规。当某些标志位(如CFAE、CMDLK和DFAE)设置为1时,闪存序列器进入命令锁定状态,需要通过特定命令释放。
3. 闪存访问错误中断使能寄存器(FAEINT)
用于启用或禁用闪存访问错误(FIFERR)中断请求,根据不同的错误标志位(如ECRCTIE、DFAEIE、CMDLKIE和CFAEIE)进行控制。
4. 闪存就绪中断使能寄存器(FRDYIE)
用于启用或禁用闪存就绪(FRDY)中断请求,当闪存序列器完成编程、擦除或空白检查命令处理时,FASTAT.FRDY标志从0变为1,可触发中断。
五、闪存序列器操作模式
闪存序列器有三种操作模式,通过改变FENTRYR寄存器的值来实现模式转换:
1. 读取模式
当FENTRYR寄存器的值为0000h时,闪存序列器处于读取模式,此时不接收FACI命令,代码闪存内存和数据闪存内存均可读取。
2. 代码闪存内存P/E模式
当FENTRYR寄存器的值为0001h时,闪存序列器进入代码闪存内存P/E模式,可通过FACI命令对代码闪存内存进行编程或擦除。在此模式下,数据闪存内存不可读取;如果启用了BGO功能,代码闪存内存可读。
3. 数据闪存内存P/E模式
当FENTRYR寄存器的值为0080h时,闪存序列器处于数据闪存内存P/E模式,可通过FACI命令对数据闪存内存进行编程或擦除。此模式下,数据闪存内存不可读取,但代码闪存内存可读。
六、FACI命令
1. 命令列表
FACI命令包括编程、块擦除、P/E暂停、P/E恢复、状态清除、强制停止、空白检查、配置设置、锁定位编程和锁定位读取等,每个命令都有特定的功能和操作格式。
2. 命令使用
不同的操作模式下,可用的FACI命令不同。在使用FACI命令时,需要根据闪存序列器的状态和操作模式选择合适的命令,并按照规定的格式进行操作。例如,在代码闪存内存P/E模式下,可使用编程、块擦除等命令;在数据闪存内存P/E模式下,可使用编程、块擦除、空白检查等命令。
七、安全功能
1. 软件保护
通过控制寄存器(如FWEPROR、FENTRYR)和锁定位设置,禁止对代码闪存内存进行编程和擦除,防止非法操作。如果违反保护设置,闪存序列器将进入命令锁定状态。
2. 错误保护
检测非法FACI命令、非法访问和闪存序列器故障,一旦检测到错误,禁用FACI命令接受(命令锁定状态)。可通过状态清除或强制停止命令在特定条件下释放命令锁定状态。
3. 引导程序保护
用户引导区域通常在正常操作模式和用户引导模式下受到写保护,只有在编程模式(引导模式)下才能被覆盖,可用于安全存储引导程序等重要程序。
八、使用注意事项
1. 读取中断区域
编程或擦除中断区域的数据是未定义的,应避免从中读取指令或数据,以免导致设备故障。
2. 禁止额外写入
闪存内存的同一区域不能进行二次写入,如果需要覆盖数据,必须先擦除该区域。
3. 编程和擦除期间的复位
在编程和擦除期间,如果因RES#引脚信号复位,需在操作电压进入规定范围后,等待至少tRESWF时间再释放设备的复位状态。
4. 中断和异常向量分配
编程或擦除期间产生中断或异常可能导致从代码闪存内存获取向量。如果不满足使用背景操作的条件,应将向量获取地址设置为非代码闪存内存的地址。
5. 编程和擦除异常终止
如果编程或擦除异常终止,闪存内存的数据状态无法验证,需再次擦除该区域以确保完全擦除后再使用。
6. 编程和擦除期间的禁止操作
编程和擦除期间,禁止电源电压超出允许范围和改变PCLK/FCLK频率,以免影响操作的稳定性。
九、电气特性
1. FCURAM数据传输时间
当FCLK = 60 MHz且FCURAME寄存器的FRAMTRAN位为0时,传输时间为220 μs;当FRAMTRAN位为1时,传输时间为110 μs。
2. FACI命令设置时间
当FCLK ≥ 20 MHz时,设置时间为100 μs。
3. FACI命令处理时间
除代码闪存内存编程外,处理时间为0 tFcyc;代码闪存内存编程时,处理时间为90 tFcyc。
4. 强制停止命令
当20 MHz ≤ FCLK ≤ 60 MHz时,处理时间为20 μs;当FCLK = 4 MHz时,处理时间为32 μs。
通过深入了解RX64M组和RX71M组闪存内存的特性、配置和操作方法,电子工程师们可以更好地设计和开发基于这些MCU的设备,提高设备的性能和可靠性。在实际应用中,务必严格遵循使用注意事项,确保闪存内存的正常操作。你在使用这些闪存内存时遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。
-
操作指南
+关注
关注
0文章
7浏览量
5864
发布评论请先 登录
[CS+] Renesas Starter Kit+ for RX71M 快速入门指南
[e2studio]Renesas Starter Kit+ for RX71M 快速入门指南
[CS+] Renesas Starter Kit+ for RX71M 快速入门指南
[e2studio]Renesas Starter Kit+ for RX71M 快速入门指南
深入剖析RX64M/RX71M组闪存内存:特性、配置与操作指南
评论