Specifications
41
4.1.2 Controller
The s election of an MCU requires much study and analysis of the design needs. Two
items of note when selecting an MCU is that there is an inherent tradeoff in power and
performance, and there is a general cost increase as the MCU grows in pins, peripherals, or
data-path size (8-, 16-, 32-, or 64-bit).
There are as many as 30 manufactures and th ousands of different MCUs to choose from.
Therefore, it is critical to filter out MCUs with unnecessary features. The first step was to
remove any devices with higher power and performance ratings than required. The next
filter applied focused on power saving features and low power u s e options. This practically
removes all devices with 32- and 64-bit cores and restricts this design to 8- and 16-bit cores.
The drawback to this restriction is that most 8/16-bit MCUs have an internal memory map
(Flash + RAM) based on 64K bytes max. So the application must fit in a space less than
60K bytes. This was accepted as a reasonable limitation for this application in the in itial
phases of desgn.
The residual list of processors was still varied. So parameters like cost, r equ ired pe-
ripherals, and memory size were included in the search criteria. This adequately reduced
the number to three specific microcontroller families: Microchip’s PIC18, Atmel’s ATmega,
and Texas Instrument’s MSP430. Based on previous experience, the designers rejected the
PIC18 family because the memory architecture used banks instead of having a unified mem-
ory map. This complicates development and reduces the performance of a processor. The
ATmega64 MCU has an 8-bit AVR core that attains n early 1MIPS while running at 1MHz.
The MSP430F14X has is a 16-bit RISC core that also boasts 1MIPS at 1MHz.
Both MCUs have all necessary features designated for this project. The major difference
and one of the key reasons that the MSP430 was chosen is that the MSP430 can potentially
do twice as much work as the ATmega64 while consuming half the power. The MSP430 uses
approximately 500 µA when running at 1MHz. Another reason the MSP430 was chosen is
that it had an intern al 1.5V an d 2.5V analog reference that was rated to 1% accuracy. It
also has a 12-bit SAR-cored ADC. The ATmega64 has a 10-bits SAR. Finally the MSP430