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.
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.
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.
- Nmap—Not Just for Evil!
- Resurrecting the Armadillo
- High-Availability Storage with HA-LVM
- March 2015 Issue of Linux Journal: System Administration
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- DNSMasq, the Pint-Sized Super Dæmon!
- Localhost DNS Cache
- Days Between Dates: the Counting
- The Usability of GNOME
- Linux for Astronomers