Projet simulateur de clavier Alcyane sur PC

Avant-propos

Il y a quelques mois, François Tonic m’a expliqué qu’il possédait un ordinateur Alcyane A6E, mais sans clavier. Il n’en a pas fallu plus pour que j’envisage un système de remplacement.

Un peu par hasard, je suis tombé sur Internet sur cet article de Fabien Batteix (qui m’a aimablement autorisé à le citer, ce dont je le remercie) :

Article de Fabien Batteix

Cet excellent article explique comment simuler une liaison V24 au moyen de la carte son d’un PC ordinaire. Je me suis servi de l’article comme base pour concevoir un simulateur de clavier Alcyane.

Le clavier Alcyane émet ses données en ASCII sur 7 bits auxquels sont ajoutés des bits indiquant quelles touches additionnelles sont appuyées (Shift, Typ, Ctrl et pavé numérique). Le détail du fonctionnement du clavier et des codes émis est décrit dans un article hébergé ici :

Document sur le clavier Alcyane

Schéma de l'interface

Le montage ci-dessous réalise l’interface entre la sortie son du PC et le connecteur clavier de l’Alcyane. Seuls les signaux DATA et CTS du clavier sont exploités. L’alimentation du montage est assurée par l’Alcyane.



Explications sur le schéma

Sur le schéma de la page précédente, l’entrée son se trouve du côté gauche tandis que la connexion au clavier se trouve à droite.

Le composant LM339 est un comparateur qui assure la conversion analogique / TTL. Sa sortie est au niveau logique 1 lorsque le potentiel de l’entrée « + » est supérieur au potentiel de l’entrée « - ».

L’entrée « - » du LM339 est polarisée par le potentiomètre RV1 de 10 kΩ et la résistance R7 de 33 kΩ, ce qui permet de régler la tension sur l’entrée « - » entre 0 V et 1,25 V environ. La tension de sortie d’une carte son de PC étant d’environ 500 mV à mi-volume, le potentiomètre 10 tours permet de régler facilement le comparateur pour détecter correctement le son.

L’entrée « + » du LM339 reçoit le mélange des deux canaux de son au travers des résistances R1 et R2 de 2,2 kΩ. La résistance R7 de 100 kΩ permet de forcer l’entrée « + » du comparateur à 0 V en l’absence de signal audio à l’entrée et d’éviter ainsi l’émission de parasites vers Alcyane.

La sortie du LM339 étant en collecteur ouvert, elle est chargée par la résistance R8 de 10 kΩ afin d’obtenir un potentiel compatible TTL aux entrées de U2 (74LS03).

La mise en forme des signaux pour la connexion à l’Alcyane est assurée par le circuit U2 (74LS03), quadruple porte NAND avec des sorties en collecteur ouvert.

La porte U2B sert à allumer la LED rouge au travers de la résistance R3 de 560 Ω en présence d’un signal actif. La porte U2A inverse le signal sortant du LM339 afin de satisfaire aux besoins d’Alcyane (l’entrée DATA d’Alcyane est chargée par une résistance de 1 kΩ sur la carte vidéo). La porte U2A permet également de bloquer l’émission de signal sur la sortie DATA si le signal CTS l’interdit.

Enfin, la porte U2C inverse le signal CTS provenant de l’Alcyane. Ce signal indique, lorsqu’il est au niveau logique 1, que l’Alcyane n’a pas encore pris en compte le dernier caractère émis. Les entrées de la porte U2C sont chargées par la résistance R4 (1,2 kΩ) car la sortie CTS du clavier est pilotée par un circuit inverseur (74LS06) dont la sortie est en collecteur ouvert.

La sortie de la porte U2C est chargée par la résistance R5 (1,2 kΩ) car U2C est également une porte à sortie en collecteur ouvert.

Le schéma est complété par une LED verte et la résistance R6 de 560 Ω indiquant la présence de +5 V provenant du clavier.

Deux condensateurs de filtrage C1 et C2 de 10 µF et 47 nF sont présents pour limiter les parasites et les variations d’alimentation.

La sortie DATA passe au travers d’un interrupteur pour autoriser le fonctionnement en mode « test » de l’interface sans perturber l’Alcyane (voir plus loin).

Remarque : dans son article, François Batteix utilise un circuit LM324 (qui est un amplificateur opérationnel) comme comparateur. La sortie du LM324 est un classique push-pull qui ne permet pas d’obtenir une tension nominale suffisante pour déclencher un circuit TTL, spécialement si sa tension d’alimentation n’est pas tout à fait de + 5V. Alcyane peine un peu dans ce domaine et il n’est pas rare de mesurer seulement + 4,8V ou moins sur le clavier. Le LM339 que j’ai choisi permet de s’affranchir de ce problème.

Aspect de l'interface

L’interface (un bien grand mot pour ce petit bricolage) ressemble à ceci :





L’implantation des composants est la suivante :





Brochage du connecteur clavier de l'Alcyane

Le dessin ci-dessous représente le connecteur du clavier tel qu’il est visible à l’arrière du A6E.





Il est intéressant de noter la présence de tensions d’alimentation de -5V et +12V qui étaient nécessaires pour l’ancienne version du clavier équipé d’une EPROM 2708. Les versions de clavier les plus récentes emploient une EPROM 2716 qui ne nécessite qu’une alimentation +5V.

