How to verify that the 32MHZ crystal is actually working (nRF52832?

I am using nRF connect SDK v2.9.0 with a custom developed board that looks like this:

I tried the 'Bluetooth LE LED Button service' sample as it's and noticed that nothing was working. I grapped my logic analyzer and hooked it up onto the 32MHZ but nothing is showing. I mean other functionalities like zepyrRTOS, PWM, GPIOs, I2C, etc...  are working successfully but not BLE.

does the nRF52832 have an internal clock through which it works by default and if so, how does it use the external clock. what is the first thing to debug?

this is the crystal I am using:

https://www.lcsc.com/product-detail/Crystals_YXC-Crystal-Oscillators-X322532MOB4SI_C9009.html 

and these are the schematics:

Parents Reply
  • abdosalm said:
    I have access to a SA and VNA but using those will have to wait until UFL connectors arrive.

    This is the best to use, you could connect a normal 2.4GHz antenna to the Spectrum Analyzer and see as well. Or wait for the connector. 


    We often end up soldering directly on to the RF path with a coax cable and connect that to the  Spectrum Analyzer to check how well the radio preforms. If you have something similar then that will do as well. 

    Regards,
    Jonathan

Children
  • I have made the tests that were discussed before, I downloaded the .hex file you provided to me before and here are the results:

    This is the output of the ANT pin on the spectrum analyzer without being connected to the Antenna or the matching network:

    As you can see, there is a peak at 2.44 GHZ. I then used the nRF52840 USB dongle as an RSSI viewer, and here are the results:

    Before powering the MCU:

    After powering the MCU, where both of the boards are placed closely together:

    There is a clear peak at 2.4 GHZ.

     

    Nevertheless, when I programmed the MCU with the Bluetooth sample example,, the mobile app doesn't detect the presence of any Bluetooth devices:

    I have this mobile app with another MCU vendor for Bluetooth connectivity (BLE 5.3), and it worked successfully, so I don't think it's the mobile app but rather the code. I can't seem to know what's wrong with the code. I am using the 32 KHZ crystal oscillator that's required by the example code. All of the functions being called in the code doesn't return any errors. 

  • Looks like the radio is working at least, so that seems to be in order. 

    It might be that the 32MHz clock is a bit off. Can you sett the Resolution bandwidth to 1kHz and View bandwidth to 1kHz. Then we can see how accurate the carrier signal is. 

    Ideally you should have something that looks like this:
       

    So if the carrier offset is bad then things like this can happen. 


    Regards,
    Jonathan

  • I have done the test and noticed the following:

    At central frequency = 2.44 GHZ and the span = 100KHZ -:

    At central frequency = 2.44 GHZ and the span = 1MHZ -:

    At central frequency = 2.4403 GHZ and the span = 100KHZ -:

    Note that I didn't remove a 0.8pF capacitor on the ANT pin Side, meaning that the ANT pin is connected directly to the spectrum analyzer, and the 0.8pF capacitor is connected between the ANT pin and the ground.

Related