¿El HSI puede sincronizar el módulo USB del STM32F103?

3

Hay una placa de STM32F103CBT6 sin cristal externo de alta velocidad.

Quiero usar el módulo USB en esta placa. La entrada del PLL es 4MHZ, ya que configuré la fuente del PLL al oscilador RC interno (8MHZ, generalmente con división 2x), luego configuro el PLL a 12x, lo que significa que el reloj al módulo USB es 48M.

Entonces el módulo USB funciona bien, parece estable.

Traté de calentar la placa a 80C para probar la estabilidad del módulo USB cuando la precisión del reloj disminuye, también intenté enfriarlo a -10C, no se produce ningún problema.

Pero todavía me preocupa la estabilidad del módulo USB manejado de esta manera.

Algunas hojas de datos de la serie STM32F0 de ST enfatizan que su módulo usb es "crystaless", lo que parece significar que el usb de otras series como STM32F1 no puede funcionar sin un cristal externo. Pero la hoja de datos de STM32F1 no dijo este problema con claridad.

Me pregunté si usb funciona lo suficientemente estable sin un cristal externo.

Por cierto, se necesita usb para agregar la función IAP al proyecto, por lo que es un problema grave.

Gracias.

    
pregunta user123179

1 respuesta

6

El USB, según la especificación, requiere que la frecuencia esté dentro del 0.25% (2500 ppm) del valor ideal (para velocidad máxima, la velocidad alta necesita un reloj más preciso). En la hoja de datos de STM32F103xB (capítulo 5.3.7: Características de la fuente del reloj interno ), verá que se garantiza que el HSI tiene, incluso a una temperatura constante de 25 ° C, una tolerancia de -1.1% a + 1.8%, que no es suficiente.

Tenga en cuenta que el STM32F0 (especificado para USB sin cristal, como notó), tiene un HSI48 especificado con una tolerancia aún peor (-2.8 a + 2.9%), que, al principio, parece contradictorio. Pero también tiene una función llamada recorte automático , parte del bloque Sistema de recuperación del reloj (CRS) (mencionado en el capítulo 3.20 de la hoja de datos, y se describe detalladamente en el capítulo 8 del manual de referencia), que permite que este oscilador se ajuste según la trama SOF recibida desde el USB, recuperando efectivamente un reloj con la tolerancia requerida.

Este sistema de recuperación de reloj no está incluido en el STM32F1, por lo que no puede confiar en que el USB funcione correctamente en este chip sin un cristal externo. Lo más probable es que tenga un chip con una precisión superior al promedio del HSI, pero es posible que no funcione con otra muestra.

En resumen: no hagas eso, a menos que sea un prototipo único.

    
respondido por el dim

Lea otras preguntas en las etiquetas