TI MSP430

From Wikipedia, the free encyclopedia

The MSP430 is a microcontroller family from Texas Instruments. Built around a 16-bit RISC CPU, the MSP430 is designed for low cost, low power consumption embedded applications. The architecture resembles the DEC PDP-11. It is particularly well suited for wireless RF or battery powered applications.

The device comes in a variety of configurations featuring the usual peripherals: 10/12/14/16-bit ADCs, 12-bit DAC, PWM, comparators, timers, USART, I2C, SPI, LCD driver, watchdog, HW multiplier, DMA, internal oscillator, etc. Apart from some older EEPROM (MSP430C3xx) and high volume OTP versions, all of the devices are in-system programmable via JTAG or BSL (Boot Strap Loader via RS-232 link).

The MSP430 is a popular choice for low powered measurement devices. The current draw in idle mode can be less than 1 microamp. The top CPU speed is 16 MHz. It can be throttled back for lower power consumption. There are, however, limitations that prevent it from being used in more complex embedded systems. The MSP430 does not have an external memory bus (which would allow it to efficiently access external RAM/ROM chips) and the limited memory size of the MSP430 variants (up to 120k Byte Flash and 10k Byte RAM) might be too small for applications that require large data tables.

Contents

[edit] Development tools

Texas Instruments provides software development tools that can be downloaded for free. The TI-provided toolchain is a Kickstart edition of the IAR C/C++ compiler, which is limited to 4K of C/C++ code in the compiler and debugger (assembly language programs of any size can be developed and debugged with this free toolchain).

The open source community produces a freely available software development toolset (MSPGCC) based on the GNU toolset, although the object code size and speed are not as optimal as the results from a commercial compiler.[citation needed] Also various commercial development toolsets, which include editor, compiler, linker, assembler, debugger and in single cases code wizards, are available. VisSim, a block diagram language for model based development, can generate efficient fixed point C-Code directly from the diagram. By clever use of inline interrupt functions, VisSim generates very efficient control programs that can access I2C, ADC, PWM etc, in a control loop and use less than 1K flash and 128 bytes RAM.

[edit] Development platforms

The MSP430 has generated excitement with the availability of inexpensive development platforms. At a cost of $20 USD, TI has packaged a USB stick programmer, the eZ430-F2013, containing an MSP430F2013 on a detachable prototyping board, and CD with development software. This is helpful for schools, hobbyists and garage inventors. It is also welcomed by engineers in large companies prototyping projects with capital budget problems.

One other interesting thing about the MSP430F2013 and its siblings is that it is the only MSP430 part that is available in a DIP package. Other variants in this family are only available in various surface-mount packages. It is clear that TI has gone to some trouble to support the eZ430 development platform by making the raw chips easily prototypable by hobbyists.

[edit] Debugging interface

In common with other microcontroller vendors, TI has developed a two-wire debugging interface that replaces the larger JTAG interface found on their parts. The eZ430 Development Tool contains a full USB-connected "FET" (Flash Emulation Tool) for this new two-wire protocol, referred to by TI as "Spy Bi-Wire". It currently compatible with the MSP430F20xx devices.

The advantage of the Spy Bi-Wire protocol is that it uses only two communication lines, one of which is the dedicated _RESET line. The JTAG interface on all MSP430 parts is multiplexed on other GPIOs. This would make it relatively difficult to debug circuits built around the small, low-I/O-budget chips, since the full 4-pin JTAG hardware will conflict with whatever else you have connected to those I/O lines. All those problems disappear with the Spy Bi-Wire-capable chips, which are still compatible with the normal JTAG interface in case you still have old development tools.

[edit] External links

[edit] Community and informational sites

[edit] Hardware Development Tools

[edit] Visual Programming C Code Generators

[edit] Compilers and Assemblers

In other languages