I need to extend an existing 5V UART over fibre for isolation reasons. Digital isolators / optos are no good as I need more isolation than that (0.1pF coupling max. from one side to the other). UART content is fixed due to backward compatibility requirements – 57600 baud. Maximum transmission distance is 10m.
My initial thought was to use TOSLINK transmitters and receivers. I bought some (three connections – 5V, GND and IN or OUT respectively) and got to playing. First issue I saw was data inversion when driving with a simple 10ms on, 20ms off test signal. Fine, added an inverter – this got fixed.
I then set it up at 57600 with a continuous data stream – and got horrible garbage (character-wise – waveform is clean but incorrect). Reduced the speed to 9600 and sent individual characters so I could observe the waveform – no problem. Increased speed back to 57600 and sent individual characters. Strange things. Basically, the character waveform starts well, but then half way through inverts. It looks to me like the transmitter is trying to ensure 0 DC bias – this would make sense in a way as I believe that TOSLINK uses Manchester encoding.
So two questions:
-
Is this behaviour people have seen with other TOSLINK transmitters? Are there “straight passthrough” transmitters out there?
-
Does anyone have an alternative solution using fibre? The best option I have seen so far is the Avago HFBR series – easy to use (it seems) but relatively high cost. Any better suggestions?