I use the DF example.In Rx.i use both nrf52833 boards as test.i use NCS 1.9.1.
In rx,i use the silab's 16 antenna array for receving antenna array.
because it has 16 antennas,i modify the configuation in nrf52833dk_nrf52833.overlay file.
&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>;*/ dfe-antenna-num = <16>; /* 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>;*/ 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 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 28 0>; dfegpio3-gpios = <&gpio0 29 0>;
then i change the main.c file for new antenna partterns.
#if defined(CONFIG_BT_DF_CTE_RX_AOA) /* Example sequence of antenna switch patterns for antenna matrix designed by * Nordic. For more information about antenna switch patterns see README.rst. */ /*切换顺序,11,12,1,2,10,3,9,4,8,7,6,5 12根天线*/ /*static const uint8_t ant_patterns[] = { 0x2, 0x0, 0x5, 0x6, 0x1, 0x4, * 0xC, 0x9, 0xE, 0xD, 0x8, 0xA };*/ /*切换顺序,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 16根天线*/ static const uint8_t ant_patterns[] = { 0x0, 0x8, 0x4, 0xC, 0x2, 0xA, 0x6, 0xE, 0x1, 0x9, 0x5, 0xD, 0x3, 0xB, 0x7, 0xF }; /*切换顺序,4,8,12,16,3,7,11,15,,2,,6,10,14,1,5,9,13 16根天线*/ /*static const uint8_t ant_patterns[] = { 0x2, 0x0, 0x5, 0x6, 0x4, 0x9, * 0xA, 0x8, 0xD, 0xE, 0xC, 0x1 };*/ #endif /* CONFIG_BT_DF_CTE_RX_AOA */
then i use Putty to get Rx's output,there is error.
success. Periodic sync established. Enable receiving of CTE... failed (err -22) Scan disable...Success. Waiting for periodic sync lost... PER_ADV_SYNC[0]: [DEVICE]: 11:8A:AF:D5:82:F4 (random), tx_power 127, RSSI -58, CTE AOA, data length 0, data: PER_ADV_SYNC[0]: [DEVICE]: 11:8A:AF:D5:82:F4 (random), tx_power 127, RSSI -63, CTE AOA, data length 0, data: PER_ADV_SYNC[0]: [DEVICE]: 11:8A:AF:D5:82:F4 (random), tx_power 127, RSSI -51, CTE AOA, data length 0, data:
i use the gpio 3,4,28,29,then i use logical Analyzer to musure my io.They are allways zero.
how to solve this problem?