Affichage des articles dont le libellé est D-27C160 I-27C160-27C800-27C400. Afficher tous les articles
Affichage des articles dont le libellé est D-27C160 I-27C160-27C800-27C400. Afficher tous les articles

mardi 14 février 2017

PROGRAMMATEUR DE 27C160 27C800 27C400

La naissance de ce petit projet est due au désir d'upgrader le synthétiseur Yamaha EX5 que je possède. En fait il y a déjà quelques mois, je lui ai adjoint une carte SCSI sur laquelle je n'ai pour l'instant rien connecté, j'ai aussi complété la machine par deux barettes EXFLM2 de 8MB pour un total de 16MB de mémoire Flash : 



Ces barrettes de Flash sont disponibles chez Sector101.

Je n'ai pour l'instant pas upgradé la RAM disponible qui est pour l'heure actuelle de 16MB également. Par contre, il me reste éventuellement à mettre en place le dernier firmware de cette machine. Et la, ça n'est pas simple. Les fichiers binaires sont facilement trouvables sur le Net, par contre il reste à programmer les EPROM de type 27C160. Et ces 'bestioles' ressemblent à ça :

Reçues d'eBay ce jour même :-)
C'est du 44 pins. Autant dire que les programmateurs 'standards' ne sont pas en mesure de programmer ce type de composants. Pour ma part, je possède un Genius 540 :


Ce type de programmateur fonctionne 'à peu près bien' mais la communication USB est, disons, non fiable. De fait, dès que ce programmateur est connecté à un PC récent, il devient impossible de lire ou d'écrire une PROM. Donc, au delà du fait que ce G540 est lui aussi incapable de prendre en charge un composant à 42 broches (40 broches max), il ne reste plus que deux solutions. Acheter un matériel capable de programmer ces PROMs ou alors le fabriquer.

Parce que acquérir un programmateur pour du 42 broches et plus coute très cher. Compter dans les 400€ minimum. Forcément, parce que pour 42 pins ou plus, ces programmateurs sont en mesure de programmer des milliers de composants, le prix à payer est donc en conséquence. Surtout si l'on considère que le nombre d'utilisation potentielles d'un tel programmateur est rare, voir très rare. Donc, il ne reste plus qu'à 'tenter' de fabriquer soi-même l'appareil.

C'est ce que j'ai fait. Le but étant qu'il soit quand même simple à utiliser et d'un cout minimum. Mon programmateur possède donc un port USB qui permettra un dialogue minimal avec un PC, ainsi que la réception du fichier à programmer. Je compte utiliser un protocole de communication dit 'connecté', ce qui permettra la réception de trames, le traitement et la vérification de la programmation, avant d'autoriser les trames suivantes du PC.

Cette façon de faire permet l'utilisation d'un microprocesseur minimal, sans beaucoup de RAM interne, et donc un cout de réalisation minimal.

En gros, le montage se compose de:
  • Un port USB pour la communication avec un PC.
  • Un processeur ATmega328pb pour 'l'intelligence' de l'appareil.
  • Des extensions de port de type MCP23S17 pour la génération des adresses/données.
  • Une alimentation élévatrice pour fournir les tensions de programmation nécessaires.
  • Une batterie de diodes et autres transistors pour gérer les différents signaux de commande vers la PROM.

Le programmateur est prévu pour être alimenté directement par le port USB sans recours à une alimentation externe. Après avoir étudié le schéma de base, j'ai réalisé le circuit imprimé à l'aide de Kicad :

Côté composants : des cms pour une taille réduite.
La face 'cachée' du circuit.
Le Silk Screen du programmateur.
Sur ce montage, je n'ai pas prévu de bouton marche/arrêt ou la mise en/hors alimentation du composant à programmer. Il faudra donc débrancher le programmateur pour insérer ou retirer une PROM. Ce type de matériel étant censé servir peu souvent, cela ne pose pas de problème.

A noter que bien que ce programmateur ait été prévu pour programmer des 27C160, il peut de la même façon programmer des 27C800 et des 27C400 puisque ces circuits partagent le même brochage.

Il ne me reste plus qu'à attendre le 'retour' des PCBs réalisés, à monter un programmateur, à développer le programme et à réaliser les divers tests fonctionnels. Evidemment cela va me prendre un peu de temps. Mais je n'ai jamais réalisé ce type de montage, voilà donc ne bonne occasion de s'y frotter. Et puis ce programmateur pourra peut-être servir à d'autres personnes, notamment celles qui développent des circuits en rétro-computing. Je proposerai peut-être ce montage à la vente s'il fonctionne bien.

03/03/2017 : le PCB est arrivé.


Et hop, encore du travail de programmation en perspective!