深入剖析RX64M/RX71M组闪存内存:特性、配置与操作指南

电子说

1.4w人已加入

描述

深入剖析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的设备,提高设备的性能和可靠性。在实际应用中,务必严格遵循使用注意事项,确保闪存内存的正常操作。你在使用这些闪存内存时遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分