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.

1 Like

Hi Titan,

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

Best regards,

Hi @Titan ,

We wanna do range extension for custom protocol of RSL10. We already have product which we use Sip package of RSL10.Custom protocol never receive any data on transmitter side (source side). I think it will be easy use RFX2401C with RSL10.

You know RSL10SIP has internal antenna. Could we use RFX2401C with tihs internal antenna ?

Hi @karuf
Yes, you can use the external RFX2401C with RSL10SIP.
Please see the below, if you don’t short the E1 and F1, then it will not use its internal antenna.
Then you can use the E1 with RFX2401C for range extension.

1 Like

Hi @Titan ,

Thanks a lot for your reply.

I am okey with whatever you said. But Could we use RFX2401C with internal RSL10SIP antenna?

Hi @karuf
I think it is ok to use the internal antenna. Please check your hardware designer, you can share your schematic and we can check it.
And also, please make sure there is no problem in the software side. I attach the project that I used for this RFX2401C.
peripheral_server_uart_PA_v1.0.zip (859.7 KB)

1 Like

Hi @Titan ,

Thanks a lot for your replys. In fact that was a question in our minds to try something.
After this all information, we are going to try range extension and ı will be inform you.

Thank you…

2 Likes