¿La resistencia de los microcontroladores cambia con el cálculo?

0

¿La resistencia de carga de un microcontrolador cambia en función de programas o instrucciones particulares que está ejecutando actualmente? ¿La adición de la funcionalidad adicional del dispositivo también tiene un efecto en la resistencia, como temporizadores, ADC, rutinas de servicio de interrupción, etc.?

Para una pregunta de seguimiento, veo en muchas de las secciones de características eléctricas de las hojas de datos de uC que una frecuencia más alta requiere más corriente de la fuente de suministro. ¿Cuál es la causa real de eso? ¿No debería el flujo de corriente general no verse afectado por la velocidad del reloj? Es decir, en promedio, si tengo un programa que pasa la mitad del tiempo ejecutando la instrucción x y la otra mitad del tiempo ejecutando la instrucción y, acelerar ese proceso no cambia las proporciones relativas del tiempo pasado en el diferentes estados De las hojas de datos que he visto, no es una relación 1-1, por lo que duplicar la velocidad no duplicará el dibujo actual. Entonces, ¿es correcto suponer que tiene que ver con el cambio de pérdidas en las puertas digitales?

    

2 respuestas

8

Realmente no se puede pensar en un microcontrolador en términos de resistencia. Está construido con transistores, y estos no se comportan como resistencias.

En general, la mayoría de los microcontroladores (y la mayoría de la lógica digital altamente integrada) son dispositivos CMOS. Esto significa que todas las compuertas lógicas internas están construidas a partir de pares complementarios de transistores MOSFET de canal N y canal P. Una característica de la lógica CMOS es que consume más energía al cambiar. Esto se debe a que las compuertas de los transistores se parecen a los capacitores, y estos deben cargarse cada vez que se cambia el nivel lógico. Al ralentí, se extrae poco poder. La potencia consumida durante la conmutación se llama potencia dinámica. La fórmula general para el consumo dinámico de energía CMOS es P = C * V ^ 2 * f. Por lo tanto, la potencia consumida es proporcional a la capacitancia de las trazas y las puertas del transistor, la frecuencia y el cuadrado de la tensión. Ahora, esta no es la historia completa, también habrá una corriente de fuga que se abre paso a través de los transistores. La corriente de fuga aumenta con una mayor tensión de alimentación y aumenta a medida que los transistores se reducen en procesos más nuevos.

Cualquier componente dentro del chip que cambie consumirá energía. Así que sí, cualquier periférico que esté habilitado aumentará el consumo de energía. Las diferentes instrucciones del procesador consumirán diferentes cantidades de energía, ya que activarán una lógica diferente. Incluso los datos que se procesan pueden tener un efecto en el consumo de energía. Es por esto que en algunos casos es posible recuperar claves criptográficas al observar el consumo de energía durante el cálculo.

    
respondido por el alex.forencich
2

Además de la buena respuesta de alex.forencich, la mayoría de los periféricos del microcontrolador están conectados a circuitos externos, es decir, puertos de E / S, I²C, SPI, UART, USB, ADC, DAC, etc. Además de la potencia utilizada internamente para ejecutar el periférico, se consumirá energía, ya que los periféricos, ya sea fuente (unidad alta) o sumidero (unidad baja), las clavijas conectadas a los circuitos externos.

Esto es más evidente en el caso de los puertos de E / S, donde cada pin puede hundirse o generar un máximo de, por ejemplo, 25 mA (este número variará dependiendo de la familia de microcontroladores, o incluso a base de microcontroladores). Sin embargo, normalmente no puede tener todos los pines de E / S que impulsan los pines al máximo; para evitar el sobrecalentamiento del chip, también habrá un valor máximo hundido por todos los puertos de E / S, digamos 200 mA, y otro valor para toda la corriente obtenida por los puertos de E / S; estos valores serán inferiores al número de pines de E / S multiplicados por el máximo por pin.

Otros pines periféricos, como los puertos serie (I²C, SPI, UART y USB), ADC y DAC, si están presentes, normalmente no se hunden o generan mucha corriente.

    
respondido por el tcrosley

Lea otras preguntas en las etiquetas