2021-05-25 06:00 AM
To give you an update to the LSE crystal oscillator startup issue with the STM32H743XIH6, we have made some more investigations and this is what we have found.
There was a problem with the software, that we found. If we made a Backup Domain reset before initialising the RTC, the xtal started up okay. Even with the external load capacitors CL1 = CL2 = 4.7pF. The crystal that we are using is the Abracon ASB07.32.768KHZ-7-T which have a CL of 7pF.
The Backup Domain reset is in order to clear the Clock Security System LSECSSD flag. If this flag is set, the LSE clock is no longer propagated to the RTC and the system. This is according the Errata document for the STM32H743. We have also seen that this also affects the startup of the crystal as well. When this flag was set the amplitude of the xtal was lower and the crystal startup was longer as compared to when the flag was reseted.
We also noticed that when the microcontroller is booted up, this LSECSSD flag is already set, even when the CSS on the RTC is not enabled. At the moment we cannot explain this.
The following shows the screenshot of the startup of the XTAL. I am measuring on the XTAL_IN (OSC32_IN) node using AC coupling with the 10pF oscillator probe.
As can be seen, we see that the amplitude of the oscillations are increasing up to a point of stable frequency as expected. Okay, the amplitude is very small but this could be due to the 10pF oscilloscope probe, because we see the RTC clock counting up okay.
Cyan = +3.0V Supply Voltage
Dark Blue = OSC32_IN
As can be seen, the 3.0V voltage supply is asserted after the push button has been pressed and is constant over the oscillation “Dip�?.
With regards to this "Dip" in oscillations, we are still trying to track this down to find out what is causing this. Here is a closer look at the oscillation "Dip". It appears that after approximately 180ms something affects the LSE crystal oscillator.
Any incites into the above issues is much appreciated.
Best regards,
Matthew
2021-05-25 11:38 AM
Try with an absolute minimal program, just reset the backup domain and enable LSE and go to an infinite loop, nothing else.
Still dip in oscillator waveform?
JW
2021-05-26 06:19 AM
Hi Jan,
Thank you for your quick response. We made a test with just resetting the backup domain and enabling the LSE with nothing else and we still see the oscillation dip.
After further software timing investigations, the oscillation dip occurs in the LSE configuration section of the HAL_RCC_OscConfig() while waiting for the LSE clock to be ready and stable.
Best regards,
Matthew
2021-05-26 02:00 PM
I am out of ideas then, sorry...
JW
2021-05-27 09:36 PM
Hi Jan,
Okay, thanks for your help.
Best regards,
Matthew