Computer-on-module technology has been known to ease the designer's woes by allowing him to concentrate on custom I/O while just plugging in the compute power. Adding PCI Express to the mix on the I/O board, however, should be approached with caution.
Over the past several years, computer-on-module (COM) products have become the rage of the computer board industry. Embedded developers have embraced COM solutions that combine the convenience of an off-the-shelf CPU with the flexibility of a custom baseboard design. This approach has a number of advantages over a standard, fixed form-factor, off-the-shelf single board computer (SBC). At last count, Venture Development Corporation was tracking over 40 vendors of COM products, and the market is expected to reach $400m by 2008.
COM products are relatively new to the computer board industry, first appearing in the late 1990s. Designs have exploded with the advent of industry standards in the COM space such as the ETX format introduced by Kontron in 2001. But the concept is hardly new. The original PC/104 literature documents the use of a PC/104 CPU as a 'CPU module,' plugging into a baseboard (Figure 1). However, PC/104 module designs typically only bring the system bus (ISA or PCI or both) to the baseboard. Standard products bring other I/O off the module via cabling. The innovation of the COM concept is that all I/O is brought to the baseboard through sleek, well packaged and standardised connector schemes. I/O can be routed to an OEM-chosen connector in a custom location on the baseboard or ignored if not used in the design. In those cases where semi-custom PC/104 cards with 'stack-through' connectors brought I/O to the baseboard, the connectors were usually custom to the particular baseboard design.
COM products have similar features and functions to popular SBCs. Processors, chipsets, serial ports, Ethernet, video, IDE and floppy controllers are pretty much common between COM products and SBCs. The key differences between COM products and SBCs involve the way onboard I/O is brought to the 'real world' and the way the system is expanded with additional I/O.
Connecting I/O devices: SBC vs COM
With an SBC, I/O is brought off the board through a set of connectors and cables are attached directly to them. In some cases, these connectors are 'PC-style' allowing a CRT or USB device to connect directly to the board (Figure 2). In other cases, these connectors are pin-headers, requiring a transition cable with a PC-style connector at the end that mounts to an enclosure bulkhead or a pin-header that connects to another PCB (Figure 3). In either case, the SBC is a fixed form-factor and the designer must accommodate his enclosure and cable scheme to match that of the SBC.
With a COM module, I/O is brought to a baseboard that is developed by the OEM. This custom baseboard may be in a form-factor that best fits the application/enclosure, using connectors and connector locations that match the particular needs of the design in question.
SBCs are expanded through a standard bus interface and standard, off-the-shelf expansion cards. For example, EBX and EPIC SBCs are expanded using one or more of the hundreds of off-the-shelf PC/104 I/O cards available in the market today. Designers with custom I/O requirements would design a custom PC/104 I/O card to provide the needed I/O functionality. Each of the expansion I/O cards has its own connector scheme that needs to be accommodated, either through enclosure design or through transition cables.
With COM modules, all the expansion I/O is placed on the custom baseboard. This places the I/O design burden on the OEM, since off-the-shelf I/O expansion cards frequently cannot be accommodated on a custom baseboard. However, it also enables the OEM designer to incorporate the specific I/O desired, in the specific configuration desired, and to include the connectors for the expansion I/O as part of the overall baseboard design.
The bottom line, then, is that COM modules offer significant advantages in terms of flexibility and improved cabling, but at the cost/complexity of a baseboard design and a potentially longer development cycle. In addition, a two-board solution is almost always more costly than a single board computer with the same functionality.
COM wins, almost
The market has voted. COM is incredibly popular. Yet, the tried-and-true SBC is a long way from disappearing. In 2004, the first new active backplane SBC standard to be introduced in almost eight years reached the embedded developers. EPIC, the embedded platform for industrial computing, was created by five leading SBC vendors (Ampro, Micro/SYS, Octagon, VersaLogic and WinSystems). EPIC brings forth a standard that is between PC/104 and EBX in size and that allows more functionality on an SBC than can be placed on a PC/104 CPU, but is still significantly smaller than an EBX or ATX board in footprint. In a single year, EPIC has gained significant attention and market share and has been touted as the mid-size standard that will absorb opportunities previously split among non-standard 3,5" and 5,25" (89 x 133 mm) biscuit boards. EPIC is the bright future of the SBC market.
EPIC SBCs and COM products coexist peacefully in a growing off-the-shelf board market where OEM design expertise, design time frames and design and product costs drive solutions either to the COM side or the EPIC SBC side. But on the horizon lurks a threat that could drastically change the balance between these two approaches for designing with off-the-shelf board-level solutions.
Our industry is at the beginning stages of a bus revolution. We started with a de facto, undocumented industry standard bus called ISA that has become nothing less than ubiquitous in tens of thousands of embedded applications. It is inexpensive, easy to design with and has thousands of off-the-shelf chips and cards that can be used to build a complete system quickly. It is an ideal way to implement slow, inexpensive I/O such as analog or digital I/O ports. ISA's drawbacks are its speed and the number of pins needed for a full implementation. In the mid '90s ISA was supplemented by the PCI bus, a true industry standard that cranked up the performance.
Within the active backplane embedded board world, ISA continues to be a mainstay. PCI has made small continuing inroads and continues to grow. PC/104 added the PCI bus to become PC/104-Plus in 1997 and the PCI-only PCI-104 standard in 2004. But the PCI-based PC/104-Plus and PCI-104 market is only just now overtaking the ISA-only PC/104 market in size. PCI gave us speed, but at the cost of added complexity in both the hardware and software implementation.
Enter PCI Express
In today's world of multigigahertz processors and gigabit-plus network interfaces, PCI is just too slow for some I/O functions. Emerging from the battle of what is next is PCI Express, an ultra-high-speed serial point-to-point interconnect designed to take us through the next decades. We are at a truly exciting time as this technology emerges. Unfortunately, at the same time, chip manufacturers have been moving away from the venerable ISA bus. Board manufacturers who are extremely sensitive to legacy issues among their customer base are faced with increasing challenges in continuing to provide ISA support on new products. But that is another topic.
The question for today is how the emergence of PCI Express will affect the COM vs SBC issue, particularly in the short term. The COM camp (and, to be clear, many vendors are in both camps) has come up with their first PCI Express entry, known as COM Express, an upcoming initiative of PICMG, which defines a form-factor, 'connectorisation' and pin definitions for a family of COM products using the PCI Express architecture (Figure 4). On the SBC side, the people who brought out the EPIC standard in 2004 promoted the standard as a 'bridge to the future,' a standard designed with future migration to PCI Express in mind. While an EPIC Express specification has yet to be viewed publicly, some generalisations can be drawn about how these two different types of solutions might be compared in the marketplace.
Both a COM product and an SBC with PCI Express capability have the ability to make use of PCI Express on the board itself. For example, if either product has an onboard Gigabit Ethernet controller, it would make sense to use a controller that would interface to PCI Express (as opposed to, say, the PCI bus), providing the maximum performance for the controller. Other onboard high-speed I/O would also be expected to use the onboard PCI Express bus. Just as with PCI, these onboard devices grab a device 'slot' that is no longer available for off-board expansion. For example, if an onboard PCI Express video controller uses the x16 PCI Express 'slot' reserved for video, it cannot be utilised by expansion logic, either on a baseboard or on an I/O card. This is the simple case.
It gets more complicated when the onboard controller uses a x1 PCI Express lane. A Gigabit Ethernet controller is a good example here. The current PCI Express chipset of vogue, the Intel 915GM, otherwise known as Alviso, offers four x1 PCI Express lanes from the ICH6 Southbridge. One of these ideally would be useful for our onboard Gigabit Ethernet controller. Three are left. However, the four x1 lanes on the ICH6 could also be configured as one x4 lane. Furthermore, use of one x1 lane on the board effectively prevents using a x4 device on the baseboard or I/O expansion card. So, with PCI Express it is more important than ever to understand the bus usage by on-board peripherals and how they might conflict with expansion peripherals.
Unlike PCI, PCI Express is a point-to-point bus. Devices utilised on the COM module or SBC cannot be recovered on an expansion module or baseboard as they can with PCI through the use of a PCI-to-PCI bridge. Once they are used, they are gone. Hence, decisions made by the board supplier could very well limit the I/O expansion capability. This is surely the reason the COM Express designers came up with five different I/O configurations and pin definitions to support multiple sets of needs from an I/O expansion standpoint.
Custom PCI Express I/O: A challenge for the best of us
Things really get interesting when the design of a custom baseboard or I/O expansion card starts. COM products, as we discussed earlier, require the OEM to design and manufacture a custom baseboard to 'host' the COM Express CPU module. SBCs, on the other hand, are typically expanded via an off-the-shelf expansion card. In an EPIC-type architecture, the solution will most likely involve the ability to stack one or more PCI Express I/O expansion cards on an SBC, similar to the way that PC/104 I/O cards stack today. Issues facing an OEM designer will revolve around the choice of I/O expansion cards and how their configuration matches the lane architecture made available from the SBC.
COM Express, however, requires the OEM to design a custom baseboard. This now becomes effectively a custom-designed PCI Express I/O expansion board. Many COM baseboards that have been designed and put into production to date make effective use of the onboard ISA and/or PCI bus. Attaching devices to ISA is relatively simple. Even PCI-bus expansion has become relatively well defined and well known among hardware design engineers. The complications more often occur on the software side. PCI Express hardware, however, is a new animal - and a ferocious one at that. In terms of speed alone, 2,5 GHz is nothing to sneeze at.
The use of differential signal pairs helps the design to be more robust, but meticulous attention is required to matching trace lengths, placement of grounds, trace widths, impedance matching and so on. Layout is critical and debugging uses new tools. This is not a design for the faint of heart. So, while most embedded design engineers would have no problem with an ISA-based design, and many would be able to successfully implement a PCI-based baseboard, a PCI Express design would be a struggle for most embedded designers today.
The literature is already full of cautions offered by industry observers worldwide. Perhaps it would be an important learning process for the design engineer, but it could be in fundamental conflict with the need to ship product in a reasonable time frame. Given the potential pitfalls, even the great benefits of a COM-based design are overcome by the difficulty and risk associated with a new PCI Express baseboard design. In fact, for the foreseeable future, many COM Express baseboard designs are expected to be designed under contract by the COM Express suppliers themselves, adding further to development cost. At least for the next several years, an off-the-shelf SBC-based solution for PCI Express represents the least risky and most cost-effective way to put a PCI Express-based design into a new embedded product.
Why PCI Express now?
But all this begs a more basic question. Why implement a PCI Express design today? This may be the greatest expansion bus since sliced bread (or at least since PCI), and will be the technology that takes the industry through the next 10 or 20 years. It certainly has generated all the hype you could possibly want or expect from an Intel-driven standard. But a bus is only as good as the functionality you stick at the other end. Aside from hot-shot fancy video, Gigabit or 10 Gigabit Ethernet or maybe some frame-grabber technology, there is not much silicon available to stick at the other end of a PCI Express bus today. The problem is finding functions that require such a high level of performance.
PCI Express is not a good place for GPIO signals or analog I/O. Designers certainly would not need to put a USB controller on a PCI Express bus, even USB 2.0. In fact, I am willing to bet that a majority of us embedded geezers would much rather have ISA bus support in the latest chipsets than PCI Express support. Unfortunately, the hype and the chipset vendors do not respond to us embedded folk and we get the pleasure of struggling along with droppings left over from the desktop world.
So, the message is this. Use PCI Express only if absolutely necessary. Keep the hype out of your planning cycle. Make sure you have silicon to put at the end of the bus that you really must have to make your application fly. If you do decide on a PCI Express implementation, approach a COM Express design with major caution. The design will challenge you in many ways and your schedules could go out the door in a heartbeat. Take a careful look at PCI Express SBCs (such as Ampro's new MightyBoard 820) and off-the-shelf I/O expansion cards coming to market over the next 12 to 18 months to determine whether these can potentially meet your application requirements. Give yourself as much chance as possible to succeed along with a platform on which you can learn more about this wonderful new technology.
For more information contact Jaap Willemse, Electronic Products Design, +27 (0)11 665 9700.
Tel: | +27 12 493 0852 |
Email: | [email protected] |
www: | www.epd.co.za |
Articles: | More information and articles about Electronic Products Design |
© Technews Publishing (Pty) Ltd | All Rights Reserved