Hi,
I am working on a AoA project and I am using modified main.c script form direction_finding_connectionless_rx sample. My program was working fine with nRF52833 DK but then I decided to switch to nRF5340 for more processing power. Now I want to have BLE controller on network core and host and application on application core. I followed guides on https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_nrf5340.html and webinar https://www.youtube.com/watch?v=uqKxmsrP2Hc. Additionally I am using Boostxl-AoA antenna array from Texas Instruments.
With new board (nRF5340 DK) toggling GPIO pins for antenna switching is not working. There is no toggling of any pin (0V all the time). Everything else works as expected (receiver is able to receive periodic advertising packets with CTE and I get the IQ data).
So my procedure for flashing is like this:
1. I modified hci_rmpsg sample from Zephyr repo so it included boards directory with nrf5340dk_nrf5340_cpunet.conf file:
and nrf5340dk_nrf5340_cpunet.overlay file:
I also modified prj.conf to look like this:
2. I build and flash hci_rpmsg sample with:
west build -b nrf5340dk_nrf5340_cpunet
west flash
3. I copied Bluetooth: Direction finding connectionless locator sample from nRF Connect SDK in separate directory. I modified main.c according to my application. My prj.conf file looks like this:
And my overlay-aod.conf file like this:
4. I build and flash application to application core:
west build -b nrf5340dk_nrf5340_cpuapp
west flash
Application is working as expected. I am even getting CTE packets but with very low amplitude of IQ samples. From that hit I suspected that no antenna was selected. With oscilloscope I checked GPIO levels (p0.04, p0.05, p0.06, p0.07 -> as default configuration) that are responsible for switching antennae and for sure they are all 0V all the time. My design must have at least one pin always "one" so that one of antennae is selected. So no antenna is selected. I guess my board can still receive periodic advertising packets with no antennae selected but the amplitude is very small. When i disconnect my antenna array form DK (I am using Murata MXHS83QE3000 test probe to connect antenna array) and receive with just PCB antenna, then amplitudes of IQ samples get much bigger and I get no toggling of GIPO pins anyway.
Does anyone have any idea why GPIO pins are not toggling?
I tried with different GPIO pins (p1.09, p1.08, p1.05, p1.04) and got the same result.
I tried building and flashing both cores as described in Working with nRF5340. So I added child_image to root directory of application directory. But when I build the app I did not get any additional directory build/\hci_rpmsg as described here: https://devzone.nordicsemi.com/guides/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial---part-1-ncs-v1-4-0. So I stayed at flashing cores separately as described above.
Can GPIOs be controlled by network core? Is there a secure/unsecure relation broken?
Did I wrongly configured my prj.conf files and when flashing application image, network image is somehow overridden?
I am stuck and I do not know what else to do. Any help would be appreciated.
Thanks