Update on Single-Board Computers
In the March/April 2001 issue of Embedded Linux Journal (``All about Linux-friendly Single-Board Computers''), I traced the history of the embedded single-board computer (SBC) market from the early 80s to the year 2000. One interesting phenomenon during that period was the emergence and proliferation of the embedded PC architecture, which manifested in several popular form factors, including PC/104, EBX and passive backplane PC/PCI (refer to the March/April 2001 article for details).
A year ago, I identified five factors that were beginning to disrupt the embedded SBC market status quo:
Exploding demand for embedded intelligence--the universal demand that even the tiniest and least-expensive devices have at least rudimentary embedded intelligence. Many must also provide user-friendly graphical/touch or sound/speech interfaces.
Ubiquitous connectivity--the growing need for everything electronic to be interconnected, whether wired or wireless. Increasingly, devices require a presence on the Internet via standard protocols (e.g., TCP/IP, PPP, HTTP and FTP).
Evolving peripheral and bus interfaces--although popular interconnection standards can sometimes seem immortal (consider Centronics and RS-232), new interfaces gradually supplant the old. Two decades after the birth of the PC, the ISA bus has finally (mostly) been replaced by PCI. USB is now replacing the venerable serial, parallel and PS/2 ports (PS/2 already replaced the earlier keyboard/mouse ports). Ethernet is everywhere. SCSI has gained popularity in server-like systems, but remains second fiddle to IDE for hard drives and CD-ROMs. FireWire (IEEE-1394) has yet to catch fire outside of specialized apps (mostly video) and Apple's desktop systems, but time will tell.
Application-oriented system-on-chip processors--numerous highly integrated ARM, MIPS, PowerPC and x86-based one-chip systems have emerged to address the needs of a range of high-volume and cost-sensitive products and applications. More than ever, these ``application-on-chip'' processors represent tantalizing fodder for the next generation of high-integration, high-performance and highly cost-effective SBCs. Significantly, most of these SOCs have abandoned x86 compatibility for the sake of cost/power/integration benefits.
Embedded Linux--multiple market studies during 2001 and 2002 report that embedded Linux now ranks among the top three OSes for new embedded projects (the top three generally include VxWorks, embedded Linux and Windows CE/NT Embedded, in various ranking orders). Of course, this great success for embedded Linux comes as no surprise, given its openness, scalability, reliability, freedom from royalties, built-in networking/internet stack, excellent GUI/windowing support and the fact that it is available from many vendors (with support) or freely downloadable.
One year down the road, these factors appear to have not only continued, but to have accelerated. As a result, the embedded SBC market continues on a path toward even greater diversification and fragmentation.
With the growing availability of application-oriented system-on-chip processors, SBC vendors are beginning to target their boards at specific applications or classes of applications. For example, there are boards with two or more Ethernet ports that are intended for firewall/router uses or small palm-sized boards with built-in LCD controllers and touch input controllers for specialized handheld computer apps.
On the other hand, the wide variation of applications in the embedded market makes it important to have modular expandability, not just high integration of functions, because hardly any two applications have precisely the same requirements. Consequently, the SBC market has evolved into three categories of products:
Modular building blocks: standard form factor SBCs that plug in to passive backplanes (e.g., passive backplane PC/PCI, CompactPCI, VME) or stack directly on top of each other (e.g., PC/104 and PC/104-Plus).
All-in-one SBCs: they contain most or all of the embedded computer functions, but often provide a means of customization via either a PC/104(-Plus) expansion location or slots for adding PCMCIA or CompactFlash Type II cards.
Figure 2. An EBX Form Factor PowerPC-Based SBC from Motorola
Macrocomponent-like SBC modules that contain the core embedded computer functions and plug in to application-specific baseboards like large chips. The interesting thing here is that whereas you normally think of plugging application-specific I/O circuitry into an SBC, in this case you are plugging the SBC into the application-specific I/O.
Figure 3. Adastra's ETX Modules Plug onto Custom Circuit Boards
While there are some well-established standards in the SBC market, such as EBX, PC/104, CompactPCI, PMC and the venerable passive backplane ISA/PCI, there are a few gaps and opportunities where new standards may emerge.
A growing number of companies offer small SBCs that fit within a size gap between the PC/104 (13 square inches) and EBX (46 square inches) form factors. Unfortunately, no dominant standard for such ``half-EBX''-sized boards has emerged, so each supplier's product family tends to implement a unique approach, and few are interchangeable with each other.
Being one and a half to two times the size of PC/104 modules, and given the availability these days of highly integrated system-on-chip processors as well as highly integrated peripheral controllers, SBCs in this size range have sufficient board space to fit just about all the functions a small embedded Linux-based system is likely to require. In addition, many of these SBCs also can be expanded using PC/104 or PC/104-Plus modules, or via PCMCIA or CompactFlash cards. Another benefit of the larger size of these SBCs, in comparison with PC/104 form factor SBCs, is that they can more readily accommodate the size and heat dissipation requirements of high-performance CPUs--in case your application needs it.
Although no formal standardization effort for this size domain (in the gap between PC/104 and EBX) is currently underway either on the part of the PC/104 Consortium or elsewhere, several candidate form factors appear ready and willing to serve this niche.
Advantech's ``Half-Biscuit'': called a 3.5" disk drive form factor by its originator, this family of 5.7" × 4" form factor SBCs typically contains all of the functions of a full PC system. Versions are available from Advantech based on 486, National Geode and Transmeta Crusoe processors. The form factor is also reportedly supported by several other Taiwanese manufacturers including Aaeon (http://www.aaeon.com/), Axiom (http://www.axiomtek.com/), ICP (http://www.icpamerica.com/) and Lanner (http://www.lannerinc.com/). Unlike the Ampro and JUMPtec Adastra alternatives, the Half-Biscuit provides ``real-world'' I/O and power connectors and does not require a baseboard for use in a system. See http://www.advantech.com/.
Figure 4. Advantech's Half-Biscuit
Ampro's EnCore: each compact (100 × 145 mm; 3.9" × 5.7") EnCore module includes a processor, system and Flash storage memory, plus a set of standardized peripheral interfaces (IDE, floppy, Ethernet, serial, parallel, USB and sound), while some also provide graphics controllers for CRTs and flat panels. The modules interface with customer-developed ``custom logic boards'' via a combination of PCI bus and standardized I/O signals, without regard to processor architecture. Since all EnCore modules have consistent feature sets, physical dimensions and interface connector locations, a single-custom logic board design can support multiple processor architectures simply by exchanging EnCore modules. The modules implement the PC/104-Plus PCI bus, but not the ISA bus. Ampro currently supports the EnCore form factor with 486, Pentium, Pentium III, MIPS and PowerPC processors, making the form factor an interesting candidate for a processor architecture-independent module standard. See http://www.ampro.com/.
Figure 5. Ampro's Encore
JUMPtec-Adastra's ETX: ETX modules are highly integrated and compact (3.7" × 4.4") SBCs that can be used in a design application much like an integrated circuit component. Each ETX module integrates core CPU and memory functionality, the common I/O of a PC/AT (serial, parallel, etc.), USB, audio, graphics and Ethernet. All I/O signals as well as a full implementation of ISA and PCI buses are mapped to four-high density, with low-profile connectors on the bottom side of the module. JUMPtec-Adastra currently supports the ETX form factor with National Geode, Intel Pentium and Intel Pentium III processors. At least two other companies now support the ETX form factor, including Advantech (http://www.advantech.com/) and TMC Technology (http://www.tmc-uk.com). See http://www.adastra.com/.
Figure 6. JUMPtec-Adastra's ETX
VITA's Processor PMC (PrPMC): VITA's PrPMC standard (http://www.vita.com/vso/draftstd/ProcPMC41.pdf) generalizes the PCI mezzanine card (PMC) specification (which was developed for CompactPCI board expansion) so that the PMC form factor can be used to implement CPU modules. PrPMC modules provide board-to-board connectors that provide PCI and I/O signals to a baseboard and also have a ``front bezel'' for optional external I/O connectors. The highly compact (2.9" × 6") modules can operate both as host and slave modules on an appropriately configured PCI bus. A number of vendors have announced PrPMC SBC modules that support operation under embedded Linux, including RadiSys (http://www.radisys.com/) and Technobox (http://www.technobox.com). One notable disadvantage of PrPMC is that its dimensions are highly constrained due to the requirements of being a mezzanine bus.
Figure 7. VITA's Processor PMC
There are a large number of very small SBCs targeting specific applications or application classes, using high-integration system-on-chip processors along with as few additional chips and components as possible. This realm is certainly the one with the least commonality among offerings--even among those from a single vendor! These tiny SBCs are among the most diverse and interesting embedded Linux-oriented hardware in existence. See Table 2 for a quick comparison.
The remainder of this article is an updated survey of tiny embedded SBCs that support embedded Linux. Be sure also to visit the PC/104 Consortium's web site (http://www.pc104.org/) to learn about the many PC/104 form factor SBCs that are also available (far too numerous to cover here).
ACUNIA XINGU: this 2.7" × 3.6" SBC is based on an Intel XScale i80200 processor with up to 850MIPS performance. It includes up to 128MB SDRAM and 32MB Flash, plus built-in controllers for video, UART, AC97 Audio Codec, PCMCIA and I2C. Power consumption is under 2.5W. See http://www.acunia.com/aes/.
Figure 8. ACUNIA XINGU
ADS Bitsy: this 3" × 4" SBC is based on a 206MHz Intel StrongARM SA-1110 processor (plus SA-1111 companion chip) and consumes just 450mW. Includes serial, USB, audio, digital and analog I/O, a Type II PCMCIA slot, plus a 1024 × 1024 resolution color LCD controller. See http://www.applieddata.net/.
Figure 9. ADS Bitsy
AMC Technologies NETdimm: the NETdimm SBC module, in AMC's 5.25" × 1.5" ``dimmPCI form factor'', is based on a Motorola DragonBall processor equipped with up to 32MB SDRAM and up to 8MB Flash, and with built-in controllers for Ethernet, an LCD, two serial ports and an SPI port. Runs µClinux. Other versions are available that replace the NETdimm's Ethernet and LCD functions with CANbus or digital and analog I/O. See http://www.amctechcorp.com/.
Arcturus Networks µCdimm, µCsimm: the SODIMM-sized (1.7" × 2.7") µCdimm (Figure 19) is based on a Motorola DragonBall VZ and provides two SPI interfaces, two RS-232 ports, 22 digital I/Os, up to 640 × 512 LCD control and 10Mbit Ethernet. The older ``SIMM-sized'' (3.5" × 1") µCsimm SBC is based on a Motorola DragonBall 68EZ328 with 2.7MIPS performance and includes 2MB Flash, 8MB DRAM, 21 digital I/O, serial, I2C/SPI, 10Mbit Ethernet and a 640 × 480 LCD controller. See http://www.uclinux.com/.
Figure 19. Lineo µCdimm
Axis Developer Board: a small form factor SBC based on the 100MHz Axis ETRAX 32-bit RISC system-on-chip processor. It is usable as either an ETRAX evaluation board or as a small embedded computer. Includes 10/100Mbit Ethernet, serial, parallel, RTC, 2MB Flash, 8MB DRAM and 2KB EEPROM. See http://developer.axis.com/products/devboard/.
Figure 11. Axis Developer Board
CompuLab 586CORE: a tiny (3.1" × 2.4") PC-compatible SBC based on the AMD ElanSC520. Includes 16-64MB DRAM, 1-136MB Flash disk, 69000-based SVGA graphics, 10/100Mbit Ethernet, USB, two to four serial ports, PS/2 keyboard/mouse, IrDA, 32 digital I/O, RTC, sound, IDE/floppy interfaces, plus ISA and PCI expansion buses. See http://www.compulab.co.il/.
Embedded Planet RPX Super: physically, this PowerQUICC II (MPC8260)-based SBC that matches the footprint of a PC/104 module (3.6" × 3.8") is not considered a PC/104 module. Includes up to 32MB Flash and 128MB SDRAM, 10/100 Ethernet and a PCMCIA Type II slot. Expandable via the PowerPC expansion bus. See http://www.embeddedplanet.com/.
FORTH-SYSTEME DIMM-520, ModNET50: the tiny ``DIMM-sized'' (2.7" × 2") DIMM-520 (Figure 14) is based on the 32-bit, 133MHz AMD ElanSC520 x86 system-on-chip. It includes: 64MB SDRAM, 16MB Flash, PCI bus interface, two serial and one parallel ports, 100Mbit Ethernet and PC motherboard core logic. The ModNET50 uses NetSilicon's NET+ARM system-on-chip to integrate a RISC processor, 100Mbit Ethernet, two serial ports, RAM, Flash and other functions on a tiny SBC. See http://www.fsforth.de/.
Figure 14. FORTH-SYSTEME DIMM-520, ModNET50
InHand Fingertip, Elf: the tiny (2.75" × 2.75") Fingertip ``PDA platform'' (Figure 15) is based on a 200MHz Intel StrongARM 1110 CPU; it also includes up to 32MB Flash, up to 16M SDRAM, audio, three serial ports, SPI port, USB, 12 digital I/O lines, 320 × 240 LCD display/touchscreen interface, battery support and CompactFlash expansion socket. Also based on an SA-1110 processor, the slightly larger (12 square inches) Elf has a built-in PCMCIA slot, 16MB DRAM and up to 8MB Flash onboard memory, plus many of the same features as the Fingertip. See http://www.inhandelectronics.com/.
Figure 15. InHand Fingertip, Elf
Intrinsyc CerfBoard: a tiny (2.2" × 2.4") SBC based on a 133 or 206MHz Intel StrongARM 1110 CPU. Also includes up to 16MB Flash, up to 8MB SDRAM, 16 digital I/O lines, 10Mbit Ethernet, USB, serial port, audio codec, LCD interface and CompactFlash+ socket. See http://www.intrinsyc.com/.
Figure 16. Intrinsyc CerfBoard
JUMPtec DIMM-PC: a family of ``DIMM form factor'' (2.7" × 1.6") PC-compatible SBCs. The DIMM-PC/586 (Figure 17) is based on a ZF Micro ZFx86 system-on-chip processor and includes 32MB SDRAM and 32MB Flash memory, plus interfaces for 10/100 Mb/s Ethernet, USB, two serial ports, parallel, keyboard, floppy and IDE. Additional models are based on 486 and 386 processors. See http://www.jumptec.de/.
Figure 17. JUMPtec DIMM-PC
LART: the LART is an ``open licensed'' small SBC (4" × 3") design from the Technical University of Delft (the Netherlands). It is based on a 220MHz Intel SA-1100 StrongARM and includes 4MB Flash and 32MB DRAM memory, serial and parallel ports and bus expansion. Expansion boards provide Ethernet, USB, keyboard, mouse, touch input and video. See http://www.lart.tudelft.nl/.
Figure 18. LART
SNMC QS850: a tiny (3.1" × 2.1") networked PowerPC SBC based on a Motorola MPC850. Includes 8-64MB SDRAM, 2-16MB Flash, up to two Ethernet ports, three serial ports, up to 64 channels HDLC and 49 digital I/O lines. Supported by SNMC's QSLinux Embedded Linux. See http://www.snmc.com/.
Figure 20. SNMC QS850
SSV DIL/Net: a tiny (3.2" × 1.1") networked PC-compatible SBC based on an AMD ElanSC410 that plugs in to a standard 64-pin JEDEC dual-row socket. Includes 2MB Flash, 8MB DRAM, serial, digital I/O, watchdog timer and 10Mbit Ethernet. See http://www.ssv-embedded.de/.
Figure 21. SSV DIL/Net
Strategic Test MAX-PC: a matchbox-sized (2.3" × 1.2") SBC based on a 100MHz 486 processor plus 16MB RAM and 16MB Flash. Onboard controllers handle VGA, RS-232 serial, parallel port, timers, keyboard, IrDA and PCMCIA. See http://www.strategic-test.se/.
Figure 22. Strategic Test MAX-PC
Techsol Medallion: a family of tiny (four square inches) SBC modules. The HY7201 is based on a 60MHz ARM-720T RISC processor and includes 32MB of SDRAM and a 32MB DiskOnChip Flash disk, plus built-in controllers for two UARTs, CRT/LCD VGA, touchscreen, IrDA, USB (host and device), multimedia card and GPIO. See http://www.techsol.ca/.
Figure 23. Techsol Medallion
TQ-Components TQM850: a tiny (2.1" × 1.8") SBC based on a 50MHz Motorola PowerPC MPC850. Includes up to 8MB Flash and up to 64MB SDRAM, plus dual-serial and dual-CAN (field bus) interfaces. Expands via a 120-pin board-to-board connector on bottom. See http://www.tq-components.com/tqc/tqc_produkte_ns_e.html.
Figure 24. TQ-Components TQM850
Rick Lehrbaum (email@example.com) created the LinuxDevices.com and DesktopLinux.com web sites. Rick has worked in the field of embedded systems since 1979. He cofounded Ampro Computers, founded the PC/104 Consortium and was instrumental in creating and launching the Embedded Linux Consortium.