This article was originally published at Basler's website. It is reprinted here with the permission of Basler.
The past few years have seen the rise of a powerful generation of processing boards capable of replacing much of the work previously performed by PC-based systems. In the machine vision field, the components for industrial applications have also been growing smaller and smaller. Cameras that were once large and expensive can today be produced affordably and in especially compact designs.
The combination of small processing boards and miniaturized camera modules is known as 'Embedded Vision'. Embedded vision offers benefits for a variety of application fields – from medical diagnostic devices to industrial automation.
Unlike in the classic PC world, the processor landscape in the embedded vision field is heterogeneous. The following article explores the various architectures of the processing platforms and delivers an overview of the current concepts.
System on chip (SoC)
The system on chip (SoC) is the heart of any embedded architecture. It is the site of the actual image processing. In many cases the term 'SoC' is used as an equivalent for 'processor.' In reality, though, the SoC contains much more. Beyond the single or multi-core CPU (central processing unit), the GPU (graphics processing unit), interface controller (such as for USB, Ethernet, I²C, etc.), internal bus system, multimedia hardware (such as video encode and decoding), internal power management, and more are all contained in one single chip. In short: an SoC combines many core components of a PC in one tidy package.
Prominent representatives of the current generation of SoCs include NVIDIA's Tegra K1, Qualcomm's Snapdragon 820 and NXP's I.MX series.
The development of SoCs was fundamentally driven by the extremely rapid spread of smartphones and tablets. Major manufacturers such as Apple and Samsung can afford to produce their own SoCs. The development of proprietary SoCs involves millions (if not billions) in investments, which is simply out of the reach of many companies.
SoCs are in essence embedded computational units. They include a CPU, GPU, bus system and interface controller.
System on module (SoM)
Small to mid-sized technology-driven companies are caught in the middle. On the one hand, SoC technology promising powerful processors in miniature packages is extremely attractive when it comes to making the next generation of products smaller and quicker. On the other hand, the very high development costs to create a proprietary SoC discourage companies from pursuing in-house development. These companies would be better served using existing SoCs from a large manufacturer.
A series of companies (Toradex, Inforce, SECO,…) have tried to turn this quandary into a positive by developing so-called System on Modules (SoMs, or sometimes Computer on Module [CoM]). An SoM contains an SoC, supplemented by important components such as RAM, power management and other bus systems to control the components — and to make the SoC helpful at a practical level. In figurative terms: while the SoC is a factory without connections to the outer world, the SoM then adds in a warehouse, power supply and good transportation connection. It enables to communicate with the director of the factory.
An SoM has one or more — often standardized — plug connectors that can be used by the SoM (and as such all components on the SoM, including the SoC) to communicate with the outer world. Now, to be fair, it's not possible to connect external devices (such as networks, power supply or cameras) directly via these plug connectors. A carrier board is needed for that.
Nevertheless, whenever SoM is involved, the SoC is already included in those components.
System on module (SoM) + carrier board
As already described, the SoC contains only the interface controllers. What is missing is the physical connector (such as the Ethernet plug). The carrier board fills this role. As described above, SoMs have a standardized plug connector on their bottom side, allowing them to be connected to a carrier board. The carrier boards then offer the physical connectors needed to connect to peripheral devices such as displays, control units and cameras. Unlike the SoC or SoM, carrier boards are relatively easy to develop. The modular approach to embedded technology expects that developers will purchase off-the-shelf SoMs and then develop the carrier board on their own. This is cheaper than a full custom design (see below), yet gives a tremendous amount of flexibility, as the developer can decide which plugs are included on the carrier board. USB, GigE or proprietary camera connectors are all possible, as is a 28-pin LVDS connector to connect one or more dart BCON cameras.
Note: SoMs can in special cases already possess individual physical connectors. The Xilinx Zynq SoM in the Basler PowerPacks for embedded vision for example comes pre-equipped with a USB 2.0 and GigE connector. This is a rare exception, however.
Single Board Computer (SBC)
Beyond the modular SoM + carrier board concept, there is also the option to use a Single Board Computer, or SBC. A Single Board Computer is in principle little more than an SoM + carrier board integrated onto a single circuit board (hence Single Board Computer). The most well-known model of this is the Raspberry Pi. This SBC has a series of connectors (4x USB2, 1x MIPI CSI-2, …) pre-integrated onto the board, allowing peripheral devices to be connected without requiring the development of an additional carrier board. The benefit: an SBC is very easy to put onto operation. The drawback: if, for example, need arises for a 5th USB 2.0 connector, the inflexible SBC concept used in a Raspberry Pi will not be able to provide it. So while an SBC represents the lowest level of development time and cost, it is also the least flexible. If companies plan to sell application-specific CPUs in large numbers, then the SBC is not a good choice, since it almost always already features connectors or components not required for the application. This insight brings us to the last embedded architecture concept, full custom design.
Full Custom Design
To describe the diversity of embedded architecture in full, the class of Full Custom Design (FCD) must also be mentioned. An FCD is a single board computer developed by a company for use in an application without the intention of trying to sell those FCDs individually. It is instead intended for use in a larger system. An FCD is hence an SoM + carrier board in a highly customer-specific configuration on a board.
Example: A medical engineering firm plans the development of a hand-held device for capturing images of suspicious moles on the skin and tracking them. The SoM + carrier board approach would be one option, but is not practicable because it would take up too much space to put the SoM onto the carrier board.
The company is also planning to sell several thousand products. In this case, the company instead decides that it is economically feasible to develop their own custom SBC (SoM + carrier board on one single circuit boards). This is highly application specific, but also extremely cost-optimized, as it only contains those components actually needed for the application.
Processing boards play a major role in embedded vision. These boards can be designed in a variety of ways.
Depending on the unit count, know-how, type of subordinate systems and image processing needs, a range of different concepts are available. The potential options range from almost classic Vision Systems with a small, Single Board Computer to a module system with an SoM or SoC on a custom carrier board, or even a completely new full custom design.
The further the developer moves with the selected processing platform from off-the-shelf components, the higher the development and integration costs — but the lower the unit price when a significant number of units are produced.
Which concept is best for your application? We hope this article has helped you understand a bit better.