The 8-bit and 32-bit MCU markets have been touting their ability to handle every embedded computing chore from low power applications to high performance, embedded computing often for portable multimedia applications or networked devices. This flag waving is often done at the expense of the 16-bit market but the 16-bit segment is far from dead. In fact, it remains an extremely successful solution area. This time I take a look at kits for two different 16-bit architectures that actually address very different applications areas. I also take a look at one of the major competitors, Luminary Micro’s 16-/32-bit chip (see “32-Bit ARM MCU Hits One Dollar Mark” ED Online 12358) based on the ARM Cortex-M3. It is essentially a 32-bit ARM processor but it uses the 16-bit Thumb2 instruction set.
The first 16-bit architecture is the MSP430 from Texas instruments. This low power chip often beats the 8-bit alternatives at their own game. The MSP430 can run on a trickle of power and is available in versions designed to minimize parts count and hardware footprint. Features such as a built-in clock oscillator are standard.
The Microchip dsPIC30 is at the other end of the performance spectrum. It is the smaller sibling of the popular dsPIC33 (see “PIC'n The Right DSC” ED Online 8981). The dsPIC30 lacks some of the features found in the dsPIC33 primarily in the DSP area allowing the lower cost dsPIC30 to target more conventional embedded processing applications. It can use minute amounts of power but it tends to use a bit more than the MSP430 while running much faster. This is not surprising given the dsPIC3x family is Microchip’s high performance line versus its low-end workhouse, the 8-bit PIC MCU.
I had a chance to look at two different MSP430 platforms. The first is the $20 MSP-EZ430U. That’s right, $20 for the hardware and the software. It all comes in a DVD-style case, including the hardware. It is comparable to the Silicon Lab’s USB ToolStick (see “Sticking It To The Developer” ED Online 12142) but TI’s solutions is more flexible. The other MSP0430 platform is the MSP-FET430 FLASH Emulation Tool $149. This is primarily a programming tool but it can be used as a development platform as well.
The dsPIC30 platform is Microchip’s Explorer 16. The latter has been out since the dsPIC33 was announced. The new version simply employs the new chip family. It is worth a closer look because of the dsPIC30’s target market, the general 16-bit environment. While the dsPIC33 could be used instead, it is pin-compatible with the dsPIC30, the dsPIC33 is more expensive.
Luminary Micro’s development kit for its low cost (under $1) LM3S10x chips is $249, but keep in mind that this includes a JTAG debugger and ARM’s latest development tools. ARM tools have never been inexpensive although this is likely to change with ARM’s acquisition of Keil.
Now on to the reviews.
Texas Instruments eZ430-F2013
MSP-EZ430U, or eZ430-F2013, is tiny compared to the JTAG unit used with the MSP-FET430 (see Fig. 1). The USB-based MSP-EZ430U is also easier to use and get started with.
The MSP-EZ430U kit comes with a CD, minimal printed documentation and the eZ430-F2013. The printed documentation is just for getting started and loading the software found on the CD. The CD contains online documentation and a fully functional IAR Embedded Workbench with C compiler and assembler. The only limiting factor is the amount of program code that the compiler can generate for a single application. Of course the limitation does not impact the target but it does keep some versions of the MSP430 out of reach until you buy the full version from IAR.
The target platform is the 14-pin, 16MHz MSP430F2014. The MCU shares the MSP430’s RISC-style instruction set and 16 by 16 register file. It has an on-chip clock and it requires 250µA/MIPS. It requires only 0.8µA if only the real-time clock is running and the on-chip RAM uses only 0.1µA. That’s a rather power good power miser.
The chip uses a 2 wire debug interface leaving 10 lines completely undedicated. The debug pins can also be used for IO with the loss of debug support. You still need two pins for power and ground but that leaves a dozen IO pins.
The chip has at 16-bit Sigma-Delta ADC (analog to digital converter), a serial port that supports I2C and SPI, a watchdog timer and brownout detector.
I thought I was missing something when I first got the DVD box but it turns out that the USB stick is so small it fits inside with the box with the installation CD. Installation is almost trivial although finding the USB driver for the USB stick is a pain. It should have been in the root directory so Windows would find it automatically.
The installation is a simple two-step process with the USB driver installation coming first. The installation of the IAR Embedded Workbench was second with the usual plug-and-chug wizard. The Workbench is fully functional although it is memory limited to handle chips on the order of the MSP430F2014. This means the package contains the definitions for the full range of MSP430 chips and support for new chips can be downloaded from the Internet. A simple upgrade is needed to support the full capability of all the TI MSP430 chips.
I have reviewed IAR’s software before and this version is as polished and easy to use as before. The only limiting factor is that the installation CD does not have the plethora of sample applications that should accompany this type of development tool. More applications and application notes are available on TI’s website.
Blinking an LED is a good start but it does not show off the full capabilities of the chip or the development environment. The other thing to keep in mind is that chip type. The project is setup for all the MSP430 chips. You need to build the proper one for the accompanying target board.
Time from opening the box to running the first app is less than an hour even after reading some of the online documentation. This makes the kit ideal for one of its target markets, students (or engineers wanting to learn about the MSP430). The fact that the board can be removed is very handy especially after I soldered on a standard 0.1-in header (see Fig. 2). A 14-pin header brings out all the signals. This makes installation of the target board on a test platform very simple. It is even possible to use the power from the USB diagnostic tool to drive the test platform when it is attached to the target board and if the power requirements are kept low. Of course, if the target platform provides power then you can program the MSP430 and then let it run on its own with the diagnostic tool removed.
Unfortunately, you cannot get a supply of the target boards at this time but I have asked TI whether they will be doing so in the future. No commitment yet. I have a couple here so I could plug them into various target platforms and patch boards I have here in the lab but now I have a lot of extra USB sticks without target boards.
As a teaching platform the kit still lacks training materials but expect something along these lines in the near future. Still, all you need is a good embedded C programming book (check out Electronic Design’s book reviews), some time and TI’s kit.
Texas Instruments MSP-FET430 FLASH Emulation Tool
TI has smaller chips than the MSP430F2014 but some of the more interesting ones have more pins especially for handling interfaces such as LCD displays. This is where the MSP-FET430 FLASH Emulation Tool (see Fig. 3) comes in. The socket handles the quad flat pack chips. The system does require an external JTAG unit like this parallel port version (see Fig. 4). The JTAG unit is a bit larger than even the entire MSP-EZ430U but provides complete JTAG support. Unfortunately many of the latest laptops do not have parallel ports so switching to the more expensive USB JTAG is probably a good bet.
The same IAR Embedded Workbench that comes with the MSP-EZ430U can be used with the MSP430F2014. Of course the memory limitation still holds but a full version can handle all the chips suitable for the MSP430F2014.
Microchip 16-bit DSC
Microchip’s Explorer 16 (part number DM240001) is priced at $129. It comes with a PIC24 and a dsPIC33. The processor chips come on carrier boards and plug into Explorer 16 board (see Fig. 5). The dsPIC33 is part of the digital signal controller (DSC) line while the PIC24 is a code compatible microcontroller version of the architecture. The latter is less expensive and is preferable when the DSC capabilities are not required.
You will need a Microchip programming tool like the USB-based MPLAB ICD 2, available separately. A JTAG connection is also found on the board. Assembler is one way to get the chip running but the C compiler is a better investment. The PIC24 and dsPIC33 architecture is orthogonal and very friendly to the C compiler. This is the same development configuration used in “PIC'n The Right DSC” (ED Online 8981). The main difference is the tutorials and sample applications for the Explorer 16 that are designed for use with the C compiler. Versions are provided for the PIC24 and dsPIC33. They include applications such as a voltmeter and clock.
The online documentation and sample applications were easy to follow and useful. They show off the features of the Explorer 16 such as the PIC18LF4550 USB microcontroller. It provides USB connectivity via a SPI interface as well as access to the ICSP and JTAG pins. In theory, the latter can be used for debugging but this support was not available when I tested the system hence the use of the MPLAB ICD 2.
The Explorer 16 board has the typical collection of buttons, status LEDs, an Optrex 128 x 64 dot-matrix graphic LCD, a 32Kbyte serial EEPROM, a potentiometer, and temperature sensor that are connected to the processor’s IO pins. There is also an RS-232 port. A pair of PICtail+ 120-pin connections allow the system to be expanded via standard boards with interfaces such as Ethernet and custom PICtail+ boards. The connections include a socket and an edge connector. The Explorer 16 has a small patch area with power pins around the perimeter. Unfortunately there is no easy way to connect to the processor’s IO pins so expansion will likely be done exclusively via the PICtail+ boards.
Overall, the Explorer 16 is a great way to evaluate Microchip’s 16-bit microcontrollers. It would even work nicely for applications like robotics although the board lacks mounting holes. The whole development package including software and debugging hardware will cost less than $250.
The C compiler is where the cost is. It runs just under $900 for the full version. You can download a copy that is good for 60 days but it reverts to optimization level 1 (the lowest) after 60 days and there are some libraries that are only usable with the full version. Still, there is a lot that can be done with the free version especially if you are on a budget or just trying to evaluate the hardware. Of course, the assembler comes with MPLAB if you are looking for bargain prices and have the urge to code close to the hardware.
Luminary Micro Cortex-M3
The two previous architectures were 16-bit while Luminary Micro’s is based on the 32-bit ARM Cortex-M3 architecture. Still, the 20MHz LM3S10x, with its 16-bit Thumb-2 ARM instruction set, is clearly targeted at the low end of the 32-bit spectrum and the higher end of the 16-bit realm. The price of the chip is definitely right. The 28-pin SOIC packages comes in under $1 (see Fig. 6).
The peripheral complement is what you would expect on a typical 8- or 16-bit MCU including things like an analog comparator, dual timers with PWM and compare support, a UART, a synchronous serial interface (SSI), and an I2C master/slave interface. SRAM is a generous 2Kbytes and there is 8Kbytes of flash memory.
The $249 development kit is a bit more expensive than the chip but it comes with ARM’s compiler and ARM’s Keil development environment. The 30-day version of CodeSourcery’s open source GNU tools are also provided. CodeSourcery provides support on a subscription basis. You can always roll your own as well.
The kit also includes a USB-based JTAG emulator. A copy of FreeRTOS is included as well. FreeRTOS is a real time OS that is distributed under a modified GPL license. Check out the FreeRTOS.org website for details. It allows closed source products to be built on the platform. The software comes on 3 CDs: Docs, FreeRTOS and libraries; ARM/Keil RealView Microcontroller Development Kit (MDK); and the CodeSourcery package.
Overall, the documentation is very good. There are a limited number of application notes and samples. If anything, this is where the kit is somewhat deficient. Still, there are a large number of books available on the ARM architecture that can augment this kit for those unfamiliar with the platform. The spec sheets, board documentation and related materials provide more than enough in-depth details if you are ready to dive into development of your own application.
Not surprisingly, the ARM/Keil MDK software installation was easy and it provided a very functional development environment with its graphical uVision interface. It is limited to 8Kbytes of code but that is no problem given the target chips. It installs easily on Windows and works out of the box with the USB JTAG unit.
What was surprising was the CodeSourcery installation. It too targets Windows and has the option to install the graphical Eclipse environment in addition to the GNU tool suite. This made it almost as easy to setup and use as the MDK. It will be a toss up if you have used neither of the development platforms although I would tend to recommend the MDK for novices. The CodeSourcery GDB debugger is setup to use the USB JTAG unit as well. Installations of the FreeRTOS are available for both development platforms.
The development board comes preprogrammed with a Light Geiger Counter demo that makes use of the buzzer and photocell found on the board. Power can be provided via the USB port (cable included) or via power connectors. A power brick is not included.
Luminary’s chip actually comes on a daughter board that plugs into the main development board. The former contains the chip, a crystal and various probes. All the IO is brought out to pins that can be connected via jumpers to peripherals on the main board. The main board includes an LCD panel, status LEDs, push buttons, a DIP switch, a potentiometer and sufficient jumpers to make sure you don’t lose the online docs. A package of jumper cables and jumper headers are included. A small patch area allows custom interfaces to be added.
Overall, Luminary Micro has done a great job in packaging its development kit. The minimal samples and tutorial support will not deter the professional developer who will also appreciate the high quality hardware and software support.