Given the range of digital and analog interfaces
available, just about anything can be a microcontroller
peripheral. However, most devices for storage, displays,
and communication tend to use standard interfaces,
such as Serial ATA (SATA) or USB. In general, microcontrollers rarely address all of these interfaces. Knowing
what devices and interfaces are available is half the job
of choosing a microcontroller platform.
SOFT PERIPHERAL INTERFACES
Typically, microcontrollers implement standard peripheral interfaces
using fixed logic. Others, like Innovasic Semiconductor's
fido1100 (see "Fido Teaches Old Dogs New Tricks" at
www.electronicdesign.com, ED Online 16005) and
Freescale's PowerQUICC (see "Full-Throttle PowerQUICC
Engine Revs Up Communication," ED Online 10123),
employ programmable engines to provide flexible interfaces. The fido1100 incorporates a Universal IO Controller (UIC) that handles a range of interfaces, including
Ethernet. The PowerQUICC uses the QUICC (QUad Integrated Communications Controller) platform.
Moving to the extreme end are peripheral interfaces
implemented completely in software. The latest chips to
take this approach include the XMOS XCore (see "Multicore And Soft Peripherals Target Multimedia Applications," p. 62), the Parallax Propeller (see "Parallax Propeller," ED Online 13329), and the IntellaSys SeaForth-24
(see "Cores That Share Chores," ED Online 12692). The
XCore can implement multiple Ethernet interfaces, while
the Propeller drives external displays directly. The
SeaForth chip can be found in wireless applications.
Of course, the tradeoff is headroom. Each "soft" or "virtual"
peripheral interface gobbles up
processing resources. Still, the
soft approach allows for field
upgrades, more flexible interface
options, and the ability to put
peripheral control in the hands of
the developer instead of the chip
designer.
MICROCONTROLLER STORAGE
The most dynamic microcontroller peripheral area is storage (Fig. 1 and Tables 1A and 1B). Peripherals usually fall into one of three categories:
solid-state memory, magnetic storage, and optical storage. Standard interfaces like Parallel ATA (PATA) and
SATA span all of these devices. But the choice of which
interface to use is more complex, due to a range of
options like the microcontroller involved and capacity, as
well as weight, power, and space restrictions.
Deeply embedded applications often use non-removable storage and low-end interfaces like I2C or SPI (serial
peripheral interface) to access serial EEPROM. Flash
memory also turns up in these environments, and its
falling price and growing capacity have pushed it to the
forefront for many projects replacing magnetic media.
This is readily apparent in the mobile multimedia space.
One interface that stands out in particular is USB,
since its applicability spans almost all types of peripherals, including storage. Embedded USB flash storage
devices come in the typical USB flash memory-stick format. Likewise, USB display and communication devices
can be had rather easily.
Higher-performance storage has utilized PATA, but
SATA and its cousin SAS (Serial Attached SCSI) currently dominate. The tide is even turning in
optical drives, as more SATA-capable
drives become available.
The PATA/SATA decision is one of
the more difficult choices for designers because of the significant jump in chip performance to reach the gigabit
speeds used with SATA. This will often
limit its use to higher-performance systems. It also provides an opening for
using USB for storage, because even 8bit micros can handle USB (though
throughput can be an issue at the low
end of the microcontroller spectrum).
MICROCONTROLLER DISPLAYS
If it's mobile, then it's likely to have
an LCD (Fig. 2, and Tables 2A and 2B).
Embedded LCDs with less than QVGA
(320 by 240) resolution typically can
be driven directly from microcontrollers designed with LCD support,
like NEC's 78K0/Lx3 line of 8-bit
microcontrollers or Microchip's PIC1x
lines. These chips can drive hundreds
of lines for matrix graphics or segmented character displays.
Things get a bit more complex when
moving to higher-resolution displays.
Here, interfaces range from the venerable VGA to HDTV's HDMI (High-Definition Multimedia Interface). DVI (Digital Visual Interface) is
the most popular for LCD displays, but most displays support a range of interfaces.
Unlike the matrix and segment LCDs, most display
interfaces are found on dedicated graphics chips instead
of embedded in microcontrollers. Many times, this is
attributed to the additional support found in these graphics controllers, such as 2D/3D acceleration, MPEG-2/4
encoding and decoding support, and the high-performance digital-to-analog converters (DACs) used for
analog displays.
Due to bandwidth requirements, display chips often
are linked to a microcontroller via high-performance interfaces, such as PCI or PCI Express (PCIe). Other alternatives include USB links like DisplayLink's (formally Newnham Research) DL-160 (see "USB Branches Out," ED
Online ID 12508). This type of interface is very handy given the hot-pluggability of USB and the general availability
of USB-based microcontrollers.
By utilizing these standard interfaces with external
support, devices can handle a wide range of peripherals,
from plasma displays to projection systems.