Necesito extender un UART de 5 V sobre la fibra por razones de aislamiento. Los aisladores digitales / optos no son buenos, ya que necesito más aislamiento que eso (0,1 pF de acoplamiento máximo de un lado a 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 primer pensamiento fue usar transmisores y receptores TOSLINK. Compré algunos (tres conexiones: 5V, GND e IN o OUT respectivamente) y comencé a jugar. El primer problema que vi fue la inversión de datos al conducir con una simple señal de prueba de 10 ms encendida, 20 ms fuera de prueba. Bien, agregó 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 está limpia pero es incorrecta). Reduje la velocidad a 9600 y envié caracteres individuales para que pudiera observar la forma de onda, no hay problema. Aumentó la velocidad de regreso a 57600 y envió personajes individuales. Cosas extrañas. Básicamente, la forma de onda del personaje comienza bien, pero luego a mitad de camino a través de los invertidos. Me parece que el transmisor está tratando de asegurar un sesgo de 0 DC; esto tendría sentido de alguna manera ya que creo que TOSLINK utiliza la codificación de Manchester.
Entonces dos preguntas:
-
¿Este comportamiento ha sido visto por personas con otros transmisores TOSLINK? ¿Hay transmisores de "paso directo" por ahí?
-
¿Alguien tiene una solución alternativa que usa fibra? La mejor opción que he visto hasta ahora es la serie Avago HFBR: es fácil de usar (parece) pero tiene un costo relativamente alto. ¿Alguna sugerencia mejor?