¿Cómo un chip stm32f establece su velocidad GPIO? (hardware, no registro de configuración)

0

La velocidad de GPIO de un chip stm32 se establece mediante el registro de OSPEEDR. Muestra:

  • 00: Baja velocidad
  • 01: velocidad media
  • 10: Velocidad rápida (50MHz en la biblioteca)
  • 11: Alta velocidad (100MHz en la biblioteca)

Mi conjetura es que la velocidad no está relacionada con los relojes del sistema (AHB1) en absoluto. Es solo la propiedad física del propio GPIO. ¿Estoy en lo correcto? ¿Se hace variando la resistencia de salida del pin o algo?

La hoja de datos puede encontrarse aquí: enlace

    
pregunta richieqianle

1 respuesta

1

En general, esto se hace teniendo varios controladores diferentes para la línea, de diferentes tamaños y, por lo tanto, con impedancia de salida variable. Recuerde el controlador CMOS básico:

simular este circuito : esquema creado usando CircuitLab

Hacer que los transistores sean más grandes aumenta la resistencia de la unidad y disminuye su resistencia de activación, pero requiere más carga para moverse dentro y fuera de la puerta cuando se cambia de estado. Eso resulta en un mayor consumo de energía.

    
respondido por el pjc50

Lea otras preguntas en las etiquetas