UART de bajo costo sobre fibra

Necesito extender un UART de 5V existente sobre fibra por razones de aislamiento. Los aisladores/optos digitales no son buenos ya que necesito más aislamiento que eso (acoplamiento máx. de 0.1pF de un lado al otro). El contenido de UART se corrige debido a los requisitos de compatibilidad con versiones anteriores: 57600 baudios. La distancia máxima de transmisión es de 10 m.

Mi idea inicial fue utilizar transmisores y receptores TOSLINK. Compré algunos (tres conexiones - 5V, GND y IN o OUT respectivamente) y me puse a jugar. El primer problema que vi fue la inversión de datos al conducir con una señal de prueba simple de 10 ms encendido y 20 ms apagado. Bien, agregué un inversor, esto se arregló.

Luego lo configuré en 57600 con un flujo de datos continuo, y obtuve una basura horrible (en cuanto a los caracteres, la forma de onda es limpia pero incorrecta). Reduje la velocidad a 9600 y envié caracteres individuales para poder observar la forma de onda, sin problemas. Se incrementó la velocidad a 57600 y se enviaron caracteres individuales. Cosas extrañas. Básicamente, la forma de onda del carácter comienza bien, pero luego se invierte a la mitad. Me parece que el transmisor está tratando de garantizar una polarización de CC 0; esto tendría sentido en cierto modo, ya que creo que TOSLINK usa la codificación Manchester.

Así que dos preguntas:

  1. ¿Es este el comportamiento que la gente ha visto con otros transmisores TOSLINK? ¿Hay transmisores de "paso directo" por ahí?

  2. ¿Alguien tiene una solución alternativa usando fibra? La mejor opción que he visto hasta ahora es la serie Avago HFBR: fácil de usar (al parecer) pero de costo relativamente alto. ¿Alguna sugerencia mejor?

Toslink usa Biphase Mark Coding, consulte en.wikipedia.org/wiki/Differential_Manchester_encoding Su receptor bien podría estar optimizado para esta codificación, en la medida en que no funciona bien con la codificación UART (= NRZ).
Su conexión podría ser demasiado lenta en realidad: electronics.stackexchange.com/a/123727/54580
Gracias por este @RespawnedFluff: la hoja de datos de las piezas que tengo no especifica nada en particular, y creo que mi suposición de que tanto el transmisor como el receptor estaban operativos hasta DC era ingenua. La parte recomendada en su pregunta vinculada se especifica explícitamente hasta DC y para la codificación NRZ. Haré la compra y veré cómo va.

Respuestas (2)

Podría agregar modulación adicional, mantendría felices las funciones ALC de los dispositivos receptores.

Como tiene al menos una velocidad de datos de 3 MBit/s disponible, tiene bastante espacio libre.

Podría usar la modulación FSK básica con dos tonos de, digamos, 250 kHz y 1000 kHz.

Esto le permitiría usar un demodulador bastante simple (comparador de ancho de pulso) y tener menos de 20% de fluctuación de borde de bits.

Se podrían probar frecuencias más altas, pero requieren un trabajo de diseño más cuidadoso.

EDITAR:
para aquellos que no se preocupan regularmente por tales cosas, ASYNCH comms está diseñado para poder tolerar una fluctuación de borde de período de medio bit nominal, esto porque el muestreo de bits debe ocurrir en el medio de la celda de bits y se supone que el borde de inicio es el punto de referencia Esto significa que puede tener hasta medio bit de error de temporización en los últimos (generalmente 10) bits y aun así decodificar correctamente. Por lo tanto, el 50 % también corresponde a un error de periodo de bits acumulativo del 5 % (o error de reloj) sobre 10 bits. La fluctuación de borde de un sistema de modulación FSK simple no es acumulativa, sino que se suma al presupuesto de error del reloj.

Los relojes en estos días son bastante buenos, por lo que usar un sobremuestreo de 5x dejará la señal con un aspecto ruidoso pero dentro de las especificaciones.

Esto resulta ser un límite inferior en el ancho de banda aceptable de algunos, posiblemente la mayoría de los receptores TOSLINK, normalmente 0,1 Mb/s. Los que compré originalmente venían con muy poca información, solo detallaban que aceptaban una entrada TTL y varios límites de corriente/voltaje.

Mirando la hoja de datos de un receptor TOSLINK en particular mencionado en esta pregunta de ESE , hay una afirmación mucho más explícita de que las frecuencias operativas se extienden hasta CC y eso incluye la codificación NRZ , como TTL UART simple.

Si bien la modulación FSK puede ser una opción para algunos, dado que la hoja de datos de la parte seleccionada originalmente era tan pobre que no quería arriesgarme, así que opté por una parte con clasificación de CC.

Gracias a Wouter van Ooijen, Respawned Fluff y KalleMP por su ayuda con esto. Escribí mi propia respuesta porque sentí que resumía mejor el problema real y podría ser más útil para futuros buscadores.
Las especificaciones limitadas siempre son frustrantes, incluso si se realizan pruebas para determinar las características operativas, existe el peligro de que un lote más nuevo de piezas se comporte de manera diferente si las especificaciones no están documentadas. El uso de una pieza no clasificada para CC tiene probablemente la ventaja de un ALC incorporado (el posible problema en este caso con los datos NRZ), ya que generalmente pueden operar en distancias más largas debido al control de ganancia que compensa la pérdida del enlace. No es probable que haga ninguna diferencia en un enlace corto en este caso.