construyendo grandes registros de turnos

2

Quiero crear un registro de desplazamiento de 500 celdas utilizando el flip flop TI SN74AUP1G79. ¿Cuánta corriente debe agotar mi fuente de alimentación para generar tantos flip flops y cuánta corriente debe apagar mi búfer de reloj para controlar todos los relojes? Estoy ejecutando el registro a 1.54mhz. Gracias.

    
pregunta

3 respuestas

7

Por lo general, es mejor asumir el patrón de cambio del peor de los casos, y en este caso será el más fácil. Definiré el peor de los casos como la entrada al registro de cambios que cambia cada ciclo de reloj.

Voy a dividir el consumo de energía en varias categorías. Esta hoja de datos no es exactamente clara, así que estoy abierto a cualquier corrección. Estos también están diseñados para capacidades muy pequeñas, por lo que si tiene una carga muy grande o cables largos, es posible que esté "saturando" estos números.

Asunciones:

  • Sin carga de consumo actual, como LEDs
  • \ $ V_ {DD} \ $ no se proporciona, por lo que se mantendrá como una variable y se calculará el valor máximo.
  • Todas las trazas son lo suficientemente pequeñas como para minimizar la capacitancia

Potencia de fuga / inactividad

En la lista de 0.9uA en el peor de los casos, este poder sale a:

\ $ 500 \ times0.9 \ mu A \ times V_ {DD} = 450 \ mu A \ times V_ {DD} \ $ (0.36mW a 1.49mW)

Potencia de conmutación interna (sin carga)

No encontrará una figura para esto en la hoja de datos. En su lugar, le dan el valor de algo llamado \ $ C_ {pd} \ $, que es el equivalente de la capacidad de carga para un evento de conmutación determinado. Dependiendo de su \ $ V_ {DD} \ $, tendrá diferentes valores de \ $ C_ {pd} \ $ efectivos. Texas Instruments describe \ $ C_ {pd} \ $ as:

  

La capacitancia equivalente utilizada para   determinar la potencia dinámica sin carga   disipación por función lógica para   Dispositivos CMOS.

Me parece que esto es algo ambiguo para un flip-flop ya que no está claro si las transiciones de entrada de datos cuentan. Asumiré que no lo hacen. Los valores aumentarían en un 50% si se incluyera la entrada D

\ $ 500 \ times C_ {pd} \ times V_ {DD} {} ^ 2 \ times f = 500 \ times 3.0pF \ times V_ {DD} {} ^ 2 \ times 1.52MHz \ $ (1.46mW a 24.83mW)

Potencia de conmutación de carga de salida

El siguiente elemento es la cantidad de energía que se utiliza para hacer que todos los pines de salida cambien. Como mínimo, cada salida conducirá una entrada D a la siguiente etapa de flip-flop. Además, cualquier capacitancia de la placa o cargas adicionales contribuirán a esta figura de potencia. Trate de tener en cuenta la mayor capacidad posible.

\ $ C_ {load} = \ sum {Capacitance} = C_ {Pin.D} + C_ {wire} +? \ $

\ $ C_ {load} = 1.5pF + 3.5pF = 5.0pF \ $ (por el bien del cálculo)

Entonces, la potencia de conmutación de salida es bastante fácil de calcular. Si tiene una carga capacitiva apreciable, su potencia de conmutación de salida puede dispararse.

\ $ 500 \ times C_ {load} \ times V_ {DD} {} ^ 2 \ times f = 500 \ times 5.0pF \ times V_ {DD} {} ^ 2 \ times 760kHz \ $ (1.22mW a 20.69 mW)

Total Power

De nuevo, esto depende de su carga y voltaje de la fuente de alimentación. Para un patrón de conmutación en el peor de los casos, simplemente podemos agregar las tres pérdidas de energía enumeradas y obtener el resultado. El valor mínimo usa un \ $ V_ {DD} \ $ de 0.8V, y el valor máximo usa un \ $ V_ {DD} \ $ de 3.3V.

\ $ \ sum {power} = P_ {fuga} + P_ {interno} + P_ {cargar} \ $

Para \ $ V_ {DD} = 3.3V: \ mbox {} P_ {total} = 47.01mW \ mbox {; } I_ {avg} = 14.24mA \ $

Para \ $ V_ {DD} = 0.8V: \ mbox {} P_ {total} = 3.04mW \ mbox {; } I_ {avg} = 3.8mA \ $

Consideraciones de sincronización

Es difícil determinar la corriente máxima del reloj sin conocer más variables, incluida la disposición de la placa y la estructura del árbol del reloj y el comportamiento del búfer del reloj y el voltaje de la fuente de alimentación. Sin embargo, será difícil entregar un pulso de reloj simultáneamente a 500 sumideros de reloj. Para hacerlo aún más difícil, la puerta que ha elegido es rápida, por lo que reduce su margen. Después de que construya su dispositivo, pruébelo a la temperatura operativa más fría con el voltaje de alimentación más alto permitido y vea si los datos lo superan.

La capacidad de todos los pines del reloj es de 750 pF, pero eso no tiene en cuenta la carga del cableado.

    
respondido por el W5VO
3

W5VO dio una excelente respuesta que cubre exactamente lo que preguntaste.

