cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F410 PLL Jitter on PWM

PDieh.1
Associate III

Hello,

i want to use a really precise PWM signal but i get a lot of Jitter on it.

I am using the F410 with a 16Mhz crystal. The PLL produces from there a Frequency of 100Mhz (I need this high frequency for my other tasks).
The rest of my hardware needs one PWM signal with 1kHz and a 5ms on time. So i use a PWM Timer for that.
The problem now is, that the edges of this signal have a lot of jitter, around 3ns both on the on-time aswell on the period.
If i deactivate the PLL and directly use the 16MHz crystal for comparison, the jitter is much lower, around 0,5ns.

In the datasheed of the uC is a Table 44 about the Main PLL characteristics and in there is the Jitter with +-150ps much lower. As i see it, the chip has no option to add a external VCO-capacitor to the PLL.
Do anyone know, where this differences between datasheet and hardware come from and how can i fix this?

Best regards,
Philipp Diehl

26 REPLIES 26
Sarra.S
ST Employee

Hello @PDieh.1 , 

There are several potential causes for this, which may be more difficult to pinpoint without the code...

Have you tried using 2 PLL in parallel, it could degrade the jitter up to 30%

 

 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

STOne-32
ST Employee

Dear @PDieh.1 ,

The jitter observed is a combination of PLL indeed , I/Os activity ( when running at high speed) and also affecting  I/O power supply .

Here are some hints , trials your can do to see the effect or minimize it :

1) at PLL input , select M factor of 8 instead of 16  to get PLL input 2MHz instead of 1MHz , your VCO will be higher at 200MHz.  
2) activate slew rate I/O toggling instead of max speed ( Using as much as possible 00 / 01 and avoid 11 ) 

3) check you bypass capacitors and your 100nF on VDD pairs and on VCAP of 4,7uF 

4) if you are running at VDD at 3,3 Volts , activate the I/O compensation cell / this will slow down the fast process of our transistors .

5) as said by @Sarra.S , avoid activating other  PLLs : USB or Audio .

let us know if it helps with these testings ?

Ciao,

STOne-32

Hello @Sarra.S ,

thanks for the reply!
How do i do that? The F410 has only one build-in PLL.
Do i need a external one for this and do i just attatch it to the RCC_OSC_IN pin?.
I think, then i would still have the limitation of the max. 26MHz input frequency.

Best Regards,
Philipp

Hello @STOne-32 ,

Thank you for your detailed response.

1) i already had M factor at 8. Is a lower Value here better?
2) there is only the pins for the SPI interface at 11 (default, i did not specify this). All other Pins are at 00
3) As i see it, the capacitors are all present and correctly sized
4) We are running at 3,3V. Activating this Cell showed no effect
5) All other PLL are off. I think, it is the only PLL in the System, No USB or Audio (it is a custom board)

I tested the PWM-Jitter on a nucleo-L433RC-P and there the jitter is only about 1ns.
Is this PLL different then the one in the F410?

Best regards,
Philipp

Perhaps using a precision external oscillator instead of the internal and crystal would help. The internal one is exposed to the influence of internal signals and its stability can be affected by turning on the PLL. It can also be subject to interference on the leads and capacitors of the external crystal if not properly designed.

Hello @ONadr.1 
i alredy use a external crystal, because the jitter with the internal one was way higher.
I already did a test with a agilent 33220A signal generator directly on the input pin RCC_OSC_IN but the jitter is the same, at around 3ns.
When i do the same test with a nucleo-L433RC-P, the jitter is only around 1ns. Is this chip different in the PLL?

Best regards,
Philipp

STOne-32
ST Employee

Dear @PDieh.1 ,

Thank you for the testing's. Yes, F410 and L433 are not the same product and not using same technologies of  blocks - both are 90nm process but different designs to serve different market applications.    I believe that this jitter is linked to I/O activity, but the way the Package is LQFP64 ? , if possible we can do the same test in our lab using nucleo and try to find out the root-cause.   @Sarra.S .

Ciao,

STOne-32

Hello @STOne-32 
on our custom board is the STM32F410CBU3 UFQFPN48
My other testboards are standard nucleo-L433RC-P and Nucleo-F410RB
All with external crystal or signal generator on RCC_OSC_IN pin.
Thank would be great, because i testet all of this aswell without any other application running:
Only the PWM-Timer was flashed to the chip.

Best regards,
Philipp

Sarra.S
ST Employee

Hello @PDieh.1

Could you please specify the capacitor values (C47 and C48) that u used with HSE in Nucleo-L433 

C33 and C34 in Nucleo-F410 as well 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.