banner
Hogar / Noticias / DisplayPort: bajo el capó
Noticias

DisplayPort: bajo el capó

Jun 15, 2023Jun 15, 2023

La última vez analizamos todas las cosas que hacen que DisplayPort sea único para sus usuarios. ¿Qué pasa con las cosas que lo hacen único para los piratas informáticos? Analicemos todas las formas en que DisplayPort puede ayudarle en sus aventuras de disputas tecnológicas modernas.

Con DisplayPort, el bus I2C que siempre hemos visto incluido con VGA, DVI y HDMI ya no existe: ha sido reemplazado por el bus AUX. AUX es un par de diferencias bidireccional de 1 MHz; un poco demasiado complejo para un analizador lógico barato, aunque posiblemente sea algo con lo que podría discutir con los PIO del RP2040. Dejando a un lado las ideas de piratería, es un reemplazo transparente para I2C, por lo que no es necesario reescribir el software; por ejemplo, generalmente realiza el paso del dispositivo I2C a través de AUX, de modo que los datos EDID aún se pueden almacenar en un chip EEPROM separado en el monitor. o panel LCD eDP.

AUX no es solo un bus diferencial, es más pseudodiferencial, como USB2; por ejemplo, AUX_P y AUX_N se usan por separado, con una combinación de pullups y pulldowns de 1 MΩ y 100 kΩ que señalan diferentes estados de la conexión física; por ejemplo, un pullup en AUX+ y pulldown en AUX- significa que se ha conectado un dispositivo externo. Si desea saber qué combinación de resistencias significa qué, puede encontrarla en la especificación DisplayPort, que no se distribuye abiertamente pero tampoco es difícil de conseguir.

Además, el entrenamiento del enlace DisplayPort se realiza a través de AUX y, para facilitarlo, una parte de la memoria externa del controlador DisplayPort generalmente se expone a través del canal AUX, a través de un mecanismo llamado DPCD. Si investiga un poco y utiliza "DPCD" como palabra clave, podrá acceder fácilmente a los detalles de nivel inferior de su conexión DisplayPort. Parte del mapa de memoria DPCD es estático y algunas partes son FIFO en las que puede canalizar datos hacia o desde ellos. Puede encontrar una amplia variedad de documentos en línea que describen la estructura de DPCD; por ahora, aquí hay una parte de Bash que funciona en controladores de gráficos de Linux para AMD e Intel, y le mostrará los primeros 16 bytes de DPCD:

# sudo dd if=/dev/drm_dp_aux0 bs=1 skip=256 count=16 |xxd00000000: 0084 0000 0000 0000 0108 0000 0000 0000 ................[...]

En particular, el cuarto mordisco (dígito) aquí describe la cantidad de carriles establecidos para el enlace DisplayPort; como puede ver, mi computadora portátil utiliza un enlace de cuatro carriles. Además, es posible que sea necesario ajustar la ruta /dev/drm_dp_aux0 para su dispositivo. En caso de que alguna vez quieras depurar tu enlace DP, tener acceso directo al espacio de memoria DPCD como este podría ayudarte bastante. Por ahora, pasemos a otros aspectos prácticos.

¿Qué sucede si tiene una pantalla eDP a mano y desea reutilizarla en un proyecto? Primero, querrás saber la distribución de pines. Para las pantallas de portátiles, la configuración de pines del panel eDP está razonablemente estandarizada: hay tres configuraciones de pines, una de ellas de 2 carriles de 30 pines, otra de 2 carriles de 40 pines con pines USB e I2C adicionales para conectar una pantalla táctil, y una de 40 pines. conector pin con 4 carriles y sin soporte para pantalla táctil; Puedes ver más detalles sobre estos pines aquí. Existen otras configuraciones de pines, pero son raras: hasta ahora mi amigo ha encontrado una pantalla dentro de una tableta Wacom, que usa la configuración de pines de 30 pines pero los invierte, de modo que el pin 1 se asigna al pin 30 del conector y así sucesivamente. ; Lamentablemente, esto ha resultado en humo mágico. Dicho esto, esto es poco común, y una observación rápida del rastro de la placa o incluso una verificación con un multímetro le evitarán muchos problemas si no está seguro. Además, la hoja de datos del panel responderá a todas sus preguntas, si no a todas.

