2022-06-14 07:27 AM
Hi, I made a minimum CubeIDE project for a Nucleo-L4R5ZI. It clocks the RTC from LSE using the X2 quartz (NX3215SA-32.768kHz-EXS00A-MU00525) and outputs a 512Hz calibration signal on PC13. The output frequency is only ~492Hz which is a deviation of ~5%. I couldn't find any reasonable explanation. Any ideas?
Solved! Go to Solution.
2022-06-15 03:15 AM
Hi,
I just swapped the capacitors C36 and C35 on the Nucleo-L4R5ZI from 2.7pF to 10pF (NP0).
Now the calibration output is perfect 512Hz even for lowest LSEDrive.
Thanks for your support!
2022-06-14 07:55 AM
Missing or wrong quartz load capacitors?
2022-06-14 08:47 AM
Loading (load caps + PCB characteristics)
Drive Strength
Calibration Settings
Looks to be a 6pF crystal, check if placed components better matched to 9 or 12pF standard crystals.
2022-06-14 01:37 PM
How do you measure it?
Also, are you sure you drive RTC thus the 512Hz output from LSE, not from LSI? Read out and check/post the relevant RCC registers. content.
JW
2022-06-14 11:23 PM
Thanks for your answers.
Since the Nucleo144 is a standard design from ST I suppose the hardware should be okay... According to the datasheet the capacitors are 2.7pF and there's no series resistor, but why would they put the wrong capacitors on the board?
I use the standard settings generated by CubeIDE (LSEDrive =low).
I measured with an oscilloscope (Keysight MSOX6004A). And I'm sure it is LSE, because I switched to LSI and then I get ~502Hz which is good as LSI clock is ~32000Hz.
I will check with some other Nucleos today and report back.
2022-06-15 12:19 AM
>why would they put the wrong capacitors on the board?
Rightness or wrongness of the capacitors is not absolute, it depends on the crystal and particularities of layout.
> I measured with an oscilloscope
The question really was, how trustworthy the measurement was, and if you can verify it by measuring a known precise frequency source. Some older oscilloscopes were not exactly precise timing-wise, although it's probably not the case of HP even if it's the Keysight era.
> I use the standard settings generated by CubeIDE (LSEDrive =low).
Try the others. It's easy and fast, you don't need to write any code, you can do it directly in debugger, and you then also see if it really changed in the given register (backup domain can be tricky and not all state transitions are always allowed, see related portions of RM).
JW
2022-06-15 12:52 AM
Okay, I've got some news:
First, I tried the same thing with an Nucleo-F429ZI. Here the calibration output is perfectly 512Hz.
(Averaged for ~1000 Samples)
Next I tried the Nucleo-L4R5ZI with different LSEDrive settings:
Low = 492Hz ; MediumLow = 508Hz ; MediumHigh = 530Hz ; High = 529Hz
(Averaged for ~1000 Samples)
The source code for both MCUs is almost identical, the major difference is that there is the LSEDrive config for the L4R5ZI (which is missing for the F429ZI).
One thing I noticed:
For the F429ZI I can scope the Quartz signals at OSC32_IN and OSC32_OUT very well and they look like clean sinoids.
For the L4R5ZI I can only scope the Quartz signal at OSC32_OUT and it looks distorted. I cannot scope any signal at OSC32_IN at all, even with highest LSEDrive.
It seems like the F429ZI drives the Quartz quite a bit stronger than the L4R5ZI.
2022-06-15 01:42 AM
> different LSEDrive settings:
> Low = 492Hz ; MediumLow = 508Hz ; MediumHigh = 530Hz ; High = 529Hz
This sounds to be very wrong. Check schematics/layout - aren't there some on-board circuits, or some track stubs (e.g. to the outward connector) connected trough solder bridges? If yes, disconnect them.
Try a different crystal - different specimen, different type, maybe use that from the 'F429 board.
Read AN2867. The 'F4_g1 oscillator in 'F429 should be equivalent to the Low setting of the 'L4 oscillator.
JW
2022-06-15 03:15 AM
Hi,
I just swapped the capacitors C36 and C35 on the Nucleo-L4R5ZI from 2.7pF to 10pF (NP0).
Now the calibration output is perfect 512Hz even for lowest LSEDrive.
Thanks for your support!
2022-06-15 06:03 AM
Thanks for coming back with the solution.
JW