Microcontroller Utilizes FRAM For Code And Data

May 3, 2011
Texas Instruments’ 16-bit MSP430FR57xx looks like most microcontrollers except it only has one FRAM memory block for code and data. Shades of core memory.

Fig 1. Core memory used to be ubiquitous.

Fig 2. Texas Instruments’ 16-bit MSP430FR57xx looks like most microcontrollers except it only has one memory block.

Magnetic memory such as core memory used to be the dominant runtime storage for computers (Fig. 1). Its nonvolatile nature allowed a system to be powered down without loss of data and led to some interesting restart procedures since applications did not have to be reloaded from other storage mediums.

Ferroelectric RAM (FRAM) and magnetoresistive RAM (MRAM) share many of the characteristics of core memory such as nonvolatility and high performance. Both technologies are growing in capacity and performance (see “Magnetic Cores To MRAM: Nonvolatile Tipping Point?”).

FRAM has been included in microcontrollers as data memory like Ramtron’s 8051 line (see “8051 MCU Gives Ferroelectric Memory A Try”). The microcontrollers still used flash memory for programs. They also utilized SRAM for volatile local storage. This approach balanced cost, performance, and volatility at the expense of complexity since programmers had to deal with three kinds of memory.

Tradeoffs were numerous since there were two types of nonvolatile memory. Flash is much slower to program, though a large amount of storage was available. FRAM was fast but only a limited amount was available. SRAM lacked the ability to survive a power cycle and was also limited in terms of capacity.

Unified Memory

The Texas Instruments 16-bit MSP430FR57xx returns to core memory roots with a single, unified program and data memory (Fig. 2). Programmers can split the 16 kbytes of FRAM between program and data storage, but this is done to simplify addressing and application protection.

The implications of a unified FRAM environment are significant, especially compared to systems that mix flash, SRAM, FRAM, EEPROM, or other nonvolatile memory. Programmers don’t have to consider read and write access times, programming power issues, or capacity issues.

Microcontroller designers of mixed memory environments have to determine capacities based on estimates of what programmers will need. This is why microcontrollers come in so many versions with flash/RAM ratios ranging from 4:1 to 16:1.

A larger capacity chip often is needed to accommodate programming or data requirements. A unified memory system reduces the number of stock keeping units (SKUs) necessary for a particular market.

Programming Issues

Self-modifying code usually isn’t recommended, but it can provide a more compact and possibly more efficient solution where a small application is being implemented.

FRAM is bit programmable versus flash’s block programming mode. Likewise, FRAM writes will complete once started even if power is lost. This has implications for field updates.

TI’s FRAM is rated at 100 Tcycles, making it essentially unlimited for most applications. It is 100 times faster than flash and on par with SRAM. It’s also very power efficient. All these features make it ideal for low-power, wireless sensor applications.

Other than its use of FRAM, the MSP430FR57xx is a typical 16-bit microcontroller. It will be a very familiar programming platform to MSP430 users. It has a 32- by 32-bit multiplier and a three-channel DMA system. The analog side includes a comparator and a 12-channel, 10-bit analog-to-digital converter (ADC).

Pricing starts at $1.20. Development and eval kits start at $29. Expect FRAM to permeate the MSP430 offerings. It may even show up in other TI micros.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!