Time-to-market has never been more important. But getting to market quickly is a challenge because of the myriad chores that must be finished before you can deliver a finished product. The technology required can range from compact modules (see “Small Modules Deliver More Performance”) for mobile devices to 3D imaging systems for robots (see “Using The PrimeSense 3D Sensor With ROS”).
Designers will have more choices about the kinds of technology they can incorporate in their systems this year, from 3D vision and 3D gesture recognition systems to hybrid disk drives. These systems can be sensor-rich with sensor fusion too, while multifunction digital sensor modules are becoming the norm.
Software is the foundation of almost every embedded device these days. Many solutions are networked and tied to the Internet, though, so developers will have to contend with an array of security issues. But on the plus side, many technologies are maturing including PCI Express Gen 3, USB 3, and Gigabit Ethernet. This means more options, from hubs and switches to on-chip support.
Prototyping And 3D Printers
Whether they’re used for prototypes or finished products, 3D printers are changing the way embedded systems are being built. They provide a convenient way to deliver a prototype and enable designers to create solutions that would be challenging using conventional techniques.
The Makerbot Replicator 2 Desktop 3D Printer is a well known example of the technology (Fig. 1). Priced at only $2199, it can build an object measuring up to 410 cubic inches (11.2 by 6 by 6.1 in) with a 100-µm layer resolution. It also can use renewable bioplastic polylactide (PLA) filament to create almost any object.
3D printers like the Replicator 2 are becoming as common as laser printers. Small to large commercial 3D printers are available from companies such as 3D Systems, Objet, and EOS. 3D printer technology is available for a range of materials from plastics to powdered metal.
Even printed-circuit boards (PCB) can be made on the desktop these days. The LPKF Laser and Electronics ProtoMat line provides one alternative to creating PCBs using a desktop platform (see “Fast PCB Prototyping”). Also, outsourcing PCB production is easier. Improved Web interfaces provide better upload and tracking capabilities.
Even setting up a small production is getting easier. Rethink Robotics’ Baxter robot only costs $22,000 (Fig. 2). Its behavior-based programming allows designers to teach by example. 3D imaging is optional since many pick and place actions don’t require it.
The Changing User Interface
Windows 8 is out and being touched on tablets and desktops. It isn’t the first incarnation of Windows with touch support, and there have been plenty of earlier platforms with touch support too. But Windows 8 does highlight the trend and expectation of users who will readily touch any screen looking for a reaction.
Multitouch gestures on a 2D surface are just the beginning. Built on PrimeSense’s 3D infrared sensing system, Microsoft’s Kinect has popularized 3D gestures (see “How Microsoft’s PrimeSense-Based Kinect Really Works”).
But imaging isn’t the only way to handle 3D gestures. Microchip is one of a growing number of companies to deliver capactive-based 3D gesture sensing to developers (see “Innovations Push Processors And Storage Into New Digital Roles” at electronicdesign.com). Working with electronics is looking more like magic every day.
3D vision and the use of vision in general is on the rise. Increased compute capabilities are allowing a single camera to be employed to generate 3D maps. The use of multiple low-cost digital cameras is increasing because their cost and power requirements are low.
Data from multiple cameras is also being fused into a single, optically correct image. These systems can provide the bird’s eye view for high-end automobiles garnered from fixed cameras aimed out from the car.
3D may be the new wave, but 2D multitouch and gestures are the mainstay for smart phones and tablets. They are becoming more common in dedicated embedded applications as well.
Safe Embedded Software
Safety, reliability and security remain watchwords for embedded developers, but what each of these words means depends upon the application. Systems supporting the Unified Extensible Firmware Interface (UEFI) specification will be in the mainstream. UEFI provides a modular boot system and supports secure boot. It can be used with Arm platforms in addition to x86. Linux and Windows 8 have UEFI secure boot support.
Outfits like Phoenix Technologies and American Megatrends are supporting secure boot, encrypted disk drives, and modular services (Fig. 3). It’s surprising how many embedded systems provide little or no security, let alone use secure boot support. This is likely to change as developers begin to use and understand secure systems and the support becomes readily available in the platforms they are targeting.
C and C++ remain the primary programming languages for embedded applications, though applications written in these languages are more prone to errors than languages like Ada and Java. Enforced by the compiler, Ada 2012 contracts help programmers create safety-critical applications (see “C++11 And Ada 2012: Renaissance Of Native Languages?”). Contracts aren’t easily replicated without compiler support.
Still, static and dynamic analysis tools can vastly improve the quality of C and C++ programs. Integrated development environments (IDEs) will continue to incorporate more of these features. They have been available as separate tools. For example, MISRA-C support is an option on IAR’s tool suite (see “MISRA C: Safer Is Better”). Atollic’s latest TrueStudio IDE includes MISRA-C support as a standard feature (Fig. 4).
Violations are highlighted with examples and counter-examples to help developers correct their code. The Motor Industry Software Reliability Association (MISRA) developed MISRA-C for the automotive industry, but it is useful to any programmer wanting to develop safe and reliable C code. Most tools that support MISRA-C allow it to be selectively applied.
Multicore And Many Core Computing
Dual-core and quad-core platforms populate most top-end tablets, smart phones, and PCs. Core creep will continue, but high-performance computing (HPC) platforms are pushing the number of cores past this point by more than an order of magnitude.
Intel’s Xeon Phi (Fig. 5) takes on NVidia’s Tesla K20X and AMD’s FirePro in the HPC space (see “Battle Of The Supercomputing Nodes”). NVidia and AMD deliver hundreds of cores in their general-purpose computation on graphics-processing unit (GPGPU) solutions, but programming is a challenge. Developers can utilize NVidia’s CUDA or the cross-platform OpenCL.
Hundreds of applications map nicely to these programming environments, but many more require more programmable platforms. This is where the Xeon Phi comes into play. It is a symmetrical multiprocessing (SMP) system with 60 x86 cores with single-instruction multiple-data (SIMD) support. The Xeon Phi can run operating systems like Linux, while GPGPUs cannot.
The Xeon Phi, Tesla K20X, and FirePro will be found in supercomputer clusters with hundreds of nodes and thousands of cores. Embedded applications, though, will be able to take advantage of one or two boards to provide a significant performance boost.
The idea behind these scaled-down supercomputers can be further reduced to a single-chip solution. AMD’s APU (accelerated processing unit) will hit its stride this year. It combines a CPU and GPU with hundreds of cores (see “APU Blends Quad-Core x86 With 384-Core GPU”). The APU has targeted desktop and laptop products, but it works equally well for embedded applications. The graphics support can handle display chores or be used for additional computation support as well.
DDR4 is on the horizon, but DDR3 DRAM will be the workhorse memory for servers including HPC systems. Non-volatile memory is migrating to DDR3 dual-inline memory modules (DIMMs) in various forms. For example, flash and DRAM are combined on a single DIMM module from Viking Technology in the form of its ArxCis-NV (see “Moving Back To Magnetic Storage”). A supercap is in the mix as well. RAM contents are saved in flash when power is lost and restored when the system starts up again.
Everspin also provides a non-volatile solution for DDR3 DIMM sockets that uses MRAM instead (see “Magnetic DRAM Arrives”). The MRAM doesn’t require refreshing or a supercap since it is a non-volatile technology.
Non-volatile main memory is a step back into the past where non-volatile core memory was ubiquitous. It allowed a system to be shut down and then restarted almost immediately. This is important in HPC and cloud computing environments where flash drives are in heavy use.
This type of memory is also useful for embedded applications. Fast startup and reliable shutdown are desirable features that are easily included. Systems that don’t require mass storage could even forego a disk drive.
The challenge from a software perspective is addressing this new feature. It means adjusting the boot process as well as determining whether data structures need to be replicated on mass storage. Not needing to replicate information can improve performance and reliability.
Mass storage will continue to be very important as the trend to flash memory continues. Hard-disk storage remains in the cloud, but it is being replaced by flash solutions in mobile devices. Hybrid drives that combine flash and rotating magnetic storage are finding homes in laptops and desktops. They also can be found in embedded applications where designers can take advantage of the automatic caching they provide.
While hard disks remain an important for the cloud, flash will make major inroads. Skyera’s Skyhawk (Fig. 6) packs 44 Tbytes of flash into a 1U rack (see “Skyera Delivers 44 Tbytes Of Flash Via iSCSI”). It isn’t just a matter of putting a lot of flash chips into a box. Flash’s inherent write speed and reliability problems are an issue for corporate computing. The secret sauce to this class of storage devices is delivering reliability at a low cost comparable to hard-disk drives.
Network storage units like Skyhawk may be too far from the host for some. PCI Express-based solutions offer an alternative between disk drives and main memory. NVM Express is in the lead, although SCSI Express is likely to emerge this year. Both put flash memory a PCI Express transfer away from main memory. These platforms actually fit more easily within existing computing frameworks that already have block-oriented disk support.
The Cloud And The Internet Of Things
Many core and non-volatile main memories also target cloud computing, which continues to be a catchall phrase for a wide range of computing approaches that take advantage of virtualization to provide managed computing platforms. Public clouds give companies access to compute platforms on demand, while private clouds allow organizations to manage their computing requirements.
Companies like Digi and Eurotech already provide cloud-based services linked to embedded devices. More companies are entering this market to provide end-to-end solutions as well as more support for cloud-linked applications. Embedded developers will have to look at that range of solutions to determine what they want to build and what they want to buy.
Cloud-based services will also be a consideration for embedded developers. Many client/server applications have server components, but packaging them to run on the cloud is more than just providing a virtual machine image. Management, security, fail-over support, and other issues need to be addressed if a cloud-based solution is to compete in today’s market.
Some new board and module level platforms are emerging this year like ULP-COM, a small form-factor standard (see “Small Modules Deliver More Performance”). Kontron’s ULP-COM-sAT30 runs a 1.2-GHz NVidia Tegra 3 (Fig. 7).
ULP-COM is supported by the Standardization Group for Embedded Technologies (SGET). It comes in two sizes: 82 by 80 mm and 82 by 50 mm. Both plug into a 314-pin MXM 3.0 connector that is just 4.3 mm high, allowing 1.5-mm board spacing. The larger COM Express standard remains important, but the smaller modules will allow modular mobile applications.
There will be more movement in the stackable PCI Express space as more peripheral boards are available. Likewise, higher-bandwidth devices are driving the need for high-speed interfaces. Still, ISA remains an important part of this space. The bigger question is whether it will remain an x86 dominated space or whether Arm-based solutions will invade it or target platforms like ULP-COM that are more amenable to the Arm based chips.
The is still room for innovation in the ISA stack. WinSystem’s PPM-PS397-POE1 can turn a stack into a Power over Ethernet Powered Device (PoE-PD) using its PPM-PS397-POE-1 board (Fig. 8).
VME remains important. However, the OpenVPX board form factor will remain the mainstay for rugged applications with the newer, small form-factor version of the standard making some inroads. Likewise, CompactPCI remains a key board platform. It will be complimented by CompactPCI Serial, which will compete with OpenVPX in some markets.
If you follow military electronics, then sequestration has probably entered your vocabulary—along with the fiscal cliff. The potential reduction of military electronics spending on the order of $500 billion will have an impact on the kinds of technology that will become available in the future as developers try to make best use of existing solutions.
Other important embedded trends include the continued but slow progress in telehealth. There is a lot of opportunity here but it isn’t an easy market to enter, especially given the entrenched companies. Safety and approval issues are also different from other areas such as military and automotive. The payoff in the medical arena can be high, but it will take a major investment.
And, an across the board issue for embedded developers is multiscreen integration. It allows applications to take advantage of the plethora of connected displays available to users from PCs and laptops to HDTVs, tablets, and smart phones.