MCU internal oscillator is not 16Mhz but 18Mhz on some MCU. Why is that ?
Hello,
I found this issue that seems that I still can't find the reason.
I am using a STM32F750N8H6 (7BA3Z 9R 1), BGA package on a custom 6 layer board.
I manufactured 11 boards, and within those 11, 8 of them the HSI seems to be at 18Mhz although the HSI is supposed to be at 16Mhz. 3 of them are at the described 16Mhz +/- usual tolerance.
The support components are the ones recommended in the Hardware Guidelines from ST.
Question :
What external factors can affect the HSI to such high extent and with high consistency. The clock is quite stable and the MCU are all shifted nicely to 18Mhz internal clock.
All the MCUs run fine otherwise, all peripherals, albeit all with wrong clocks, works no problem.
The MCUs have been purchased at Mouser and assembled directly out of the box so no tampering before opening the vacuumed bag/tray.
How I checked :
I've checked several ways, the board having a USART 1 and CAN 1 /2 and several timer routed out, all indicate that the HSI is at 18Mhz ~ and 18.2 Mhz for 2 boards.
The code is written based on 16Mhz and work out of the box for the 3 other identical boards, and gives proper reading on timer/PWM output.
Timer check:
The timer parameters I used where for a 500hz+/- 5 Hz output
which gave me a ARR of 32000 with prescaler of 1.
On the suspected 18Mhz boards:
On the Oscilloscope I obtained between 550 and 560 Hz.
Reverse calculating the clock it gives me a clock of around18Mhz for one board for example.
On the 16Mhz more ore less 495~510 more or less
UART
UART set at 115200 gives about ~133k Baud so if set a lower baud, at around 101052 roughly (empirically calculated) it gives a readable TX Output if the terminal on the PC is set at 115200 Baud.
If anyone has any idea on what could be the reason.
The added 2Mhz are quite constant hence the concern.
Regards
Alessandro
