BlueNRG-M2 not responding to SPI on custom STM32U5 PCB
Hi all,
I recently designed and built a custom PCB for data acquisition and transmission through bluetooth using an STM32U575 as the main MCU and a BlueNRG-M2SA module for bluetooth data transmission configured as a Network Coprocessor. They are connected via SPI following the pinout on the BlueNRG-M2 datasheet and also looking at the X-NUCLEO-BNRG2A1 schematics. The BlueNRG-M2SA is connected to an external connector via SWD for flashing using an STLink-V3Minie. Resistor R13 is not usually soldered and is just used to enable the bootloader during image flashing. Schematic for the BlueNRG-M2 on the custom PCB provided below:
The problem is that I have not been able to achieve communication between the STM32U575 and the BlueNRG-2 module as whenever the main MCU waits for the IRQ signal from the BlueNRG-M2, it doesn't receive any and therefore returns BLE_STATUS_TIMEOUT and gets stuck after aci_hal_set_tx_power_level() during Device_init(). I have tried uploading different DTM images to the BlueNRG module, the ones on the BlueNRG-M2 website, both 2.1c & 2.1e and the ones provided with the BlueNRG-1_2 DK 3.2.3: DTM_SPI_M2SA.hex and also the NO_UPDATER version. On the MCU side, I am using the X-Cube-BLE2 middleware pack with HCI_TL set to Basic and HCI_TL_INTERFACE set to UserBoard and I have tried both the Beacon and SensorDemoBLE applications.
None of the previous has worked and I still get the same error always which seems to be that the BlueNRG-M2 is not generating the IRQ signal. I attach the STM32CubeIDE project I'm using to test just the BLE.
I have checked all suply voltages and they are correct for the MCU & the BlueNRG, they are both supplied with 3.3V.
If anyone knows something about this problem or knows any solution I will be grateful as I have been trying to solve this for more than two months. Also ask me for any additional information you might want to know about my build or configuration.
Thanks for the help!
