nRF 802.15.4 Radio Driver¶
The nRF 802.15.4 Radio Driver is a set of libraries that implement the IEEE 802.15.4 functionalities for the SoCs from the nRF52 and nRF53 families. The following functionalities are implemented:
Frame reception and filtering.
Acknowledgments. It allows sending and receiving acknowledgments according to the protocol specification and the timing requirements. Both
Low power (sleep) mode.
Carrier transmission. It allows sending a carrier wave continuously, either modulated or unmodulated. This feature can be used for radio tests.
Multiprotocol support. It allows the concurrency of Bluetooth LE and 802.15.4 operations.
CSMA/CA support. It provides a built-in CSMA/CA mechanism, optimized for performance.
Delayed transmission and reception. It allows the scheduling of transmissions and receptions, to execute them at a predefined moment. It can be used for features like CSL, TSCH, and Zigbee GPP.
Timestamping. It provides precise frame timestamps.
PA/LNA. It allows the Radio Driver to control an external PA/LNA module to amplify the RF signal.
The 802.15.4 Radio Driver consists of the following libraries:
802.15.4 Radio Core
802.15.4 Service Layer
The libraries are compatible with the following SoCs:
The nRF 802.15.4 Radio Driver supports the CMake build system and can be directly included in a project using the CMake build system with the
add_subdirectory(nrfxlib/nrf_802154) CMake command.
To add the 802.15.4 radio driver to a project using other build systems, create build system scripts listing all the necessary 802.15.4 radio driver files to build. The lists of the necessary files can be found in the following locations:
- Driver architecture
- Driver features
- Receiving and filtering frames
- Sending automatically ACK frames
- Setting pending bit in ACK frames
- Transmitting unicast and broadcast frames
- Performing an automatic CCA procedure before transmission
- Receiving automatically ACK frames
- Performing a stand-alone CCA procedure
- Entering low-power mode
- Performing energy detection
- Running in promiscuous mode
- Transmitting a continuous unmodulated carrier wave
- Transmitting a continuous modulated carrier wave
- Performing CSMA-CA
- Performing delayed operations
- Injecting the CSL Phase Information Element
- Supporting IEEE 802.15.4 frame security
- Injecting Thread Link Metrics IEs
- Performing retransmissions
- PA/LNA module (FEM support)
- Hardware resources
- Multiprotocol support
- Antenna diversity
- nRF 802.15.4 Service Layer
- API documentation
- Setting addresses and PAN ID of the device
- Functions to calculate data given by the driver
- Functions to request FSM transitions and check the current state
- Calls to the higher layer
- Driver memory management
- RSSI measurement function
- Promiscuous mode
- Auto ACK management
- CCA configuration management
- CSMA-CA procedure
- ACK timeout procedure
- Statistics and measurements
- Inter-frame spacing feature
- Radio driver run-time capabilities feature
- Radio driver MAC security feature
- Radio driver Information Element data injection feature
- Radio driver configuration
- CSMA/CA procedure configuration
- ACK timeout feature configuration
- Transmission start notification feature configuration
- Information Elements configuration
- Other functions