How do Arm and x86 processors tackle embedded challenges?
Smart devices are penetrating homes, factories, transport/utility infrastructures, and other applications, expanding demand for embedded systems that can capture data from sensors, make decisions, communicate with connected equipment, and interact with human users via a combination of graphics, touch, and audio.
Positioned on the spectrum between traditional deeply embedded systems and desktop computers, smart devices are performance hungry yet power conscious, often dependent on high system reliability, and typically subject to industrial-grade longevity and support demands. Embedded engineers need to consider all these aspects when choosing a system-on-module as the base for their next design.
Our previous blog compared the characteristics of the two major processor architectures positioned for these opportunities: the Intel® x86 series and Arm®-based RISC CPUs. We can view the Arm-based processors as moving up from the deeply embedded domain, now offering more computing power and features to address increasingly demanding applications. At the same time they retain the inherent energy efficiency that enabled them to dominate deeply embedded use cases, which are extremely power-constrained. On the other hand, x86 development is targeting opportunities in the embedded world by trimming power consumption back from that of performance-focused desktop processors to meet the traditional embedded demands for long battery life and fanless cooling.
When tackling an embedded project, it can help to picture the system demands on the performance-vs-power spectrum to determine whether an x86 or Arm-based platform is the optimum choice. The latest i.MX8M and i.MX8X processors from NXP combine multi-core Arm Cortex®-A53 CPUs with a Cortex-M4F that contains a floating-point unit and DSP extensions. There is support for 4K video and 3D graphics, DDR4 low-power high-speed DRAM, Quad SPI Flash, and USB3.0 that make an even more persuasive case for industrial applications.
There is optional support for PCI Express (PCIe), and the i.MX8M integrates a HiFi 4 DSP core for 32-bit audio/voice processing. With all these great features built-in, and with maximum power usually significantly less than 5W, it appears that Arm-based CPUs and boards should dominate wherever state-of-the-art industrial control and rich, engaging user interfaces are needed.
Can Arm boards offer strong performance as well as low power?
At Anders, we have taken on projects for several portable and industrial-control devices leveraging i.MX6, i.MX7 and, most recently, i.MX8 SOMs from well-known board suppliers. An i.MX7 board provided the perfect choice for a handheld RFID device to check the contents of multipack products, for quality-control purposes. On the other hand, working on a portable medical device used for on-the-spot diagnostic analysis of blood and tissue samples, we chose an i.MX8 board to deliver sophisticated digital graphics on a 5-inch TFT-LCD, with the benefit of rich connectivity including Wi-Fi and Bluetooth®.
For a relatively simple industrial-automation application aimed at the semiconductor fabrication market, we selected the Compulab CM-T335 SOM to control conveyor motors and coordinate activation of an access door, integrating a basic 4-button user interface. The CM-T335 features the TI Sitara™ AM3352 CPU, which contains a 600MHz Cortex-A8 core. With an on-board 2D/3D GPU, DDR3 support, and connectivity including Wi-Fi, Bluetooth, and Gigabit Ethernet, the board ticks many industrial boxes and consumes less than 1.5W.
Is Arm the right choice for industrial embedded projects?
With the longevity assurances that come with the Arm world, these richly featured, and power-conscious boards surely make Arm the obvious choice for industrial embedded projects.
Well, not entirely.
The fact that today’s Arm processors are such low-power devices can impose limitations, particularly if the application is very demanding or if you want to consolidate several industrial machine controllers, and especially when system reliability is a concern. In these types of situations, the greater processing power of an x86 CPU can enable you to do more with one board and maximise resistance to system crashes. In the industrial world, where crashes mean stoppages and lost productivity, doing more to ensure system reliability helps deliver a solution that customers can depend on under the harshest of conditions.