Afficheur LCD de remplacement pour DOT Matrix
Afficheur LCD
Pour écrans DMD
128 x 32
et
128 x 64
Présentation
A l'origine du projet se trouve la problématique du remplacement des écrans plasma 128 x 64, utilisés sur certaines machines WPC-95.
En effet, sur un WPC-95 comme le Phantom Haus (AWP), l'écran plasma est d'un modèle très particulier. D'une part il comporte le double de lignes d'un écran classique (64 au lieu de 32) et d'autre part, son format est beaucoup plus compact.
Le dernier fabricant d'écran "dot" plasma, VISHAY, a mis un terme à sa production fin 2020, concernant tous les produits de cette technologie. Ainsi, aussi bien les écrans standard 128 x 32, que les 128 x 64 ou même les 192 x 64 ne sont plus du tout fabriqués, même sur commande. Pour les 128 x 64, le dernier modèle compatible avec les Babcock/Cherry d'origine, de référence APD-128G064 est devenu totalement introuvable. Le stockage n'est plus assuré par les distributeurs et il est illusoire d'en chercher en occasion.
Contrairement aux écrans 128 x 32, il n'est pas envisageable de lui substituer une solution à base de dalles LED. La densité des points de ce mini-écran est telle qu'il n'existe pas d'équivalent : 1,016 mm ! (surface affichable de 130 x 65 mm). Les dalles LED RVB les plus fines que l'on puisse trouver en 2022 ne descendent pas encore, en dessous des 1,2 mmm.
Il ne restait donc qu'une seule alternative, celle d'utiliser un écran LCD de taille adaptée (7" étant la plus proche).
Version "économique" et 128 x 32
Nous avons retenu pour réaliser ce projet, l'utilisation d'un module SiPEED TANG NANO 1K, intégrant un FPGA GOWIN GW1NZ-LV1. C'est une solution économique où tout (ou presque !) est déjà en place (connecteur FPC pour le LCD en particulier). Il nous est également apparu que l'interface physique avec la carte vidéo devait se réduire au strict minimum et qu'il fallait utiliser au maximum les possibilités offertes par le module ou le FPGA (boutons, stockage en mémoire flash).
(矽速科技 - Silicon Speed Technology)
Ainsi, le nombre de composants externes se trouve réduit à sa plus simple expression. Cela nous a demandé quelques reflexions (et complexifié l'architecture du FPGA), mais au final on y gagne en simplicité, tant pour l'électronique que pour l'utilisateur.
Bien que prévu initialement pour des écrans 128 x 64, le projet a évolué pour pouvoir fonctionner aussi avec des écrans 128 x 32. Certes, il ne s'agit plus là de remplacer l'écran d'origine, mais plutôt de pouvoir utiliser un écran LCD en auxiliaire, ou pour des tests.
L'objectif du projet n'est pas non plus, de faire de la colorisation dynamique d'images! L'écran couleur pourra être simplement utilisé avec différentes palettes au choix de l'utilisateur.
Version "collatérale" PinLCD
Le premier projet achevé, il est ensuite apparu que la possibilité de piloter en externe cet afficheur serait un plus. Comme par exemple, utiliser l'émulateur VPinMame ou le commander par un Arduino. L'analyse ainsi que plusieurs essais ont permis de constater, qu'il serait finalement plus judicieux d'en faire un projet séparé.
L'utilisation simultanée d'une l'interface "physique" (connecteur 2x7 DMD) et d'une l'interface "logique" (connecteur USB/série) étant totalement improbable, les deux cas pouvaient êtres traités séparéments.
Ce second projet est décrit sur cette page : PinLCD
Premiers prototypes
De très nombreux essais et expérimentations ont été nécessaires avant d'obtenir une version totalement stable et fonctionnelle. La synthétisation de plusieurs fonctionnalités a été assez laborieuse, mais riche en enseignements. L'architecture et le fonctionnement du FPGA sont écrits en langage VHDL.
Un écran 5" a principalement été utilisé pour le développement (résolution et fonctionnement identique à un 7"). La plupart des fonctionnalités ont pu être essayées sans avoir besoin de connecter une carte vidéo WPC-95. La consommation a été contrôlée, elle n'excéde pas 200 mA en tout, y compris l'écran LCD allumé.
Afin d'obtenir un effet visuel satisfaisant et similaire aux points plasma, il est indispensable d'incorporer une séparation entre chaque ligne et chaque colonne. Pour éviter d'avoir des points "carré", on procéde également à l'arrondi des coins. L'encadrement (zone du LCD non utilisée, autour de l'image DMD) sera généralement de couleur noire, mais peut également prendre une couleur prédéfinie.
L'interface a été montée et testée sur une planche à câbler. Les deux boutons "A" et "B" ont aussi été deportés sur cette planche, afin d'éviter de devoir trop manipuler le module TANG NANO 1K.
Un Arduino Nano a été utilisé en guise d'injecteur de signal. Bien que le signal généré soit "lent", il est tout a fait conforme a celui produit par un WPC-95. Ceci permet de tester les fonctions de réception DMD et de conformité du signal vidéo. Deux versions sont utilisées, l'une pour le mode 128 x 32 avec une vingtaine d'images stockées dans l'Arduino, l'autre pour le mode 128 x 64 avec treize images.
Le premier écran LCD 7" utilisé pour les tests était un modèle livré dans un kit complet (Tang Nano 1K + écran). Celui-ci de référence SH070JPB60 s'avère beaucoup trop lumineux (en tout cas, beaucoup plus que le 5" où les images étaient de meilleure qualité). Quelques essais en 128 x 64 et 128 x 32:
Le second écran 7" utilisé est un compatible TKR7040B de référence 070B0QZDBEF-40.
Cette fois, la luminosité est correcte et l'image de nettement meilleure qualité.
Documentation
Pour plus de détails sur l'installation et le fonctionnement du module, se reporter à la documentation (multilingue) :
Français |
Chinois (简体中文) |
Anglais |
Allemand |
Interface
Elle incorpore bien évidement, le connecteur d'arrivé des signaux DMD et celui d'alimentation (où seul le 5V est utilisé). On y trouve également le module SiPEED TANG NANO 1K avec le FPGA. Le FPGA utilise des signaux en 3.3V tandis que l'arrivée DMD est en 5V, il faut donc faire une adaptation de niveau. Celle-ci est réalisée par le circuit CD4050, qui assure par la méme occasion, une protection contre les surtensions.
Implantation et réalisation
La position du connecteur FPC et de la nappe Kapton du LCD sont assez contraignantes pour l'implantation de l'interface. Il faut en effet connecter l'écran au module, tout en gardant l'accès aux boutons et la visibilité de la LED. La solution retenue est de fixer le tout au dos du LCD, ce qui a l'avantage d'être très compact. La nappe Kapton est immobilisée au dos du LCD par du ruban adhésif, ce qui la protège et l'isole.
Le module TANG NANO 1K peut ainsi venir se brancher dans le bon sens.
Un circuit imprimé a été réalisé pour implanter l'interface avec la connectique. Celui-ci vient s'intégrer parfaitement en bas de l'écran sur lequel il est collé.
La simplicité du montage permet de s'affranchir de l'utilisation de support pour le CD4050 et pour le module TANG NANO 1K. Ce dernier n'aura pas forcément besoin d'être amovible et on pourra le souder directement sur le PCB en utilisant une barette d'interconnection. Ceci aura l'avantage de réduire la hauteur du montage et le raccordement de la nappe PFC en sera d'autant plus aisé.
Fichiers à programmer
Le logiciel de programmation du FPGA GOWIN requiert deux fichiers :
- Un fichier ".fs" contenant l'architecture synthétisée du composant.
- Un fichier ".fi" pour l'initialisation de la mémoire flash du FPGA.
(高云半导体 - GOWIN Semiconductor Corp.)
Pour les curieux, sachez que les deux fichiers ".fs" et ".fi" sont du type "texte" et sont parfaitement lisibles avec un éditeur. Le fichier ".fi" contient la définition des palettes ainsi que quelques paramètres.
Les deux fichiers ".fs" et ".fi" sont livrés dans une archive (.zip) à décompacter.
DMD 128 x 32 LCD 800 x 480 |
DMD 128 x 64 LCD 800 x 480 |
Distribution
Cette réalisation est disponible gratuitement.