DisplayPort : sous le capot | Hackaday

La dernière fois, nous avons examiné tout ce qui rend DisplayPort unique pour ses utilisateurs. Qu’en est-il des choses qui le rendent unique pour les pirates ? Voyons toutes les façons dont DisplayPort peut vous servir dans vos aventures technologiques modernes.

Vous regardez la chaîne AUX

Avec DisplayPort, le bus I2C que nous avons toujours vu fourni avec VGA, DVI et HDMI, n’est plus – il a été remplacé par le bus AUX. AUX est un diffpair bidirectionnel de 1 MHz – juste un peu trop complexe pour un analyseur logique bon marché, bien que, peut-être, quelque chose que vous pourriez vous disputer avec les PIO du RP2040. Mis à part les pensées de piratage, il s’agit d’un remplacement transparent pour I2C, de sorte que le logiciel n’a pas besoin d’être réécrit – par exemple, il fait généralement passer le périphérique I2C via AUX, de sorte que les données EDID peuvent toujours être stockées dans une puce EEPROM séparée sur le moniteur ou panneau LCD eDP.

AUX n’est pas seulement un bus différentiel, c’est plus pseudo-différentiel, comme USB2 – par exemple, AUX_P et AUX_N sont utilisés séparément, avec une combinaison de pullups et pulldowns de 1 MΩ et 100 kΩ signalant différents états de la connexion physique – par exemple, un pullup sur AUX+ et pulldown sur AUX- signifie qu’un appareil externe a été connecté. Si vous souhaitez savoir quelle combinaison de résistances signifie quoi, vous pouvez trouver dans la spécification DisplayPort, qui n’est pas distribuée ouvertement mais n’est pas difficile à trouver non plus.

De plus, la formation de la liaison DisplayPort se fait via AUX, et pour faciliter cela, une partie de la mémoire externe du contrôleur DisplayPort est généralement exposée sur le canal AUX, via un mécanisme appelé DPCD. Si vous creusez un peu, en utilisant « DPCD » comme mot-clé, vous pouvez facilement accéder aux détails de niveau inférieur de votre connexion DisplayPort. Une partie de la carte mémoire DPCD est statique et certaines parties sont des FIFO dans lesquelles vous pouvez canaliser des données. Vous pouvez trouver une grande variété de documents en ligne qui décrivent la structure DPCD – pour l’instant, voici un morceau de Bash qui fonctionne sur les pilotes graphiques Linux pour AMD et Intel, et vous montrera les 16 premiers octets de DPCD :

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

En particulier, le 4e quartet (chiffre) décrit ici le nombre de voies pour la liaison DisplayPort établie – comme vous pouvez le voir, mon ordinateur portable utilise une liaison à quatre voies. Également /dev/drm_dp_aux0 chemin peut devoir être ajusté pour votre appareil. Au cas où vous voudriez déboguer votre lien DP, avoir un accès direct à l’espace mémoire DPCD comme celui-ci pourrait vous aider un peu ! Pour l’instant, passons aux autres aspects pratiques.

Vous avez eDP, et maintenant ?

Que faire si vous avez un écran eDP à portée de main et que vous souhaitez le réutiliser dans un projet ? Tout d’abord, vous voudrez connaître le brochage. Pour les écrans d’ordinateurs portables, les brochages du panneau eDP sont raisonnablement standardisés – il y a trois brochages, l’un à 30 broches à 2 voies, un à 40 broches à 2 voies avec des broches USB et I2C supplémentaires pour le câblage d’un écran tactile, et un à 40 broches. connecteur à broches avec 4 voies et sans support d’écran tactile ; vous pouvez voir plus de détails sur ces brochages ici. D’autres brochages existent, mais ils sont rares – mon ami a jusqu’à présent trouvé un écran dans une tablette Wacom, qui utilise le brochage à 30 broches mais inverse les broches, de sorte que la broche 1 est mappée à la broche 30 du connecteur et ainsi de suite ; cela a, malheureusement, entraîné une fumée magique. Cela dit, c’est rare, et une observation rapide de la trace de la carte ou même une vérification au multimètre vous évitera de tels problèmes si vous n’êtes pas sûr. De plus, la fiche technique du panneau répondra à toutes vos questions, sinon à toutes.

Si votre brochage est celui à 30 broches, vous avez de la chance – il existe une grande variété de cartes de pilotes avec le même matériel et un micrologiciel adapté au panneau ; il existe également des cartes génériques qui ont tendance à bien fonctionner avec les panneaux 1920 x 1080, la résolution la plus populaire pour les écrans d’ordinateurs portables au cours des cinq dernières années. Il semble que ces cartes puissent faire certains types de raccourcis en ce qui concerne la gestion des liens DisplayPort, cependant – qu’elles assument les paramètres de formation des liens du panneau pour lequel elles sont programmées, ou peut-être que c’est le format pixel, mais mon expérience a montré – si vous pouvez saisir une carte étiquetée pour être programmée pour votre panneau spécifique, envisagez de le faire ; sinon, il se peut qu’il ne démarre pas ou que vous obteniez des interfaces visuelles ou un scintillement étrange. D’un autre côté, alors que je me suis lancé dans la réutilisation des écrans d’ordinateurs portables, j’ai trouvé quelques cartes où la résolution du panneau DP peut être réglée avec des cavaliers, et celles-ci se sont avérées plus qu’assez universelles, donc si vous le pouvez prenez-en un avec votre commande de carte préprogrammée, vous pourriez être récompensé par une plus grande compatibilité que ce à quoi vous vous attendiez pour vos autres aventures de bricolage eDP.

