Développement d'un scaler LVDS avec deux interfaces DisplayPort



Bonjour, Habr!

Description du projet d'une carte scaler développée sur une puce Realtek - RTD2662, pour une matrice à deux canaux. Quiconque s'intéresse au sujet, bienvenue sur cat.

J'ai toujours été attiré par le sujet de la sortie d'image vers les matrices. Plus tôt, j'ai développé une carte scaler basée sur la puce TSUMV59 (compatible avec TSUMV29), une instance très intéressante de MStar. Je pense que j'écrirai un article séparé sur ce sujet. Il semblerait que tout soit bon dans cette puce, mais il manquait quelque chose, à savoir la possibilité d'écrire votre propre logiciel pour afficher le menu à l'écran et le traitement GPIO. Tout le firmware est distribué sous forme binaire et est flashé via USB, mais le code source n'a pas pu être trouvé (si quelqu'un sait / a entendu quelque chose, veuillez écrire, car le sujet est très intéressant). Jusqu'à un certain temps, c'était suffisant pour certains de ses besoins. Il y avait des moments où il n'était pas possible de choisir le firmware pour une matrice particulière, par exemple, avec un rapport d'aspect inhabituel, mais c'était tous des choses triviales jusqu'à ce qu'une commande apparaisse pour développer un appareil dans lequel il devait y avoir un menu strictement défini, un logo et la logique de fonctionnement de l'appareil dans ensemble. Ensuite, nous avons commencé à penser comment être et dans quelle direction aller. Le principal problème était le manque de temps, il était nécessaire d'obtenir le premier lot d'appareils - 100 pièces dans les plus brefs délais. Le second est la présence de deux interfaces DisplayPort à bord. Troisièmement, un petit nombre d'appareils, ce qui ne permet pas de travailler / recevoir de la documentation et des échantillons de fabricants / distributeurs de puces.

Je vais énumérer les principaux problèmes matériels / logiciels qui devaient être pris en charge:

- DisplayPort - 2 pièces;
- Ethernet 10/100 - 1 pc;
- LVDS à deux canaux pour matrice 32 ”- 1 pc;
- Prise en charge d'un clavier capacitif de 4 boutons - 1 pc;
- Capteur de température sur la carte - 1 pc;
- Interface WEB;
- OS Linux;
- Alimentation externe 24V.

Maintenant un peu sur tout et dans l'ordre.

Displayport


Tout semblait relativement simple ici, vous devez choisir une puce avec une entrée HDMI, mettre un commutateur et des convertisseurs de DisplayPort à HDMI. La même puce doit avoir une sortie LVDS double canal vers la matrice et prendre en charge FullHD. En outre, il est souhaitable qu'il ait à bord RMII (Ethernet) et la possibilité de dessiner des menus au-dessus de l'image. Et puis les problèmes ont commencé. Il n'a pas été possible de trouver quelque chose de similaire afin que vous puissiez acheter, simuler et lancer rapidement un lot.

En tant que hobby, je suis engagé dans la réparation d'équipements et ce n'est pas une question de revenus, mais de compétences acquises qui sont très utiles pour développer mes projets et ramasser des idées et des technologies. Ceux qui ont démonté l'équipement d'origine Sony et Panasonic comprendront. Je suis particulièrement attiré par les appareils audio / vidéo / voiture. La qualité de la pose des décharges (même sur les couches supérieures), le sol analogique et l'alimentation, la position relative des départs sur la carte, la trace de la RAM, du HF ... ma tête tourne à quel point tout est fait magnifiquement et soigneusement (bien sûr, cela ne se produit pas toujours).

D'accord, de quoi je parle? Donc, si vous vous souvenez de ce qui est habituellement mis sur les téléviseurs à petit budget, la première chose qui m'est venue à l'esprit est TSUMV29 / TSUMV59, mais comme nous nous en souvenons, ils ne nous conviennent pas. Que font les téléviseurs et les moniteurs, mais que pouvez-vous acheter à la pièce? Un collègue a suggéré à Realtek qu'il semble que même il existe des sources pour cela, ce qui simplifiera considérablement la tâche. Il s'est avéré qu'il existe vraiment des sources pour Keil, pour la puce RTD2662. La puce n'est pas la plus récente, mais possède deux entrées HDMI et prend en charge FullHD.


