1
\$\begingroup\$

I'm currently trying to decide if I need an external xtal for my design that's using a STM32F103xF mcu.

The accurate timing requirements I can see being necessary are for programming the device over USB and possibly with JTAG.

I've seen that USB 2.0 is specced to requiring a frequency deviation of no more than +- 0.25% which is quite outside the range of the F103 HSI, but I can't find if there's a set deviation requirement for JTAG.

The mcu has a deviation of -2 to +2.5% off the HSI RC Osc , does anyone know if this will suffice to flash over JTAG? If I can avoid putting an external XTAL on my board it would save a lot of headaches as I'm extremely space constrained but will do it if necessary to flash and debug the mcu.

\$\endgroup\$
1
  • \$\begingroup\$ Justme gave you great answers and saved you the cost of a crystal and the associated board space. \$\endgroup\$
    – Gil
    Jun 19 at 21:50
1
\$\begingroup\$

JTAG does not need an external clock for the MCU. You can for example program an empty STM32 MCU via JTAG. Flashing it via UART also does not require external clocks, as it adapts to any baud rate within limits.

Using USB requires an external clock or crystal. It reads in the datasheet too that HSE must be used for PLL in this case.

\$\endgroup\$
1
  • \$\begingroup\$ Thanks for the great help. In relation to your comment about the PLL requiring an HSE, does that imply that my clock speed will be locked to the actual HSI clock out freq? If that's the case I guess I'll need an HSE or look into another board \$\endgroup\$ Jun 19 at 22:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.