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

3-wire protocol HW 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

Coexistence interface signal description

Signal name

Driven by

Description

BLE_REQUEST

SoftDevice Controller

Activated to submit a request for radio activity to PTA. The signal remains active for the duration of the requested radio activity.

BLE_PRIORITY

SoftDevice Controller

Indicates the priority and the direction of the requested radio activity.

BLE_GRANT

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

The 3-wire coexistence interface has the following timing parameters:

Extended timeslot example

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.

Coexistence interface timing parameters

Coexistence interface timing parameters

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:

1-wire coexistence protocol HW resources

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:

1-wire LTE coexistence protocol pin

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.

../../_images/mpsl_coex_1wire_timing_grant.svg

1-wire LTE Coexistence protocol timing

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.