Memory

Memory is often the primary criterion for picking a specific part within an MCU family. As external memory adds to the overall cost and often hinders performance because of the additional cycles needed for accesses, it is important to ensure the target application fits within the memory limits of the chosen MCU – although it will often be appropriate to use an external serial memory to store configuration data when power is removed from the system. As with the evaluation of performance, the design team needs to estimate how many bytes the application and accompanying operating system (if one is required) will consume in terms of both program and data memory. Very often, the application will not be ready before MCU selection takes place. Furthermore, even using estimation techniques such as function-point analysis, it is still hard to determine an accurate prediction of actual memory usage. For this reason, it can be advisable to choose an MCU family that allows easy scaling of memory size – both in relation to Flash and SRAM. With parts that offer a number of memory-size variants, it is generally straightforward to move to the next device without affecting pinouts or other aspects of the design.

Power

Energy consumption has become a major issue for embedded-systems designers. Many IoT projects are now expected to run from a single battery charge for years, and even for systems that are powered from the mains, energy efficiency is now a core purchasing criterion for engineers. There are several ways in which careful MCU selection improves energy efficiency. One is the continued shift toward denser processes – so as to take advantage of the benefits of scaling (not just in logic and memory capacity, but with regard to power consumption too). However, a bigger improvement in energy efficiency generally results from the strategic employment of low-activity and sleep modes when the workload the MCU has to run is light. By parcelling activity into short bursts, designers can take advantage of sleep modes that reduce current draw to mere nA. Additionally, a growing number of MCUs provide smart peripheral controllers that make it possible to perform regular functions without needing to wake up the processor core. This both maximizes sleep time and reduces the amount of power that is needed to run the application.


 

Block diagram of Texas Instruments’ MSP430F2132QRHBREP.