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

27

Fondo

Estoy trabajando con un cliente en un proyecto grande que requiere un chip de red personalizado para ser diseñado 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. Diseñaremos y especificaremos el protocolo de red, y otra compañía será responsable de la implementación del 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 en caso de que la cantidad de datos aumente en el futuro.

Problema

El cliente me pregunta por qué estoy especificando solo 20Mbps. ¿Por qué no algo como 1 Gbps? ¿No sería eso mejor? Intuitivamente, siento que aumentar la velocidad de datos masivamente más allá de lo que se necesitaría es una mala idea. Inicialmente, pensé que el cableado tendría que estar blindado (lo cual no quiero), pero al mirar las categorías de cable Ethernet, veo que Gigabit Ethernet puede ejecutarse en el cable Cat 6, que no necesita blindaje.

Otras restricciones

  • El proyecto tiene un espacio desesperadamente limitado, y no tenemos espacio para cosas como el magnetismo, a menos que sea un componente muy pequeño (0603 máx.).
  • Los cables deben ser lo más delgados y flexibles posible.
  • El dispositivo funcionará con alimentación enchufable, 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 puedan enfrentar a 1 Gbps, que no serían tan malos a 20 Mbps? ¿Debo seguir la sugerencia de mi cliente de implementar la red a 1 Gbps, o debería insistir en implementar solo lo que se requiere?

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

Rocketmagnet
fuente
3
Si la aplicación necesita un rendimiento de 20 Mbps, es probable que sea suficiente un estándar más antiguo de 100 Mbps, teniendo en cuenta todos los gastos generales y demás. Por lo tanto, la pregunta se reducirá al costo de implementación, la disponibilidad futura de piezas. ¿Verificó los costos correspondientes? Además, ¿qué quiere decir "en términos de diseño de silicio"? ¿Estás planeando diseñar tu propio silicio?
Ale..chenski
99
1Gbps puede ser una exageración ... 100Mbps puede ser un próximo paso más adecuado en velocidad ... si el cliente está preocupado por proteger el dispositivo en el futuro, tal vez explore el uso de la compresión de datos ... tal vez demuestre al cliente cuánto rendimiento de datos se logra con 20Mbps ... muéstreles un video de YouTube HD y explique que el ancho de banda es de solo 8Mbps más o menos
jsotola
12
¿Por qué quiere un protocolo de "red" para una conexión punto a punto?
El fotón
20
Diseñar "un protocolo de red" desde cero no parece una idea particularmente sabia. Podría ser bastante costoso para el diseño, la implementación de la capa física, la validación de la capa física, luego la capa de protocolo, todo el software asociado y la validación de los mismos, etc. etc. ¿Has oído hablar de HSIC, una especie de USB sobre 1.2VLVCMOS?
Ale..chenski
20
Por favor, prepare una demostración con circuitos integrados de Ethernet de 100M sin imanes para hacer una demostración al usuario y a ustedes mismos, lo que se puede hacer con las piezas estándar disponibles. No haga silicio personalizado, protocolos personalizados, sin comprender por qué los estándares no funcionarán.
Neil_UK

Respuestas:

24

Algunas razones:

Poder

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 sus dispositivos electrónicos que los rodean deben ser más rápidos. Sus sistemas digitales, sus pestillos, gestión de reloj, etc. Si obtiene ese 1 Gbps mediante la señalización multinivel, ahora necesita mejores ADC y DAC. Es posible que deba comenzar a lidiar con un filtrado más complejo. Podría comenzar a requerir FEC, que también necesita mantenerse al día.

Tamaño de la viruta

Más rápido significa más cosas. Necesita 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 ecualizar el canal. Su FEC potencialmente necesaria necesita espacio en chips.

Sensibilidad al medio ambiente

Si cambia de unas pocas decenas de megabaudios a lo que sea necesario para gigabits, 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 trozos resonantes a frecuencias más altas. Las reflexiones pueden comenzar a causar un rendimiento intermitente. Un cable con muescas debido al abuso a lo largo de los años (no conozco el entorno de aplicación para su producto) puede estar bien para velocidades más bajas, pero puede causar un rendimiento deficiente cuando sube.

Esfuerzo de diseño

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

EMI

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

Joren Vaes
fuente
55
@Rocketmagnet: También vale la pena señalar que el 802.3 1000Base-T gig-E real sobre Cat5e envía señales en ambas direcciones a la vez a través de 4 pares de cables, además de usar una codificación multinivel, para mantener las frecuencias bajas a los mismos 125MHz como 100Base-T . Por lo tanto, cada receptor tiene que restar lo que está enviando su propio transmisor, para obtener solo la señal enviada por el otro extremo.
Peter Cordes
2
@PeterCordes - Eso es muy interesante, lo investigaré. Pero suena como considerablemente más complejo que el LVDS básico.
Rocketmagnet
2
@Rocketmagnet: sí, GigE parece una muy mala elección para esto. Hay una razón por la cual los transceptores GigE usan más potencia que 100M.
Peter Cordes
24

Las señales TTL (unipolares, no terminadas) pueden manejar fácilmente 20 Mbps o más; mire SPI, por ejemplo. Si solo va unas pocas pulgadas, el cable plano y los conectores IDC (o una placa posterior de algún tipo) lo llevarán de placa a placa.

1 Gbps te lleva al reino 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 separar el reloj / datos, 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 previsible.