Le connecteur clavier sortant de l’interface est du type SV70 et disponible, entre autres, chez RS Composants :





Signal audio généré par le PC

L’illustration ci-dessous montre la forme d’onde générée par le PC pour les canaux droite et gauche quand le caractère M (4D hexadécimal) est émis :





Le signal commence par deux bits à 0, puis le bit start à 1, le bit P à 0, les bits K et N à 1, puis les 7 bits du caractère M : 1 0 0 1 1 0 1 et enfin le bit stop à 0 et le bit supplémentaire à 0 également.

Ce signal est inversé par l’interface afin de respecter ce qui est attendu par Alcyane.

Mise en service de l'interface

NE PAS CONNECTER L’INTERFACE !

La mise en service de l’interface s’effectue en suivant ces étapes dans l’ordre :

Ces étapes sont détaillées dans les paragraphes suivants.

Coupure de la liaison sur l'interface

Pour réaliser cette coupure, il faut placer l’interrupteur dans cette position (pousser le bouton dans le sens de la flèche) :





Connexion de l’interface au PC et à Alcyane

Effectuer les actions suivantes :

Lancement du programme simulateur sur le PC

Effectuer les actions suivantes :





Réglage du volume sonore sur le PC

Au moyen de l’icône placée en bas à droite de l’écran, régler le volume sonore entre 1/2 et 3/4 du volume maximum. Sous Windows 7 en français, le réglage ressemble à ceci :





Exécution du mode test pour faire clignoter la LED rouge

Dans la fenêtre du programme, cliquer sur le bouton « Clignotement led ».

Réglage du potentiomètre RV1

Effectuer les actions suivantes :





Émission de caractères avec le simulateur

Le système est prêt à fonctionner. Cliquer dans la zone « Émission de caractères » puis taper des caractères au clavier du PC. Les caractères émis s’affichent sur l’écran du PC et doivent apparaître sur l’écran d’Alcyane.

À titre d’essai, après une RAZ d’Alcyane, il est possible de taper M Enter, cela déclenche un test mémoire qui dure quelques minutes.

Le programme reconnaît l’appui sur les touches Shift et Ctrl. L’appui simultané sur Shift et Ctrl simule l’appui sur la touche Typ d’Alcyane.

Une reproduction du pavé numérique du clavier d’Alcyane est également présente à droite de la fenêtre du programme. Elle permet l’émission de caractères spéciaux.

Simulation d’un clavier d’Alcyane

Le simulateur reproduit autant que faire se peut le fonctionnement d’un clavier d’Alcyane. Notamment, il émet par défaut des lettres majuscules et émet des lettres minuscules lorsque Shift est enfoncé.

Seules certaines touches du PC sont gérées. Notamment, il n’est pas possible d’émettre directement des minuscules accentuées comme : é, è, ç ou â, ni les caractères µ, £, ², ~ et ° dont les codes ne seraient pas reconnus par Alcyane.

Les touches spéciales du clavier Alcyane sont émises au moyen des touches suivantes du clavier du PC :

Touche du clavier PC Touche simulée sur Alcyane
F4 CLEAR
F5 RUN
F6 STOP
F7 CONT
F8 PRINT
Inser INST
Suppr DEL

Pour émettre des caractères, cliquer dans la zone « Émission de caractères » puis taper une combinaison de touches au clavier. Par exemple, l’appui sur Shift + Ctrl + T affichera :





L’état des touches Shift et Ctrl est affiché entre crochets. Ici, l’appui simultané de Shift et Ctrl est équivalent à Typ. Le caractère frappé apparaît tel qu’il est émis. Son code hexadécimal est affiché entre parenthèses. L’état des bits P, K et N est donné à titre indicatif.

Note : les caractères sont émis vers Alcyane avec l’état Shift du clavier Alcyane qui n’est pas nécessairement le même que sur le clavier du PC. Par exemple, la touche « < » n’a pas besoin du Shift sur un PC mais sera émise ainsi vers l’Alcyane :





Toutes les touches valides pour Alcyane peuvent être combinées avec Shift, Ctrl ou Shift + Ctrl. Par exemple, la frappe de Shift + Ctrl + « H », émettra le code suivant :





Les touches du pavé numérique sont simulées par un groupe de boutons situé à droite de la fenêtre. Cliquer sur un bouton émet le code de la touche. Comme pour toutes les touches valides du clavier Alcyane, il est possible de combiner le clic sur une touche du pavé numérique avec Shift, Ctrl ou bien Shift + Ctrl. Par exemple, cliquer sur la touche INST en appuyant simultanément sur Ctrl affichera ceci :





Mise en boîte du montage

La taille de l’interface a été déterminée par celle… D’une grosse boîte d’allumettes ! Voici l’interface en situation dans son boîtier « hi-tech » :





Je reconnais que j’aurais pu mieux faire…

Michel MBC



Télécharger le pdf de l'article


Télécharger le programme exécutable


Si vous souhaitez reproduire ce programme dans votre langage favori je fournis ci-dessous le source Delphi.



Télécharger le source Delphi