MAB
MDB
Registers
Memory Access
Control Logic
FRAM
Memory
FRAM Controller
Data/Control
FRAM Controller A (FRCTL_A) Introduction
299
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
FRAM Controller A (FRCTL_A)
8.1
FRAM Controller A (FRCTL_A) Introduction
The FRAM Controller A includes the following features :
•
Byte (8 bit) or word (16 bit) write access
•
Automatic and programmable wait state control with independent wait state settings for access and
cycle times
•
Timing violation detection to ensure proper interrupt handling with incorrect wait state setting
•
Error correction code with bit error correction, extended bit error detection, and flag indicators
•
Cache for energy-efficient read
•
Power control for disabling FRAM when it is not in use, including automatic wake up
For important software design information regarding FRAM, including but not limited to partitioning the
memory layout according to application-specific code, constant, and data space requirements, the use of
FRAM to optimize application energy consumption, and the use of the memory protection unit (MPU) to
maximize application robustness by protecting the program code against unintended write accesses, see
MSP430™ FRAM Technology – How To and Best Practices
shows the block diagram of the FRCTL_A.
Figure 8-1. FRCTL_A Block Diagram
8.2
FRAM Controller A (FRCTL_A) Operation
FRAM is a nonvolatile memory that eliminates the slow writing barrier of flash memory. The read and write
operations of FRAM is just like the way that the standard SRAM works. The FRAM features SRAM-like
operation with nonvolatility.
8.2.1 FRCTL_A Error Detection
The FRAM module has a built-in error correction code (ECC) block that can correct bit errors and detect
multiple bit errors. Two flags, the CBDIFG and UBDIFG bits, are used to report the status of errors.
The correctable bit detection interrupt flag (CBDIFG) is set when a correctable bit error is detected. In this
case, the error generates a system NMI (SYSNMI) if the correctable bit detection interrupt enable bit
(CBDIE) is set.
The uncorrectable bit detection interrupt flag (UBDIFG) is set when a multiple bit error, which is not
correctable, is detected. In this case, cache is flushed and either a system NMI (SYSNMI), if the
uncorrectable bit detection interrupt enable bit (UBDIE) is set, or a power-up-clear (PUC) reset, if the
uncorrectable bit detection reset enable bit (UBDRSTEN) is set, can be generated.
The UBDRSTEN bit and the UBDIE bit are mutually exclusive. The UBDRSTEN bit has a higher
priority—if both bits are set, the UBDIE bit is ignored and the UBDRSTEN bit remains active.