Embedded singleboard computers with extended functionalities
This article reviews singleboard computers (SBCs) in various formfactors that can have their functionality expanded by installing extension modules. It is particularly concerned with the possibility of expanding the system with new I/O interfaces or brand new functions that were not initially integrated into SBCs.
By Flemming Christensen, PC/104 Consortium Download PDF version of this article
The term singleboard computer implies a module, including components, built on a single printed circuit board, with all the necessary functionality to be called a computer. For this purpose, it should be capable of executing application programs and possess the means of human-machine interface. The larger the printed circuit board is, the more components it can have installed, making the single board computer more functional. In terms of speed, functionality and number of interfaces available, modern SBCs are far more advanced than the entire computer systems manufactured 25 years ago. Well, that’s the way it should be, and Moore’s Law is still relevant. It is possible that in another 25 years SBCs will be able to replace some server racks of current data centers. But what stays common and what is inherited? A confident answer can be given to this question – the system design principle remains unchanged. Despite significant technical differences, the foundation for building any computing system or module is based on a common principle – interconnection via common interfaces or extension buses, various components and units, each fulfilling its own function.
Figure 1. EBX form-factor with PCIe/104 Expansion connector and integrated MiniPCIe for I/O expansion
At a given point of computing technology development, certain interfaces and extension buses got widespread use. In the age of mainframes, almost all peripheral devices had their own control consoles, often connected with a CPU just using an 8-bit interface bus, physically represented by a set of arm-thick multimeter cables. Introduction of minicomputers enabled to increase the width of a common bus and reduce its length, since all these electronic components fitted in a single rack or several racks alongside. Then, there were bus and modular systems where a common bus was implemented as a passive backplane and CPU and peripheral modules were standardized in terms of their size and the ways they were combined into a unified formfactor. The increase in the hardware components integration level enabled IBM to use a CPU board as a motherboard simultaneously.
Figure 2. The PCI Express Bus stack up/downwards and up to 10x boards is possible, without any buffers and running Gen 3 speed of 8GHz
With the introduction of microprocessors, the technology of interfaces and extension buses usually followed the innovations of microprocessor manufacturers. First, those were 8-, 16-, 32-, and even 64-bit parallel buses, such as ISA and PCI buses, then parallel buses were replaced with high-speed serial buses, and connection topology started to be changed from multi-user bus to the star type topology, with functional nodes connected with each other by separate interface lines using the point-to-point principle. Such a trend had an impact not only on general purpose interfaces, where PCI Express currently prevails, but also on special-purpose interfaces for peripheral devices (SATA, USB etc).
Despite the fact that modern motherboards can operate in the standalone mode, they are not called singleboard computers since their application supposes using extension boards anyway. In addition, since the term singleboard computer is generally used in the embedded systems market, they are also usually subject to additional requirements, appropriate for this type of market, such as the possibility to boot the operating system from an integrated flashdrive, a watchdog timer, the storage of setup parameters in the non-volatile ROM etc.
Notwithstanding that initial functionality of SBCs is often enough for a complete system development, engineers equip them with additional extension possibilities. Why? The answer is simple: the product developed by one company is subsequently used by another. Of course, if an SBC is developed for a particular custom system, the developer can plan all the required functionalities on a single board in advance. However, those vendors who offer their solutions on the open market have no idea about the systems where their equipment will be used. They cannot cover all possible requirements within a single board, neither because of the board size limitations, nor pricewise: not everyone is ready to pay for functions they may not need. This is why vendors do their best to offer a well-balanced set of functions and interfaces aimed at a specific application area and also limited extension possibilities. It should be also noted that the interface possibilities of the chipsets used often go beyond the scope of routing these interfaces through general-purpose connectors, due to the board size limitations, and in such cases it can be necessary to ensure a standard method of using these extra interfaces by means of so-named bareboards.
Figure 3. Industry form-factor 3.5” meets PCIe/104 expansion concept
There are three common methods of extending functionalities of singleboard computers, by riser cards, by extension slots and modules, and by means of stack systems.
1) Riser cards. If current is supplied to any modular CPU board (e.g. Compact PCI), such a board becomes in fact a singleboard computer. In this case it can be extended by relevant peripheral modules connected via a riser card for one or two additional slots. However this approach failed to get widespread use mainly for pricing reasons. There is a more common and cost-effective way of using an edge connector with the singleboard computer, which implements the bus of the personal computer in order to ensure the extension possibility of its functionalities with the help of standard extension boards for personal computers (figure 1). An advantage of such an approach is a vast selection of inexpensive extension boards for personal computers, using simple and price-oriented riser cards that use standard connectors for PCI or PCIe. On the other hand, using such systems is limited by some applications due to their insufficient resistance to mechanical impacts and the narrow operating temperature range of extension boards focused on the consumer market. In addition, the use of the regular extension boards means that the single board computer size itself is rather large (usually no less than MiniITX).
2) Mezzanine extension modules. Various extension modules find a rather wide application with singleboard computers. They can roughly be divided into proprietary and standard solutions. When it comes to the proprietary solutions, the connector type, list of interfaces brought out to this connector and its specific pin assignment are determined by the vendor and are usually used in the vendor’s own developments only. A good example here is the MIO interface by Advantech. There is a relatively large number of standards varieties for extension modules. Those like PMC, XMC, FMC etc.are focused on the Eurocard-based CompactPCI, VME, VPX and other standards, as well as on the basic size of the 3U/4HP board. This results in a too-low-profile solution which virtually fails to find a proper use for the single board computers. In practice, compact extension modules of the following types are more widely used: Mini PCI, Mini PCI-e, mSATA, M2 etc. Mini PCI-e format is well-known due to its compactness, support of up-to-date interfaces and cost-efficient connector, a technology that has been tested with RAM extension modules over a long period of time. By using Mini PCI-e modules (figure 2), some manufacturers provide their SBCs with more than one extension slot. On the other hand, the compact size of such modules prohibits them from implementing complex functions, or placing large-size or high current consumption components on them. The interfaces to the outside world of these modules are usually pin header type small connectors, this is why integration of modules into the system usually requires special-purpose cable assemblies.
3) System stack extension. For the purpose of stack extension, the SBC has a vertical connector to which the extension module is connected, that in return is equipped with a similar connector on its upper part in such a way that enables to place another extension module on the top of it and so on. This means that unlike the option already described, the stack extension technology makes it possible to place several extension modules above the extension connector, rather than placing a single module. This issue will be given particular consideration. The best known of the stack extension systems is PC/104 standard, more precisely the group of standards of the PC/104 Consortium (from this point onward, PC/104 will mean any module of 3.6"x3.8" implemented in accordance with the requirements of any of the PC/104, PC/104-plus or PCIe/104 standards). Evolution of the standard from ISA bus to PCI Express over almost 25 years of its history, as well as its technical features, have been described many times.
Figure 4. PCIe/104 Expansion boards can hold either 2 or 4 MiniPCIe cards for quick expansion of I/O
The group of PC/104 standards describes three form factors of single board computers: PC/104, EBX, EPIC, and one PC/104 form factor of extension modules. The difference is in the size of the printed circuit board and placement areas of interface connectors. Common is a stack connector for connecting the extension modules to the CPU board. It's an interesting fact that PC/104 was initially offered by Ampro exactly as a form factor of extension modules enabled to extend EBX CPU modules’ functionality. However in this case they were called MiniModule (PC/104 format prototype) and LittleBoard (EBX format prototype). Later there were PC/104 format CPU modules, which made it possible to build fully-fledged embedded computing systems in the form of a stack of the boards having the same formfactor.
Similarly to standard motherboards, the single board computers in EPIC and EBX formats, as well as in other common formats (3,5”, MiniITXetc), usually have a certain set of interface connectors standard for the PC industry. Normally they are located on one of the board edges, while the PC/104 format due to its limited size enables to use only edge connectors for interface cables. This feature often determines the design of PC104-based systems. A stack of PC/104 modules where both CPU and extension modules are implemented in 3.6"x3.8" format is mainly used for installation into a protected enclosure with cable output of interfaces to special-purpose connectors, located on the external side of this enclosure. That is how one may build compact-size computing systems for the IP65+ protection class. Purely stack system configuration is usually created for a particular solution or even for a particular customer, however in this case you can choose the modules with the required functionality among the modules of various manufacturers that have already been put into production, and thus save some valuable time for system development and testing.
Singleboard computers of the larger size, such as 3.5”, EBX, EPIC, MiniITXetc, can also be manufactured with output of interfaces to connectors of the pin header type for their allocation in sealed protected enclosures. Despite this fact they are increasingly used (e.g. in so called Box PCs) where there is no need for a high level of protection and where a far less expensive and mass standard enclosure can be used, and the availability of PC-industry standard interface connectors does not require additional cables manufacturing.
In both cases, the choice of PC/104 as a way to extend the possibilities of singleboard computers has proved itself to be quite a successful solution. The board simultaneously enables the use of other extenders, e.g. by way of the Mini PCI-e slot. The PC/104 modules size (neither too small nor too big) is sufficient for rather complicated functionality implementation, and the possibility to use several extension modules having only one extension connector on the singleboard computer provides the system integrator with additional flexibility during the system development process.
It should also be noted that compared to single-storey mezzanine extension modules, the recent version of the PCIe/104 standard, supporting the modern PCI Express interface, generally enables a more efficient use of the available set of interfaces. E.g. Mini PCI-e or М2 standards make it possible to bring several interfaces (PCI-e, USB etc) to extension connectors at once, however in this case if the extension module uses only one of these interfaces, the rest of the free interfaces remain unused and wasted. The PCIe/104 specification solves this issue by a so-named line shifting mechanism, when the extension module picks up only those interfaces which it will use and, at the same time, ensures the availability of all other interfaces for extension modules that are next to it. Figure 3 shows an example where the first extension module uses one 1xPCIe line, and the second module uses one USB port. In this case, the third possible module can use all the rest of the unoccupied interfaces.
Development and marketing activities of the PC/104 standards arecarried out by the similarly-named consortium founded in 1992. As for the developers of systems based on stack modules with extension bus, PC/104 provides them a wide selection of standard components from various manufacturers, which are compatible with each other. In fact, the advantage of using any standard extension method for single board computers means adding potential for modernization, time saving due to the use of standard functional modules proved in operation, and ensuring interchangeability of modules of various manufacturers.
Many of us remember that some years ago, PC/104 was widely used as a traditional way of single board computers functionality extension. However, PC/104 has currently given up its position in this field, for a wide range of reasons. First, ISA and PCI parallel buses are getting out of date, while the new PCIe/104 standard that supports modern interfaces turned out to be not particularly fit for extending functionalities of singleboard computers. Let's try to analyze.
Figure 5. PCIe/104 OneBank expansion board with FPGA and VITA57.1 FMC I/O Expansion
The PCIe/104 specification determines one-bank or three-bank Q2 Samtec connector for extension. The one-bank version is a cost-efficient and compact-size extension using 4х lines of 1xPCI Express. However the number of such modules on the market is currently very limited, all the extension modules have the limited load-carrying capacities of power buses 3.3 and 5 volts. The highly desired function to output additional existing interfaces to the next levels using the bare board is not supported, extensions modules able to directly operate with other interfaces (e.g. SATA drives) are not supported either, capacities for high-performance singleboard computers and extension modules (e.g. graphics or fast-operating optics) are insufficient. According to the standard, there are two options of three-bank connector, named Type1 and Type2. Both types have a powerful 12 volt power supply bus and are distinguished by a set of interfaces in the second and third banks (their interfaces in the first bank are the same as with the single-bank option). Type1 additionally has 16 PCI Express lines and Type 2 has 2x ports 4xPCI Express, LPC bus, 2 x USB and 2x SATA ports.
For low-performance SBCs that do not have graphics 16xPCIe bus, the natural choice would be Type2. But as for the high-performance singleboard computers, there is a problem. Usually the vendor has no idea about the application where his device will be used, but he will have to choose between Type1 and Type2. Simultaneous use of the both Type1 and Type2 is not supposed. Thus having chosen for example Type1, the vendor will ensure the possibility of extension by for example using high-speed graphics modules, however in this case it would be impossible to use the modules designed for Type2 interfaces, and vice versa. Developing two different versions of the same singleboard computer individually for Type1 and Type2 would be too expensive. And neither version would be able to ensure simultaneous use of the Type1 and Type2 extension modules.
If we consider Type2, which is more appropriate for traditional embedded systems, it has its own disadvantages in terms of the well-balanced set of interfaces. There is no Ethernet interface at all, which means that it would be impossible to use the Ethernet switch extension module. There are only two USB ports, which is of course insufficient for state-of-the-art systems. At this point it makes sense to note the initiative called StackPC, which makes it possible to mainly solve the above issues.
StackPCdetermines only one option of the main extension connector, which is fully compatible with PCIe/104 – one bank, considerably compatible with PCIe/104 Type2. In this case, there will be 2x Gigabit Ethernet ports and 6x USB ports instead of two. In addition, there will also be an SPI interface, which can be used as the interface with low-speed modules of digital and/or analog I/O, as well as two general-purpose serial ports, which cand be directly used by extension modules with RS-232, RS-485 etc. The main StackPC connector contains a well-balanced set of interfaces meeting the requirements for a general number of embedded systems. For high-performance interfaces, there is an optional FPE connector (Fat Pipe Extension) where such interfaces as 16xPCIe, Display Port, 6xUSB 3.0 are placed. Both main and optional connectors can be used at the same time, which makes it possible for the system developer to jointly use low-speed and high-speed extension modules, andto have one single-board computer version for any type of application. Figure 4 demonstrates an example of a singleboard computer corresponding to the StackPC specification. Technologies do not stand still, and we believe that soon we will see new interfaces, technologies and methods of extending single board computer functionalities.
SMARC is a versatile, small form factor for computer-on-modules. It is suited to applications needing low energy consumption, a low profile, low cost and high performance. This White Paper provides...
Fieldbuses will not vanish completely from industrial automation in the foreseeable future, yet the Ethernet standard for time sensitive networking (TSN), in conjuncture with the platform independent ...
Image processing is one of the key technologies in automation, robotics and the smart factory. With image-based artificial intelligence, vision systems provide accurate analyses of environments and ob...
At the time of the official launch of the new AMD Ryzen Embedded and AMD EPYC Embedded processor families, the company had already garnered support from more than 20 partners. This article explains wh...
Embedded systems play a vital role in both characterizing and developing the Internet of Things as well as in creating new processes in automation. They address several requirements of IoT solutions a...
This article describes the complete renewal of the Moscow Metro passenger information and security system with standard modular embedded computer solutions. By Alessandro Santini, SECO &...
Today, many box PCs are marketed in the guise of an IoT gateway. However, they often lack the gateways required software support and multi-functionality. A new modular, UIC-compliant IoT gateway...
In the field of vehicle diagnosis, the use of Ethernet provides significant improvements in comparison to established methods. But the use of Automotive Ethernet requires rethinking in the development...
Nowadays there are two major categories of embedded computing solutions available to designers and engineers: SBCs (Single Board Computers) and COMs (Computer-on-Modules). Both present distinctive fea...
Going to Milan for Arduino Day is an exercise in history, both ancient and contemporary. I’ll leave the ancient aspect to history buffs, and focus on the star of the show, the Arduino open-sourc...
In this video Keysight's Joachim Peerlings talks about the new UXR series Oscilloscope with Alix Paultre at their launch event in Munich. The Infiniium UXR-Series of oscilloscopes has models rangi...
In this video, Bob Beachler of BrainChip talks to Alix Paultre about their latest single-chip neural network technology. Spiking neural networks (SNNs) are inherently lower power than traditiona...
In this video the Vincotech team walks us through the most important topics displayed on their booth at PCIM Europe 2018. It also explains why Vincotech is First in SiC Modules. Being very flexible in...
Microchip's new SAM L10 and SAM L11 families of 32-bit microcontrollers (MCUs) address the growing need for security in Internet of Things (IoT) endpoints by protecting against the increasing the ...
Our 3 E-Mail Newsletters: EETimes/EDN Europe, Embedded News and Power Electronics News inform about the latest news in technology and products, as well as technical know-how like white papers, webinars, articles, etc.
B & S / ECE Magazine
- latest issue is online now -
The challanges of IoT security and how to harden the edge