Desarrollo de escalador LVDS con dos interfaces DisplayPort



Buen dia, Habr!

Descripción del proyecto de una placa de escala desarrollada en un chip Realtek - RTD2662, para una matriz de dos canales. Quien esté interesado en el tema, bienvenido a cat.

Siempre me atrajo el tema de la salida de imágenes a las matrices. Anteriormente, desarrollé una placa de escala basada en el chip TSUMV59 (compatible con TSUMV29), una instancia muy interesante de MStar. Creo que escribiré un artículo separado sobre este tema. Parece que todo está bien en este chip, pero faltaba algo, a saber, la capacidad de escribir su propio software para mostrar el menú en pantalla y el procesamiento GPIO. Todo el firmware se distribuye en forma binaria y se actualiza a través de USB, pero no se pudo encontrar el código fuente (si alguien sabe / escuchó algo, escriba, porque el tema es muy interesante). Hasta cierto tiempo, esto era suficiente para algunas de sus necesidades. Hubo momentos en que no fue posible elegir el firmware para una matriz en particular, por ejemplo, con una relación de aspecto inusual, pero todo esto fue algo trivial hasta que apareció una orden para desarrollar un dispositivo en el que tenía que haber un menú, un logotipo y la lógica estrictamente definidos del funcionamiento del dispositivo en todo Entonces comenzamos a pensar cómo ser y qué camino tomar. El principal problema era la falta de tiempo, era necesario obtener el primer lote de dispositivos: 100 piezas en el menor tiempo posible. El segundo es la presencia de dos interfaces DisplayPort a bordo. En tercer lugar, un pequeño número de dispositivos, que no permite trabajar / recibir documentación y muestras de fabricantes / distribuidores de chips.

Voy a enumerar los principales problemas de hardware / software que deben ser compatibles:

- DisplayPort - 2 piezas;
- Ethernet 10/100 - 1 pc;
- LVDS de dos canales para matriz de 32 "- 1 pc;
- Soporte para un teclado capacitivo de 4 botones - 1 pc;
- Sensor de temperatura en el tablero - 1 pc;
- interfaz WEB;
- OS Linux;
- Potencia externa 24V.

Ahora un poco sobre todo y en orden.

Displayport


Aquí todo parecía relativamente simple, debe elegir un chip con una entrada HDMI, colocar un interruptor y convertidores de DisplayPort a HDMI. El mismo chip debe tener una salida LVDS de doble canal a la matriz y ser compatible con FullHD. Además, es deseable que tuviera a bordo RMII (Ethernet) y la capacidad de dibujar menús en la parte superior de la imagen. Y entonces comenzaron los problemas. No fue posible encontrar algo similar para poder comprar, simular y lanzar rápidamente un lote.

Como hobby, me dedico a la reparación de equipos y no es una cuestión de ingresos, sino de habilidades adquiridas que son muy útiles para desarrollar mis proyectos y recoger ideas y tecnologías. Los que desmontaron el equipo original de Sony y Panasonic lo entenderán. Me atraen especialmente los dispositivos de audio / video / automóvil. La calidad de la colocación de los vertederos (incluso en las capas superiores), tierra analógica y fuente de alimentación, la posición relativa de los alimentadores en el tablero, el rastro de la RAM, HF ... mi cabeza da vueltas alrededor de lo hermoso y cuidadosamente que se hace todo (por supuesto, esto no siempre sucede).

¿De qué estoy hablando? Por lo tanto, si recuerda lo que se suele poner en los televisores económicos, lo primero que se le ocurrió es TSUMV29 / TSUMV59, pero, como recordamos, no nos convienen. ¿Qué más hacen los televisores y monitores, pero qué puedes comprar por pieza? Un colega sugirió a Realtek que parece que incluso hay fuentes para ello, lo que simplificará enormemente la tarea. Resultó que realmente hay fuentes para Keil, para el chip RTD2662. El chip no es el más nuevo, pero tiene dos entradas HDMI y soporte para FullHD.


Fig.1. RTD2662

Esquema de inclusión como en todos los chasis de TV. El chip está alimentado por dos voltajes: 3.3V y 1.8V. No fue posible encontrar una hoja de datos completa, y no fue necesario. Era necesario agregar solo convertidores de DisplayPort. Después de una breve búsqueda, se eligió un transmisor de Texas Instruments: SN75DP139. Recomiendo en desarrollo, un buen chip. Los microcircuitos se encuentran en la parte inferior del tablero (tuve que hacer esto para evitar el punto de mira de las líneas de datos, tal vez intentaré volver a reproducirme en un lado).


Fig.2. Diagrama de cableado SN75DP139

El esquema de inclusión es el siguiente. Me puse en contacto con DisplayPort por primera vez y se convirtió en una revelación para mí que la entrada y la salida de esta interfaz tienen diferentes pinouts, es decir, es una en el conector de la PC y la otra en el monitor. Aunque hay algo de lógica en esto.
El firmware Realtek se almacena en un SPIFlash separado.

Ethernet 10/100


Se necesita Ethernet para varias cosas: monitoreo, configuración y actualización de dispositivos; por lo tanto, 10/100 de física es suficiente. Instalé LAN8742AI de Microchip, lo usé por primera vez y lo elegí precisamente porque el cliente necesitaba una determinada función de "Wake on LAN", antes de eso no era necesario. En pocas palabras, el soporte de WoL le permite activar el dispositivo a través de Ethernet.


Fig.3. Ethernet 10/100

La física casi no requiere encuadernación y es fácil de rastrear. Funciona de manera estable, no hubo una sola caída de red.

LVDS


