Software overview

The NXP ZigBee 3.0 software provides all components of the ZigBee stack detailed in Section 2.7, Detailed architecture. In addition, it includes the JN51xx Core Utilities (JCU). The basic architecture of this software, in relation to the wireless network application, is illustrated in the figure below.

Overview of NXP ZigBee software architecture

Overview of NXP ZigBee software architecture

The NXP ZigBee 3.0 software includes Application Programming Interfaces (APIs) to facilitate simplified application development for wireless networks. These APIs consist of C functions that can be incorporated directly in application code.

Two general categories of API are supplied:

The above figure also shows the Integrated Peripherals API that can be used to interact with the on-chip hardware peripherals of the device. This API is described in the MCUXpresso SDK API Reference Manual ((MCUXSDKJN5189APIRM or MCUXSDKK32W041APIRM).

In addition, the ZigBee Cluster Library (ZCL) provides APIs for the individual clusters, as well as more general ZCL functions. The ZCL is located within the stack block.

All the above APIs are supplied in the ZigBee 3.0 Software Developer’s Kit (SDK). For more details on the SDK, refer to Section 5.1, Development environment and resources).

ZigBee PRO APIs

The ZigBee PRO APIs are concerned with network-specific operations and easy interaction with the ZigBee PRO stack from the application code. These C-function APIs are supplied in the ZigBee 3.0 SDK (see Section 5.1, Development environment and resources).

There are three ZigBee PRO APIs:

  • ZigBee Device Objects (ZDO) API: Concerned with the management of the local device (for example, introducing the device into a network)

  • ZigBee Device Profile (ZDP) API: Concerned with the management of remote devices (for example, device discovery, service discovery, binding)

  • Application Framework (AF) API: Concerned with creating data frames for transmission and modifying device descriptors

The locations of these APIs, as well as the JCU and ZCL APIs, are illustrated in the figure below.

Locations of ZigBee 3.0 APIs

Locations of ZigBee 3.0 APIs

Note: The C functions of all the ZigBee PRO APIs are fully detailed in Part II: Reference Information of this manual.

Parent topic:Software overview

JCU APIs

The Core Utilities (JCU) provide an easy-to-use interface to simplify the programming of a range of non-network-specific operations. These utilities/modules each have a C function API, which allows a module to be used from a user application. The JCU is supplied in the ZigBee 3.0 SDK.

The JCU modules are outlined below:

  • Non-Volatile Memory Manager (NVM): This module handles the storage of context and application data in Non-Volatile Memory (NVM), and the retrieval of this data. It provides a mechanism by which the device can resume operation without loss of continuity following a power loss.

  • Low-Power: This module manages the transitions of the device into and out of low-power modes, such as sleep mode.

  • Protocol Data Unit Manager (PDUM): This module is concerned with managing memory, as well as inserting data into messages to be transmitted and extracting data from messages that have been received.

Note: The JCU modules are fully described in the DK6 Core Utilities User Guide (JNUG3133).

Parent topic:Software overview

Parent topic:ZigBee Stack Software