Bonjour et bonne année !
J'ai pour ambition résolution de mieux comprendre le fonctionnement électronique des flippers WPC.
Je n'ai pas de bagage important en électronique mais je pense pouvoir comprendre la logique.
Bref, je m'attelle au DMD A-14039 et particulièrement le signal numérique du driver (pas le driver de puissance, pas le controller).
A partir du schema en pièce jointe et de différentes infos glanées sur internet, voici comment j'interprète la manière dont le signal doit être pour illuminer la matrice (pures hypothèses) :
Inputs :
- DISPLAY ENABLE (DE, P2-1)
- ROW DATA (RDATA, P2-3)
- ROW CLOCK (RCLK, P2-5)
- COLUMN LATCH (COLLAT, P2-7)
- DOT CLOCK (DOTCLK, P2-9)
- SERIAL DATA (SDATA, P2-11)
- DISPLAY ENABLE contrôle si l'affichage est allumé ou non.
- SERIAL DATA envoie un flux de bits, représentant l'état de chaque pixel d'une ligne
- Chaque bit de SERIAL DATA est synchronisé avec les impulsions du DOT CLOCK
- Au fur et à mesure que les bits sont envoyés, ils remplissent progressivement une ligne de l'affichage.
- Une fois que la quantité de données pour une ligne entière a été transmise, le COLUMN LATCH la verrouille
- ROW DATA est un flux de bits indiquant l'addresse de la ligne à afficher, les impulsions du ROW CLOCK indiquant le début de l'entier
- la variation de luminosité d'une pixel est obtenue grâce à une mécanisme Pulse Width Modulation qui consiste à eteindre/allumer un pixel rapidement pour que l'oeil le distingue moins lumineux.
A ce stade, je ne sais pas si ces interprétations sont correctes, avec un doute tout particulier sur l'utilité des inputs RDATA et RCLK.
Si l'un d'entre-vous peut m'éclairer, je suis tout ouïe et tout œil !
Merci
Fonctionnement driver DMD WPC
Flipper concerné :Si necessaire, merci de proposer un flipper en relation avec ce sujet. |
- Wpc Guru
- Dept: 000
- Collec Perso: 0 flip
- Rech/Achete: 0 flip
- Messages : 753
- Inscription : mar. 08 08, 2017 14:58
- Niveau : Confirmé
- Pro / revendeur : non
Re: Fonctionnement driver DMD WPC
Je suis en plein dedans et si tu regardes le schémas de la carte vidéo, il y a quelques réponses.
Le signal row-clock est un NOT du column latch, donc même signal inversé.
Donc, le dmd a déjà une protection, il est ne va pas demarre si il manque l’info de row-data validé.
Donc pour commencer il faut mettra le row data à HIGH pendant toute la première ligne. La row-clock est à 1, column latch a zero
Ensuite, sur des cycles de exactement 1us sur serial-data et serial clock, les 128 pixels sont envoyés, avec quelque contraintes de timing, par exemple 25ns mini entre l’établissement des données sur serial-data et le coup de serial clock front montant.
Donc 128us plus tard, les données de la lignes ont été poussées et le Column-latch va valider la ligne vers les drivers de sortie. A ce stade, toujours rien ne s’affiche, car le dmd n’as pas encore reçu l’info de 1ere ligne (enfin je travaille avec une version led de Vishal donc j’ai pas vérifié le plasma) sauf si le row-clock est piloté en inverse et dans ce cas, il y a validation de la ligne et en même temps validation du numéro de ligne ZÉRO.
Ensuite tu places le row-data à zéro, pendant les 31 lignes suivantes, car c’est le DMD lui meme qui va compter les lignes grâce a coup de strobe que tu va donner sur row-clock. C’est seulement que tu remettras le row-data à 1 qu’il va savoir qu’il est en train de remplir à nouveau la première ligne.
Donc 128us pour rentrer les 128 bits d’une ligne. Coup de strobe sur 1us sur row-clock et column latch, et ensuite PAUSE que 128us. Une ligne prend donc 256us, sur 32 lignes cela fait un peu plus de 8ms pour 1 refresh complet d’une page.
Le display enable ne sert pas à faire la gradation de pixel, (c’est fait autrement je peux expliquer) mais sert à désactiver le display pendant les 128us de pause, c’est un problème de plasma, qui n’exista pas sur les dmd à led. J’ai désactivé le signal display enable en entrée du dmd à led, et j’ai toujours le 4 niveaux de gris comme avant.
Les niveau de gris sont fabriqué à l’aide de 2 pages qui on des différences par exemple page 0 et page 1. La page 0 sera affiché 1 fois et la page 1 2 fois, donc la page 2 est affiché 2 fois plus que la page 1, sur un total de 3 cycle.
Si le pixel en position zéro et à zéro sur la page 0 et 1 ça donne noir
Si le pixel et 1 sur page zéro et 0 sur page 1, ça donne gris 33%
Si le pixel est 0 sur page 0 et 1 sur page 1 ça donne gris 66%
Et enfin si à 1 sur les 2 page, cela donne blanc 100%
Voila, si tu as des questions, n’hésite pas, on peut peut-être avancer en commun.
Ps, je corrige pas les fautes d’orthographe, pas le courage.
Le signal row-clock est un NOT du column latch, donc même signal inversé.
Donc, le dmd a déjà une protection, il est ne va pas demarre si il manque l’info de row-data validé.
Donc pour commencer il faut mettra le row data à HIGH pendant toute la première ligne. La row-clock est à 1, column latch a zero
Ensuite, sur des cycles de exactement 1us sur serial-data et serial clock, les 128 pixels sont envoyés, avec quelque contraintes de timing, par exemple 25ns mini entre l’établissement des données sur serial-data et le coup de serial clock front montant.
Donc 128us plus tard, les données de la lignes ont été poussées et le Column-latch va valider la ligne vers les drivers de sortie. A ce stade, toujours rien ne s’affiche, car le dmd n’as pas encore reçu l’info de 1ere ligne (enfin je travaille avec une version led de Vishal donc j’ai pas vérifié le plasma) sauf si le row-clock est piloté en inverse et dans ce cas, il y a validation de la ligne et en même temps validation du numéro de ligne ZÉRO.
Ensuite tu places le row-data à zéro, pendant les 31 lignes suivantes, car c’est le DMD lui meme qui va compter les lignes grâce a coup de strobe que tu va donner sur row-clock. C’est seulement que tu remettras le row-data à 1 qu’il va savoir qu’il est en train de remplir à nouveau la première ligne.
Donc 128us pour rentrer les 128 bits d’une ligne. Coup de strobe sur 1us sur row-clock et column latch, et ensuite PAUSE que 128us. Une ligne prend donc 256us, sur 32 lignes cela fait un peu plus de 8ms pour 1 refresh complet d’une page.
Le display enable ne sert pas à faire la gradation de pixel, (c’est fait autrement je peux expliquer) mais sert à désactiver le display pendant les 128us de pause, c’est un problème de plasma, qui n’exista pas sur les dmd à led. J’ai désactivé le signal display enable en entrée du dmd à led, et j’ai toujours le 4 niveaux de gris comme avant.
Les niveau de gris sont fabriqué à l’aide de 2 pages qui on des différences par exemple page 0 et page 1. La page 0 sera affiché 1 fois et la page 1 2 fois, donc la page 2 est affiché 2 fois plus que la page 1, sur un total de 3 cycle.
Si le pixel en position zéro et à zéro sur la page 0 et 1 ça donne noir
Si le pixel et 1 sur page zéro et 0 sur page 1, ça donne gris 33%
Si le pixel est 0 sur page 0 et 1 sur page 1 ça donne gris 66%
Et enfin si à 1 sur les 2 page, cela donne blanc 100%
Voila, si tu as des questions, n’hésite pas, on peut peut-être avancer en commun.
Ps, je corrige pas les fautes d’orthographe, pas le courage.
En full restoration : T2 - Dr Who - GetAway *2
-
pitpit
- Dept: 44
- Rech/Achete: 0 flip
- Messages : 4
- Inscription : ven. 15 05, 2015 01:38
- Pas vu depuis 4 mois
- Niveau : Débutant
- Pro / revendeur : non
Re: Fonctionnement driver DMD WPC
merci @Bio Stein pour tes précisions !
Avant de te lire j'étais en train de remonter péniblement la piste à partir du datasheet du SN75555FN
Je viens de aussi de voir tes posts dans Rétro-ingénierie
Avant de te lire j'étais en train de remonter péniblement la piste à partir du datasheet du SN75555FN
Je viens de aussi de voir tes posts dans Rétro-ingénierie