With the ever-continuing push for higher functional integration, complex MCU packages with hundreds of pins are now commonplace. Chipmakers are taking advantage of the high-pin-count parts to fit everything possible either on chip or around the periphery.
But not every microcontroller design needs a lot of I/O. Internal peripherals and resources can still perform rather complex functions and need only a pin or two such as UART, I²C, PWM, or SPI. What’s more, some designs are better suited to small size, low-pin-count parts in small packages that can fit in very tight spaces. These parts may also be inexpensive enough to essentially be “throw away”. In addition, the low power capability of these processors is, as they say in personnel recruitment ads, “a plus.” The difference maker in many cases is that the small, low-pin-count MCU is able to perform functions that otherwise would take several discrete chips and circuit elements to perform.
This article looks at some very small sized microcontrollers (16 pins or less) and the ranges of features and performances at the engineer’s disposal for size-constrained, tight-fitting applications. We will examine some of the available architectures for 8-, 16-, and 32-bit parts, as well as some advanced peripherals and review the capabilities of these processors, which include mixed-signal functionality.
Among the smallest MCUs available are parts like the 6-pin SOT-23 Atmel ATTINY4-TSHR, which houses an 8-bit RISC-based, 12 MHz architecture with up to 512 words (16 bits) of flash. The 1.8 to 5.5V parts contain a Spartan set of peripherals and resources including Power on Reset, Watchdog timer, two PWMs, one 16-bit timer/counter, and 32 bytes of RAM.
Of note is the four-channel 8-bit A/D converter and analog comparator, which lets this part be used as a dedicated capacitive touch sensor controller, motor speed controller, or general-purpose buried sensor interface for example (Figure 1). Analog sensor inputs can easily be converted to a digital value that feeds the frequency or pulse width control register of a PWM. The resulting digital signal can transit longer distances without noise, giving a remote or buried sensor the best functionality and performance.
Figure 1: The peripherals inside this tiny 6-pin microcontroller provide enough sophistication and functionality to take on many mixed-signal tasks that logic alone cannot do.
The fully static parts are in-system programmable and can live in low power and idle modes and take advantage of an on chip oscillator to keep pin counts and power draw low. Note that no communications peripherals are on chip, so bit-banged programming is required if you want to communicate with another micro with more than just a status bit.
Atmel provides a Training Module for its MCU products including its small size and low-pin-count parts.
Freescale also has a small but interesting 8-bit 6-pin micro ready for use. The MC9RS08KA2CDB has 2 K of flash and a bit more RAM (63 bytes). With tight and clever programming comes efficient use of hardware resources, and there is enough meat here to tackle a well-defined process intensive or algorithmic task (Figure 2).
Figure 2: Also in a small 6-pin package, this Freescale microcontroller has a flexible multi-channel interrupt structure that can also wake up the processor using an analog comparator.
Some nice features include a trimmable internal clock source (20 MHz) and modulo timer, with up to 10 MHz internal bus speeds. Another nice feature is the three keyboard-interrupt pins allowing it to sleep until interrupted. There is also a rail-to-rail analog compare input that can use an internal band-gap reference to generate an interrupt, letting it sleep until an analog “event” occurs.
A bigger 8-pin part is also available with two more I/Os. Both operate from 1.8 to 5.5 V and are discussed in an online training module discussing Freescale’s RS08KA2 microcontroller family. The MCU is supported by the company’s USBSpyder08 development kit.
The internal 8-bit architectures work well, but if mixed-signal resolutions exceed 8 bits, a 16-bit core may be a good approach. Take for example the Texas Instruments MSP430G2230IDR 16-bit mixed-signal controller packaged in an 8-pin SOIC (Figure 3).
Figure 3: With a full 16-bit internal architecture, the MSP430 more easily handles higher-resolution analog signals. Multifunction pins backed by an analog multiplexer provide more analog flexibility.
This is a fairly high-end 1.8 to 3.6 V processor in a very small package. On chip is 2 K of flash and 128 bytes of RAM. On chip compare functions or 10-bit slope-based A/D converters are available on some parts and these parts also have I²C, SPI, and a USI (Universal Serial Interface) ports. What’s more, this is part of a larger family of processors (MSP430) with scaled up pin counts, peripherals, and resources.
A key feature of the TI parts is that they take direct aim at low power applications. Only consuming 220 µA at 1 MHz) while active, these parts draw only 500 nA in standby mode. The 16-bit, 62.5 ns cycle times of the mostly single-cycle RISC instructions allows it to process quickly, then go back to sleep.
Another key benefit with the TI parts is the extensive training and development system support from TI. A dedicated ultra-low power MSP430 training module, and MSP430 Overview Training are a couple of examples. A dedicated training module is also online just to discuss development tool options for the MSP430. In any case, these widely used and very popular parts are well supported.
A larger 16-bit part that also targets low power designs comes from Microchip with its 14-pin 32 MHz (max) TSSOP PIC24F04KA200-I/ST. While almost twice as large as the 6- and 8-pin parts physically, this part contains nine 10-bit A/D converters, which can eliminate the need for external analog multiplexers when support for many analog signals is needed. It also contains more flash (4 Kbytes) and 512 bytes of SRAM (Figure 4).
Figure 4: Still small, this 14-pin micro with a 16-bit architecture takes advantage of the extra area to add more peripherals and functionality like hardware multiply and divide.
A nice feature of the 1.8 to 3.6 V Microchip parts is the inclusion of fast 17 x 17-bit hardware multiplier and 32 x 16-bit divide instructions. This opens the door for rudimentary DSP functionality in a small-sized dedicated function processor.
These parts also contain I²C, SPI, and UART ports for communications eliminating the need for bit-banged firmware if communications is needed. Several low-power modes like doze, idle, sleep, and deep sleep keep the processors alive down to 20 nA, and there is a training module devoted to understanding the Microchip XLP deep sleep mode.
Small 32-bit parts
There are cases when 16 bits is not enough. Here is where 32-bit parts shine. Case in point is the NXP LPC1102UK,118 32-bit ARM core in a ball-grid-style 16-pin WLCSP package (2.17 x 2.32 x 0.6 mm). As part of the NXP LPC family or ARM® Cortex™-M0 processors, this 50 MHz 1.8 to 3.6 V part features a full internal 32-bit architecture with 32 Kbytes of flash and 8 Kbytes of SRAM (Figure 5).
Figure 5: A full 32-bit ARM Cortex M0 microcontroller with 32 K of flash is housed in a very small 16-pin BGA package.
This part is packed with features. The 11 GPIO can be set as edge- or level-sensitive interrupts with or without pull-ups and open drain configurations. A clock out line is also a useful feature. A 10-bit A/D is fed by five multiplexed pins for mixed-signal designs.
The on chip boot loader supports in system programming and a serial wire debugger port allows examining registers and watch-points without burning up a lot of I/O. Because it implements the more compact ARM Thumb TDMI instruction set, achievable code densities allow these parts to handle software- or algorithm-intensive applications. There is also a training module from NXP highlighting code density features for the LPC family.
There are MCU design requirements where bigger is not necessarily better; in these cases, engineers have to turn to smaller processors that can still meet functionality obligations. Fortunately, as we have seen, there are low-pin-count 8-, 16-, and 32-bit solutions available, offering a variety of processing capabilities and accompanying resources. All parts, datasheets, tutorials, evaluation kits, and development kits referenced in this article can be found online at Hotenda’s website. Use the links provided to access these product pages.