Sin embargo, debido a que estoy obsesionado con los LED de conducción y generalmente planeo conducirlos con un registro de cambios grande, veamos a dónde va:

La conducción de 500 LED es bastante débil a 2 mA, requiere 1000 mA = 1 A de corriente de su fuente de alimentación; a 3.0 V, eso es 3 W de potencia (3000 mW): la potencia requerida por todos sus registros de turnos y controladores de reloj combinados es insignificante en comparación con eso.

Por desgracia, el voltaje de salida parece ser inadecuado para encender los LED azules o blancos. Pero muchas pantallas LED solo usan LED rojo y verde, y es perfectamente adecuado para eso. Lamentablemente, la corriente de salida máxima "recomendada" es de solo 4 mA (ya sea de sumidero o de fuente), lo suficiente para que un LED rojo o verde se encienda, pero no lo suficiente para dar brillo completo. A veces, otros tipos de chips pueden hacer que un LED sea más brillante, pero permiten que el voltaje de salida se desplace al rango donde ya no se garantiza que se reconozca como "1" o "0". En Vcc = 3 V, este chip tiene un rango de entrada de Vih_min de 2.0 V y Vil_max de 0.9 V, por lo que puede reconocer correctamente la salida de otro chip idéntico incluso cuando ese otro chip esté completamente cargado con 4 mA, ya que ese otro chip proporciona una salida "alta" de Voh de al menos 2,55 V, y una salida "baja" de menos de 0,45 V.

"La" señal de reloj en muchos sistemas, incluido el suyo, controla cientos de dispositivos. Mientras que supongo que uno podría usar un búfer realmente fuerte para conducirlos a todos, muchos diseñadores limitan su fanout a un número mucho más pequeño. Generalmente limito mi fanout a alrededor de 20 entradas de compuerta conectadas a cualquier salida de compuerta. Cuando todo está unido en un PCB compacto, creamos un árbol de reloj - pero no tiene sentido usar 500 de ese chip en una PCB compacta en lugar de manejar esos 500 LED con registros de desplazamiento de 8 bits como 74AHC595 o una de las otras alternativas mencionadas.

Supongo que estás conduciendo estos LED en una franja muy larga y estrecha, Cada LED impulsado por su propio flip-flop. Entonces, para algo como esto, almacenaría la señal del reloj cada 19 flip-flops (o quizás algún número más conveniente, como 16 u 10 u 8). por lo que el reloj principal que controla la cadena solo controla el primer búfer (lo que requiere cantidades insignificantes de poder), y cada búfer impulsa 19 o menos flip-flops y el siguiente búfer en la cadena (que también requiere cantidades insignificantes de potencia por compuerta, pero a lo largo de los 500 flip-flops y aproximadamente 50 buffers, se suma).

A 1.5 pF de capacitancia de entrada por compuerta es 500 * 1.5 = 750 pF de capacitancia de compuerta para los flip-flops, y aproximadamente 1/10 de eso para los buffers de reloj. En guestimated (?) 4 pF de capacitancia de traza por compuerta, tenemos 2,000 pF de capacitancia de traza. La carga (dinámica) de carga y descarga de esas capacidades es P = fCV ^ 2, por lo que a 1.54 MHz y 3.0 V requerimos (estimado) (1.54 MHz) (2825 pF) (3.0 V) ^ 2 = 39 mW. Eso sigue siendo insignificante en comparación con esos LED.

    
respondido por el davidcary
1

Si intenta minimizar la corriente utilizada por un registro de desplazamiento implementado en un CPLD, y si todo lo que necesita es una salida retrasada por algún número de relojes, puede minimizar el número de transiciones de retención manteniendo un recuento del número de Cambia y guarda y accede a ellos de manera rotunda. Dependiendo de la familia de CPLD utilizada, esto puede permitir que uno almacene dos o tres bits por macrocélula (a costa de unas pocas macrocélulas de sobrecarga). Si, por ejemplo, cada macrocelda podría, cuando se usara en el modo de registro, tener un término de retroalimentación combinatoria así como una entrada de pin de E / S, uno podría contener un bit en la salida combinatoria (usado como un pestillo transparente), uno en el pestillo, y uno en el pin de E / S (mediante un circuito de mantenimiento de pin).

En el primer ciclo, muestrea el pin de E / S de la macrocélula 3 (como la salida del registro de desplazamiento), habilita el controlador en la macrocelda 2 (lo que hace que el valor registrado se copie en el pin) y bloquea los datos de entrada en la macrocélula 1. En el siguiente ciclo, muestre la macrocélula 4, habilite la macrocélula 3 y encierre la macrocélula 2. Luego, envuelva la macrocélula 5, 4 y 3, etc. cuando llegue al final. El resultado será 3N-3 bits almacenados en N macrocélulas. Tenga en cuenta que algunos CPLD de menor número de pines tienen controladores de pines internos que no se incluyen en el paquete; Estos se pueden usar para almacenar datos, pero la única forma que encontré para programarlos es afirmar que se usa un paquete de mayor número de pines. No estoy seguro si el comportamiento de tales pines no limitados está garantizado. Por otro lado, ser capaz de almacenar 3 bits por macrocélula puede ser mucho más agradable que almacenar uno por.

    
respondido por el supercat

Lea otras preguntas en las etiquetas