Se necesitan dos canales para conectar la matriz AUO de 32 ”. Conector y pinout estándar usado. Fuente de alimentación de 12V, hecha en DC / DC TPS54560DDAR - este es un excelente alimentador de 5A de TI. La matriz de luz de fondo de 24V, tomó de la tensión de entrada. La matriz tiene un controlador de luz de fondo incorporado con la capacidad de ajustar y apagar. La placa está hecha en 4 capas, por lo que no hubo problemas con el seguimiento de LVSD, HDMI y DisplayPort.


Fig.4. Traza LVDS

Como puede ver aquí directamente, una ligera diferencia en la longitud no afecta en absoluto la calidad de la imagen.

Clave


Los botones se implementan en el chip SX8634 de Semtech Corporation; este es un chip algo ambiguo en su trabajo. Los programadores tuvieron que reescribir todo el controlador para obtener el resultado esperado. Resultó algo como esto: hay 4 botones para navegar por el menú, son sensibles al tacto (capacitivos a través del vidrio) con retroiluminación RGB desde el interior a través de los agujeros en el tablero. Solo el botón inferior se ilumina constantemente, también pasa al modo de suspensión y viceversa (con un cambio en el brillo). Cuando mantiene sus manos por 5 cm, los botones restantes se resaltan y el menú aparece frente a ellos. Quitamos la mano, después de 3 segundos el menú desaparece, los botones se apagan. Se ve interesante


Fig.5. Touch Button Board

La parte superior de la placa (superior) está adyacente al vidrio, por lo que no tiene componentes, todos se encuentran en la parte inferior. La dificultad para configurar y calibrar se debió al ancho del tablero, es de solo 12 mm. Si alguien está aburrido de vivir, puede usar este chip en sus proyectos.

Temp


La temperatura dentro de la caja se mide con el sensor de temperatura NXP LM75AD a través del bus I2C. Se entregó ya que se entrega fácilmente y se encuentra en almacenes en grandes volúmenes.

WEB


La interfaz web y el proyecto en sí se implementan sobre la base de un motor joven nacido de un equipo independiente de 11 partes: este es nuestro socio para el desarrollo de software para sistemas basados ​​en Linux.
La plataforma tiene muchos bloques, con soporte técnico y una garantía con la posibilidad de mejoras y actualizaciones.

Si es aún más simple, este es un proyecto de marco con funcionalidad avanzada que mejora y amplía constantemente la funcionalidad. De los bloques principales, se puede observar un administrador de red, una interfaz WEB dinámica, actualización y un generador de proyectos. Basado en el motor, puede implementar varios dispositivos desde un reproductor de mp3 a un servidor SIP multipuerto de 10 Gbit. y esto es justo lo que necesitábamos en este proyecto.

Desde la interfaz basada en la web, no solo puede controlar los parámetros del panel, sino también cambiar la configuración, por ejemplo, el brillo, el contraste, la claridad de la imagen, monitorear a qué puerto está conectada la PC y cuál de ellos está actualmente activo, cambiar entre ellos.

También en este proyecto, las versiones SNMP 1.2 y 3 son compatibles con SET, GET y enviar trampas por intervalo o evento. Es decir La información sobre cualquier parámetro, por ejemplo, brillo / contraste, se puede transmitir al servidor a través de SNMP, presionando el botón para cambiar el parámetro o, por ejemplo, una vez cada 10 segundos. Puede apagar la pantalla o cambiar el parámetro de forma remota con el comando SNMP SET. SNMP también es parte del motor.

iMX6ULL


Dado que el chip Realtek no tiene Ethernet a bordo, en este proyecto se instala un procesador NXP iMX6ULL, en el que se ejecuta OS Linux y se realiza la lógica básica de trabajo. iMX y Realtek están interconectados a través de UART e intercambian comandos entre ellos. Para eventos rápidos hay varios GPIO.


Fig.6. iMX6ULL

Toda la información se almacena en NAND, u-boot se carga desde SPIFlash. Un chip RAM y nada más. La tarjeta SD se muestra para actualizar el software (además de poder hacerlo desde la web).

Poder


La fuente de alimentación secundaria de 5V se implementa en el mismo DC / DC que para la fuente de alimentación de matriz: TPS54560DDAR. Fuente de alimentación 1.8V y 1.35V en AP3418 de Diodos, y 3.3V en ST1S10PHR de ST.


Fig.7. DC / DC

Los microcircuitos DC / DC se eligieron con un gran margen, ya que la matriz tiene grandes corrientes máximas de potencia e iluminación, y dado que solo hubo una iteración, realmente no quería arriesgarme.
Todas las fuentes de alimentación están separadas por polígonos en una capa separada, con la excepción de la potencia de la matriz, porque realmente no quería cortar la alimentación principal con este conductor. Las capturas de pantalla de rastreo son inútiles, a menos que alguien esté interesado en alguna interfaz. También quiero dedicar un artículo separado sobre polígonos de alimentos y tierra, por ejemplo, en este proyecto hay un total de 27 polígonos, en mi nuevo proyecto en iMX7 habrá aproximadamente 100, y esto simplemente no encajará en el marco de este artículo.

Si profundizas un poco más en la lógica del tablero. iMX funciona con Ethernet y botones del panel frontal. Está asociado con Realtek, que toma la imagen del DisplayPorta activo y la emite a la matriz LVDS. Los comandos de botones, SNMP y web vuelan a Realtek, que a su vez reacciona a ellos y cambia los parámetros de visualización, muestra un menú, etc.

El resultado fue un proyecto bastante interesante en poco tiempo. Probablemente, contiene demasiados módulos, pero en el momento del desarrollo, en mi opinión, esta fue la mejor solución de acuerdo con los términos, costos y riesgos.

Gracias por su atencion!

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


All Articles