Extensor 贸ptico HDMI. 300 metros

Buen dia, Habr!



Desarrollo de cable de extensi贸n de fibra 贸ptica HDMI para 300 metros. Denegaci贸n del canal de retorno (transmisi贸n de datos en un cable de fibra 贸ptica). Clonaci贸n de EDID desde el monitor.

El est谩ndar HDMI es ampliamente utilizado en muchas 谩reas donde desea mostrar la imagen en la pantalla. Personalmente, pude transmitir la se帽al a trav茅s de un cable HDMI a una distancia de 10 metros (simplemente ya no era necesario). Creo que sin p茅rdida de calidad, puede transferir la imagen a una distancia de 30-40 m. Las principales desventajas en el caso de brochado de un cable de este tipo son su di谩metro y tama帽o, directamente, de los conectores. La forma m谩s f谩cil de excluir el cable es usar un cable de extensi贸n inal谩mbrico, creo que ser谩 posible alcanzar los 100-150 metros, pero no lo dir茅 con certeza. Desafortunadamente, no todos los objetos, por una raz贸n u otra, permiten el uso de redes inal谩mbricas. 驴Y si necesitas a煤n m谩s?


Fig.1. Cable HDMI y 贸ptica (LC)

Por supuesto, la 贸ptica probablemente no sea la mejor opci贸n para transmitir video, pero cuando se usan computadoras y monitores estacionarios, ni siquiera es nada. La primera tesis es el di谩metro del cable 贸ptico (en mi caso, es de 2-3 mm) y el di谩metro del conector del cable de fibra 贸ptica. El segundo es, por supuesto, la distancia. Mirando hacia el futuro, dir茅 que las pruebas se llevaron a cabo en un cable de 300 m de di谩metro (externo) - 3 mm.

Base elemental


Al desarrollar la base del elemento, la elecci贸n, inesperadamente, recay贸 en la empresa china SiFotonics, que se especializa en este tipo de equipos. Para empezar, estudiamos sus productos y obtuvimos dos errores, que conectamos con un cable 贸ptico de trescientos metros y nos aseguramos de que todo funcionara perfectamente. Tambi茅n tienen receptores / transmisores 贸pticos SFP (ROSA / TOSA), serializadores / deserializadores, controladores, etc.

Principio de funcionamiento


Para conectar y operar los dispositivos, debe conectar dos cables 贸pticos y aplicar alimentaci贸n (cable microUSB). Si damos una analog铆a con un cable HDMI convencional, en el que hay I2C para intercambiar una tabla EDID, entonces todo es lo mismo, un canal para la transferencia de datos, el segundo, para transferir EDID desde el monitor a la tarjeta de video. Los datos se transmiten a una velocidad de 10 Gbps. Al arrancar el cable del canal de retorno, la imagen desaparece invariablemente. En este momento, surgieron algunas dudas, y si se est谩n transmitiendo datos de servicio o marcas de sincronizaci贸n en el canal de retorno, o tal vez los dispositivos est谩n monitoreando conexiones entre s铆 ...


Fig.2. La composici贸n de los m贸dulos.

La primera iteraci贸n de la placa, tambi茅n es un dise帽o, result贸 ser de 20X45 mm de tama帽o. Con un conector de alimentaci贸n "lateral", para facilitar la distribuci贸n de buses de energ铆a en los vertederos. Total de 4 capas resultaron. Por qu茅 esta configuraci贸n de PCB es mala, escribir茅 m谩s tarde. Los desarrolladores de depuraci贸n complicados usaron 0201 pasivo, lo que no quer铆a hacer, as铆 que us茅 0402 y una papilla de condensador debajo del chip.


Fig.3. Modelo 3D del dise帽o de la placa del m贸dulo fuente

Como escrib铆 anteriormente, mi tarea no era solo hacer una pareja con una distancia de trabajo de 300 metros, sino tambi茅n eliminar el canal de retorno de la 贸ptica. Incluso en la etapa de desarrollo, decidimos no participar en la finalizaci贸n del software chino (aunque amablemente se nos proporcionaron todas las fuentes), ya que, en primer lugar, se trata de un mont贸n de l铆neas de c贸digo incomprensibles en un compilador incomprensible, y en segundo lugar, SiFotonics puede suministrar chips flasheados, que Es muy conveniente, ya que es muy dif铆cil flashear dispositivos como parte de la producci贸n. Para que el lector no piense que estoy exagerando al hablar de las dificultades, le dar茅 una foto del soporte de programaci贸n.


Fig.4. Soporte para programaci贸n y diagn贸stico.

S铆, s铆, como probablemente ya haya adivinado, los contactos JTAG para programaci贸n se env铆an a contactos microUSB y a algunos contactos HDMI que sol铆an ser GND. Debo decir de inmediato que esto no afect贸 la calidad del trabajo. Entonces, ponte de pie. Para programar el chip, primero debe ensamblar un circuito del soporte y poner el chip en modo de programaci贸n utilizando un software especializado. Luego, necesita ensamblar otro circuito y usar el otro software para flashear la placa. Despu茅s de eso, pasa autom谩ticamente al modo de trabajo.
En general, me parece que esto no es pr谩ctico incluso para 1000 piezas.

