2006-12-04

Smaller Footprint x86 Embedded

Work-in-Progress: 2006 December - 2006 January

Most of the embedded systems development work I've done during my career has focused largely on non-x86 compatible systems. Specialized, custom, low-power, low-thermal, small systems with 68k, ARM, MIPS, Power[PC] and XScale in more recent years, and even some more eccentric before that. But when it comes to lower-volume, commodity-off-the-shelf solutions, there are many options available to developers.

Overview:
  • Commodity x86 Embedded Form Factors
  • Commodity x86 Embedded Processor Sockets
  • Commodity x86 Embedded Interfaces and Peripherals
  • What x86 Embedded Should and Shouldn't Do
  • Solid State Boot Options and Issues
  • Sample of Today's Commodity Products

Commodity x86 Embedded Form Factors

[ need to add drawing of MicroATX v. Mini-ITX v. 5.25" SBC v. 3.5" SBC against standard-size ATX in enclosure ]

I'm not going to even attempt to cover all of the available form-factors that x86 products are available in. That would take many, many blog articles. Intel's Embedded Computing Small Form Factors, is a great starting point for looking up any form factors I cover here, plus many other, often smaller, options.

ATX Compatible: MicroATX (9.6x9.6")

MicroATX is clearly not an embedded form-factor, but it is commonly used in x86 embedded prototyping and provides as good "basis" where to start as most PC technicians are at least familiar with ATX (12" wide x 9.6-13" deep) and its 6" wide face-plate for external, user-accessible ports.

MicroATX has traditional ATX faceplace compatibility, the first 6", with another 3.6" for up to 4 vertically standing slots, a total of 9.6 wide. In a nutshell, it is 12" wide ATX with "3 slots chopped off." MicroATX should not exceed 9.6" in depth, making it no more long than it is wide (9.6x9.6" square), although it is commonly only 8.0" deep. Prototype MicroATX boards often have just about every interconnect on-board, in addition to traditional slots of most (if not all, many gone from newer PC systems) types. See the next section on those. MicroATX prototyping boards are often used as a base-board for ETX (see below or the aforementioned Intel page).

For completeness (in case you run into it), FlexATX is a variant of MicroATX that is only 7.5" wide (sometimes 7.5x7.5" square, although commonly the same depth as MicroATX, a resulting 7.5x 9.6"), with up to 2 vertical slots. It was a lesson common, but popular "low-cost" desktop option that has been replaced by Intel in the last 2 years by the slightly wider (10.5") and changed-orientation (when sitting vertically in a tower for thermal considerations in the expansion and CPU areas, long story) PicoBTX. And despite Intel's main, new value form-factor for OEMs being 10.5x10.5" MicroBTX, MicroATX is still far more popular. Neither FlexATX nor any of the newer BTX options are are popular for prototyping embedded today, and especially not for embedded given the next ATX compatible option.

ATX Compatible: Mini-ITX (6.7x6.7" / 170x170mm)

Mini-ITX has become quite popular over the last 3-4 years as the smallest ATX face-place compatible solution, and is virtually always 6.7" square. Unlike MicroATX or similar, desktop-centric form-factors, Mini-ITX was designed for the smallest footprint/entry-level embedded size PC. The width is the standard 6" for the ATX face-place, with just enough width left for a single, traditional, vertical expansion slot.

Using no or a low-profile card in its slow, the form-factor fits in as small as a 7x7" enclosure less than 2" high -- essentially not much more than ATX faceplate dimensions. Indeed the size difference between a 9"x11"x14" MicroATX cube and a 7"x7"x2.7", of which (the added 0.7" height above the ATX face-place) allows for an internal 2.5" notebook hard drive and a slimline DVD-RW optical drive, is quite massive as a previous blog article of mine last year contrasts quite effectively in just a few snapshots.

[Embedded] Single Board Computer ([E]SBC): 5.25" (6"x8")

The designation of the 5.25" SBC (aka ESB[C]) comes from its size relative to the dimensions of the common PC 5.25" disk drive, 6" wide by 8" deep. Although much of this designation owes itself to storage solutions, it is a common form-factor for countless embedded platforms where no traditional, external face-plate is used. Indeed, in most cases, a limited set of ports are physically connected, and most ports (sometimes quite extensively) are optional pin-outs with included or optional cabling. On-board ports are usually on the edge of long side, so even when connected, the 5.25" SBC will fit in a complete 8x8" enclosure, such as a NEMA 4X enclosure (rated for outside usage), with only those few ports needing cut-outs with air/water-tight gaskets.

Another note on SBC versus most Mini-ITX is power input. Most Mini-ITX requires standard and varying +3.3/5/12V 20-pin ATX 1.0 power input (although some do not), whereas most SBC systems vary widely. Some take a single +12V, others a dual +5/12V, yet others may even take variable voltage and yet others might take as high as +48V.

[Embedded] Single Board Computer ([E]SBC): 3.5" (4x6" / 102x145mm)

The next, obvious and popular SBC form-factor is the 3.5" SBC. Designed to fit in the typical 4x6" PC 3.5" disk drive bay, it is probably the smallest, massed produced form-factor for x86 for embedded applications without getting into vendor-centric form-factors. The 3.5" SBC is smaller than Mini-ITX, has limited ports like its bigger brother, but is still big enough to offer countless pin-out headers, a good helping of various interconnects (such as ETX, PC/104, etc...) and interface options.

Common Interconnect Form-Factors Used on Other Form-Factors

One note I want to make on form-factors is that some form-factors that are built around commonly known interconnects (some stackable, some not), but are also and quite commonly available as options on larger form-factors. E.g., even though PC/104 (including PC/104 Plus) is a known, embedded form-factor (90x96mm), it is also an interface you can find on 3.5" SBC, among others.

Other form-factors are not completely usable units on their own, and require additional support. E.g., the Embedded Technology eXtended (ETX) is a "brains" board that uses up to four (4) 100-pin connectors (one set in each corner) to connect to its "base board," commonly a 3.5" SBC or larger, with pin-outs and additional peripherals. In fact, ETX is a great prototyping and even limited production option where you are evaluating different "core logic" options (Eden v. C3 v. Geode LX v. Geode NX v. ULV-Celeron v. Yonah, etc...), but you have found a "base-board" that supports your peripheral/interface needs (which can get eccentric). Furthermore, it's not uncommon to see a 3.5" SBC model and find out it's a baseboard plus ETX module atop, which several manufacturers do to minimize costs/maximize reusability across multiple processors/chipsets as well as different peripheral options (e.g., optional CardBus/PCMCIA and/or CompactFlash, extra serial ports versus other options, etc...) even though they don't separately sell the 3.5" SBC "baseboard" from the ETX module.

Again, start with the aforementioned Intel link for more on PC/104, ETX and other common interconnects with their own form-factors as well as when used as an interconnect atop of other form-factors.

Commodity x86 Embedded Processor Sockets

While some PC technicians are familiar with older and newer PC desktop and, to a lesser extent, server sockets, commodity processor sockets for Embedded PCs are typically different.

Socket-370 for Intel ULV Celeron/Pentium and ViA Eden/C3

Socket-370 is a rarity in the Embedded PC world now, but it needs to be addressed. For the most part, the legacy GTL+ bus with SDR (single data rate) SDRAM used by both Intel Ultra Low Voltage ([U]LV) Celeron and Pentium processors (based on Pentium II/III generation) and ViA Eden/C3 products are rarely offered in a Socket-370 PPGA or FC-PGA flavor. Most of the time both Intel and ViA release these processors ball grid array (BGA) packages directly solidered on the mainboard itself.

ViA's GTL+ bus solutions offer DDR SDRAM support, even though the "front-side bus" to the processor may only be SDR SDRAM. This is because the chipset integrated graphics processor unit (GPU) may utilize main memroy as well.

Socket-462 (A) for AMD Athlon XP-M and Geode NX

About the only "cross-over" product from the desktop to the embedded world is AMD's Geode NX. Not to be confused with the Cyrix-National Semiconductor lineage, including AMD's own Geode LX and earlier products, the Geode NX is a Thoroughbred-Barton generation, 9-issue, but ultra-low voltage (ULV) Athlon core. Although one has to take care when it comes to the Geode NX, as its voltage requirements and jumpers do not match those of standard Socket-462 processors, but those of the Athlon XP-M[obile].

Reference this most excellent article for more information on the voltage/keying-jumper differences between desktop Socket-462 and mobile/embedded Socket-462.

Socket-S1 (638) for Sempron Mobile, Turion 64 and Turion x2

AMD has moved away from its value desktop and mobile Socket-754 with DDR SDRAM support to its new, dedicated Socket-S1 with 638-pins and DDR2 SDRAM support for portable and embedded PC solutions. Socket-S1 could be considered the "sister" of Socket-AM2 (940-pins), which is AMD's new, unified (both value and performance) desktop DDR2 SDRAM platform. Sempron Mobile, Turion 64, Turion x2 and virtually all future AMD mobile and embedded (you can safely assume a future Geode product) will be featured on the Socket-S1 platform with DDR2 support and a single, HyperTransport tunnel for I/O, graphics and access to additional CPUs.

Socket-479 (Yonah/Merom) for Pentium-M, Core and Core 2

The "rebirth" of the Intel 7-issue Pentium Pro architecture into the "Core" platform in the aftermath of the NetBurst/Pentium 4 performance/thermal issues begins with the Pentium-M[obile], the original Socket-479 platform. The Socket-479 platform, with upgraded DDR2 support over Socket-370, adapted the last, Pentium III design (7-issue + 1-SSE pipe) into the Pentium-M design for portable and embedded solutions. The original, Intel Yonah series of products, better known as Core, was introduced on the same platform. The newest generation, Merom series -- better known as Core 2 -- is yet the latest implementation of the Socket-479 platform.

When it comes to Socket-479, it is important to note exactly what Socket-479 implementation is in use. Although most older Socket-479 platforms support the Pentium-M, fewer support Yonah/Core and even far fewer the latest Merom/Core 2 products. This is not unlike the issues on the desktop with various processor support for LGA-775, where most existing LGA-775 implementations do not support Core 2 -- although Core was never release for LGA-775 (which simplifies things a little bit).

Commodity x86 Embedded Interfaces and Peripherals

When dealing with embedded form-factors, minimizing the size of any expansion options and add-in peripherals is essential. As such, here are several interface options to be aware of on various ATX-based and SBC boards. When I mention size, this is the width of the connector, and not necessary any limit on the overall size.

PC/104 and PC/104 Plus

Although now very rare, it is not too infrequent to see an embedded platform offering PC/104 connections. The PC/104 portion of an embedded board, such as a 3.5" or 5.25" SBC, will fit in 90x96mm (typically near one end of the board). The original specification called for 104-pins for 8-bit ISA, extended to 146-pins for 16-bit ISA -- all 100mils spacing (0.1"). PC/104-Plus adds 120-pins of 50mils spacing (?) for PCI. Although an even newer PCI-only specification removes the ISA pins to regain real-estate, it is rarely seen in embedded. Most systems now favor Mini-PCI connectors to add a few, necessary

Mini-PCI (60mm)


Mini-PCI almost looks like a SO-DIMM memory socket, but it's not. It's a commonly a 32-bit, 33MHz PCI slot (although other width/speed options exist, but are very are) on a shared PCI bus (133MBps), but saves a great amount of mechanical room. A major driver of Mini-PCI was the need for interchangeable communication devices (modem, network, wireless, etc...) on portables, such as notebook computers. The same holds true for embedded.

One thing to note is that while 32-bit CardBus and 32-bit PCI share some similarities, CardBus is not a PCI bus, even though CardBus it is commonly bridged from PCI. CardBus was designed to be mechanically compatible with PCMCIA (designed for ISA-generation systems) and offer backward compatibility.

CardBus (and PCMCIA)


PCI Express Mini CEM (30mm)

The PCI Express Mini Card Electromechanical (CEM) design, aka Mini PCI Express (or Mini PCIe), is almost a PCIe (a dedicated, 3GHz, bi-directional per x1 bit ~ 250MBps per x1 bit at 8/10 data encoding serialized interface) slot turned on its side with a more SO-DIMM like connector (NOTE: the PCIe CEM specification has a reservation of many pins, including for a second channel, so it's capable of PCIe x2 or ~500MBps). Quite perfect for PC portables, the Mini PCIe interface allows two 30mm wide expansion modules in the same width as one 60mm wide Mini PCI device. And unlike Mini PCI with CardBus, the latter maintaining backward compatibility with PCMCIA (and ISA electrical/voltage) which had to be bridged to PCI, Mini PCIe has a direct relationship with not only PCIe slot, but the ExpressCard standard for external add-on cards (a good contrast in the design difference is illustrated here). An external ExpressCard/34 (34mm wide) device is basically the same as an internal Mini PCIe card.

LVDS Flat Panel Interface


Parallel AT Attachment (ATA)


CompactFlash


Other Options


What x86 Embedded Should and Shouldn't Do


Solid State Boot Options and Issues


Sample of Today's Commodity Products


3 comments:

Donte said...

I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.


Joannah

http://transcendmemory.net

wow power leveling said...

Americans everywhere humor A detention wow gold notice was written like this: a wow power leveling police car with stones, to win wow gold the detention center for seven wow power leveling days all-inclusive accommodation replica rolex Tour Value; hit send 2 a beautiful bracelet, wow power level fashionsuit, police transport; more more surprises , the former can enjoy free shaved 10; before the 100 can play with power leveling the dogs, the guests were presented massage sticks, electric shocks to CHEAPEST power leveling the dead skin beauty care services.

Adi said...

Oes Tsetnoc one of the ways in which we can learn seo besides Mengembalikan Jati Diri Bangsa. By participating in the Oes Tsetnoc or Mengembalikan Jati Diri Bangsa we can improve our seo skills. To find more information about Oest Tsetnoc please visit my Oes Tsetnoc pages. And to find more information about Mengembalikan Jati Diri Bangsa please visit my Mengembalikan Jati Diri Bangsa pages. Thank you So much.
Oes Tsetnoc | Semangat Mengembalikan Jati Diri Bangsa