The Internet of Things (IoT) is driving a revolution in connected goods, including wearables. IoT devices form networks of physical products that transmit information to Internet-connected servers for such purposes as data aggregation and storage, business intelligence, decision-making, and the management of all things connected. Such devices are seeding a new era in embedded design thanks to the promise of enormous business returns.
Wearables are generally defined as those devices that reside on the human body and monitor either internal or external behavior. They connect to facilitate various tasks via a local gateway, the cloud, or may use both depending on the job in hand. They can be built for a specific purpose (e.g., a cardiac monitor) but increasingly consolidate multiple functions (e.g., Fitbit Charge HR – heart rate wristband) and can even be fully featured application platforms (e.g., Apple Watch).
Connectivity comes of age
Connected goods or products have been around for years. At the beginning of the century, Wi-Fi-connected laptops and entertainment systems that extracted content from home servers began to move into the mainstream. Then also saw the first generation of portable connected products, typically with discrete functions, such as heart rate monitors and GPS navigation systems. Smartphones followed and quickly became the first ubiquitous connected product group. Today, we are experiencing an explosion in both the volume and the sophistication of wearables.
The wearables segment already includes smart watches, fitness and activity trackers, glucose monitors, implantable cardiac monitors, augmented reality goggles, smart helmets, smart insoles, personal location products, and more. The future appears limitless for these increasingly capable and connected devices. Certainly, one trends is clear: Wearables will increase in functionality as will end-user expectations, so performance, battery life, and reliability must also continue to improve.
Many elements have to come together to meet that objective. Let’s look at some of the most important.
Hardware platforms for wearables
Complex, connected wearables require hardware that meets stringent power and performance requirements. Semiconductor manufacturers have already begun to roll out platforms that reflect these demands. Examples include the Freescale Semiconductor-based Wearables Reference Platform (WaRP) and Ineda Systems’ Dhanush Wearable Processing Unit (WPU).
Wearables are being designed and manufactured at progressively smaller process geometries for minimal size and low power. They feature homogeneous and heterogeneous multicore applications processors, microcontrollers for maximum flexibility, and integrated support for graphics and displays. Beyond this the developer can typically choose from a plethora of options addressing elements such as connectivity, memory management and security.
Software development for wearables
To realize products on-time and fully featured, developers need tools and services that provide core wearables foundations and functionality so they can focus resources on building differentiated applications. These platforms must range from the very simple to the extremely complex.
The overall solution must satisfy small memory and processor requirements, and also be modular. Modularity allows features to scale in area such as connectivity, graphics, and mobility. This accommodates the use of more powerful multicore processors with consolidated functionality.
Consider the example of a consolidated home medical unit. This will not only measure blood pressure but also collect and analyze data for other vital signs; it may well need to connect to an infusion pump; it certainly should have a graphical and audible interface to communicate with local health workers as well as remotely with authorized labs, hospitals, and doctors over the Internet or cellular data.
Wearables are almost always battery-powered. Designs must therefore be capable of managing the power states of the CPU and applications. Contemporary SoCs offer low-power features such as idle modes, sleep modes, dynamic voltage frequency scaling (DVFS), and hibernation. However, implementing these in hardware can take up much of the development phase with the result that software developers do not get enough time to generate power-efficient code themselves.
Just as modern software architectures abstract hardware functions through device drivers, the Nucleus Power Management Framework (Figure 1) provides a structured mechanism through which all devices in a system can be controlled using intuitive application programming interface (API) calls. It has been developed for Mentor Graphics’ Nucleus RTOS.
Within the framework, any alteration of one device that impacts others leads to a coordinated update across all the affected subsystems. With a power management framework, embedded software developers can write wearables code that meets consumption targets and suffers from neither bloat nor too great a footprint. The framework allows developers to address power requirements early in the software design cycle. Code can be written to minimize both the footprint and power consumption, and then tested throughout the development process to ensure power targets are maintained through to the final product.
You can learn more about power management in Nucleus here.
Single and multi-core environments
As wearables become more complex, they require more capable hardware. This is driving adoption of multicore processors. These processors typically include application cores in addition to microcontroller cores for energy-efficient operation.
System architectures for wearables allow heterogeneous operating environments to run on heterogeneous multicore processors. Operating systems might include a mixture of general-purpose options (e.g., Linux, Android) running alongside a real-time operating system (RTOS) or even bare metal environments. The complexity introduced by heterogeneous architectures has created an entirely new category of problems related to the development, debug, and optimization of the system.
To address these complexities, Mentor Graphics has created the Mentor Embedded Multicore Framework. It allows developers to configure and deploy multiple operating systems and applications across homogeneous or heterogeneous processors (Figure 2). This comprehensive framework enables developers to manage the challenges associated with inter-process communication (IPC), resource management and sharing, process control, debugging, and application optimization.
Such a framework has two key benefits for architects.
- First, a system power management capability is enabled by the ability to control the power states of slave cores from a master core: Unused cores and applications do not need to run if the wearable use-case does not require it.
- Second, the framework allows software to be dynamically loaded and unloaded depending on the use-case. This means the system can run many more applications than the physical hardware can actually support at a given instance of time.
Don’t forget the UI
Wearables usually include a user interface (UI). These range from the very simple to the very complex. Thus, the solution must have the ability to scale graphics displays from a simple LCD to a sophisticated UI that leverages a GPU rendering 3-D graphics optimized for embedded wearables. Consideration must be given as to whether a commercial or open source graphics solution is better, and whether appropriate commercial solutions are available for the chosen platform.
IoT communication and protocols
Wearables can be connected to each other, directly to the cloud, or through gateways (including dedicated local devices and generic smartphones).
They must therefore support well-know standards such as Wi-Fi, Bluetooth, and/or Bluetooth Low Energy (BLE), and also emerging ones such as 6LowPAN (IPv6 over LP wireless personal area networks) and wireless mesh technology Thread.
A wearable might also need to support IoT protocols such as CoAP, MQTT, and XMPP for product-to-gateway and product-to-cloud communications. These must be available out of the box and be scalable in and out of the solution to meet the specific requirements of the target wearable.
Security issues for wearables
As connected wearables become more complex and capable, personal information will increasingly flow into and through them. Examples include medical instruments that need access to secure patient data, and consumer wearables that perform e-commerce tasks and digital rights management. These wearable systems must boot into a trusted state, data must be collected and stored safely, and communication paths to gateways and the cloud must also be secure.
To minimize code size and maximize performance, the solution should take advantage of secure boot technologies and leverage hardware-enforced security mechanisms such as Trusted Execution Environments (TEEs) and crypto security engines.
The world of IoT wearables is expanding and there are unprecedented business opportunities. The market is being fueled by the growing capacity of the Internet and increases in wireless bandwidth combined with advances in processor and device technologies. Then there is the increasing standardization of IoT and communication protocols, and, now, the availability of embedded solutions that enable rapid and effective development.
Companies building wearables today need highly scalable embedded development platforms that address the challenging requirements posed across a range from small, resourced-constrained systems to more complex consumer end-products that support heterogeneous operating environments on homogeneous or heterogeneous SoCs, graphics, connectivity, and security.