Volvamos al canal inverso. Para almacenar tablas EDID, necesitamos una EEPROM, y necesitaremos cambiar su direcci贸n sobre la marcha. Tom贸 el N24C02UDTG en un paquete miniatura US-8. Para programarlo, uso el microcontrolador STM32F031G4U6, tambi茅n en el paquete m谩s peque帽o que se puede encontrar en el dominio p煤blico: UFQFPN-28. Tambi茅n tom茅 el interruptor de encendido TPS27081ADDCR. Y esto es lo que obtuve:


Fig.5. Esquema de implementaci贸n de clonaci贸n EDID

La idea es la siguiente. Este circuito se implementa en el m贸dulo de transmisi贸n (el que se conecta a la PC). Para clonar un monitor EDID, el dispositivo se conecta al monitor. Por defecto, la direcci贸n EEPROM en nuestro m贸dulo no debe coincidir con la direcci贸n EEPROM en el monitor (durante la lectura), es decir, puede ser cualquier otra, por ejemplo, hice que el tramo A0 sea manejable. En el momento de la conexi贸n al monitor, se suministra energ铆a a la EEPROM y el tramo A0 se eleva a la resistencia l贸gica "0". Dos EEPROM con las mismas direcciones est谩n colgadas en el bus i2c, pero esto no es cr铆tico, ya que todav铆a no estamos trabajando con ellas. En mi circuito tambi茅n hay un bot贸n y un LED para indicar la alimentaci贸n / firmware EDID / errores. Una pulsaci贸n breve del bot贸n cambia la direcci贸n y permite que el microcontrolador comience a leer / escribir EDID. Restablecemos la EEPROM con alimentaci贸n (por si acaso) cuando recibimos la se帽al del bot贸n, leemos el EDID del monitor e inmediatamente lo escribimos en nuestro chip. Parpadeamos 3 veces con el LED y apagamos la EEPROM. La lectura / escritura ocurre instant谩neamente, por lo que se produce un retraso forzado por el parpadeo, de modo que el usuario comprende que algo est谩 sucediendo. Es decir, comenzamos a parpadear cuando ya es posible dejarlo ir. Si algo est谩 mal, no encienda el LED.

Luego, conecte el m贸dulo a la PC e inmediatamente vea el nuevo monitor en la configuraci贸n. El problema est谩 resuelto.

Para programar el microcontrolador trajo el bus SWD.


Fig.6. Reverso de la placa del m贸dulo

Caracteristicas


Despu茅s de todo el trabajo realizado con la clonaci贸n EDID, elimin茅 el canal 贸ptico inverso y todo funcion贸 a la perfecci贸n. En estos experimentos, el poder provino de una PC USB. Durante el arranque, la computadora (en cualquier caso la m铆a) apaga la alimentaci贸n USB por un momento y la imagen del BIOS parpadea en el monitor; esto no es cr铆tico. Luego saqu茅 los m贸dulos de canal inverso de los dispositivos y despu茅s de este parpadeo, la imagen dej贸 de recuperarse. Y esto se debi贸 precisamente a la falta de un m贸dulo TOSA en el dispositivo del monitor. Trat茅 de emular la presencia de un l谩ser, pero todo fue en vano. Estoy casi seguro de que este problema puede resolverse con el firmware, pero decidimos no entrar en 茅l. Un milagro ocurri贸 cuando conect茅 ambos dispositivos (receptor y transmisor) a las fuentes de alimentaci贸n (como, por cierto, se indic贸 en la declaraci贸n de trabajo). La imagen dej贸 de parpadear y, en consecuencia, desapareci贸. Si distorsiona la potencia de los dispositivos durante el funcionamiento, la imagen se restaura sin problemas.


Fig.7. Circuito de conmutaci贸n del m贸dulo transmisor (l谩ser)

Ahora volvamos a la configuraci贸n de la PCB y al conector de alimentaci贸n lateral. Esta implementaci贸n fue inicialmente inconveniente y adecuada solo para el dise帽o. En el dispositivo de liberaci贸n, reduje el ancho de la placa a 16,3 mm y puse el conector de alimentaci贸n en lugar del m贸dulo 贸ptico del canal inverso; esto le permitir谩 incluir varios dispositivos en una tarjeta de video. De lo contrario, el conector de alimentaci贸n interfiri贸 conmigo y la placa era muy ancha.


Fig.8. Receptor estrecho y placas transmisoras

Aqu铆, por supuesto, hubo muchos cambios de cableado y reordenamiento de componentes. Los rangos de suministro se rehicieron por completo para optimizar estos tama帽os y transferir el conector microUSB. Como puede suponer, los casos para ambos dispositivos son id茅nticos, por lo tanto, la configuraci贸n de la placa, los conectores y el m贸dulo 贸ptico se encuentran en la misma posici贸n. El cuerpo est谩 fresado en aluminio y es un disipador de calor para el procesador y el controlador. Las protuberancias para estos componentes se fresan en el interior, por lo que tambi茅n se ubican de la misma manera.

Conclusi贸n


Por el momento, se sueldan cuatro pares de dispositivos, se realizan pruebas con un cable largo en diferentes monitores y televisores. No hay quejas sobre el trabajo. Verificamos solo en fullHD y a continuaci贸n.

Gracias y hasta pronto!

Source: https://habr.com/ru/post/473796/


All Articles