The use of battery-operated electronics gadgets is increasing fast in our daily lives. Products are expected to be versatile, while consuming minimal power. Reduced power consumption has added advantages of smaller size and cost-effective products.
The MSP430 family of ultra-low power microcontrollers from Texas Instruments meets these requirements well. These microcontrollers combine a number of precision components like comparators and analogue-to-digital converters with the versatility of a 16-bit CPU, Flash memory and many digital modules. The entire architecture is aimed at operating the end product at the lowest power without compromising on accuracy and functionality. Its low cost is an additional attribute that has seen the use of MSP430 microcontroller in products like blood-glucose meters, energy meters, clinical thermometers, handheld weather monitors and handheld precision instruments.
Here we introduce you to the architecture of MSP430 and tools to help you design ultra-low-power products.
Introduction to MSP430
Key features of MSP430 microcontroller are:
1. 16-bit RISC CPU
2. Current drawn is less than 0.1 μA in ‘off’ mode (RAM retention) and less than 0.5 μA in ‘standby’ mode
3. The microcontroller can wake up in less than 1 μs from power-down to full-speed functional mode
4. Zero-power-brownout detection circuit
5. 1kB to 128kB in-system-programmable (ISP) Flash memory
6. Intelligent peripherals to boost performance and versatility. These include:
• LCD drivers
• Communication ports like UART,SPI, I2C and IrDA
7. Embedded emulation
8. 14-pin to 100-pin packing options
The microcontroller features multiple frequency clocks so as to run peripherals at the required frequency. There are three clocks in total, of which ACLK (auxiliary clock) is the low-frequency clock while MCLK (main clock) is the master clock which is normally at a higher frequency (see Fig.1). The third is SMCLK (sub-main clock).
ACLK can be sourced from an external 32.768kHz watch crystal or an internal very low-frequency oscillator (VLO). The CPU is driven by MCLK, which is derived from the internal high-frequency digitally controlled oscillator (DCO) whose frequency can be selected using software settings.
MSP430 is designed to extensively support interrupt-driven burst processing as indicated in Figs1 and 2.This ensures ultra-low-power operation of the system.
Key features of its 16-bit CPU are:
1. No accumulator bottleneck
2. RISC architecture with:
• 27 core instructions
• 24 emulated instructions
• 7 addressing modes
• Constant generator
3. Single-cycle register operations
4. Memory-to-memory atomic addressing
5. Bit, byte and word processing In this part of the article, we have described the Flash programmer-cum-emulator for MSP430 family devices that can be built with readily available components. Part 2of the article will demonstrate two examples: a blinking LED circuit and a circuit to read temperature accurately on a digital multimeter based on MSP430F2013 chip. The pin details of a 14-pin MSP430F2013 device are shown in Fig.3
MSP430F2013 features a 16MHz CPU, 2kB Flash and 128-byte RAM. It has a 16-bit sigma-delta ADC, about ten ports with interrupt capability and in-built pull-up/pull-down resistors, 16-bit versatile timer with two outputs, 16-bit watchdog timer, SPI and I2C interfaces, and a zero-power-brownout protection block. Brownout protection ensures system safety during power-‘on’ or power-‘off.’ One of the main reasons for selecting this device is its availability in DIP package, which makes it easy for hobbyists to handle.
Tools for programming and debugging
Every MSP430 chip has a JTAG interface that is used for downloading the user program into the Flash memory of the microcontroller and running and debugging the code. For this, the following tools are required:
1. Development software that resides in the PC. These are typically called integrated development environments (IDEs). Following choices are available:
(a) IAR Embedded Workbench Kickstart version. This freeware from IAR Systems is sufficient for developing simple programs in ‘C’ with size limit of 4 kB. However, there is no such limitation for code development in Assembly language. A screenshot of a typical IAR embedded workbench environment is shown in Fig.4.
(b) Code Composer Essentials Evaluation. This freeware from Texas Instruments is based on industry standard Eclipse open-source platform. You can use it to develop code up to 8kB size.
Either of the above software can be downloaded from Texas Instruments’ website by selecting ‘tools & software’ option under the MSP430 ultra-low power microcontrollers section.