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 are choosing 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.
The 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. The 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 readers or possibly a vision sensor / camera and maybe a microphone depending which biometrics (or combination of biometrics) will form the basis of the lock. Each of the sensors will require some form of processing (such as high speed 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. The 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 the ARM family are both supported by extensive code libraries (such as the 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 the 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 guarantees 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 the Sitara family do not just offer DSPs that will run algorithms deterministically, they also encompass fast programmable real time units (PRUs) that are capable of running separately to the main ARM core that runs Linux.
Adding sophistication to the hardware can actually 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 wasteful 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, they may wish to try several different technologies for the door lock proximity sensor, using pyroelectrics and / or ultrasonics. In order 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 the Beagleboard and Beaglebone platform. The physically smaller Beaglebone is ideal for tight spaces, including 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 very easy.
When designing simpler, MCU-based, devices there are several options available. However, when entering into the world of higher performance embedded systems the options diminish somewhat. Even though they 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 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. Furthermore, the rails may need to be software-controlled to support low power modes but, once the voltage is set, then 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 the power rails, often applying power to the core before other aspects of the SoC.
Many MCUs have on-board 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 then the requirements increase significantly to allow for storage of millions of parametric values as well as the longer-term storage requirements.
Provision of enough memory capacity is just one aspect of the challenge, the speed needs to be sufficient, often necessitating the use of technologies such as DDR3 or even DDR4. With fast memory, even the seemingly trivial task of routing the PCB can be difficult and lengthy. The tight timing requirements mean that trace lengths have to be equalised, even if that means somewhat tortuous routing ‘snaking’ the shorter traces until they match the longer ones.
A convenient off-the-shelf solution to these design and layout challenges comes in the form of a System-in-Package (SIP). While system-on-module (SOM) designs can provide a functional solution, they are generally PCB-based and have to be mounted as a daughter card with a specific connector for all of the input-output. Unfortunately, all of this increases the cost and size of the design, neither of which are desirable.
SIP solutions have all of the power and functionality of SOM solutions, but they 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.
The 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 PRUs and DDR3 memory. There is also a power management IC (PMIC) to control the complex power needs that include 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.
The OSD335x PMIC is capable of multiplexing multiple power sources – a useful feature if the product could be powered from different power sources such as an AC adapter and a battery source. It is also able to manage the battery, saving the need for the designer to create this functionality themselves.
By fully integrating the design into a single SIP there are other benefits to the designer which would not be available in a discrete or SOM approach. For example, the miniature package and high level of integration reduces the energy used to transfer data between the core and the memory.
In our modern world, products need to offer greater functionality and often to integrate directly into the IoT to be successful. SIP solutions such as the Octavio OSD335x have far greater power and functionality than a traditional MCU, but they 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 they are all compact enough to fit the small spaces available in many IoT applications.
IoT-ready design tools including the Beaglebone Black Wireless include the Octavio OSD335x so, 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.