The Error Vector Magnitude (EVM) performance of the Nordic7002EK in the 5G frequency band is not good

Hi all,

I am using the Nordic 7002 EK board with the Nordic 5340 DK board.

When I conducted the production testing (using IQ xstream), I found that for TX-HT-MCS7 in the 5520 channel, the TX power was 14.5 dB but the EVM was only about -20 dB (usually it is about -27 dB).

I checked the OTP area to see if I could decrease the TX power to improve the EVM, but only the MAC address or the CALIB can be changed.

Is there anything I can do to improve it or is this the limit for the EVM test?

Thanks & regards

Parents
  • Will look in to this and provide more info later on. 

    Can you share what NCS version you are using? 


    Regards,
    Jonathan

  • Hi,Jonathan

    Thanks for your quick reply. I used the radio_test sample and my NCS version is 2.6.0.

  • zyan said:
    here is the OPT data by executing the wifi_radio_ficr_prog otp_read_retrim_params.

    From the OTP data, this board does not have any configured data in re-trim region. Can you please execute following commands and provide us log?

    wifi_radio_ficr_prog otp_read_params

    wifi_radio_ficr_prog otp_read_retrim_version

    wifi_radio_ficr_prog otp_read_retrim_params

    Regards,
    Jonathan

  • Hi,Jonathan

    When I sent the command wifi_radio_test get_temperature, I got an error and could not perform the EVM test. The error log is in text1.txt, and for the OPT test, the log is in text2.txt.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    [15:01:24.686]send→◇wifi_radio_test get_temperature
    [15:01:24.686]receive←◆wifi_radio_test get_temperature[1B[40D[00:00:25.430,175] [1;31m<err> os: ***** SECURE FAULT *****[0m
    [00:00:25.430,206] [1;31m<err> os: Address: 0x0[0m
    [00:00:25.430,206] [1;31m<err> os: Attribution unit violation[0m
    [00:00:25.430,236] [1;31m<err> os: r0/a1: 0x00000000 r1/a2: 0x2000c824 r2/a3: 0x0000000a[0m
    [00:00:25.430,236] [1;31m<err> os: r3/a4: 0x2000c880 r12/ip: 0x00029985 r14/lr: 0x00009721[0m
    [00:00:25.430,236] [1;31m<err> os: xpsr: 0x21000200[0m
    [00:00:25.430,267] [1;31m<err> os: Faulting instruction address (r15/pc): 0x00018c46[0m
    [00:00:25.430,297] [1;31m<err> os: >>> ZEPHYR FATAL ERROR 41: Unknown error on CPU 0[0m
    [00:00:25.430,328] [1;31m<err> os: Current thread: 0x20009530 (shell_uart)[0m
    [39D[J[00:00:25.492,614] [1;31m<err> coredump: #CD:BEGIN#[0m
    [39D[J[00:00:25.498,321] [1;31m<err> coredump: #CD:5a4501000300050029000000[0m
    [39D[J[00:00:25.505,523] [1;31m<err> coredump: #CD:4102004400[0m
    [39D[J[00:00:25.511,566] [1;31m<err> coredump: #CD:0000000024c800200a00000080c800208599020021970000468c010000020021[0m
    [39D[J[00:00:25.522,216] [1;31m<err> coredump: #CD:0000000000000000000000000000000000000000000000000000000000000000[0m
    [39D[J[00:00:25.532,867] [1;31m<err> coredump: #CD:00000000[0m
    [39D[J[00:00:25.538,696] [1;31m<err> coredump: #CD:4d010030950020e8950020[0m
    [39D[J[00:00:25.545,776] [1;31m<err> coredump: #CD:1cb600201cb600200000000000800e0000000000000000000000000000000000[0m
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    [15:01:04.744]send→◇wifi_radio_ficr_prog otp_read_params
    [15:01:04.760]receive←◆wifi_radio_ficr_prog otp_read_params
    [15:01:04.788]receive←◆·[1;32mOTP Region is open for R/W
    ·[m·[1;32m
    ·[m·[1;32mPRODTEST.FT.PROGVERSION = 0xff0200ff
    ·[m·[1;32m
    ·[m·[1;32mPRODTEST.TRIM0 = 0x0099040c
    ·[m·[1;32mPRODTEST.TRIM1 = 0x0099d408
    ·[m·[1;32mPRODTEST.TRIM2 = 0x0099d808
    ·[m·[1;32mPRODTEST.TRIM3 = 0x009f040c
    ·[m·[1;32mPRODTEST.TRIM4 = 0x009fd408
    ·[m·[1;32mPRODTEST.TRIM5 = 0x009fd808
    ·[m·[1;32mPRODTEST.TRIM6 = 0xffffffff
    ·[m·[1;32mPRODTEST.TRIM7 = 0xffffffff
    ·[m·[1;32mPRODTEST.TRIM8 = 0xffffffff
    ·[m·[1;32mPRODTEST.TRIM9 = 0xffffffff
    ·[m·[1;32mPRODTEST.TRIM10 = 0xffffffff
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Thanks Yan, will look in to this. 

  • Update:

    Thanks for the logs. From the OTP parameters, FT.PROGVERSION is 2 and it is not retrimmed. Can they test on a chip with FT.PROGVERSION is 5 (or higher) or PRODTEST.PROGVERSION is 5 (or higher). 

    Can you also share where you got the EK's with FT.PROGVERSION is 2?

    Regarding error log, we do not observe this problem when we execute this command. What is the codebase used here? Is it custom code or one of NCS releases?

    Please get the details. If it is your own code then we need source code and ELF for debugging the problem.

    Regards,
    Jonathan

  • Hi Jonathan,

    Sorry for the late reply.

    I got this board from your Nordic Semiconductor office in China. As for the error log, I think it might be caused by the wrong firmware I choose. Here is the test log and the data I obtained.

    Send:

    wifi_radio_test get_temperature

    wifi_radio_test init 104
    wifi_radio_test tx_pkt_tput_mode 1
    wifi_radio_test tx_pkt_mcs 7
    wifi_radio_test tx 1

    wifi_radio_test get_temperature

    Receive:

    [11:13:52.745]Receive ←◆[m

    [1;32muart:~$ [m
    [11:13:53.747]Send ←◆[8D[J[00:00:00.258,239] [0m<inf> wifi_nrf_bus: SPIM spi@a000: freq = 8 MHz[0m
    [1;32muart:~$ [m[8D[J[00:00:00.258,270] [0m<inf> wifi_nrf_bus: SPIM spi@a000: latency = 0[0m
    [1;32muart:~$ [m[8D[J*** Booting nRF Connect SDK v3.5.99-ncs1 ***
    [1;32muart:~$ [m[8D[J[1;32muart:~$ [m
    [11:13:57.094]Send→◇wifi_radio_test get_temperature

    [11:13:57.094]Receive←◆wifi_radio_test get_temperature

    [11:13:57.199]Receive←◆[1;32muart:~$ [m
    [11:13:58.098]Receive←◆[8D[J[00:00:04.612,182] [0m<inf> wifi_nrf: The temperature is = 19 degree celsius[0m
    [1;32muart:~$ [m[8D[J[1;32muart:~$ [m
    [11:14:05.074]Send→◇wifi_radio_test init 104

    [11:14:05.090]Receive←◆wifi_radio_test init 104

    [11:14:05.348]Receive←◆[1;32muart:~$ [m
    [11:14:08.561Send→◇wifi_radio_test tx_pkt_tput_mode 1

    [11:14:08.561]Receive←◆wifi_radio_test tx_pkt_tput_mode 1
    [1;32muart:~$ [m
    [11:14:10.380]Send→◇wifi_radio_test tx_pkt_mcs 7

    [11:14:10.396]Receive←◆wifi_radio_test tx_pkt_mcs 7
    [1;32muart:~$ [m
    [11:14:12.751]Send→◇wifi_radio_test tx 1

    [11:14:12.773]Receive←◆wifi_radio_test tx 1
    [1;32muart:~$ [m
    [11:15:36.375]Send→◇wifi_radio_test get_temperature

    [11:15:36.375]Receive←◆wifi_radio_test get_temperature

    [11:15:36.475]Receive←◆[1;32muart:~$ [m
    [11:15:37.386]Receive←◆[8D[J[00:01:43.899,383] [0m<inf> wifi_nrf: The temperature is = 27 degree celsius[0m
    [1;32muart:~$ [m[8D[J[1;32muart:~$ [m
    [11:15:48.392]Send→◇wifi_radio_ficr_prog otp_read_params

    [11:15:48.408]Receive←◆wifi_radio_ficr_prog otp_read_params

    [11:15:48.439]Receive←◆[1;32mOTP Region is open for R/W
    [m[1;32m
    [m[1;32mPRODTEST.FT.PROGVERSION = 0xff0200ff
    [m[1;32m
    [m[1;32mPRODTEST.TRIM0 = 0x0099040c
    [m[1;32mPRODTEST.TRIM1 = 0x0099d408
    [m[1;32mPRODTEST.TRIM2 = 0x0099d808
    [m[1;32mPRODTEST.TRIM3 = 0x009f040c
    [m[1;32mPRODTEST.TRIM4 = 0x009fd408
    [m[1;32mPRODTEST.TRIM5 = 0x009fd808
    [m[1;32mPRODTEST.TRIM6 = 0xffffffff
    [m[1;32mPRODTEST.TRIM7 = 0xffffffff
    [m[1;32mPRODTEST.TRIM8 = 0xffffffff
    [m[1;32mPRODTEST.TRIM9 = 0xffffffff
    [m[1;32mPRODTEST.TRIM10 = 0xffffffff
    [m[1;32mPRODTEST.TRIM11 = 0xffffffff
    [m[1;32mPRODTEST.TRIM12 = 0xffffffff
    [m[1;32mPRODTEST.TRIM13 = 0xffffffff
    [m[1;32mPRODTEST.TRIM14 = 0xffffffff
    [m[1;32m
    [m[1;32mINFO.PART = 0x00007002
    [m[1;32mINFO.VARIANT = 0x00423030
    [m[1;32m
    [m[1;32mINFO.UUID0 = 0x8b738e42
    [m[1;32mINFO.UUID1 = 0x11ed7d78
    [m[1;32mINFO.UUID2 = 0xe48304cc
    [m[1;32mINFO.UUID3 = 0xb4158e5e
    [m[1;32m
    [m[1;32mREGION.PROTECT0 = 0x50fa50fa
    [m[1;32mREGION.PROTECT1 = 0x50fa50fa
    [m[1;32mREGION.PROTECT2 = 0x50fa50fa
    [m[1;32mREGION.PROTECT3 = 0x50fa50fa
    [m[1;32m
    [m[1;32mMAC0.ADDRESS0 = 0x0036cef4
    [m[1;32mMAC0.ADDRESS1 = 0x00009e13
    [m[1;32mMAC0.ADDRESS = f4:ce:36:00:13:9e
    [m[1;32m
    [m[1;32mMAC1.ADDRESS0 = 0x0036cef4
    [m[1;32mMAC1.ADDRESS1 = 0x00009f13
    [m[1;32mMAC1.ADDRESS = f4:ce:36:00:13:9f
    [m[1;32m
    [m[1;32mCALIB.XO = 0x2b
    [m[1;32mREGION_DEFAULTS = 0xfffffff1
    [m[1;32m
    [m[1;32muart:~$ [m
    [11:15:50.697]Send→◇wifi_radio_ficr_prog otp_read_retrim_version

    [11:15:50.712]Receive←◆wifi_radio_ficr_prog otp_read_retrim_version
    [1;32m
    PRODRETEST.PROGVERSION = 0xffffffff
    [m[1;32m
    [m[1;32muart:~$ [m
    [11:15:53.493]Send→◇wifi_radio_ficr_prog otp_read_retrim_params

    [11:15:53.508]Receive←◆wifi_radio_ficr_prog otp_read_retrim_params
    [1;32m
    [m[1;32mPRODRETEST.TRIM0 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM1 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM2 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM3 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM4 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM5 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM6 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM7 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM8 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM9 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM10 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM11 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM12 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM13 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM14 = 0xffffffff
    [m[1;32m
    [m[1;32muart:~$ [m

Reply
  • Hi Jonathan,

    Sorry for the late reply.

    I got this board from your Nordic Semiconductor office in China. As for the error log, I think it might be caused by the wrong firmware I choose. Here is the test log and the data I obtained.

    Send:

    wifi_radio_test get_temperature

    wifi_radio_test init 104
    wifi_radio_test tx_pkt_tput_mode 1
    wifi_radio_test tx_pkt_mcs 7
    wifi_radio_test tx 1

    wifi_radio_test get_temperature

    Receive:

    [11:13:52.745]Receive ←◆[m

    [1;32muart:~$ [m
    [11:13:53.747]Send ←◆[8D[J[00:00:00.258,239] [0m<inf> wifi_nrf_bus: SPIM spi@a000: freq = 8 MHz[0m
    [1;32muart:~$ [m[8D[J[00:00:00.258,270] [0m<inf> wifi_nrf_bus: SPIM spi@a000: latency = 0[0m
    [1;32muart:~$ [m[8D[J*** Booting nRF Connect SDK v3.5.99-ncs1 ***
    [1;32muart:~$ [m[8D[J[1;32muart:~$ [m
    [11:13:57.094]Send→◇wifi_radio_test get_temperature

    [11:13:57.094]Receive←◆wifi_radio_test get_temperature

    [11:13:57.199]Receive←◆[1;32muart:~$ [m
    [11:13:58.098]Receive←◆[8D[J[00:00:04.612,182] [0m<inf> wifi_nrf: The temperature is = 19 degree celsius[0m
    [1;32muart:~$ [m[8D[J[1;32muart:~$ [m
    [11:14:05.074]Send→◇wifi_radio_test init 104

    [11:14:05.090]Receive←◆wifi_radio_test init 104

    [11:14:05.348]Receive←◆[1;32muart:~$ [m
    [11:14:08.561Send→◇wifi_radio_test tx_pkt_tput_mode 1

    [11:14:08.561]Receive←◆wifi_radio_test tx_pkt_tput_mode 1
    [1;32muart:~$ [m
    [11:14:10.380]Send→◇wifi_radio_test tx_pkt_mcs 7

    [11:14:10.396]Receive←◆wifi_radio_test tx_pkt_mcs 7
    [1;32muart:~$ [m
    [11:14:12.751]Send→◇wifi_radio_test tx 1

    [11:14:12.773]Receive←◆wifi_radio_test tx 1
    [1;32muart:~$ [m
    [11:15:36.375]Send→◇wifi_radio_test get_temperature

    [11:15:36.375]Receive←◆wifi_radio_test get_temperature

    [11:15:36.475]Receive←◆[1;32muart:~$ [m
    [11:15:37.386]Receive←◆[8D[J[00:01:43.899,383] [0m<inf> wifi_nrf: The temperature is = 27 degree celsius[0m
    [1;32muart:~$ [m[8D[J[1;32muart:~$ [m
    [11:15:48.392]Send→◇wifi_radio_ficr_prog otp_read_params

    [11:15:48.408]Receive←◆wifi_radio_ficr_prog otp_read_params

    [11:15:48.439]Receive←◆[1;32mOTP Region is open for R/W
    [m[1;32m
    [m[1;32mPRODTEST.FT.PROGVERSION = 0xff0200ff
    [m[1;32m
    [m[1;32mPRODTEST.TRIM0 = 0x0099040c
    [m[1;32mPRODTEST.TRIM1 = 0x0099d408
    [m[1;32mPRODTEST.TRIM2 = 0x0099d808
    [m[1;32mPRODTEST.TRIM3 = 0x009f040c
    [m[1;32mPRODTEST.TRIM4 = 0x009fd408
    [m[1;32mPRODTEST.TRIM5 = 0x009fd808
    [m[1;32mPRODTEST.TRIM6 = 0xffffffff
    [m[1;32mPRODTEST.TRIM7 = 0xffffffff
    [m[1;32mPRODTEST.TRIM8 = 0xffffffff
    [m[1;32mPRODTEST.TRIM9 = 0xffffffff
    [m[1;32mPRODTEST.TRIM10 = 0xffffffff
    [m[1;32mPRODTEST.TRIM11 = 0xffffffff
    [m[1;32mPRODTEST.TRIM12 = 0xffffffff
    [m[1;32mPRODTEST.TRIM13 = 0xffffffff
    [m[1;32mPRODTEST.TRIM14 = 0xffffffff
    [m[1;32m
    [m[1;32mINFO.PART = 0x00007002
    [m[1;32mINFO.VARIANT = 0x00423030
    [m[1;32m
    [m[1;32mINFO.UUID0 = 0x8b738e42
    [m[1;32mINFO.UUID1 = 0x11ed7d78
    [m[1;32mINFO.UUID2 = 0xe48304cc
    [m[1;32mINFO.UUID3 = 0xb4158e5e
    [m[1;32m
    [m[1;32mREGION.PROTECT0 = 0x50fa50fa
    [m[1;32mREGION.PROTECT1 = 0x50fa50fa
    [m[1;32mREGION.PROTECT2 = 0x50fa50fa
    [m[1;32mREGION.PROTECT3 = 0x50fa50fa
    [m[1;32m
    [m[1;32mMAC0.ADDRESS0 = 0x0036cef4
    [m[1;32mMAC0.ADDRESS1 = 0x00009e13
    [m[1;32mMAC0.ADDRESS = f4:ce:36:00:13:9e
    [m[1;32m
    [m[1;32mMAC1.ADDRESS0 = 0x0036cef4
    [m[1;32mMAC1.ADDRESS1 = 0x00009f13
    [m[1;32mMAC1.ADDRESS = f4:ce:36:00:13:9f
    [m[1;32m
    [m[1;32mCALIB.XO = 0x2b
    [m[1;32mREGION_DEFAULTS = 0xfffffff1
    [m[1;32m
    [m[1;32muart:~$ [m
    [11:15:50.697]Send→◇wifi_radio_ficr_prog otp_read_retrim_version

    [11:15:50.712]Receive←◆wifi_radio_ficr_prog otp_read_retrim_version
    [1;32m
    PRODRETEST.PROGVERSION = 0xffffffff
    [m[1;32m
    [m[1;32muart:~$ [m
    [11:15:53.493]Send→◇wifi_radio_ficr_prog otp_read_retrim_params

    [11:15:53.508]Receive←◆wifi_radio_ficr_prog otp_read_retrim_params
    [1;32m
    [m[1;32mPRODRETEST.TRIM0 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM1 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM2 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM3 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM4 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM5 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM6 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM7 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM8 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM9 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM10 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM11 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM12 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM13 = 0xffffffff
    [m[1;32mPRODRETEST.TRIM14 = 0xffffffff
    [m[1;32m
    [m[1;32muart:~$ [m

Children
  • Thanks, 

    On this version of board, we may not see expected output power across all channels.

    So can you contact your sales contact and ask for a new board that that is trimmed and is FT_PROG_VERSION 4 or higher. 

    Regards,
    Jonathan