DSPS not working on custom board

8 posts / 0 new
Last post
behzad
Offline
Last seen:3 years 4 months ago
Joined:2015-01-27 17:53
DSPS not working on custom board

Hi
I have developed a custom board using DA14580-01 QFN40. When I download the DSPS example using uVision v5.13.0.0 and stop the debugging, it does not get detected by DPSP android app. However the same code downloaded to the basic dev board works fine. It even works with another custom board using DA14580-01 WLCSP with similar schematics but different layout. The QFN40 custom board use 3.9nH and WLCSP use 3.3nH RF inductor as advised in documentations.
When I debug step by step over DSPS main loop the two devices go over the same lines of code and stay in main loop. but when I stop the debug only the basic dev board and WLCSP custom board advertise themselves and get detected by DSPS android app. I haven't done impedance matching on either custom boards, but the WLCSP works fine (even without antenna and inductor) while QFN40 board shows no sign of detection even when mobile phone is held very close to it.
When I probe the signals on antenna I can see similar signals on either custom boards but the signal on basic dev board is stronger and cleaner obviously due to impedance matching.
Please help!
Thank you

Keywords:
Device:
MT_dialog
Offline
Last seen:1 week 5 days ago
Staff
Joined:2015-06-08 11:34
Hi behzad,

Hi behzad,

Can you debug and see if the problematic board goes throught the app_start_adv() function in order to start adveritise? Disable the sleep in order to do that and let us know.

Thanks

behzad
Offline
Last seen:3 years 4 months ago
Joined:2015-01-27 17:53
It does go through the app

It does go through the app_adv_start() and the "// We are now connectable" line.
Similarly for both problematic board and the basic dev board.
but still nothing shows up for the custom board.

MT_dialog
Offline
Last seen:1 week 5 days ago
Staff
Joined:2015-06-08 11:34
Hi behzad,

Hi behzad,

I think that your problem isn't related to your signal or your antenna, even if you had a bad antenna, the device should be detected by the android app if your are close enough.

What which SDK are you using ? Please try with latest SDK.

Thanks MT_dialog

behzad
Offline
Last seen:3 years 4 months ago
Joined:2015-01-27 17:53
I use DSK 3.0.10.1

I use SDK 3.0.10.1

behzad
Offline
Last seen:3 years 4 months ago
Joined:2015-01-27 17:53
I have looked into the RF

我看着射频信号通过信号肛门yzer. Both problematic custom board and dev board start to transmit RF signal when the code passes the app_adv_start() therefore I doubt that there is any software problem.
Spectrum analyzer results:
The dev board transmits at center freq of 2.40204 GHz and has a clean spectrum as expected for QPSK modulation with max of -25 dbm but the custom board spectrum is centered at 2.40295 GHz and is not steady and oscillates around the center frequency with errors up to 200KHz and has a very unsteady amplitude with oscillations of 15dbm with max of -10dbm.
Signal Analyzer results:
The results of digital demodulation shows higher magnitude error of average 13 %rms in the custom board while dev board is around 3 %rms.
Demodulated data packets in the custom board are not similar to the dev board. In dev board it starts with all zero bytes and then 10101010 preamble bytes but in custom board bytes are more like 1111000011110000.
In QPSK real-imag quadratures, the transmitted points are all in a clean circle in the dev board however in the custom board it seams the starting points of each advertisement packet start from very low magnitude and then they reach to the expected circle.
I have got similar results from 3 boards with the same design. one with matching circuit, one without and one without any other components populated on the pcb (only DA14580, 16MHz oscillator, 32KHz resonator, LED and the required capacitors and inductor for Vdcdc and Vbat).
Any thoughts what might be wrong?

behzad
Offline
Last seen:3 years 4 months ago
Joined:2015-01-27 17:53
New findings:

New findings:
The custom board advertising frequencies have shifted by a +1 MHz. According to the BLE specs, the advertising channels should be 2402, 2426, 2480 MHz but the custom board advertises on 2403, 2427, 2481 MHz instead. When I demodulate the adv packet at these frequencies I can see the preamble 10101010 sequence correctly and the magnitude error is as low as 5 %rms similar to the development board.
相同的代码基本发展广告correct channels but strangely on the custom board the advertisement frequency is wrong by +1 MHz.
I tried changing the CHAN_ZERO_FREQ and CHAN_LAST_FREQ in pll_vcocal_lut.h but it has no effect cause apparently they are not used anywhere in DSPS project.
Please help!

behzad
Offline
Last seen:3 years 4 months ago
Joined:2015-01-27 17:53
I fixed the problem by

I fixed the problem by designing a new layout with more ground shield around XTAL16M, XTAL32K and around antenna trace.