Skip to main content
HubbaBubba
Associate
August 23, 2022
Question

HSI

  • August 23, 2022
  • 2 replies
  • 1668 views

Is there any information about long term stabiliy of the internal high speed oscillator (HSI)?

This topic has been closed for replies.

2 replies

Danish1
Lead III
August 23, 2022

The data-sheet will give you all there is to know.

For example (stm32f405) +/- 1% at 25 C and 3.3 V.

Worsening to +/- 4% over -10 to +85 C

So the frequency will drift with temperature, and maybe Vdd as well.

These are not "quality" oscillators; just RC at relatively low current-consumption. Expect significant phase-noise and jitter (i.e. cycle-by-cycle period variations).

Are you asking if the oscillation frequency will "age" the way overdriven crystals can age? I don't think they're stable enough for you to notice.

HubbaBubba
Associate
August 23, 2022

Thank you very much for your answer. Yes that's exactly what I want to know. We use a STM32G070. Do you see any concerns if we use the hsi as a clocksource for the UART? Buadrate is below 115400 kbps.

It should be communicating at least 10 years. No thermal or mechanical stresses are expected.

Pavel A.
Super User
August 23, 2022

Some UARTs of some STM32's have baudrate detection feature. So even with non-precise clock they can tune to the baudrate of the other size. (the question is, how often the detection needs to be repeated)

HubbaBubba
Associate
August 24, 2022

The baudrate in our hardware is set by DIP switches, but we will check if we can use this feature to increase stability. Have you made any experiences with this feature? Since the auto-baudrate can only be done with some specific recieved characters, I doupt this will help us. The final communication protocoll is Modbus RTU, we have no influence of sending and receiving specific chars.

(The received character can be: • Any character starting with a bit at 1. In this case, the USART measures the duration of the start bit (from falling edge to rising edge). • Any character starting with a 10xx pattern. In this case, the USART measures the duration of the start and of the 1st data bit. The duration is measured from falling edge to falling edge, ensuring better accuracy in the case of slow signal slopes. • 0x7F character frame. In this case, the baud rate is updated first at the end of the start bit then at the end of bit 6. • A 0x55 character frame. In this case, the baud rate is updated first at the end of the start bit, then at the end 17 of bit 0 bit and finally at the end of bit 6. In parallel, another check is performed for each intermediate transition of the RX line.)