Si su configuración de pines es la de 30 pines, está de suerte: existe una amplia variedad de placas de controlador con el mismo hardware y firmware adaptado al panel; También hay placas genéricas que tienden a funcionar bien con paneles de 1920 x 1080, la resolución más popular para pantallas de portátiles en los últimos cinco años. Sin embargo, parece que esas placas pueden hacer ciertos tipos de atajos cuando se trata de la gestión de enlaces DisplayPort, ya sea que asuman los parámetros de entrenamiento de enlaces del panel para el que están programados, o tal vez sea el formato de píxeles, pero mi experiencia lo ha demostrado. si puede tomar una placa etiquetada para ser programada para su panel específico, considere hacerlo; de lo contrario, es posible que no se inicie o que aparezcan interfaces visuales o parpadeos extraños. Por otro lado, a medida que me adentré en la reutilización de pantallas de portátiles, encontré algunas placas donde la resolución del panel DP se puede configurar con puentes, y han demostrado ser más que universales, así que si puedes tome uno junto con su pedido de placa preprogramada, es posible que se le recompense con una mayor compatibilidad de la que esperaría en futuras aventuras suyas de retoques de eDP.

Cuando se trata de pantallas eDP para tabletas, está mucho menos estandarizado, pero puede arreglárselas con las hojas de datos del panel o incluso con los esquemas. A veces, incluso hay conexiones DisplayPort listas para usar para un determinado tipo de pantalla, pero es poco común y es posible que desees crear las tuyas propias. Por supuesto, conectar un enlace de 2,7 Gbps con cables de puente no es tan viable, esto no es PCIe, es decir, estás entrando en el territorio de dibujar tu propia PCB con DisplayPort. Vamos a equiparte en consecuencia.

Por supuesto, como cualquier interfaz moderna de gran ancho de banda que se precie, DisplayPort utiliza pares diferenciales. Ahora bien, esta no sería la primera interfaz para la que necesitamos dibujar pares de impedancia controlada; puede volver a visitar el artículo sobre enrutamiento de pares de diferencias PCIe para conocer los conceptos básicos. Por supuesto, existen diferencias entre el enrutamiento PCIe y DisplayPort: para empezar, DisplayPort necesita una impedancia de 100 ohmios, a diferencia de los 85 ohmios del PCIe; No es un gran problema y los parámetros de los pares ni siquiera serán tan diferentes. Sin embargo, también existen otras restricciones: como resultado de ellas, DisplayPort ya no tiene el factor "hilo mojado".

Recuerda que mencioné que, para PCIe, no es necesario que todos los pares tengan la misma longitud. Bueno, ese es el problema ahora, tienes que llevar todos los pares diferenciales a la misma longitud para DisplayPort, además de la compensación de inclinación entre pares que aún tienes que hacer. En KiCad, la herramienta para esto está asignada a la tecla 8 y le permite alargar pares individuales agregando movimientos, del tipo que probablemente ya haya visto en los PCB.

Ahora, según la especificación, la diferencia entre pares puede ser de 5 cm a 1 cm en total, dependiendo de la velocidad del enlace DisplayPort. Podría pensar que tiene algo de margen de maniobra aquí, pero es mejor si limita sus diferencias al rango de 1 mm – 2 mm milimétricos; es posible que parte de su margen de maniobra ya esté “gastado” por su GPU, su cableado o su monitor, en En resumen, cualquier parte del enlace DP que no controle.

Además de la coincidencia de longitudes entre pares, el entrenamiento del enlace DisplayPort no es tan adaptable. Ya no puede invertir pares cuando lo necesite para hacer que su enrutamiento sea más bonito, por muy tentador que pueda ser: el enlace DisplayPort no lo trata con amabilidad. Lo bueno es que esto marca más o menos el final de lo que necesita saber para enrutar los pares diferenciales del enlace principal.

Esto es suficiente para que puedas sumergirte en el grupo DisplayPort, pero primero, déjame contarte una última cosa que debes saber. Ha aprendido sobre los pares de enlaces principales, ha aprendido sobre el bus AUX; me gustaría llamar su atención sobre la señal HPD. A pesar de la existencia del bus AUX, HPD es una señal requerida para un enlace DisplayPort, ya que, en cierto modo, AUX es como USB 2.0: una pantalla (dispositivo, disipador) no puede hablar hasta que se le habla; HPD es su forma de llamar la atención sobre sí mismo, evitando el sondeo que tiene que utilizar el USB. También es una señal utilizada para la conexión en caliente de la pantalla, aparentemente, necesariamente complementaria al método utilizado en los pares AUX para detectar cuando se ha conectado una pantalla. En resumen, asegúrese de no omitir HPD.

Espero que hoy te haya proporcionado suficiente información para que te sientas cómodo manejando un enlace DisplayPort, siempre que decidas asumir tal responsabilidad. Sería negligente no hablar con más profundidad sobre el modo alternativo DisplayPort: la intersección de dos tecnologías modernas ampliamente adoptadas, DisplayPort y USB-C. La próxima vez, intentaremos que usted también se sienta cómodo manejando eso, con la profundidad que espero que aprecie. Hasta entonces, ¡brindamos que se sienta más cómodo en los campos de la tecnología de visualización moderna!