Integridad de alimentación y desacoplo
La demanda de corriente transitoria de un circuito digital
Cómo estimar cuánta corriente pide tu dispositivo y en cuánto tiempo.
- Lección 2 de 10
- Intermedio
Antes de decidir qué desacoplo necesita un dispositivo hace falta un número: ¿cuánta corriente pide, y en cuánto tiempo?
Casi ninguna hoja de características te lo dice directamente. Dan una corriente media de alimentación, a veces un máximo, y casi nunca un dI/dt. Así que esta lección va de producir una estimación defendible con lo que sí tienes, y de saber lo tosca que es esa estimación.
Respuesta rápida. La corriente media de la hoja de características no sirve: el desacoplo tiene que alimentar los picos, no la media. Estima el pico desde las cargas de salida con
I = C × V / t_subida, multiplicado por el número de líneas que conmutan a la vez. Con ese pico y el tiempo de flanco sale el presupuesto de inductancia:L_max = ΔV × t / ΔI. En casi cualquier diseño digital la capacidad sobra y la inductancia va justa.
Por qué la corriente media es el número equivocado
Un microcontrolador especificado en 40 mA no consume 40 mA de forma continua. Consume casi cero entre flancos de reloj y un pico grande en cada uno. Los 40 mA son la media de una forma de onda que pasa casi todo el tiempo abajo y visita la cima un instante.
El desacoplo tiene que alimentar la cima, no la media.
La relación entre pico y media no es pequeña. En un circuito digital síncrono, la corriente instantánea durante un flanco puede ser varias veces la media, y la cifra crece con la proporción del chip que conmuta a la vez: por eso el peor caso suele ser un bus llevando todas sus salidas en el mismo sentido y en el mismo flanco.
Tres formas de estimar, de menos a más esfuerzo
Desde las cargas de salida. Es la estimación que siempre puedes hacer, y en diseños dominados por E/S suele ser el término principal.
Cada pin de salida que conmuta tiene que cargar la capacidad que ataca. La carga necesaria es Q = C × V, y si eso ocurre en el tiempo de subida de la salida, la corriente media durante el flanco es I = C × V / t_subida.
Ejemplo de trabajo. Un dispositivo ataca un bus de 16 bits. Cada línea ve unos 15 pF entre pista y capacidad de entrada. El raíl es de 3,3 V y las salidas tienen un tiempo de subida de 2 ns.
Por línea: I = 15 pF × 3,3 V / 2 ns = 24,75 mA
Las dieciséis conmutando a la vez: unos 0,4 A, durante unos 2 ns.
Ésa es una cifra real y defendible, obtenida de magnitudes que puedes consultar, y es la que casi nadie calcula.
Desde el núcleo, con la corriente dinámica de la hoja. Muchas hojas dan una cifra de corriente por MHz para el núcleo. Multiplica por el reloj para obtener la corriente media del núcleo y supón que la conmutación se concentra en una fracción de cada periodo. La fracción es una conjetura, así que trátalo como un orden de magnitud y no como una especificación.
Midiendo. Pon un shunt pequeño en la alimentación, o una pinza de corriente alrededor de un hilo, y mira el transitorio en el osciloscopio. Es el único método que da un número fiable, y la lección 10 del curso de Alimentación conmutada explica cómo hacerlo sin que el propio montaje de medida se invente ruido.
Convertir la corriente en un requisito de desacoplo
Con una corriente de pico y un tiempo de flanco ya tienes las dos entradas del cálculo que importa.
Supón que aceptas una caída transitoria máxima en el raíl. Para un dispositivo de 3,3 V, un punto de partida habitual es un pequeño porcentaje, pero consúltalo en la hoja: el límite real es la tolerancia de alimentación del propio dispositivo, y varía mucho.
Con una caída objetivo ΔV, un escalón de corriente ΔI y un tiempo de flanco t:
L_max = ΔV × t / ΔICon el ejemplo del bus y ΔV = 100 mV permitidos:
L_max = 0,1 V × 2 ns / 0,4 A = 0,5 nHMedio nanohenrio para el lazo entero. Es una cifra exigente, y te dice algo útil de inmediato: este requisito no se cumple eligiendo un condensador mejor. Sólo se cumple con geometría —corto, ancho, poco separado, pocas vías—, que es de lo que tratan las lecciones 3 a 5.
El mismo cálculo con un flanco más lento es mucho más benévolo. Con 10 ns de subida el presupuesto pasa a 2,5 nH, que se consigue con cuidado normal. Es el argumento más claro para no especificar flancos más rápidos de los que necesitas: la velocidad de flanco es un coste de integridad de alimentación, no sólo de EMI.
Cómo fija la capacidad el requisito de carga
La inductancia fija el comportamiento en alta frecuencia. La capacidad tiene que cubrir la carga.
La carga entregada durante el transitorio es aproximadamente Q = I × t. En el ejemplo: 0,4 A × 2 ns = 0,8 nC.
Para entregar esa carga cayendo como mucho ΔV:
C_min = Q / ΔV = 0,8 nC / 0,1 V = 8 nFOcho nanofaradios. Un solo condensador de 100 nF tiene más de diez veces la carga necesaria.
Merece la pena detenerse en ese resultado, porque explica algo que confunde a mucha gente: en la mayoría de los diseños digitales la capacidad sobra con holgura y la inductancia va justa. Cuando el desacoplo falla, casi nunca es porque no hubiera carga disponible. Es porque la carga no pudo llegar a tiempo.
Qué conviene anotar
Estimes lo que estimes, regístralo junto al diseño. Los números que importan son:
- [ ] Corriente de pico transitoria, y de dónde salió la estimación
- [ ] Tiempo de flanco empleado
- [ ] Caída admitida, y si viene de la hoja o de un criterio propio
- [ ] Inductancia de lazo máxima resultante
- [ ] Capacidad mínima resultante
Seis meses después, cuando alguien pregunte si la placa puede ir a más reloj, ésta es la nota que responde en diez minutos en vez de en un día.
Qué viene después
Ya tienes un presupuesto de inductancia de lazo. La lección 3 coge ese presupuesto y lo gasta: de qué está hecho el lazo en realidad y cuántos nanohenrios cuesta aproximadamente cada parte.
Todas las cifras de aquí son estimaciones de un ejemplo de trabajo. Usa la hoja de características de tu dispositivo para su tolerancia de alimentación y sus corrientes dinámicas, y considera que un transitorio medido manda sobre cualquier cálculo.
Fuentes y lecturas recomendadas
Texas Instruments — SPRAC76: Sitara Processor PDN Implementation and Analysis Analog Devices — MT-101: Decoupling Techniques