¿Por qué no implementar 1Gbps, cuando todo lo que necesito es 20Mbps?

25

Background

Estoy trabajando con un cliente en un proyecto grande que requiere que se diseñe un chip de red personalizado para resolver los requisitos de transferencia de datos dentro del proyecto. La red está destinada a enviar paquetes pequeños a unas pocas pulgadas de una PCB a otra a través de un solo cable de par trenzado. Estaremos diseñando y especificando el protocolo de red, y otra compañía será responsable de la implementación de silicio.

Estimo que la velocidad de datos de 20Mbps entre nodos hará frente fácilmente a la cantidad de datos que deben enviarse, con mucho espacio para la cabeza si la cantidad de datos aumenta en el futuro.

Problema

El cliente me pregunta por qué estoy especificando solo 20 Mbps. ¿Por qué no algo como 1Gbps? ¿No sería eso mejor? Intuitivamente, siento que aumentar la velocidad de datos masivamente de lo que sería necesario es una mala idea. Inicialmente, pensé que el cableado debería estar blindado (lo que no quiero), pero mirando las categorías de cables Ethernet, veo que Gigabit Ethernet puede funcionar con un cable Cat 6, que no necesita estar blindado.

Otras restricciones

  • El proyecto está limitado por el espacio y no tenemos espacio para elementos como el magnetismo, a menos que sea un componente muy pequeño (0603 máximo).
  • Los cables deben ser lo más delgados y flexibles posible.
  • El dispositivo se ejecutará desde la fuente de alimentación, por lo que no hay un requisito particular de baja potencia.

Pregunta

¿Cuáles son los problemas, en términos de diseño de silicio, cableado y cualquier otra cosa, que se pueda enfrentar a 1 Gbps, que no sería tan malo a 20Mbps? ¿Debo seguir la sugerencia de mi cliente de implementar la red a 1Gbps, o debo insistir en implementar solo lo que se requiere?

Estamos bajo una estricta NDA, por lo que no puedo dar demasiados detalles sobre nuestros requisitos. Pero por favor deje un comentario si se necesita una aclaración.

    
pregunta Rocketmagnet

8 respuestas

24

Algunas razones:

Power

Una velocidad más rápida significa más potencia. No solo necesita circuitos analógicos más rápidos, que consumirán más energía, sino que todos los dispositivos electrónicos que los rodean deben ser más rápidos. Sus sistemas digitales, sus pestillos, la gestión del reloj, etc. Si obtiene ese 1 Gbps mediante el uso de la señalización multinivel, ahora necesita mejores ADC y DAC. Es posible que deba comenzar a tratar con un filtrado más complejo. Podría comenzar a requerir FEC, que también necesita mantenerse al día.

Tamaño de chip

Más rápido significa que más está sucediendo. Necesitas una mejor estabilidad del reloj, lo que significa circuitos más grandes. Necesita una mejor sincronización, lo que significa un sistema de recuperación de reloj más complejo. Es posible que deba cambiar a DSP para realizar la ecualización de canales. Tu FEC potencialmente necesaria necesita espacio de chips.

Sensibilidad al medio ambiente

Si cambia de unas decenas de megabaudios a lo que sea necesario para gigabit, se volverá mucho más sensible al medio ambiente. Pequeños desajustes que pueden pasar desapercibidos a unas pocas decenas de MHz se convierten en stubs resonantes en frecuencias más altas. Las reflexiones pueden comenzar causando un rendimiento intermitente. Un cable cortado debido al abuso durante años (no conozco el entorno de aplicación para su producto) podría estar bien para velocidades más bajas, pero puede causar un rendimiento deficiente cuando sube de nivel.

Esfuerzo de diseño

Creo que es obvio por todos los problemas adicionales que mencioné anteriormente que el tiempo y el esfuerzo de diseñar un enlace de comunicación más rápido son significativos. Esto solo debería ser una razón suficiente.

EMI

Velocidad más rápida significa que cumplir con los requisitos de EMI podría ser más difícil.

    
respondido por el Joren Vaes
24

Las señales TTL (de un solo extremo, no terminadas) pueden manejar fácilmente 20 Mbps o más, por ejemplo, consulte SPI. Si solo va unos centímetros, el cable plano y los conectores IDC (o una placa posterior de algún tipo) lo llevarán de una tabla a otra.

1 Gbps lo coloca en el ámbito de tener que lidiar con trazas, conectores y cables controlados por impedancia. Los receptores necesitarán usar técnicas PLL / DLL para mantener la sincronización y el reloj / datos separados, mientras que a una velocidad más lenta, la lógica síncrona normal será suficiente. El exceso de 50 × y los dolores de cabeza adicionales simplemente no valen la pena, si está seguro de que 20 Mbps serán suficientes en el futuro inmediato.

Una vez diseñé (hace más o menos 25 años) un protocolo de bus serie personalizado para el control y el estado de una placa a otra en un rack de telecomunicaciones. Una especie de cruce entre I 2 C y SPI: señales unidireccionales como SPI, pero direcciones de dispositivos incrustadas como I 2 C.

    
respondido por el Dave Tweed
14

La pregunta obvia es: "¿1 Gbps significa 1000BASET Ethernet?" Si eso es lo que piensa el cliente, su requisito de que "no tenemos espacio para cosas como el magnetismo" lo descarta de inmediato. Ethernet utiliza magnéticos en la capa física, y cuando diseñé una interfaz hace algunos años, los magnéticos formaban parte de un cubo de aproximadamente 1 pulgada.