En ce qui concerne les écrans eDP des tablettes, c’est beaucoup moins standardisé, mais vous pouvez tout à fait vous débrouiller avec les fiches techniques ou même les schémas du panneau. Parfois, il existe même des ruptures DisplayPort prêtes à l’emploi pour un certain type d’affichage, mais c’est rare, et vous voudrez peut-être vous en occuper. Bien sûr, bloquer une liaison de 2,7 Gbps avec des fils de raccordement n’est pas aussi viable, ce n’est pas du PCIe, c’est-à-dire que vous vous lancez dans le dessin de votre propre PCB portant DisplayPort. Équipez-vous en conséquence.

Apprivoiser les Diffpairs

Bien sûr, comme toute interface moderne à haut débit qui se respecte, DisplayPort utilise des paires différentielles. Maintenant, ce ne serait pas la première interface pour laquelle nous avons besoin de dessiner des paires d’impédance contrôlées – vous pouvez revoir l’article de routage PCIe diffpair pour les bases. Il existe bien sûr des différences entre le routage PCIe et DisplayPort – pour commencer, DisplayPort a besoin d’une impédance de 100 ohms, par opposition aux 85 ohms de PCIe ; pas vraiment un problème et les paramètres des paires ne seront même pas si différents. Cependant, il existe également d’autres restrictions – à cause de celles-ci, DisplayPort n’a plus le facteur « chaîne humide ».

Rappelez-vous comment j’ai mentionné que, pour PCIe, vous n’avez pas besoin d’amener toutes les paires à la même longueur. Eh bien, c’est le problème maintenant, vous devez amener toutes les paires différentielles à la même longueur pour DisplayPort, en plus de la compensation de biais intra-paire que vous devez encore faire. Dans KiCad, l’outil pour cela est mappé sur la clé 8, et il vous permet d’allonger des paires individuelles en ajoutant des mouvements, du genre que vous avez probablement déjà vu sur les PCB.

Désormais, selon les spécifications, la différence entre les paires peut aller de 5 cm à 1 cm au total, en fonction de la vitesse de la liaison DisplayPort. Vous pensez peut-être que vous avez une certaine marge de manœuvre ici, mais il vaut mieux limiter vos différences dans la plage de 1 mm à 2 mm millimètre – une partie de votre marge de manœuvre pourrait déjà être «utilisée» par votre GPU, votre câblage ou votre moniteur, dans bref, quelles que soient les parties du lien DP que vous ne contrôlez pas.

En plus de la correspondance de longueur inter-paires, la formation de liaison DisplayPort n’est pas aussi accommodante. Vous ne pouvez plus inverser les paires chaque fois que vous en avez besoin pour rendre votre routage plus joli, même si cela peut être tentant – le lien DisplayPort ne traite pas cela avec gentillesse. Du bon côté, cela marque plus ou moins la fin de ce que vous devez savoir pour router les paires différentielles de liaison principales.

Cela vous suffit pour plonger dans le pool DisplayPort – mais d’abord, permettez-moi de vous faire part d’une dernière chose que vous devez savoir. Vous avez appris les principales paires de liaisons, vous avez appris le bus AUX – j’aimerais attirer votre attention sur le signal HPD. Malgré l’existence du bus AUX, HPD est un signal requis pour une liaison DisplayPort, car, d’une certaine manière, AUX est comme l’USB 2.0 – un écran (appareil, évier) ne peut pas parler tant qu’il n’a pas été adressé ; HPD est sa façon d’attirer l’attention sur lui-même, en évitant les interrogations que l’USB doit utiliser. C’est aussi un signal utilisé pour l’affichage hotplug, apparemment, nécessairement complémentaire à la méthode utilisée sur les paires AUX pour détecter quand un écran a été connecté. En bref, assurez-vous de ne pas omettre HPD.

DisplayPort conquis, Altmode est le suivant

Aujourd’hui, espérons-le, j’ai fourni suffisamment d’informations pour que vous soyez à l’aise avec la manipulation d’un lien DisplayPort, chaque fois que vous déciderez d’assumer une telle responsabilité ! Nous serions négligents de ne pas parler plus en profondeur du mode alternatif DisplayPort – l’intersection de deux technologies modernes largement adoptées, DisplayPort et USB-C. La prochaine fois, nous verrons comment vous mettre à l’aise avec cette manipulation, avec la profondeur que j’espère que vous apprécierez. Jusque-là – voici pour vous rendre plus à l’aise dans les domaines de la technologie d’affichage moderne !

François Zipponi
Je suis François Zipponi, éditorialiste pour le site 10-raisons.fr. J'ai commencé ma carrière de journaliste en 2004, et j'ai travaillé pour plusieurs médias français, dont le Monde et Libération. En 2016, j'ai rejoint 10-raisons.fr, un site innovant proposant des articles sous la forme « 10 raisons de... ». En tant qu'éditorialiste, je me suis engagé à fournir un contenu original et pertinent, abordant des sujets variés tels que la politique, l'économie, les sciences, l'histoire, etc. Je m'efforce de toujours traiter les sujets de façon objective et impartiale. Mes articles sont régulièrement partagés sur les réseaux sociaux et j'interviens dans des conférences et des tables rondes autour des thèmes abordés sur 10-raisons.fr.