Bonsoir Vincent
Pour la commande, il faut raccorder D0 à D8, A1 à A4, IOWR et IORD à l'Arduino. L'Arduino est capable de gérer directement la platine interface, mais pas avec un câble plus long que quelques dizaines de centimètre.
A5 et A7 à A11 sont raccordable directement à GND et A6 à Vcc (5V).
Pour le RST, c'est à commander depuis l'Arduino en différentiel.
Pour le Clk il générer une horloge en différentiel et au pif entre 1 et 5MHz, mais j'ai aucune idée de la fréquence idéale de ce montage.
Pour les signaux différentiels c'est soit deux signaux TTL/HC en opposition (quand un est à vrai soit environ 5V, l'autre doit être à faux soit environ 0V). Soit tu fixes l'un des signaux à 2.5V avec deux résistances, et l'autre est commandé directement en TTL/HC. Attention pour l'horloge, à 1MHz, le vrai différentiel est quasi obligatoire.
La clk devrait être générée séparément de l'Arduino. Ou récupérer le Clk de la puce et la diviser pour descendre en dessous de la limite de 5MHz. Je ne pense pas que la générer depuis l'Arduino par le code sera suffisamment précis.
Pour la commande, A4, A3, A2 définissent quel TMP est adressé. Avec une exception A4=0, A3=A2=1 qui permet de configurer les signaux BUSL (avec A0 et les Data)
A1 est l'entrée A0 des TMP, à 0 c'est des données, à 1 c'est des commandes ou la lecture des états qui sont envoyés ou reçus au/du TMS.
Avec IOWR (inversé c'est ce que signifie la barre au dessus) à 0 c'est l'écriture dans le TMS sélectionné qui est activé (donnée ou commande)
Avec IORD (idem) à 0 c'est la lecture depuis le TMS (Arduino en entrée sur D0-D7) sélectionné qui est activé (donnée ou état)
Ensuite il faut lire la doc du TMP, il y a une série de commandes à envoyer à la mise sous tension, puis les données pour l'activation des leds (à chaque écriture l'adresse interne du TMP est automatiquement incrémentée).
Pour connaître l'état des boutons c'est pareil en lecture.
Je te laisse le temps de lire la doc du TMP, pour trouver les détails.
Un seul Arduino suffira, le problème que je voyais c'est le nombre d'entrées/sorties. Ma 1ère réponse était pour le cas du remplacement des platines d'interfaces par des Arduino, et là un seul pouvait difficilement suffire au vu du nombre de signaux nécessaire.
Bonne suite
Delias
Partager