This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

MPSL and FEM support NCS 1.5.0

Hi Nordic Team,

We've been long waiting for FEM support with multiprotocol and it seems like it is finally here with NRF NCS v1.5.0.

1- Can you please clarify, yes I can use a 2-wire (aka Simple GPIO) FEM to run Thread and BLE simultaneously and (and long range due to FEM) with this release?

If the answer is yes, then I'm having issues, mostly with the BLE+FEM side.

So to simplify things I went back to BLE Peripheral_lbs sample, yes it works out of the box on nrf52840dk. I then added the FEM .overlay file to the project CMakeLists.txt to enable the FEM and programmed to another board that has the SKY66112 FEM connected to nRF52840.

the contents of the overlay file:

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

Upon opening the project I can see that these have been added to autoconf.h

#define CONFIG_MPSL_FEM_GENERIC_TWO_CTRL_PINS_SUPPORT 1
#define CONFIG_MPSL_FEM 1
#define CONFIG_MPSL_FEM_SIMPLE_GPIO 1

After build/programming is done via SES, hit go, rx and tx GPIOs do not toggle (staying low = 0)

I see the device advertising with very weak signal (-92 dBm) within 10cm of my BLE dongle. Not surprising given that rx and tx are both kept low by MPSL FEM driver.

Here are the threads spun by the system:

  

What is stopping BLE to advertise properly with the FEM/MPSL?

There are 2 guides here - but I think i have followed every step.

http://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_radio_fem.html

http://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrfxlib/mpsl/doc/mpsl.html#mpsl-lib

Fanstel BT840XE is the module I'm experimenting with and I know that the chip works because when I take the FEM overlay file out of the proj CMakelists I can get it to work much better (-69dBm) in bypass mode by setting the Tx/RX to bypass mode. Though it is not ideal since it is in Transmit bypass mode only - i.e. not dynamically switching tx/rx modes.

Related