Una vez diseñé (hace unos 25 años) un protocolo de bus serie personalizado para el control de placa a placa y el estado entre placas en un estante de telecomunicaciones. Una especie de cruce entre I 2 C y SPI: señales unidireccionales como SPI, pero direcciones de dispositivo integradas como I 2 C.

Dave Tweed
fuente
Suponiendo que ya tenemos la intención de utilizar trazas, cables y conectores controlados por impedancia, ¿hay algún otro problema?
Rocketmagnet
1
Los receptores deberán usar técnicas PLL / DLL para mantener la sincronización y separar el reloj / datos. A una velocidad más lenta, la lógica síncrona normal será suficiente.
Dave Tweed
10
Eso depende de los detalles sobre su tecnología de implementación que probablemente no esté en libertad de revelar. Si está utilizando FPGA (según lo implica su uso de la etiqueta), tenga en cuenta que todos los principales proveedores tienen soluciones enlatadas para la comunicación de chip a chip a varias velocidades. Le recomendamos que use eso para su capa física e implemente su protocolo personalizado encima.
Dave Tweed
1
Diseñar un bloque pll no es trivial y comprar la IP puede fácilmente retrasarle $ 50-100k $
Mike
1
@Tustique ¿Crees que es trivial diseñar tu propio PLL en silicio?
user253751
14

La pregunta obvia es: "¿1 Gbps significa 1000BASET Ethernet?" Si eso es lo que está pensando el cliente, su requisito de que "no tenemos espacio para cosas como el magnetismo" lo descarta de inmediato. Ethernet usa imanes en la capa física, y cuando diseñé una interfaz hace algunos años, los imanes 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 son compatibles de forma nativa con LVDS, lo que parecería 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. Siendo diferencial, y suponiendo que sus dos tableros no estén usando terrenos flotantes, la inmunidad al ruido es excelente.

En cuanto a su elección específica de frecuencias de reloj, agregar más margen de lo que cree que necesita es una de esas decisiones que pueden salvar su tocino en el futuro, por lo que no descartaría elegir algo como 100 MHz, pero eso depende de usted. Puede familiarizar a su cliente con la Ley de Roberge (Jim Roberge fue 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, estaba hablando de servosistemas, pero el principio sigue siendo bueno en una amplia gama de disciplinas.

WhatBoughBeast
fuente
77
Ethernet no necesita el magnetismo si está haciendo una conexión no estándar. Es bastante confiable si se implementa sin el aislamiento.
Jack Creasey
1
@JackCreasey, pero ¿se puede llamar Ethernet ?
Mels
2
Ciertamente no cumple con IEEE 802.3. No se conectará a un punto final compatible, pero dije que no sería compatible sin el magnetismo. Dudo que pase el conjunto de pruebas para señales en la conexión del plano posterior, pero debería pasar todo lo demás, incluida la fluctuación de fase. Todavía lo llamaría Ethernet, pero puede que no.
Jack Creasey
2
FYI: el único resultado de Google para "Quienes piden más ancho de banda del que necesitan merecen lo que obtienen". es esta respuesta
user253751
11

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

Con mucha más frecuencia, debería considerar una capa física estándar y luego construir el protocolo personalizado además de eso. Para un ancho de banda de canal de comunicación neto de 20 Mbps, debe planificar una sobrecarga de protocolo de cierta cantidad porque 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 ancho de banda bruto más alto 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 a partir de la programación FPGA. Este enfoque mitiga todos los riesgos de desarrollo temprano y reduce los costos generales de NRE en una cantidad tremenda sobre la "inmersión en el silicio personalizado solo porque parece genial".

Michael Karas
fuente
Esa es exactamente la ruta que pretendemos tomar.
Rocketmagnet
11

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

Para las soluciones de Ethenet, usted toma 10/100 y no 1GbE porque todavía 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 similar, que es aún 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 equivocarse con 1Gb. Pero si necesitan espacio para un mayor crecimiento, limita menos.

En pocas palabras: debe comprender los requisitos de su sistema.

Gregory Kornblum
fuente
10

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

Aquí hay un comienzo con información sobre el controlador Intel 8255 PCI-Ethernet , y una nota de aplicación sobre 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 usará muy fácilmente, y está bien depurado.

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

Jack Creasey
fuente
44
Aunque ethernet podría hacer el protocolo, 100 Base ethernet tiene un requisito de distancia mínima de 1 metro (esto me mordió hace algunos años al usar un ethernet sobre la implementación del plano posterior). El OP mencionó que la distancia era de unas pocas pulgadas, lo que excluye a Ethernet en la capa física.
Peter Smith
1
@PeterSmith, la distancia mínima NO se aplica a Ethernet sin el magnetismo. Esto funcionará a solo unas pocas pulgadas.
Jack Creasey
5

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

Mi punto de vista sobre esto es simple

  • Necesita al menos 20 Mbps para que funcione, así que no especifique 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 cumplirlo.

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

Sascha
fuente
3

Potencia, integridad de la señal y sincronización. Trabajé en un chip con una interfaz de 25 gbps y eso significó una velocidad de reloj de 1.6 GHz y una tonelada de potencia. Si pudiéramos haber corrido a 19,2, la velocidad del reloj habría sido de 1,2 GHz. Más de 200ps de margen adicional por período de reloj, eso habría sido de gran ayuda.

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

Mate
fuente