Companies are trying to maintain their competitive edge by adding more functionality to their products. This is making systems that were previously relatively simple more complex and difficult to design. Designers are being challenged to deliver greater functionality in the same space or, often, in a smaller space. This raises the stakes when designers choose a suitable hardware platform for their next project.
What is not necessarily apparent from the outside is the level of complexity that goes into a design. Externally, two products may look very similar—and often do—but looking inside will reveal very different levels of functionality and technology. Electronic door locks are becoming popular, especially in hotels, but increasingly in residential applications as well. Earlier designs comprise a microcontroller (MCU) and a reader for the electronic keycard that may be based on reading a magnetic strip or using NFC.
Next-generation key locks are unlikely to have a key at all, and will rely on fingerprints or other biometrics such as face or voice. Naturally, delivering this will require far more internal sophistication.
Although, the lock is very different, the basics remain; the door is only opened if the correct credentials (in whatever form, that is) are presented. Physical size is likely to remain the same, especially to allow for easy and inexpensive retrofitting.
However, the new lock will need biometric sensors such as fingerprint reader or possibly a vision sensor/camera and, maybe, a microphone depending which biometrics (or a combination of biometrics) will form the basis of the lock. Each of the sensors will require some form of processing (such as high-speed digital signal processing, or DSP) to process the data for the system to grant access, or not.
In terms of software, designers can readily access significant resources to complete such a design. ARM core offers the performance to handle complex software, making it a popular choice for designers. DSP cores such as Texas Instruments’ Sitara family, or ARM family are both supported by extensive code libraries (such as OpenCV image processing library) for machine learning and image processing. These are all suitable for biometric recognition including faces and/or fingerprints. Debian is a Linux distribution that allows access to multiple programming languages including Python and C++, while also providing a useful environment for runtime execution.
For a long time, languages such as C and C++ have been the preferred choice for embedded systems, but things are changing and modern languages such as Python have valuable features that benefit designers. When working with multi-dimensional matrices and arrays, such as those necessary for machine learning, libraries with functions that support complex mathematical operations (such as Numpy library) are invaluable. In fact, using tools like these can dramatically simplify software development.
Operating with the ability to meet real-time deadlines is critical for all embedded applications, whether a simple door lock or a complex industrial motor controller. For this reason, MCU operating systems have always been optimised for software that guarantee this type of operational behaviour.
However, for all its popularity, most Linux distributions do not offer real-time operation, and those that do generally do not have sufficient access to the all-important libraries that software engineers desire. Multi-core implementations can help with this situation, as technologies such as Sitara family do not just offer DSPs that will run algorithms deterministically; these also encompass fast programmable real-time units that are capable of running separately to the main ARM core that runs Linux.
Adding sophistication to the hardware can lower power consumption, especially if it is used to control the operation of power-hungry devices. In the door lock example, capturing images and processing them 24/7 is a waste of energy. A better approach would be to include a simple proximity sensor and only enable the camera and DSP when there is actually someone within the capture range.
An essential part of any development is experimenting and prototyping to see how different technologies and approaches can solve a problem. For example, several different technologies can be used for the door lock proximity sensor using pyroelectrics and/or ultrasonics. To do this, a simple development environment would be needed to allow peripherals to be interchanged quickly and easily.
One solution that has proven popular for prototype development is Beagleboard and Beaglebone platform. The physically-smaller Beaglebone is ideal for tight spaces, including for the door lock example. This versatile system allows the use of Click boards that make the attachment of different peripherals such as sensors and actuators extremely easy.
When designing simpler MCU-based devices there are several options available. However, when entering into the world of higher-performance embedded systems, options somewhat diminish. Even though these will physically fit a Beaglebone board, the design process for powerful multi-core processors is much more difficult. If designers can source a host board with the requisite system-on-chip (SoC), then prototyping is easier, but the manufacturing optimisation phase must also be considered.
Often, a single power rail is all that is required for most MCUs, unlike SoCs and higher-performance microprocessors that frequently require several different rails. Further, rails may need to be software-controlled to support low power modes but, once voltage is set, it must comply with tight tolerances—no matter how heavily it is loaded. Other complications faced by designers of these systems include the need to sequence power rails, often applying power to the core before other aspects of the SoC.
Many MCUs have onboard memory as their needs are relatively small. However, smart SoC-based systems need far greater resources, and designers need to consider the complexity that this adds to the project. This is especially true if the design involves image or video processing where the image or stream needs to be stored locally. When venturing into deep learning, requirements increase significantly to allow for storage of millions of parametric values as well as requirements for longer-term storage.
Provision for enough memory capacity is just one aspect of the challenge; speed needs to be sufficient, often necessitating the use of technologies such as DDR3 or DDR4. With fast memory, even the seemingly trivial task of routing the PCB can be difficult and lengthy. Tight timing requirements mean that trace lengths have to be equalised, even if that means somewhat tortuous routing snaking the shorter traces until these match the longer ones.
A convenient off-the-shelf solution to these design and layout challenges comes in the form of system-in-package (SIP). While system-on-module (SoM) designs can provide a functional solution, these are generally PCB-based and have to be mounted as a daughter card with a specific connector for all input-output. Unfortunately, this increases the cost and size of the design, neither of which is desirable.
SIP solutions have all the power and functionality of SoM solutions, but these are packaged in normal, monolithic IC packaging and can be handled in the same way, including the ability to be soldered to a PCB as part of an automated manufacturing process.
Octavo Systems’ OSD335x series of SIPs are perfectly capable of acting as the core of a powerful and sophisticated system, while being as easy to implement as an MCU. At their core is a Texas Instruments Sitara SoC that comprises a 1GHz ARM Cortex-A8 processor, two programmable real-time units and DDR3 memory. There is also a power management IC (PMIC) to control the complex power needs. It includes multiple power rails that need to be accurately sequenced while ensuring efficient operation. Engineers simply need to connect a single power feed as they would do with a traditional MCU.
OSD335x PMIC is capable of multiplexing multiple power sources—a useful feature if the product can be powered from different power sources such as an AC adaptor and a battery. It can also manage the battery, saving the need for the designers to create this functionality themselves.
By fully integrating the design into a single SIP, there are other benefits that might not be available in a discrete or SoM approach. For example, miniature packaging and a high level of integration reduce the energy used to transfer data between the core and the memory.
In our modern world, products need to offer greater functionality and often integrate directly into the Internet of Things (IoT) to be successful. SIP solutions such as Octavio OSD335x have far greater power and functionality than traditional MCUs, but these are just as easy to use. The Octavio family offers multiple variants that have been carefully tailored to meet a wide variety of applications and design challenges, and these are all compact enough to fit the small spaces available in many IoT applications.
IoT-ready design tools including Beaglebone Black Wireless have Octavio OSD335x. Hence, once the design is completed using the platform, the SIP can easily be implemented on the final production PCB with relatively little effort. The inbuilt Sitara SoC has significant software support, reducing the task of coding and getting designs to market faster.
Mark Patrick has been with Mouser Electronics since July 2014