Banc de test NG - Sonde et testeur de composants
Dépannage des cartes électroniques
Banc universel, pour un diagnostic facile
des systèmes à base de processeurs.
Toutes marques de flipper
(Gottlieb, Bally, ... et bien d'autres)
Première partie du projet
"Banc de test NG"
Hardware
La sonde commune est constituée des éléments suivants:
- Un Arduino MEGA 2560
- Un module écran LCD 1602 (16 x 2) - optionnel
- Un module "shield"
- Deux nappes de raccordement
- Un module "sonde DIL40"
Le module LCD utilisé est celui de DF-ROBOT, mais n'importe lequel fera l'affaire (le clavier n'étant pas indispensable). Les modules "shield" et "sonde DIL40" sont à construire, mais ne présentent aucune difficulté particulière.
Première version du shield et de la sonde
Afin de valider le concept et économiser l'étude d'un circuit imprimé, nous avons dans un premier temps utilisé la version originale. Celle-ci était en effet, facilement et rapidement disponible. Nous lui avons juste apporté quelques modifications mineures, selon nos besoins.
Mais à l'usage, il est finalement apparu que ce shield et cette sonde n'était pas tout à fait adaptés à l'usage prévu. Nous avons donc décidé de concevoir et réaliser notre propre couple shield/sonde: Pinprobe V2.
Branchements
Ceux-ci sont légérement différents du projet original:
- L'Arduino doit être relié au PC par le câble USB (en revanche, il n'a pas besoin d'alimentation externe).
- Les cavaliers sur le connecteur "sonde" ne sont pas utilisés, ne pas les brancher ! (pas de mise à la masse des broches 1, 2, 20, 21, 29 ou 30).
- La masse sera reliée à partir de J13 (sur le "shield") avec un grip ou une pince crocodile, vers la carte à tester (il est toujours facile de trouver une masse, aux bornes d'un condensateur par exemple).
- On intercalera un support "lyre" de 40 ou 28 broches entre la sonde et le circuit. La broche 1 étant commune aux DIL 28/40 (ceci pour tester les CPU à petits boitier, comme le 6503).
- Le connecteur AUX (J14 du "shield") sera utilisé exclusivement en entrée (pour éviter les accidents).
Exemples de connexions sur cartes 6502 (Gottlieb)
La sonde vient se brancher en remplacement du CPU 6502, ou sur le connecteur TC1. La masse de la sonde (connecteur J13) est à relier à celle de la carte par un fil. Lorsque la sonde est prête et que la carte est correctement alimentée, le type de CPU est affiché sur le LCD. Si la carte est mal alimentée, la sonde le signale.
Attention, même si on peut connecter deux sondes sur 6502 et TC1, seule une peut être active à la fois. On peut également brancher la sonde sur les cartes sons MA-216 à base de 6502.
Le test des cartes SYS80 sans déssouder le CPU6502 est possible en utilisant le TC1.
Dans ce cas, les signaux A11 et PHI2 seront injectés via des grip fil.
Utilisation avec d'autres processeurs (par exemple 6503)
La sonde vient se brancher en remplacement du CPU 6503, mais en intercalant un support 28 broches. Ceci permet de dépanner les cartes audio "simple" Gottlieb (6503 + 6530), ou encore les cartes CPU pour table cocktail VALLEY Spectra IV.
Firmware
La sonde ne fonctionne évidement, qu'après avoir été programmée avec le firmware adéquat. Celui-ci est chargé dans l'Arduino de manière classique à partir de l'USB. La même prise sert ensuite d'interface entre l'API et le PC.
La sonde ainsi programmée peut déjà être testée, sans avoir recours à un autre logiciel. L'API est accèssible via l'interface USB/série standard de l'Arduino (à 115200 bauds). On peut utiliser le moniteur série de l'interface Arduino (CTRL + SHIFT + M) pour envoyer des commandes à la sonde.
API
L'interface met à disposition un certain nombre de commandes, des plus simples aux plus complexes. La syntaxe est proche de celle utilisée en C, elles peuvent êtres tapées en minuscules ou majuscules. Tous les paramètres sont exprimés en hexadécimal et de taille fixe (1, 2, 4, ou 8 chiffres).
La commande principale à connaitre est "Help()" qui permet d'afficher la liste de toutes les commandes et leur paramètres.
On y trouve :
- Les commandes basiques de lecture-écriture, communes à tous les systèmes.
- D'autres commandes complexes permettent de tester les composants périphériques (PIA, TPI, VIA, RIOT et autres CIA).
- Les calculs de checksums et de crc, ainsi que les controles avec les algorithmes spécifiques (Gottlieb).
- Des commandes spécifiques à certains systèmes (Valley Spectra, Gottlieb).
- Certaines commandes fonctionnent aussi en mode 4 bits (par exemple pour les RAM 5101).
D'une manière générale, tous les traitements complexes ou répétitifs ont été intégrés dans la sonde. Le logiciel sur PC étant déchargé de ces tâches, sera ainsi beaucoup plus simple et facile à écrire.
Le testeur de composants
Il s'agit d'un module hardware additionnel sur lequel vient se brancher la sonde. Il est principalement constitué de deux supports ZIF et de plusieurs cavaliers de configuration.
Cet accessoire permet de tester de manière approfondie, les composants complexes tels les PIA, RIOT, VIA, CRTC. Il fait également les RAM, les ROM, les PAL/GAL et d'une manière générale tous les composants que l'on peut trouver dans un flipper. Complément indispensable à la sonde, il peut aussi fonctionner de manière autonome. La sonde dispose d'un menu spécifique intégré, dans lequel on peut naviguer grâce aux boutons de l'écran LCD.
Les grip-fils
La sonde est équipée de plusieurs pointes de test, simples à utiliser et repérées par des couleurs. Afin de faciliter leur manipulation, nous avons utilisé du câble extra souple à gaine silicone.
La valise
Le banc de test ainsi que le testeur de composants ont été intégrés dans une valise métallique de taille réduite. Le montage est ainsi très bien protégé et cela permet de ranger proprement tous les câbles et nappes. Ainsi finalisé, le module a un aspect très professionnel.
Interface CAVEMAN
Afin de tester les cartes du bloc vidéo du CAVEMAN, nous avons réalisé un adaptateur permettant de les brancher sur le banc de test NG. Les cartes EPROM et RAM I/O peuvent ainsi être vérifiées directement sur le banc.
Logiciel
Le logiciel utilisé sur PC est décrit dans la seconde partie de cet article.
Distribution
Cette réalisation n'est pas disponible publiquement, sous quelque forme que ce soit (gratuite ou payante).