nrf54l15 combine with nrf21540

HI

I am using the DTM example routine of NCS 3.2.1 and am currently testing the combination of nRF54L15 DK and nRF21540 EK. After flashing the original example routine to the nRF54L15 (with the nRF21540 not connected yet), I set the TP (Transmit Power) to 0 dBm via the DTM 3.1.0 application, and the spectrum analyzer detected an output power of approximately 0 dBm from the nRF54L15. However, after I added the nRF21540 configuration in the overlay file, the output power dropped to approximately -10 dBm(with the nRF21540 not connected yet),. Could this be caused by an incorrect configuration somewhere?

/ {
    chosen {
        ncs,dtm-uart = &uart20;
    };
    nrf_radio_fem: nrf21540_fem{
          compatible="nordic,nrf21540-fem";
          tx-en-gpios=<&gpio1 9 GPIO_ACTIVE_HIGH>;
          rx-en-gpios=<&gpio1 11 GPIO_ACTIVE_HIGH>;
          mode-gpios=<&gpio1 12 GPIO_ACTIVE_HIGH>;
          ant-sel-gpios=<&gpio1 10 GPIO_ACTIVE_HIGH>;
          pdn-gpios=<&gpio1 8 GPIO_ACTIVE_HIGH>;
          supply-voltage-mv=<3000>;
          trx-hold-time-us = <10>;
          pdn-settle-time-us = <17>;
          rx-en-settle-time-us = <10>;
          tx-en-settle-time-us = <10>;
    };
};
&radio {
    status = "okay";
    /* This is a number of antennas that are available on antenna matrix
     * designed by Nordic. For more information see README.rst.
     */
    dfe-antenna-num = <12>;
    /* This is a setting that enables antenna 12 (in antenna matrix designed
     * by Nordic) for PDU. For more information see README.rst.
     */
    dfe-pdu-antenna = <0x0>;

    /* These are GPIO pin numbers that are provided to
     * Radio peripheral. The pins will be acquired by Radio to
     * drive antenna switching.
     * Pin numbers are selected to drive switches on antenna matrix
     * desinged by Nordic. For more information see README.rst.
     */
    dfegpio0-gpios = <&gpio0 4 0>;
    dfegpio1-gpios = <&gpio0 5 0>;
    dfegpio2-gpios = <&gpio0 6 0>;
    dfegpio3-gpios = <&gpio0 7 0>;

    fem=<&nrf_radio_fem>;
};
CONFIG_MPSL=y
CONFIG_MPSL_FEM=y
CONFIG_MPSL_FEM_NRF21540_GPIO=y
CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB=20
CONFIG_MPSL_FEM_NRF21540_RX_GAIN_DB=13
CONFIG_MPSL_FEM_NRF21540_RUNTIME_PA_GAIN_CONTROL=y
Thanks!
Parents
  • Hi,

    As Paal mentioned, when you enable FEM, the requested output power will be present at FEM output (antenna port), so the power needs to be checked after FEM when you enable FEM in your configuration. 

    Best regards,
    Ressa

  • nrf_radio_fem: nrf21540_fem{
              compatible="nordic,nrf21540-fem";
              tx-en-gpios=<&gpio1 9 GPIO_ACTIVE_HIGH>;
              rx-en-gpios=<&gpio1 11 GPIO_ACTIVE_HIGH>;
              mode-gpios=<&gpio1 12 GPIO_ACTIVE_HIGH>;
              ant-sel-gpios=<&gpio1 10 GPIO_ACTIVE_HIGH>;
              pdn-gpios=<&gpio1 8 GPIO_ACTIVE_HIGH>;
              supply-voltage-mv=<3000>;
              trx-hold-time-us = <10>;
              pdn-settle-time-us = <17>;
              rx-en-settle-time-us = <10>;
              tx-en-settle-time-us = <10>;
        };

    Thank you for your reply. I have added the ant_sel pin in the Device Tree. How can I control this pin? Are the other pins automatically handled at runtime?

    Why does adding the FEM reduce the transmit power, and what is the purpose of this?I set the TX power of the nRF54 to 0 dBm in the DTM app, but the output power via the nRF21540 is only -8 dBm. VDD 3.0V

  • Hi,

    joey said:
    Why does adding the FEM reduce the transmit power, and what is the purpose of this?I set the TX power of the nRF54 to 0 dBm in the DTM app, but the output power via the nRF21540 is only -8 dBm. VDD 3.0V

    Because when FEM is enabled, the power you set is meant to be present at FEM output. So the power you set in DTM is equal to "SoC power + FEM gain", based on that if you set 0 dBm and the FEM gain is 10 dB , then the SoC output power would be -10 dBm. (FEM out = SoC power + FEM gain)
    So it is doing what it is supposed to do. 

    Regarding the pins, tx-en-gpios, rx-en-gpios, and pdn-gpios are controlled automatically by the MPSL FEM driver when the nrf_radio_fem node and CONFIG_MPSL_FEM_NRF21540_GPIO are enabled. These pins are mandatory for GPIO mode operation. 

    Regarding the other two GPIOs, mode-gpios and ant-sel-gpios are optional pins. They are also managed by the FEM driver according to the configured gain and antenna selection logic.

    If you enable CONFIG_MPSL_FEM_NRF21540_RUNTIME_PA_GAIN_CONTROL=y, the driver will toggle the MODE pin at runtime to select between the two calibrated gains (default 20 dB and 10 dB).

    If you see lower than expected power at FEM out, then it means the FEM connection to SoC is not correct. When connecting FEM to SoC, make sure the GPIOs are connected according to your selected GPIOs in the code. 

    Please check the below pages if you have not seen them:
    Enabling FEM support
    Enabling GPIO mode support for nRF21540


    Best regards,
    Ressa

  • Thank you for your reply. I have a few more questions.

    1、The TX power of nRF54L15 can be set to 10 dBm on the DTM app, but I checked that the maximum TX power of nRF54L15 is 8 dBm. So when FEM is enabled (0 dBm on DTM corresponds to -10 dBm output from nRF54L15), if I set 10 dBm on DTM, does it mean the output power of nRF54L15 will be 0 dBm?

    2、I can switch the ANT pin selection via fem_antenna_select(), but how should I switch the MODE pin? I set mode-gpios=<&gpio1 12 GPIO_ACTIVE_LOW>; in the overlay file, but the pin is still at high level in practice.

    3、Additionally, how are configurations like CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB=20, CONFIG_MPSL_FEM_NRF21540_RX_GAIN_DB=13, and CONFIG_MPSL_FEM_NRF21540_RUNTIME_PA_GAIN_CONTROL=y applied in the program? How do they work with the MODE pin? I have checked relevant documents but haven’t fully understood this part.

Reply
  • Thank you for your reply. I have a few more questions.

    1、The TX power of nRF54L15 can be set to 10 dBm on the DTM app, but I checked that the maximum TX power of nRF54L15 is 8 dBm. So when FEM is enabled (0 dBm on DTM corresponds to -10 dBm output from nRF54L15), if I set 10 dBm on DTM, does it mean the output power of nRF54L15 will be 0 dBm?

    2、I can switch the ANT pin selection via fem_antenna_select(), but how should I switch the MODE pin? I set mode-gpios=<&gpio1 12 GPIO_ACTIVE_LOW>; in the overlay file, but the pin is still at high level in practice.

    3、Additionally, how are configurations like CONFIG_MPSL_FEM_NRF21540_TX_GAIN_DB=20, CONFIG_MPSL_FEM_NRF21540_RX_GAIN_DB=13, and CONFIG_MPSL_FEM_NRF21540_RUNTIME_PA_GAIN_CONTROL=y applied in the program? How do they work with the MODE pin? I have checked relevant documents but haven’t fully understood this part.

Children
No Data
Related