Bonjour.
Voilà, je me lance dans le WIP de fabrication d'un outil qui me manque quand je dépanne un PCB.
En effet, il arrive qu'un bug graphique ou tout autre problème ne soit présent qu'à un endroit de l'écran.
Lorsque je promène la sonde de mon oscilloscope ici et là sur le PCB malade, le déclenchement de l'affichage de l'oscillo se fait au p'tit bonheur la chance.
C'est à dire que je suis certain de ne jamais voir 2 fois la même chose car les différentes RAM, ROM et autres composants sont utilisés en permanence pour générer l'image.
En pratique, je vois un signal logique qui change à toute vitesse et qui n'a rien de cohérent.
Ce dont j'ai besoin, c'est d'un outil qui analyse l'image (en tout cas son signal de synchro) et qui puisse me permettre de piloter le déclenchement de mon oscillo à partir de la N
ième ligne affichée...
Ainsi, si au milieu de la N
ième ligne affichée se trouve un sprite buggé, alors je pourrais analyser les signaux électroniques du PCB au moment exact où il est en train de générer cette N
ième ligne, et non pas tout autre instant aléatoire.
Là, normalement, j'ai une chance d'observer le PCB tenter de lire les data du sprite en RAM ou en ROM et de comprendre pourquoi il y a un problème.
L'outil en question, je l'ai baptisé "LineTrigger".
Voici ce que je pense réaliser :
- affichage en clair du numéro de la ligne en cours de synchro
- affichage en clair du délai (probablement en µs) supplémentaire pour synchro au milieu de la ligne choisie
- utilisation de boutons pour facilement changer le numéro de la ligne et le délai
- composants pas trop chers, et facile à trouver
- tout mon travail sous license GPL / Creative Common
Voici l'état d'avancement :
- un microcontrôleur PIC modèle 16F84A-20 sera utilisé (coût : 6,00 €)
- un afficheur LCD de 2 lignes de 16 caractères sera utilisé (coût : 6,00 €)
- je pense me simplifier la vie en utilisant un séparateur de synchro LM1881 (coût : 4,30 €)
La réalisation actuelle :
Le PIC est sur un support "
ZIF" (Zero Insertion Force) de récupération, car il fait de nombreux aller-retours entre la plaque d'essais et le progammateur !
La procédure d'initialisation de l'afficheur est faite, avec les bons timings !
J'utilise mon
analyseur logique pour examiner de près ce que j'envoie à l'afficheur LCD, et avec quels timings.
J'utilise une machine virtuelle Zindoz XP car le logiciel fourni avec l'analyseur ne fonctionne que sur ce système d'exploitation.
Le pilotage de l'afficheur semble correct !
À suivre...