Fig.1. RTD2662

Schéma d'inclusion comme dans tous les châssis TV. La puce est alimentée par deux tensions - 3,3 V et 1,8 V. Il n'a pas été possible de trouver une fiche technique complète et ce n'était pas nécessaire. Il était nécessaire d'ajouter uniquement des convertisseurs de DisplayPort. Après une courte recherche, un émetteur de Texas Instruments a été choisi - SN75DP139. Je recommande en développement, une bonne puce. Les microcircuits sont situés au bas de la carte (j'ai dû le faire pour éviter le réticule des lignes de données, peut-être que j'essaierai de reproduire d'un côté).


Fig.2. Schéma de câblage SN75DP139

Le schéma d'inclusion est le suivant. J'ai contacté DisplayPort pour la première fois et c'est devenu une révélation pour moi que l'entrée et la sortie de cette interface ont des brochages différents, c'est-à-dire l'une sur le connecteur PC et l'autre sur le moniteur. Bien qu'il y ait une certaine logique là-dedans.
Le firmware Realtek est stocké dans un SPIFlash séparé.

Ethernet 10/100


Ethernet est nécessaire pour plusieurs choses: surveillance, configuration et mise à jour des périphériques; donc 10/100 physique suffit. J'ai installé LAN8742AI de Microchip, je l'ai utilisé pour la première fois et je l'ai choisi précisément parce que le client avait besoin d'une certaine fonction «Wake on LAN», avant cela, il n'y avait pas un tel besoin. En résumé, la prise en charge de WoL vous permet de réactiver l'appareil via Ethernet.


Fig.3. Ethernet 10/100

La physique ne nécessite presque aucune liaison et est facile à tracer. Cela fonctionne de manière stable, il n'y a pas eu un seul arrêt de réseau.

LVDS


Deux canaux sont nécessaires pour connecter la matrice AUO 32 ”. Connecteur et brochage utilisés en standard. Alimentation 12V, faite sur DC / DC TPS54560DDAR - c'est un excellent chargeur 5A de TI. La matrice de rétroéclairage 24V, a pris de la tension d'entrée. La matrice a un pilote de rétroéclairage intégré avec la possibilité de régler et d'éteindre. La carte est composée de 4 couches, il n'y a donc eu aucun problème avec le traçage LVSD, HDMI et DisplayPort.


Fig.4. Trace LVDS

Comme vous pouvez le voir ici directement, une légère différence de longueur n'affecte pas du tout la qualité de l'image.

CLÉ


Les boutons sont implémentés sur la puce SX8634 de Semtech Corporation - il s'agit d'une puce quelque peu ambiguë dans son travail. Les programmeurs ont dû réécrire l'intégralité du pilote pour obtenir le résultat attendu. Il s'est avéré quelque chose comme ça: il y a 4 boutons pour naviguer dans le menu, ils sont tactiles (capacitifs à travers le verre) avec rétro-éclairage RVB de l'intérieur à travers les trous de la carte. Seul le bouton du bas est constamment allumé, il passe également en mode veille et vice versa (avec un changement de lueur). Lorsque vous tenez vos mains de 5 cm, les boutons restants sont mis en surbrillance et le menu apparaît en face d'eux. On retire la main, après 3s le menu disparaît, les boutons s'éteignent. Ça a l'air intéressant.


Fig.5. Carte de bouton tactile

La partie supérieure de la planche (en haut) est adjacente à la vitre, donc il n'y a pas de composants dessus, ils sont tous situés en bas. La difficulté de mise en place et de calibrage est due à la largeur de la planche, elle n'est que de 12 mm. Si quelqu'un s'ennuie de vivre, il peut utiliser cette puce dans ses projets.

Temp


La température à l'intérieur du boîtier est mesurée à l'aide du capteur de température NXP LM75AD via le bus I2C. Il a été livré car il est facile à livrer et réside dans des entrepôts de gros volumes.

WEB


L'interface Web et le projet lui-même sont mis en œuvre sur la base d'un jeune moteur né d'une équipe indépendante de 11 parties - c'est notre partenaire pour le développement de logiciels pour les systèmes basés sur Linux.
La plateforme comporte de nombreux blocs, fournis avec un support technique et une garantie avec possibilité d'améliorations et de mises à jour.

S'il est encore plus simple, il s'agit d'un projet de framework avec des fonctionnalités avancées qui améliore et étend constamment les fonctionnalités. Parmi les blocs principaux, on peut noter un gestionnaire de réseau, une interface WEB dynamique, une mise à jour et un constructeur de projet. Basé sur le moteur, vous pouvez implémenter divers appareils d'un lecteur mp3 à un serveur SIP 10 Gbit multi-ports. et c'est exactement ce dont nous avions besoin dans ce projet.

À partir de l'interface Web, vous pouvez non seulement contrôler les paramètres du panneau de commande, mais également modifier les paramètres, par exemple, la luminosité, le contraste, la clarté de l'image, surveiller le port auquel le PC est connecté et lequel est actuellement actif, basculer entre eux.

Dans ce projet, les versions SNMP 1.2 et 3 sont également prises en charge avec la prise en charge des commandes SET, GET et l'envoi d'interruptions par intervalle ou événement. C'est-à-dire Des informations sur n'importe quel paramètre, par exemple la luminosité / contraste, peuvent être transmises au serveur via SNMP, en appuyant sur le bouton pour changer le paramètre, ou, par exemple, toutes les 10 secondes. Vous pouvez désactiver l'affichage ou modifier le paramètre à distance à l'aide de la commande SNMP SET. SNMP fait également partie du moteur.

iMX6ULL


Étant donné que la puce Realtek n'a pas Ethernet à bord, dans ce projet, un processeur NXP iMX6ULL est installé, sur lequel OS Linux s'exécute et la logique de travail de base est effectuée. iMX et Realtek sont interconnectés via UART et échangent des commandes entre eux. Pour les événements rapides, il existe plusieurs GPIO.


Fig.6. iMX6ULL

Toutes les informations sont stockées dans NAND, u-boot est chargé à partir de SPIFlash. Une puce RAM et rien de plus. La carte SD s'affiche pour la mise à jour du logiciel (en plus de pouvoir le faire à partir du Web).

Puissance


L'alimentation secondaire 5V est implémentée sur le même DC / DC que pour l'alimentation matrice - TPS54560DDAR. Alimentation 1,8 V et 1,35 V sur AP3418 de Diodes, et 3,3 V sur ST1S10PHR de ST.


Fig.7. DC / DC

Les microcircuits DC / DC ont été choisis avec une grande marge, car la matrice a de grands courants de crête pour la puissance et l'éclairage, et comme il n'y avait qu'une seule itération, je ne voulais vraiment pas le risquer.
Toutes les alimentations sont séparées par des polygones dans une couche séparée, à l'exception de la puissance de la matrice, car je ne voulais vraiment pas couper l'alimentation principale avec ce conducteur. Les captures d'écran de traçage sont inutiles, à moins que quelqu'un ne soit intéressé par une interface. Je veux également consacrer un article séparé sur les polygones alimentaires et terrestres, par exemple, dans ce projet, il y a un total de 27 polygones, dans mon nouveau projet sur iMX7, il y en aura environ 100, et cela ne rentrera tout simplement pas dans le cadre de cet article.

Si vous allez un peu plus loin dans la logique du board. iMX fonctionne avec Ethernet et les boutons du panneau avant. Il est associé à Realtek, qui prend l'image du DisplayPorta actif et la transmet à la matrice LVDS. Les commandes des boutons, SNMP et Web volent vers Realtek, qui à son tour y réagit et modifie les paramètres d'affichage, affiche un menu, etc.

Le résultat a été un projet assez intéressant en peu de temps. Probablement, il contient trop de modules, mais au moment du développement, à mon avis, c'était la meilleure solution selon les termes, les coûts et les risques.

Merci de votre attention!

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


All Articles