Almacenamiento en búfer de líneas TTL largas

Estoy diseñando una PCB apilada donde tengo 3 o 4 placas apiladas una encima de la otra con señales que se propagan hacia abajo con encabezados hembra/macho (piense en escudos Arduino). Las señales de control compartidas se propagan hacia abajo desde la placa superior (lógica) a las placas secundarias inferiores, con ciertos tramos de 12 pulgadas o más entre la salida lógica y la entrada lógica.

¿Es necesario almacenar en búfer las señales TTL y hay una longitud máxima de ruta/traza antes de que sea importante?

Me gusta tu pregunta y también me gustaría saber la respuesta correcta. Pero hasta donde yo sé, los cables/pistas tienen su propia resistencia y no es recomendable tener largas longitudes atravesando los tableros.
¿ Son realmente señales TTL? En la mayoría de los casos, la única forma de obtener señales TTL es obtenerlas de las salidas de las familias lógicas 74xx, 74Hxx, 74Lxx, 74Sxx, 74ASxx, 74Fxx, 74LSxx y 74ALSxx, chips bipolares PAL y GAL, y no mucho más. ¿Está utilizando salidas TTL bipolares reales y, de ser así, de qué chips provienen exactamente y en qué entran?

Respuestas (3)

Oh chico, por dónde empezar...

Básicamente, existe todo este campo llamado "integridad de la señal" que se relaciona directamente con lo que está preguntando. SI es un tema complejo que lleva años comprender realmente y entenderlo. Hay mucha información en la red sobre SI y, sinceramente, la mayor parte es incorrecta, engañosa o equivocada. Desafortunadamente, saber esto es esencial para lograr que los sistemas digitales sean robustos y confiables. Cada EE debe saber estas cosas.

La mejor guía para esto es el libro High Speed ​​Digital Design: A Handbook of Black Magic . Un libro muy recomendable, y vale la pena cada centavo!

No hay forma de que pueda darle una buena descripción general de las cosas que necesita saber sobre SI. El tema es así de grande y complejo. Pero déjame darte algunas viñetas aleatorias que, con un buen libro, te guiarán en la dirección correcta.

  • La caída de voltaje a través de las pistas/cables/alambres normalmente no es un problema para una señal digital a menos que las pistas/cables tengan varios metros o más. Es la ley de ohmios: caída de voltaje = corriente * resistencia. Y la corriente simplemente no es lo suficientemente grande.
  • Conocer y controlar la impedancia de trazas/cables es muy importante. Si no conoce la impedancia, entonces no puede obtener el SI adecuado.
  • Es esencial utilizar el tipo correcto de terminación de señal. Repito esto: ESENCIAL.
  • La topología de la señal (cómo se enruta la señal) es fundamental para saber qué tipo de terminación de señal usar.
  • Las velocidades de reloj/señal más rápidas no determinan si una señal necesita terminación; es la velocidad de los bordes de la señal. Incluso una línea de reinicio que cambia solo una vez podría requerir una terminación de señal adecuada.
  • El apilamiento de la PCB (cómo se organizan las capas y el espacio entre las capas) es fundamental para controlar la impedancia de traza.
  • La asignación de pines de cables y conectores es fundamental. Organice mal las señales y la alimentación/tierras y será terrible.
  • Las tapas de desacoplamiento son para mucho más que solo suavizar la potencia. Una vez más, esto es fundamental.
  • Los voltajes de señalización más altos ayudan en algunas cosas, pero perjudican a otras. A menos que vayas a recorrer largas distancias (más de 10 metros), no te molestes. Por ejemplo, no ejecute niveles de RS-232 si solo va al siguiente tablero de su pila.

También quiero enfatizar nuevamente que la mayoría de las cosas que encuentras en la red tienen algo o todo esto mal. Cosas de Arduino especialmente. Obtenga un buen libro y utilícelo como una base sólida. Oh, la mayoría de los libros también tienen errores importantes. El libro que menciono es muy bueno y es considerado por casi todos como el estándar dorado.

¿Es necesario almacenar en búfer las señales TTL y hay una longitud máxima de ruta/traza antes de que sea importante?

¿ Son realmente señales TTL? En la mayoría de los casos, la única forma de obtener señales TTL es obtenerlas de las salidas de las familias lógicas 74xx, 74Hxx, 74Lxx, 74Sxx, 74ASxx, 74Fxx, 74LSxx y 74ALSxx, chips bipolares PAL y GAL, PROM bipolares y arreglos de puertas, y no mucho más.

Mucha gente usa el término "señales TTL" para referirse a niveles lógicos CMOS de 5V.

La electrónica digital moderna suele ser toda CMOS, y aunque las señales siguen siendo compatibles con TTL, no tiene salidas TTL ni entradas TTL, por lo que las cosas son un poco diferentes.

La longitud máxima de bus/señal está determinada por el contenido de frecuencia de la señal, y eso está determinado por la capacitancia de carga, la capacitancia parásita en la línea de señal, la impedancia de la fuente (salida) y el tiempo de subida/bajada. Son, en la mayoría de las circunstancias, los cortos tiempos de subida/bajada los que causan la mayoría de los problemas en señales de frecuencia "baja". Si tiene una onda cuadrada de 1 kHz que sale de las salidas CMOS rápidas, puede tener velocidades de respuesta de 100 V/us, y esas por sí mismas requieren todo el cuidado necesario para mantener su integridad.

Por lo general, deseará reducir las tasas de borde a lo que requiere el receptor. Por ejemplo, si está conduciendo un LED, entonces coloque la resistencia en serie justo en la salida, y tal vez un pequeño capacitor de derivación, digamos 100pF a tierra, para reducir la velocidad de los bordes. Las placas de protección requerirán bordes "decentes" para, por ejemplo, señales SPI y otros datos cronometrados, pero, por ejemplo, I2C es bastante benigno y no muy sensible a la longitud de la traza en sí. Las señales asíncronas generalmente solo necesitan obedecer el límite máximo de tiempo de subida/bajada establecido por el IC receptor, digamos 1us para la lógica CMOS de la serie 4000.

En resumen: en casi todos los casos, con las modernas salidas digitales de conmutación rápida, querrá limitar las velocidades de cambio ligeramente por encima de los máximos requeridos en cualquier ejecución de señal "larga", e incluso en ejecuciones de señal corta que se conectan a analógico. circuitos, por ejemplo, ADC y DAC.

Para señales TTL reales provenientes de salidas TTL bipolares y entradas bipolares TTL de control, querrá consultar el Libro de datos TTL para ingenieros de diseño de TI y el Libro de cocina TTL de Don Lancaster . Se necesita bastante atención a los detalles para que TTL funcione lo mejor posible, en términos de integridad de la señal, especialmente con tantas subfamilias, una variedad de cargas de bus, etc.

Tienes un par de cosas de las que preocuparte. Uno es la caída de voltaje a través de longitudes de cable cada vez más largas. Demasiada caída y puede estar por debajo del umbral del circuito receptor para reconocer un estado lógico.

La otra cosa es la variabilidad del nivel en la línea. Si estás enviando una señal constante, está bien, si estás enviando una señal que sube, baja, sube, baja, digamos una vez por segundo (lo suficientemente lento para que puedas ver con tus ojos si le conectas una luz)' está bien, pero realmente cualquier cosa por encima de eso y debe considerar la respuesta de frecuencia de su línea, su capacidad para reaccionar a cambios rápidos y obtener la misma señal en el pin receptor. Esto depende de la capacitancia, la inductancia, etc.

Esta situación es exactamente la razón por la que fabrican RS232, etc.