BT840X Low Transmit Power with Skyworks FEM

Hello,

I have read through many threads and am trying to understand how the Skyworks fem module works as there is not a good example.  I will start by saying that I am seeing more power with the FEM but it is now what was expected. This is all being used for BLE.

Currently I have 2 boards and several different advertising sets and one has the module with the skyworks FEM.  When I set both to 8db using set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 2, 8); I am not seeing the same rssi.  The unit with the FEM is about 6-10 DB low so I am going to say something is being left on the table for link budget.  I would expect to see the same RSSI when using the same antenna and not moving it.  I can see the the spike on the power profiler is about the same as well which is why it is a bit confusing.

Device Tree:

    nrf_radio_fem: skyFem {
        compatible = "skyworks,sky66112-11", "generic-fem-two-ctrl-pins";
        ctx-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
        crx-gpios = <&gpio0 19 GPIO_ACTIVE_HIGH>;
        cps-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
        chl-gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
        };

&radio {
    fem = <&nrf_radio_fem>;
    };
Init code
gpio_pin_configure_dt(&CHL, GPIO_OUTPUT | GPIO_OUTPUT_INIT_HIGH);
		gpio_pin_configure_dt(&CPS, GPIO_OUTPUT | GPIO_OUTPUT_INIT_LOW);

		// mpsl_fem_gain_t fem = {.gain_db=22};
		// int ret = mpsl_fem_pa_gain_set(&fem);
		// if(ret != 0)
		// {
		// 	LOG_ERR("FEM");
		// }

		tx_power = 22;
		set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 0, tx_power);
		set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 1, tx_power);
		set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 2, 8);
		set_tx_power(BT_HCI_VS_LL_HANDLE_TYPE_ADV, 3, 8);
Config
CONFIG_MPSL=y
CONFIG_MPSL_FEM=y
CONFIG_MPSL_FEM_SIMPLE_GPIO=y
CONFIG_BT_CTLR_TX_PWR_ANTENNA=22
Parents Reply
  • Pablo,  I was assuming that you were using NCS as well. Is this for the nRF5SDK based solution? If it is, then I think the support of FEM in our softdevice was very limited. We know that nRF5 based SDK solution might not be working with Skyworks FEM as we only supported generic gpio based solution in that.

    Regarding the NCS supportCurrently released support for (simple GPIO) Skyworks FEM does not allow run-time control. Decision to use PA or bypass is taken at compile-time.

Children
No Data
Related