ULP Wireless Update

Anatomy of a SoftDevice

Anatomy of a SoftDevice

Figure 1: Nordic’s SoftDevice (Bluetooth Low Energy version shown) and customer application code remain separated during development

Nordic Semiconductor’s RF protocol software stacks are an essential component of the company’s award-winning suite of wireless connectivity solutions

Nordic’s nRF51 and nRF52 Series Systems-on-Chip (SoCs) comprise highly-integrated hardware and sophisticated software. This software typically comprises two elements: the RF protocol and the application program. The application program is typically written by the customer using Nordic supplied development tools, and ensures the wireless product is optimized for a specific implementation. The RF protocol software is commonly referred to as a “stack” - layers of software forming a single protocol that ensures the transceiver communicates using a defined set of priorities and rules.


Nordic has brought together one of the world’s largest and most experienced teams to develop its own Bluetooth Low Energy RF protocol software. This software team works closely with the company’s hardware group to ensure the protocol is highly optimized for the nRF51 and nRF52 Series SoCs. The performance of the SoC is highly dependent on the protocol’s smooth and efficient operation.


Nordic’s RF protocol software forms part of the company’s “SoftDevice”, so named because although it comprises just binary code, the software can effectively be viewed as an extra ‘device’ on the SoC with known interfaces and predictable operation.


The rest of the SoftDevice comprises the SoC Library (an Application Programming Interface (API) enabling coexistence with the application) and the SoftDevice Manager (an API for enabling and disabling the SoftDevice, among other tasks).


A SoftDevice is a qualified, precompiled, and linked protocol stack downloadable as a binary file from Nordic’s website. The software is event-driven, provides run time isolation and determinism, and allows applications to implement standard Bluetooth low energy profiles as well as proprietary implementations.


In addition, a SoftDevice provides a mechanism for enabling the number of Central or Peripheral roles the application can concurrently run and supports per-connection bandwidth configuration by giving the application control over the connection interval and the length of the connection event.


Software separation

Nordic’s nRF51 and nRF52 Series are based on a software architecture that enforces a clear separation between the SoftDevice and the developer’s application code. This separation simplifies development by eliminating the tedium of application code integration as part of a vendor-imposed development framework. (See figure 1.) The SoftDevice resides in a specifically allocated area of Flash memory on the SoC (and can be updated in the field using the SoC’s wireless link). Different SoftDevices are available to meet varying Bluetooth Low Energy use scenarios and each employs a prioritized interrupt scheme (first critical low-level protocol tasks, then critical application tasks, secondary protocol tasks, and secondary application tasks) to maintain good protocol and application performance.


The SoftDevice API is available to applications as a high-level programming language interface, for example a C header file. The API gives the application complete compiler and linker independence from the SoftDevice implementation. During application development, compiling, testing, and verification, the SoftDevice remains untouched and uncorrupted; critical dependencies for efficient and reliable RF protocol software operation are maintained and unpredictable behaviour is minimized. And because the prequalified SoftDevice is unchanged, it requires no Bluetooth requalification when development is complete.


The latest Bluetooth low energy SoftDevices for Nordic’s nRF51 and nRF52 Series are the S130 (nRF51 Series), S132 (nRF52810 and nRF52832), and S140 (nRF52840).


The S130 is a Bluetooth 4.2 concurrent multirole (Central/ Peripheral/Broadcaster/ Observer) Bluetooth Low Energy SoftDevice; the S132 is a Bluetooth 4.2 concurrent multirole Bluetooth Low Energy SoftDevice, and the S140 is a Bluetooth 5-ready concurrent multirole Bluetooth Low Energy SoftDevice.


ANT SoftDevices are available from Nordic’s design partner ANT Wireless.