Dices que estás usando FPGA, pero no dices de quién. Si va a utilizar Xilinx, debe tener en cuenta que los modelos actuales admiten LVDS de forma nativa, lo que parece ideal para su propósito. Los primeros sistemas LVDS (televisores de alta definición) funcionaban a 122 Mbps, y la tecnología puede superar los Gbps si realmente lo necesita. Al ser diferencial, y suponiendo que sus dos tableros no utilizan terrenos muy flotantes, la inmunidad al ruido es excelente.

En cuanto a su elección específica de frecuencias de reloj, agregar más espacio del que cree que necesita es una de esas decisiones que puede ahorrarle el tocino en el futuro, así que no descartaría elegir algo como 100 MHz, pero eso es todo. para ti. Podría familiarizar a su cliente con la Ley de Roberge (Jim Roberge era un conocido profesor de ingeniería eléctrica en el MIT hace unas décadas): "Aquellos que piden más ancho de banda del que necesitan merecen lo que obtienen". Por supuesto, él estaba hablando de sistemas servo, pero el principio sigue siendo bueno en una amplia gama de disciplinas.

    
respondido por el WhatRoughBeast
11

La aplicación que describe no tiene sentido saltar directamente a una solución de silicio personalizada. Las velocidades de datos que usted anticipa se pueden manejar fácilmente con tecnología FPGA de precio moderado y el FPGA se puede programar para implementar el protocolo especial si realmente cree que tal protocolo es necesario.

Con mucha mayor frecuencia debería considerar una capa física estándar y luego construir el protocolo personalizado por encima de eso. Para un ancho de banda de canal de comunicación de red de 20 Mbps, debe planificar una sobrecarga de protocolo de cierta cantidad, ya que el encuadre, la codificación de verificación de errores y la sincronización consumen parte de su ancho de banda. Entonces, tal vez considere un mayor ancho de banda en bruto para acomodar esta sobrecarga.

Una vez que haya probado su diseño, puede dirigirse al proveedor de FPGA y hacer que produzcan un diseño de chip duro desde la programación de FPGA. Este enfoque mitiga todos los riesgos de desarrollo temprano y reduce los costos generales de NRE en una cantidad tremenda durante la "inmersión en el silicio personalizado solo porque parece genial".

    
respondido por el Michael Karas
11

La pregunta real es, por qué diseñar un protocolo cuando todo ya existe.

Para las soluciones de Ethenet, toma 10/100 y no 1GbE porque aún es un poco más barato y mucho más fácil de diseñar. Por cierto, Ethernet puede funcionar sin magnetismo. Pero sí requiere MAC, que puede ser IC adicional. ¿O tienes uno en un microcontrolador?

20Mbps es algo que se ajusta a Rs485 o una capa de este tipo, que es incluso más barata y simple. Los pares trenzados vienen con todo tipo de cables, más o menos flexibles, con conectores o simplemente soldados a su PCB.

Ah, lo más importante. Es más fácil joderlo con 1Gb. Pero si necesitan espacio para un mayor crecimiento, limita menos.

Conclusión: debe comprender los requisitos de su sistema.

    
respondido por el Gregory Kornblum
10

Yo sugeriría que la ruta más simple con la mejor probabilidad de éxito y la menor sobrecarga de software sería implementar una conexión Ethernet de 100 Mbps. Puede implementar esto sin ningún magnetismo involucrado cuando las distancias son pequeñas.

Aquí hay un comienzo con información sobre Intel 8255 controlador PCI-Ethernet , y un nota de aplicación en conexiones sin el magnetismo.
No estoy sugiriendo que use el 8255, pero puede obtener IP (10/100 / 1000Mbps) para cualquiera de los FPGA que probablemente use muy fácilmente, y está bien depurado.

Suponiendo que tiene un procesador en la mezcla, admitir un controlador Ethernet estándar es una forma de software muy baja para implementar redes punto a punto.
Utilizamos un montón de este tipo de conexiones punto a punto en placas base especializadas en Intel, fueron fáciles de depurar y muy confiables.

    
respondido por el Jack Creasey
5

Las respuestas aquí son técnicas, doy una perspectiva de ingeniería de requisitos:

Mi punto de vista es simple

  • Necesitas al menos 20 Mbps para que funcione, así que no especifiques 20 sino "20 o más" para la aplicación.

  • cualquier hardware más rápido también cumple con sus requisitos

  • si el HW más rápido es más barato / más fácil de desarrollar debido a los estándares existentes, entonces estos requisitos también pueden ser cumplidos por estos.

  • Si el cliente desea más, intente averiguar si hay algo detrás (podría ser que ya planean las actualizaciones y quieren seguir siendo compatibles entre las placas cuando se intercambian)

respondido por el Sascha
3

Potencia, integridad de la señal y temporización. Trabajé en un chip con una interfaz de 25 gbps y eso significaba una velocidad de reloj de 1.6 GHz y una tonelada de potencia. Si hubiéramos podido correr a 19,2, la velocidad de reloj habría sido de 1,2 GHz. Más de 200ps de margen extra por período de reloj, eso habría sido de gran ayuda.

Nunca he hecho diseño de tablas, pero espero que 20 Mbps no sea un problema. 1 Gbps aún no es tan difícil pero mucho más duro que 20 Mbps.

    
respondido por el Matt

Lea otras preguntas en las etiquetas