CC33xx Coexistence¶
The 2.4-GHz band is used by many wireless communication standards and proprietary wireless implementations. When two different entities use the same wireless band in close proximity, there must be a coexistence mechanism to avoid significant degradation in performance.
The CC33xx implements a 3 wire Packet Traffic Arbitration (PTA) in order to manage a coexistence mechanism.
Packet Traffic Arbitration¶
The PTA mechanism provides a per packet authorization for all transmission and receptions, it can be abstracted to a signal interface between the two devices, as illustrated in the figure below
PTA (Packet Traffic Arbitration) Signals
In order to support time-shared signals, the coex feature is heavily dependent on accurate timing.
| Parameter | Description | Minimal (µs) | Maximal (µs) | Recommended (µs) |
|---|---|---|---|---|
| T1 | REQUEST signal is asserted by the external SoC (PTA slave). REQUEST signal indicates to the CC33xx (PTA master) that the coex slave will perform RF activity. This is a request for access to the shared frequency band. T1 can be expected to be in the range of 90-150 µs. In the timing diagram, this happens at a time T1 before the BLE RX command is scheduled to run | 90 | 150 | 120 |
| T2 | PRIORITY signal is time-shared between indicating priority and and type of CoEX entities RF activity (TX/RX) will do. The time T2 indicates the duration of which the PRIORITY signal indicates priority from the time the REQUEST signal is asserted, and for a duration of 5- 20 µs. For the rest of the request interaction, as long as the REQUEST signal is asserted the PRIORITY signal indicates CoEX entities RF activity. The PRIORITY signal can be modified, when REQUEST and GRANT signal are asserted, only if there is no activity (TX or RX) and T4 before the next activity is started | 5 | 20 | 20 |
| T3 | In a period before the scheduled RF activity, the CC33xx (PTA master) will assert or de-assert the GRANT signal. This is to indicate if the request from the external SoC, asserted at T1, is granted or not. At period T3, 50-135 µs, the GRANT signal is expected to be in a stable state. The external SoC (PTA slave) will read the GRANT signal within the T3 period, and use this value as the answer to the request. | 50 | T1-T2 | 80 |
| T4 | The PRIORITY signal is time-shared, as explained under T2. After T2, the PRIORITY signal indicates the type of RF activity (and no longer priority). In the timing diagram, the external SoC (PTA slave) asserts the PRIORITY signal at T4 before it transmits to indicate the change in type of activity from RX to TX.The RX activity is indicated by de-asserting the PRIORITY signal, and the TX activity is indicated by asserting the PRIORITY signal | 0 | Idle | Idle |
| T5 | After the coex slave is finished with the scheduled RF activities, it will de-assert the REQUEST signal. This is how the external SoC (PTA slave) indicates to the CC33xx that the requested RF activity is finished. This will happen 0-25 µs after the last RF activity | 0 | 25 | 0 |
Enabling External Coexistence¶
The Following steps are need to enable external coex on the CC33xx
- Locate and open the ‘CC33xx-conf.ini’ file with a text editor
cd /usr/sbin/cc33conf
vi cc33xx-conf.ini
- Add the following line to enable the External SoC entity
Is_ExtSoC_Connected = 01 # Yes/No Choose if External SoC entity is connected - 1 - YES, 0 - NO
- Other coex parameters can be modified depending on the application. See below
ExtSoC_grant_polarity = 01 # External SoC grant polarity - 0 - Active Low, 1 - Active High (Default)
ExtSoC_priority_polarity = 01 # External SoC priority polarity - 0 - Active Low, 1 - Active High (Default)
ExtSoC_request_polarity = 01 # External SoC request polarity - 0 - Active Low, 1 - Active High (Default)
ExtSoC_min_grant_time = 96 # 150 in decimal, Minimum grant time for External SoC
ExtSoC_max_grant_time = 3fff # 16383 in decimal, Maximum available grant time for External SoC
ExtSoC_t2_time = 05 # T2 time for External SoC
ExtSoC_to_wifi_grant_delay = 1e # 30 in decimal, Maximum time for changing the grant from External SoC to WiFi
ExtSoC_to_ble_grant_delay = 23 # 35 in decimal, Maximum time for changing the grant from External SoC to BLE
- Build new ‘cc33xx-conf.bin’ with the new configuration. This new file will need to be moved to the firmware location.
./cc33xxconf -D
./cc33xxconf -I cc33xx-conf.ini -X
cp cc33xx-conf.bin /lib/firmware/ti-connectivity/cc33xx-conf.bin
- Reboot the device with the new ‘cc33xx-conf.bin’.
For more information please reference the Conf Tool Guide
| Name | Pin |
|---|---|
| REQUEST | P1.29 |
| PRIORITY | P1.30 |
| GRANT | P1.9 |
For a detailed view of the pin layout please reference the BoosterPack User Guide