Bluetooth External Radio Coexistence
The Bluetooth® coexistence feature can use the 3-wire Packet Traffic Arbitration protocol or the 1-wire LTE coexistence protocol.
Application Programming Interface:
Details of the API for 3-wire and 1-wire can be found in the file nrfxlib/mpsl/include/mpsl_coex.h
.
Note
This implementation is only supported on nRF52 devices.
3-Wire coexistence protocol
IEEE 802.15.2-2003 provides recommendations to facilitate coexistence. This implementation is based on the Packet Traffic Arbitration (PTA) solution in section 6. Since IEEE 802.15.2-2003 is not a standard but a recommendation, implementations may vary.
Interface
PTA is a system implemented outside of the Bluetooth SoC, and its role can be fulfilled by another wireless device, such as by a WiFi SoC. The Bluetooth stack communicates with PTA using a 3-wire hardware interface, with Bluetooth acting as a slave.
When the interface is enabled, the SoftDevice Controller submits a request to PTA before any radio activity. PTA can then grant or deny the requested radio activity. PTA can withdraw its approval at any time during a granted radio activity request.
Hardware resources
Peripheral |
Count |
Description |
---|---|---|
HF Timer instance |
1 |
Timer instance for adhering to the timing requirements, referred to as the coex timer. |
GPIO pins |
3 |
Pin selection for the 3-wire interface. |
GPIOTE channels |
3 |
Each GPIOTE channel corresponds to a GPIO pin. |
PPI channels |
4 |
Three channels for the three GPIOTEs, and one for handling radio events. |
Interface signals
The interface consists of three signals mapped to the GPIO pins by the application’s interface configuration. A signal’s active level (high or low) is programmable. All timing diagrams here assume that all three signals are active high
Signal name |
Driven by |
Description |
---|---|---|
|
Activated to submit a request for radio activity to PTA. The signal remains active for the duration of the requested radio activity. |
|
|
Indicates the priority and the direction of the requested radio activity. |
|
|
PTA |
Deactivated to indicate that a request is denied. |
The coexistence interface can be enabled or disabled when the SoftDevice Controller is active. This change is not immediate and depends on the current SoftDevice Controller activity. When the coexistence interface is disabled, the associated GPIO pins are set to a high impedance state.
Timing parameters
Symbol |
Value |
Min |
Max |
Description |
---|---|---|---|---|
ttype |
Configurable |
2 μs |
Time from activating BLE_REQUEST until the direction of the requested radio activity is indicated. |
|
tradio |
Configurable |
5 μs |
Time from the expiration of ttype until the radio can assume that the request has been granted. |
|
ttype + tradio |
7 μs |
40 μs |
||
tradio_off_delay |
10 μs non CODED PHYs 15 μs CODED PHYs |
Maximum delay from the time BLE_GRANT is deactivated until the radio is turned off. |
||
tmax_BLE_GRANT_reactivation_delay |
100 μs |
Maximum delay from the time BLE_GRANT is deactivated until it is reactivated. |
During ttype, PTA samples the BLE_PRIORITY line to get the priority of the request. An active state indicates that the request has high priority. During tradio, PTA samples the BLE_PRIORITY line to get the direction of the requested radio activity. The application can configure whether a reception is indicated by an active or inactive state. All timing diagrams assume that a reception is indicated by an active state.
See Bluetooth External Radio Coexistence examples for example timing diagrams.
1-Wire coexistence protocol
Interface
The 1-wire protocol lets Bluetooth LE nRF chips coexist alongside an LTE device on a separate chip. It was specifically designed for the coex interface of nRF9160.
Hardware resources
The 1-wire Coexistence protocol requires the following peripherals:
Peripheral |
Count |
Description |
---|---|---|
GPIO pins |
1 |
Pin selected for the 1-wire interface BLE_GRANT |
GPIOTE channels |
1 |
One GPIOTE channel for registering BLE_GRANT pin changes |
PPI channels |
1 |
Connecting the BLE_GRANT to Radio DISABLE task |
Interface signals
The 1-wire interface is a single uni-directional input controlled by the LTE device:
Pin |
Direction |
Description |
---|---|---|
BLE_GRANT |
In |
Used by the LTE to grant radio access |
The interface consists of a BLE_GRANT signal mapped to the GPIO pin by the application’s interface configuration. The signal’s active level (high or low) is programmable. Whenever the nRF SoC requires the use of the radio for any RF activity, it needs to test that the BLE_GRANT pin level is valid for Bluetooth LE radio use (such as 0 for the nRF9160).
The figure below illustrates these timings with regard to the LTE and BLE_GRANT signal.
When the BLE_GRANT is revoked (for example the pin de-asserts for the nRF9160), the Bluetooth LE radio immediately gets disabled with a maximum delay of 7us.
When the coexistence interface is disabled, the associated GPIO pins are set to a high impedance state.