This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

External antenna J1 insert connector in nRF52833-DK

Hello! I use EK42423-03 and 52833-DK

Previous case 

I understand plugging in the SWF connector, Will disconnecting from the PCB antenna and routing the signal to the cable.

EK42423-03-Datasheet

LS ->GND CTRL -> P0.26 ; GND -> GNDVDD -> VDDJ1 RFC -> J1 ANT 

First follow this pic.

I added code in nrf52833dk_nrf52833.dts

    ant1: ant_1 {
			gpios = <&gpio0 26 GPIO_ACTIVE_LOW>; /*CTRL*/
			label = "ANT 1";
	};

Using multimeter can measure from RF2 to Refer to the pic.

RF1 = 0Ω 

RF2 = 20Ω 

But why? EK42423-03 "J1"  insert 52833-DK "J1" After Refer to the pic.

RF1 = 0Ω 

RF2 = 0Ω 

I do not know what is causing.

Sorry, it's been two months and I still can't do it...

But I still hope you can give me advice!

Thanks again for your support.

Parents
  • HI.

    I want to improve

    Query case

    I can find the code

    NRF_RADIO->PSEL.DFEGPIO[0] = 0x00000011; //(P0.17)
    NRF_RADIO->SWITCHPATTERN = 0x0; // before CTE - antenna 1
    NRF_RADIO->SWITCHPATTERN = 0x0; // reference - antenna 1
    NRF_RADIO->SWITCHPATTERN = 0x0; // slots 0, 2, 4... - antenna 1
    NRF_RADIO->SWITCHPATTERN = 0x1; // slots 1, 3, 5... - antenna 2

    So I currently modified the following 

    radio_df.c

    void radio_df_ant_switch_pattern_set(uint8_t *patterns, uint8_t len)
    {
    	for (uint8_t idx = 0; idx < len; ++idx) {
    		NRF_RADIO->PSEL.DFEGPIO[0] = 0x0000001A; //(P0.26)
    		NRF_RADIO->SWITCHPATTERN = 0x0; // before CTE - antenna 1
    		NRF_RADIO->SWITCHPATTERN = 0x0; // reference - antenna 1
    		NRF_RADIO->SWITCHPATTERN = 0x0; // slots 0, 2, 4... - antenna 1
    		NRF_RADIO->SWITCHPATTERN = 0x1; // slots 1, 3, 5... - antenna 2
    	}
    }

    nrf52833dk_nrf52833.overlay

    /*
     * Copyright (c) 2021 Nordic Semiconductor ASA
     *
     * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
     */
    
    &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 = < 2 >;
            /*dfe-antenna-num = <12>;*/
    	/* This is a setting that enables antenna 12 (in antenna matrix designed
    	 * by Nordic) for Rx PDU. For more information see README.rst.
    	 */
    	dfe-pdu-antenna = <0x0>;
            /*dfe-pdu-antenna = <0x2>;*/
    	/* These are GPIO pin numbers that are provided to
    	 * Radio peripheral. The pins will be acquired by Radio to
    	 * drive antenna switching when AoA is enabled.
    	 * Pin numbers are selected to drive switches on antenna matrix
    	 * desinged by Nordic. For more information see README.rst.
    	 */
    	dfegpio0-gpios = <&gpio0 3 0>;
    	dfegpio1-gpios = <&gpio0 4 0>;
        dfegpio2-gpios = <&gpio0 26 0>;
        dfegpio3-gpios = <&gpio0 27 0>;
    
    };

    Query case

    main.c

    RF1 0 | 1 = 0x1 

    RF2 0 | 0 = 0x0

    static const uint8_t ant_patterns[] = { 0x1, 0x0, 0x1 };

    What am I missing?

    Thank!

Reply
  • HI.

    I want to improve

    Query case

    I can find the code

    NRF_RADIO->PSEL.DFEGPIO[0] = 0x00000011; //(P0.17)
    NRF_RADIO->SWITCHPATTERN = 0x0; // before CTE - antenna 1
    NRF_RADIO->SWITCHPATTERN = 0x0; // reference - antenna 1
    NRF_RADIO->SWITCHPATTERN = 0x0; // slots 0, 2, 4... - antenna 1
    NRF_RADIO->SWITCHPATTERN = 0x1; // slots 1, 3, 5... - antenna 2

    So I currently modified the following 

    radio_df.c

    void radio_df_ant_switch_pattern_set(uint8_t *patterns, uint8_t len)
    {
    	for (uint8_t idx = 0; idx < len; ++idx) {
    		NRF_RADIO->PSEL.DFEGPIO[0] = 0x0000001A; //(P0.26)
    		NRF_RADIO->SWITCHPATTERN = 0x0; // before CTE - antenna 1
    		NRF_RADIO->SWITCHPATTERN = 0x0; // reference - antenna 1
    		NRF_RADIO->SWITCHPATTERN = 0x0; // slots 0, 2, 4... - antenna 1
    		NRF_RADIO->SWITCHPATTERN = 0x1; // slots 1, 3, 5... - antenna 2
    	}
    }

    nrf52833dk_nrf52833.overlay

    /*
     * Copyright (c) 2021 Nordic Semiconductor ASA
     *
     * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
     */
    
    &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 = < 2 >;
            /*dfe-antenna-num = <12>;*/
    	/* This is a setting that enables antenna 12 (in antenna matrix designed
    	 * by Nordic) for Rx PDU. For more information see README.rst.
    	 */
    	dfe-pdu-antenna = <0x0>;
            /*dfe-pdu-antenna = <0x2>;*/
    	/* These are GPIO pin numbers that are provided to
    	 * Radio peripheral. The pins will be acquired by Radio to
    	 * drive antenna switching when AoA is enabled.
    	 * Pin numbers are selected to drive switches on antenna matrix
    	 * desinged by Nordic. For more information see README.rst.
    	 */
    	dfegpio0-gpios = <&gpio0 3 0>;
    	dfegpio1-gpios = <&gpio0 4 0>;
        dfegpio2-gpios = <&gpio0 26 0>;
        dfegpio3-gpios = <&gpio0 27 0>;
    
    };

    Query case

    main.c

    RF1 0 | 1 = 0x1 

    RF2 0 | 0 = 0x0

    static const uint8_t ant_patterns[] = { 0x1, 0x0, 0x1 };

    What am I missing?

    Thank!

Children
No Data
Related