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.

  • Nut sure why to try to ohm between the center conductor and the signal? Set the logic level manually first and get the switch sorted. Then check the code and see if you can set the pins high and low. 

  • Nut sure why to try to ohm between the center conductor and the signal

    To test if switching is possible according to the control logic truth table

    Set the logic level manually first

    I don't quite understand here, how to do it manually?


    get the switch sorted.

    Even without using an antenna array.
    also needs to be modified?

    I thought that as long as the function was written to switch back and forth
    #static const uint8_t ant_patterns[] = { 0x2, 0x0, 0x5, 0x6, 0x1, 0x4,
    					0xC, 0x9, 0xE, 0xD, 0x8, 0xA };
    
    static const uint8_t ant_patterns[] = { 0x2, 0xB};


    Is it like this?




    Then check the code and see if you can set the pins high and low.

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

    Does adding ,in nrf52833dk_nrf52833.dts have no effect?

    Also I set it as output in main.c
    void main(void)
    {              
            const struct device *dev;
    	bool ant_is_on = true;
    	int ret;
    
    	dev = device_get_binding(ANT1);
    	if (dev == NULL) {
    		return;
    	}
    
    	gpio_pin_configure(dev, PIN, GPIO_OUTPUT_ACTIVE | FLAGS);
    	if (ret < 0) {
    		return;
    	}    

    I will continue to do my best!

  • I am using for direction_finding_connectionless_rx

  • Hi

    It seems like you've misunderstood how the antenna switching is done in the Direction Finding Connectionless locator sample. Please read the Antenna matrix configuration for AoA mode and Antenna patterns sections to see how you should set up the switching patterns for an antenna array. Please note that you'll need to change your antenna patterns to fit your antenna array as I see you're not using the 12 antenna matrix that's suggested.

    Best regards,

    Simon

  • Hello

    First, after I read the Antenna matrix configuration for AoA mode

    I am using SPDT RF switch the two antennas

    So modify 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 >;
    	/* 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 = <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 2 0>;
    	dfegpio1-gpios = <&gpio0 11 0>;
    };
    

    And provided according to nrf52833dk_nrf52833.overlay and ek42423-03 datasheet, Table 2

    static const uint8_t ant_patterns[] = { 0x2, 0xB };

    As well as  configs.c

    GEN_ABSOLUTE_SYM_KCONFIG(CONFIG_BT_CTLR_DF_MAX_ANT_SW_PATTERN_LEN, 2);

    In this case the xy pic is drawn

    Can you help me see what's wrong with me? 

    Thank you for help!

Related