KB: How to add external PA to increase the TX power for RSL10

Question

Some customers want to add an external PA IC to make RSL10 support higher TX power, such as +17dB yet they may not know how to achieve it.

This topic provides some general guidelines in order to do so.

Answer

First we cannot use VDDPA to control the external PA’s enable and disable is it is not switch signal.
Instead, use a DIO on RSL10 to control the TX and RX enable pin to the external PA IC.

To do so, we need to control the below registers:

  • BBIF_COEX_CTRL
  • BBIF_COEX_STATUS
  • BBIF_COEX_INT_CFG
  • BBIF_COEX_INT_STATUS.
  1. Config the DIO for the control of external PA’s TX/RX enable pin:
    Sys_DIO_Config(0, DIO_MODE_GPIO_OUT_0);

  2. After BLE Initialize, use the following configuration:

    BB_COEXIFCNTL2->RX_ANT_DELAY_BYTE = 0xf;
    BB_COEXIFCNTL2->TX_ANT_DELAY_BYTE = 0xf;
 
    NVIC_ClearPendingIRQ(BLE_COEX_IN_PROCESS_IRQn);
    NVIC_EnableIRQ(BLE_COEX_IN_PROCESS_IRQn);
    BBIF_COEX_INT_CFG->BLE_IN_PROCESS_EVENT_BYTE = BLE_IN_PROCESS_EVENT_TRANSITION_BYTE;
    BBIF_COEX_INT_CFG->RESERVED0[0] = (BLE_TX_EVENT_TRANSITION | BLE_RX_EVENT_TRANSITION);
  1. Monitor in the interrupt handler : BLE_COEX_IN_PROCESS_IRQHandler()
    Apply the DIO change here and read the following bit to identify TX or RX activity.
    NOTE:
BLE_IN_PROCESS_ALIAS -->Indicate if the RW-BLE core has an event in process, active high.
BLE_RX_ALIAS             -->Indicates if the RW-BLE core is busy and performs Rx activity, active high.
BLE_TX_ALIAS             -->Indicates if the RW-BLE core is busy and performs Tx activity, active high.
  1. Finally, use DIO0 to perform a TX and RX event.

H Titan,

Thank you for this article.

Do you have any schematic application of this solution with the RSL10 ? or suggestion of circuit to use.

In our design we want to increase the the Tx power and in the same time to improve the reception as shown below:

Best regards,

Hi,Embed

Yes, you can use one GPIO of RSL10 to control the TX and RX enable pin, the schematic is easy, it has been tested in the RFX2401C. And the key points it in the software application. You can test it in your side, thanks.

Thank you Titan,

How you can control the Tx and Rx enable pin with one GPIO, i don’t understand this point.

Referring to the data sheet of RFX2401C, we should use two pins:

Best regards,

Hi Embed

We have set the GPIO Control of RSL10 like below, when there is RX event or TX event it will automatic control the RX enable or TX enable pin;

I share one example for your refer, you can check this project and test it in your side directly. Thanks.
peripheral_server_uart_PA_v1.0.zip (859.7 KB)

Thanks.

Hi Titan,

Thank you very much for sharing that and for your help.

Best regards,