Power Trio: Three Diverse Embedded Linux SBCs
The world of embedded Linux single board computers (SBCs) has greatly expanded in this past year. We now see complete systems on single boards, which due to higher levels of integration has led to new application areas like independent servers, small networked appliances, networked storage and kiosk terminals.
Reference data on other Linux SBCs is tallied in Table 1. SBCs are also covered in previous issues of ELJ. Doug Stead's article ``Embedded Design with the MZ104'' in the November/December 2000 special issue of ELJ is a complete introduction to embedded systems that emphasizes the PC/104 hardware form factor and the MachZ high-integration microprocessor.
In this article, we see how more recent trends have enabled new applications for embedded Linux and how the influx of Linux has led to some interesting possibilities for interoperability with proprietary systems. Reciprocally, it also is becoming clear that open-source software like Linux has produced profound changes in the system engineering of embedded products, now that higher integration technology has become available. Higher integration technology along with Linux are providing time-to-market advantages necessary to reduce the engineering challenges inherent in integrating new microprocessors into deployable embedded systems. We begin first with a well-known SBC vendor.
Ampro Computers, Inc. is no stranger to embedded computers, having existed since 1983. Ampro, based in San Jose, California, pioneered the embedded PC industry, having created the popular PC/104 and EBX standards. ``Linux has come out of nowhere to huge proportions'', said Paul Rosenfeld, chief technology officer of Ampro. ``It brings in a level of standardization that had not existed before.''
Ampro has three new products called EnCore. Three new SBCs join an older fourth one to provide processor offerings in one pin-compatible form factor. These SBCs are relatively small boards, about 3.5" × 5.0". Each EnCore SBC provides standard peripherals. Included are PS/2 keyboard and mouse interfaces, 10/100Base-T Ethernet, serial, parallel, two USB UHCI ports and AC97 sound. For program storage, 2MB of Flash is provided, Ultra/DMA 33 IDE or floppy can be accommodated. Depending on the model, EnCore boards can hold between 16MB and 512MB of SODIMM DRAM, provided for dynamic storage.
The EnCore M2 is Ampro's first RISC-based SBC. This board is shown in Figure 1, and as you can see, it's fairly small. The RISC processor is a 400MHz Au1000 from Alchemy Semiconductor, Inc. The Au1000 offers high integration, bundling a MIPS32-compatible processor core with an external PCI bus controller and standard peripherals. This Au1000 only requires 500mW of power. The M2 SBC is priced under $300 US in volume.
Ampro's two other new products are the EnCore 400 and EnCore 700 (the EnCore 400 is shown in Figure 2). These are pin-compatible with the EnCore M2 but are intended for PC-compatible binaries. The EnCore 400 is a 133MHz 486-based CPU, based on the ST Microelectronics STPC ATLAS microprocessor. The EnCore 700 uses either a 500MHz Mobile Celeron or a 850MHz Pentium III processor. Both of these SBCs also have a graphics controller for both CRC and TFT flat-panel interfaces. The EnCore 400 is priced under $300 US, and the EnCore 700 is under $500 US in volume.
vendors. We provide them with necessary Board Support Package (BSP) data, so they can help our customers get up and running quickly.'' Ampro's top customers are sophisticated OEM developers in medical electronics, industrial automation and test instrumentation, Rosenfeld indicated:
They typically already have a technical application in mind and want to leverage PC-based development tools for rapid time-to-market. By positioning ourselves as a system-on-a-chip company that happens to use a fiberglass substrate, we are able to fill the need for volumes below that of a semiconductor company but offer SBCs to OEMs at less cost and development time than in-house development would take.
The effects of integration with new products like these can be seen. EnCore modules can be placed onto a reference design board (see Figure 3). This form of connectorization typifies the application board for an OEM, which would contain unique hardware for their system. Such levels of integration are lending credence to Rosenfeld's idea that SBCs today have become a system component. This approach contrasts starkly with mezzanine board solutions like larger PC/104 systems. Fewer connector interfaces are involved, and this results in lower cost and smaller size.
Equipment Monitor and Control, or EMAC, Inc., has been around since 1985 and is based in Carbondale, Illinois. They have offered Linux distributions to the embedded systems market since 1998 and provide turnkey engineering solutions for customers as well as SBC hardware for OEMs constructing their own systems.
EMAC SBCs are used in process-control applications that require fanless operation and extreme reliability. Eric Rossi, chief engineer, described a project where embedded Linux provided 0.1 degree temperature control and 24/7 reliability for hatching some 50,000 chickens or turkeys within a ten-minute window for GSI/Cumberland Hatcheries. ``GSI/Cumberland's old hatchery system required that they fly around the world to the remotest parts of the earth to troubleshoot their hatchery systems'', Rossi said. ``The new system developed by EMAC allows GSI to troubleshoot the system via the Web, or where the Internet is not available, to dial in directly to the system, similar to dialing into an internet provider.''
Figure 4 shows the EMAC PCM-53E30, a compact EBX board with single or dual 10/100Base-T Ethernet. It is based on a 133MHz ZFx86 processor. This SBC is 5.75" × 4.00" and weighs 0.38 lbs. A 144-pin SODIMM socket is provided for up to 256MB of SDRAM. 16MB of RFA StrataFlash is provided, and there is an onboard socket that supports up to 256MB of CompactFlash disk.
The PCM-53E30 provides two RS-232 serial ports, one of which can be optioned for RS-422/485. This is very important in monitoring or control applications, which often work in electrically noisy environments (think huge three-phase AC heaters). There is an FDD port for up to two floppy drives, keyboard/mouse connector and a lithium battery-backed up real-time clock. To provide greater expansion, the PCM-53E30 also provides a PC/104-Plus onboard connector. The PCM-53E30 is priced at $285 US per unit.
To provide a programmable web-enabled control panel for embedded Linux applications, EMAC, Inc. has the PPC-E5 Compact Panel PC, which is shown in Figure 5. This is a 6.18" × 4.4" × 2.0" SBC mated to a 5.5" STN color LCD with resistive touchscreen. It requires no fan. The display has QVGA resolution of 320 × 240 at 256K colors, and the display controller can support CRTs and LCDs concurrently. The processor is a 133MHz AMD 486DX5, with a RadiSys R400EX chipset. The 10Base-T Ethernet controller uses the SMC 91C96, and up to 64MB of 72-pin SIMM EDO DRAM can be provided. Linux is provided ready to run on up to 288MB of Flash. Again, typifying industrial automation use, there are two RS-232 serial ports, one convertible to RS-422/485. Ports for up to two FDDs and a PC/104 connector are provided for expansion. The PPC-E5 is priced at $995 US per unit.
EMAC offers a Linux 2.4 kernel optimized for Flash memory, USB and enhanced networking for PC-compatible SBCs. Bill Hummel, director of marketing at EMAC, explained that ``the Flash footprint is only 6.5MB, leaving more than 1MB free for applications with 8MB Flash.'' This distribution uses glibc 2.3, offering binary compatibility with Red Hat 7.1 and other distributions. It also has ``a GPL-compliant disk-on-chip driver'', Hummel said.
The EMAC hardware typifies an alternative extreme in embedded Linux applications. Larger local Flash storage is provided, and Linux actually runs from there, so the Flash does not necessarily provide only a boot loader for Linux using a network or moving disk. This is because the application must run extremely reliably, with zero moving parts. Local software provides fault tolerance, possibly under conditions of interrupted network services. Rossi explained that ``we have provided modifications to Debian to provide self-bootable Linux applications from Flash, where there is security for read-only portions of Flash that coexist with read/write portions.''
Now for some raw embedded Linux power. Like the other two vendors, Team ASA, Inc. of San Diego, California has been around since the 1980s. They are a manufacturer of high-performance networking products for prepress and digital multimedia. They build products to support people who use very large files all day long in their production work flow.
Mark Murray, president of Team ASA, explained how they got their start:
We started out as a contractor for a famous animation company that really needed a hardware project completed to the end, after it had been abandoned. We did a lot of high-end imaging cards and worked a lot with high-end Macintosh applications. Over time, we began to notice that our clients needed truly high-performance networking, due to the size of their files, so we got into that.
Murray explained that they were the first company to offer FDDI boards for Macs. Later, they began offering 1000Base-T Ethernet peripheral cards. ``We decided to do something with high performance and much wider appeal. That's when we selected Linux for network-attached storage, RAID and personal servers'', said Murray.
The Npwr Linux Engine, shown in Figure 6, has awesome features for a Linux SBC. It uses the Intel XScale RISC-based I/O processor, otherwise known as the Intel 80310. The device is superpipelined; it has a multiply-accumulate coprocessor and a 100MHz I/O bus supporting up to 64 bits, with ECC. The processor has software support for clock frequency control--incredibly it only needs 750mW at 333MHz. Npwr supports three processor versions: 400MHz, 600MHz and 733MHz. The XScale processor is application code-compatible with the StrongARM SA-110 and is ARM version 5TE-compliant.
Npwr comes with ready-to-run Linux on 4-32 MB of Flash, plus a toolkit disk CD-ROM. It is sold stock with 128MB PC1000 SDRAM, with options to 512MB. In addition to a hot processor, this board supports wicked-fast I/O. It comes with Gigabit Ethernet, providing 1000Base-T over copper. It also has 320/160MB/s Wide SCSI. Murray indicated that an option to have a second Gigabit Ethernet port will be available soon. The Npwr board is designed to fit in less than a half-height 5.25" disk drive bay, which is slightly smaller than a 5" × 8" form factor. ``That's not a lot of room'', said Murray. The board can be used as a standalone Linux server, an embedded RAID controller or a multiple-unit cluster. The Npwr is priced at $1,195 US for a 466MHz processor, $1,295 US with a 600MHz processor and $1,395 US with a 733MHz processor.
Team ASA also sells a network-attached server appliance based on the Npwr, called Npwr Server, shown in Figure 7. These high-performance standalone servers are intended for prepress and digital multimedia. They are featured in two versions: the 30GB/600MHz version is priced at $1,495 US, while the 60GB/733MHz version is priced at $1,995 US.
Team ASA uses the Debian Linux distribution with kernel 2.4.9. Murray provided some insight on how small things in a processor can have large impacts:
The XScale processor has many advantages, but it doesn't have a snooping cache, like high-end processors supported by the Linux kernel. This means that kernel routines have to be modified to allow concurrent I/O. This has a host of little subsequent effects, up to the driver level.
In the end, Linux proved itself easily adaptable for changes of this nature.
Michael Baxter has been working in computer technology since he was nine, imprinted by a 1969 viewing of 2001: A Space Odyssey. He is an experienced computer architect, system, board and FPGA logic designer. Michael holds ten United States patents in computer architecture and logic, plus four patents as a co-inventor. His Linux-related interests include open-source Verilog and EDA tools, Python, automated source-code generation, concurrency and hardware issues.