Speed Embedded Wireless IoT Development with an Off-the-Shelf Embedded Linux Multicore Platform
Contributed By Digi-Key's North American Editors
Advanced industrial, medical, transportation, and agricultural Internet of Things (IoT) applications demand more complex embedded system designs. In such situations, developers have had little choice but to build custom boards to meet performance, connectivity, and peripheral requirements, despite facing tighter schedules and shrinking budgets. Even though off-the-shelf boards may be available, performance, power, size, form factor, and feature mix precluded their use.
In an era of ubiquitous IoT and Industrial IoT (IIoT), however, even the most productive custom development teams have been delayed by regional certification requirements for wireless subsystems that have slowed delivery and eroded market opportunities.
This article discusses the make versus (vs) buy problem for wirelessly-enabled embedded boards. It then introduces a turnkey development platform from Digi that provides a comprehensive software environment and an optimized hardware platform with pre-certified wireless modules. The article shows how the kit can be used to help developers quickly and easily deliver more powerful connected embedded system solutions.
Make vs buy for embedded board development
For embedded system developers, end-user expectations and competitive pressure continue to drive demand for products with greater functionality delivered in shrinking time-to-market windows. Users insist on systems that are simpler to connect, use, and maintain. As a result, developers face growing challenges along a number of fronts. For wireless connectivity, short-range and long-range wireless solutions bring associated requirements for certification of their designs; implementation of suitable display capabilities adds design complexity and cost; and ensuring on-going reliability and long-term availability of these systems challenges developers to find solutions able to withstand harsh conditions and also remain available for the extended life cycles often found in industrial or medical applications.
For some applications, a suitable solution depends critically on custom design approaches to optimize each subsystem in order to meet requirements. Increasingly, however, off-the-shelf design solutions provide a platform that can be easily extended to support the unique requirements of a broad array of application areas. Yet, development teams sometimes approach the decision to build custom solutions vs buying prebuilt systems purely in terms of development cost, calculating that building a custom design from the ground up will cost less than buying a ready-made design.
In fact, development teams can find that other considerations including wireless certification, availability, maintainability, and other life cycle issues can increase overall cost. In a fast-moving market, the delay required to implement a custom design can further erode market share and time to revenue, ultimately limiting the profitability of a new product.
To address these issues, Digi's CC-WMX8MN-KIT ConnectCore 8M Nano development kit offers an effective alternative to custom development, providing a turnkey platform capable of meeting requirements for performance and cost across a wide range of applications (Figure 1).
Figure 1: The Digi CC-WMX8MN-KIT ConnectCore 8M Nano development kit provides everything needed to begin developing connected systems capable of meeting growing requirements for HMI design, audio/video processing, edge computing, and machine learning. (Image source: Digi)
How a turnkey solution addresses diverse functional requirements
The Digi CC-WMX8MN-KIT ConnectCore 8M Nano development kit provides a comprehensive hardware platform designed to reduce development time and time to market of systems. Using this kit, developers can easily implement systems that scale to support applications as varied as human-machine interface (HMI) design, audio/video processing, edge computing, machine learning, and more. Along with the Digi ConnectCore 8M Nano development board, the kit includes a dual-band antenna, a console port cable, and a power supply so developers can immediately begin creating connected applications.
As with other Digi CoreConnect development kits, the ConnectCore 8M Nano development kit takes advantage of Digi's highly integrated system-on-module (SoM) solutions. Based on members of NXP Semiconductor's family of i.MX processors, Digi's ConnectCore SOMs integrate capabilities for multimedia, security, wired connectivity, and pre-certified wireless connectivity, among other features required for typical embedded applications. Used in combination with an extensive software environment, these SoMs simplify embedded systems development, enabling product manufacturers to deliver more sophisticated products more quickly and at lower risk than typically possible with custom hardware approaches.
For the CC-WMX8MN-KIT development kit, a Digi SOM combines the capabilities of NXP's i.MX 8M Nano processor based on quad Arm® Cortex®-A53 and Arm Cortex-M7 cores with up to 8 gigabytes (GB) Flash, up to 1 GB low-power double data rate (LPDDR) dynamic random-access memory (DRAM), and an array of additional subsystems (Figure 2).
Figure 2: Based on NXP's i.MX 8M Nano multicore processor, a Digi SoM integrates the memory, connectivity options, security, and power management capabilities required in typical embedded system designs. (Image source: Digi)
Among its subsystems, the SoM integrates a security device from Microchip Technology's CryptoAuthentication family that complements the Arm Cortex-A53 cores' TrustZone security features. The CryptoAuthentication device combines a dedicated cryptographic processor, high-quality random number generator, and protected key storage to perform high-speed secure execution of hash and public-key infrastructure (PKI) algorithms.
The SoM's built-in connectivity options support gigabit Ethernet (GbE) as well as pre-certified 802.11 a/b/g/n/ac Wi-Fi and Bluetooth 5. To meet wide-area networking requirements, developers can add cellular and other connectivity options simply by connecting Digi XBEE cellular modules to the CC-WMX8MN-KIT board's set of XBEE-compatible connectors.
Along with a full set of standard peripheral interfaces, the SoM supports multiple multimedia interfaces for audio, camera and displays. An integrated graphics processing unit and liquid crystal display interface (LCDIF) controller lets developers easily add an optional LCD panel such as the Digi CC-ACC-LCDW-10 and quickly begin creating HMI designs for their embedded applications.
Managing power in designs based on advanced processors
Managing power in a complex embedded system can be a significant challenge, particularly when a system design integrates an advanced processor such as the NXP i.MX 8M Nano. As with other processors in this class, the NXP i.MX 8M Nano groups its many distinct subsystems into separate power domains for its core processors (VDD_ARM and VDD_SOC), GPU (VDD_GPU), memory (VDD_DRAM, NVCC_DRAM), secure non-volatile storage (NVCC_SNVS_1P8, VDD_SNVS_0P8), and several more. Developers not only need to provide appropriate power rails for each domain but also supply (and remove) power to each domain in a specific timing sequence (Figure 3).
Figure 3: As with most advanced processors, the NXP i.MX 8M Nano partitions its subsystems into separate power domains that need their individual voltage supply rails to be turned on in a specific sequence at start up. (Image source: NXP Semiconductor)
In fact, Digi's ConnectCore i.MX 8M Nano SoM requires only two power supply inputs and uses ROHM Semiconductor's BD71850MWV power management IC (PMIC) to deliver the multiple supply voltage levels required by the i.MX 8M Nano processor and other devices. Designed specifically to support the NXP i.MX 8M Nano processor, the ROHM BD71850MWV integrates multiple buck regulators and low dropout (LDO) regulators to deliver a complete set of power rails from a primary VSYS 5 volt supply (Figure 4).
Figure 4: Designed specifically to supply the NXP i.MX 8M Nano processor, the ROHM BD71850MWV PMIC provides a complete set of power rails required by the processor as well as other devices in a typical embedded system design. (Image source: ROHM Semiconductor)
Although the BD71850MWV manages the detailed power-up and power-down sequences required for the processor, Digi adds a further level of control designed to optimize overall power consumption and maintain system reliability. Integrated in the SoM, the Digi Microcontroller Assist (MCA) uses a dedicated NXP Kinetis KL17 MKL17Z64VDA4 microcontroller (MCU) for system-level power management. Based on the ultra-low-power Arm Cortex-M0+ core, the NXP Kinetis KL17 MCU consumes only 46 microamps (μA) per megahertz (MHz) in very-low-power run mode and 1.68 μA in stop mode, where it maintains memory and real-time clock (RTC) function.
Designed to remain active even when the system is in sleep mode, the MCA executes upgradeable firmware running on the KL17 MCU to provide several options for waking the NXP i.MX 8M Nano system processor. For example, Digi sets a default setting that disables the system processor's RTC in favor of the lower power RTC functionality implemented in MCA firmware. Developers can use the MCA's 12-bit analog-to-digital converter (ADC) to monitor external events and generate an interrupt to wake the system processor only when required. Conversely, MCA firmware implements three multichannel pulse width modulation (PWM) controllers for external operations. To help ensure overall system reliability, the MCA firmware also provides watchdog timer functionality that resets the entire system or only the system processor if software running on that processor hangs, or otherwise does not perform customary watchdog timer maintenance during normal software execution.
On system startup, the MCA begins running as soon as it receives power. After a programmable delay, the MCA in turn starts up the BD71850MWV PMIC, which executes the i.MX 8M Nano power up sequence described earlier. System reset or transition from low-power sleep states work in much the same way as the MCA coordinating power restoration with the PMIC and processor.
A production ready embedded Linux software environment
The Digi CC-WMX8MN-KIT development kit uses its extensive hardware base to provide a production-ready software environment running the open source Digi Embedded Yocto (DEY). Based on the Yocto Project's popular embedded Linux distribution, DEY extends that baseline distribution with additional board support package (BSP) capabilities designed specifically to support the Digi hardware platform (Figure 5).
Figure 5: The Digi Embedded Yocto extends the baseline Yocto Project Linux distribution with board support package (BSP) extensions for Digi hardware. (Image source: Digi)
Among the BSP extensions to the Linux kernel, Digi's TrustFence provides a security framework for Linux devices. Using its authentication and identity management capabilities, TrustFence services extend from low-level access control of internal and external I/O ports up to high-level support for secure network connections and secure boot using validated firmware images. Although not initially supported on the ConnectCore 8M Nano module, Digi TrustZone will be available in a future DEY release.
Besides employing security and management at the individual device level, large-scale IoT applications inevitably need the ability to monitor and manage fleets of IoT devices. To support these requirements, Digi Remote Manager provides a cloud-based service designed to support device health monitoring, configuration management, and firmware updates. Using a mobile app or desktop software, developers can use Digi Remote Manager to display details of device fleet operations including fleet health, alerts, connection status and signal strength (Figure 6).
Besides its monitoring capabilities, Digi Remote Manager lets developers more actively manage data, connections, and device software interactively using the command line or programmatically using the service's application programming interfaces (APIs). Using these capabilities, developers can reboot devices and upload files, easily performing mass fleet-wide firmware and software updates required with typical connected devices, but often logistically challenging in large-scale deployments.
Demand for more sophisticated applications in industrial, medical, transportation, and agricultural market segments drives requirements for more complex IoT-oriented embedded systems design. Regional certification requirements for associated wireless subsystems have also complicated matters and slowed designs.
To address the issues, a development kit from Digi provides a comprehensive software environment and an optimized hardware platform with pre-certified wireless modules. As shown, the kit lets developers more easily and quickly deliver powerful connected embedded system solutions.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of Digi-Key Electronics or official policies of Digi-Key Electronics.