Necesito comunicarme entre un transmisor y un receptor usando
luz visible, por lo tanto, solo tengo un canal de comunicación.
No es demasiado complicado hacer que esto funcione incluso a cientos de MHz. Un método (funciona para mí) es introducir sus datos en un aleatorizador, ya que esto garantiza que los datos transmitidos reales estén siempre alternando. Lo necesita para alternar porque si los datos de su carga útil son asíncronos, no se puede garantizar que se alterne. Básicamente, esto establece que el espectro de la señal tenga cero contenido de CC y esto ayuda al receptor a bloquearse y producir un reloj.
También hay varios chips paralelos a serie que pueden hacer esto a velocidades muy rápidas y tienen un chip coincidente que realiza el proceso de conversión de serie a paralelo. Esta es también una opción que he usado varias veces. Busque los chips SERDES en TI y MAXIM. Creo que el número de parte de Maxim es algo así como MAX9205; tiene un puerto paralelo de diez bits y es el dispositivo de transmisión o el dispositivo de recepción. Usted podría transmitir el reloj y los datos a la SPI en dos de los pines y aún le quedan 8 para "otras" cosas.