HARDWAREMONTAGES ★ AMSCOM : OU COMMENT ÉCHANGER DES FICHIERS DE CPC À CPC, PAR MINITEL (RADIO-PLANS N°486, 488) ★

AMSCOM (Radio-Plans n°486)AMSCOM Errata (Radio-Plans n°488)

Un tout petit peu de hard, un "soupçon de soft à la sauce Radio-Plans, telle est la recette d'AMSCOM. Transférer des fichiers d'un coin de la France àün autre par le moyen du Minitel et pour le coût d'une simple communication téléphonique (on passe entre le 36.15 et le 36.14, on prend à gauche, et c'est tout droit !), n'est pas l'unique possibilité de la carte AMSCOM : munie d'un autre soft, elle vous permettra de copier sur disque une quarantaine de pages des serveurs Minitel.

Intéressant, non ?

Introduction

Dialoguer d'un CPC Amstrad à un autre situé à plus de 3 mètres de distance commence à poser des problèmes. Quand il y a plusieurs centaines de kilomètres, la tâche est rude aux tous petits budgets qui rêvent d'interface série etc... Et pourtant ! Envoyer un texte important (BON ANNIVERSAIRE) ou échanger une implantation de circuit imprimé (by S.A.O and Co) serait super...

Anticipons de quelques pages et supposons que vous ayez lu cet article, construit la carte (environ 300 Frs), et tapé le soft : vous voilà en mesure de passer par téléphone (et Minitel) jusqu'à 40 Ko pour le prix d'une communication (de nuit, passé 11 H...)

Ajoutons enfin qu'il n'est absolument pas nécessaire de disposer de connaissances sérieuses en programmation ni en électronique pour arriver au résultat : du soin et de l'attention suffisent, immuables et incontournables conditions !

L'ensemble interface et logiciels AMSCOM va donc vous permettre de faire de l'émission-réception avec votre micro en utilisant la ligne téléphonique. Inutile d'acheter un modem, puisque les PTT vous en fournissent un gratuitement. En effet, le Minitel possède un modem incorporé, et la programmation de celui-ci est possible à partir de la prise périinformatique.

Pour utiliser le programme de transfert de fichiers, votre Minitel devra être retournable. Pour savoir si le vôtre a cette capacité, vérifiez la présence de l'inscription Minitel R sur la plaque à l'arrière de ce dernier.

Principe

MSCOM utilise une interface série. Cette interface n'est pas aux normes RS 232 C car l'application proposée ici ne nécessite pas une telle dépense. Cette interface, de conception très simple, offre, grâce à deux logiciels bien adaptés, une bonne solution à vos problèmes de communication et va vous permettre de consacrer un budget moindre au Minitel.

Nous commencerons par la réalisation pratique de la carte. Elle sera suivie par le listing d'un programme test destiné à vous assurer de son bon fonctionnement. Enfin, les programmes d'émission-réception de fichiers BASIC, ASCII et BINAIRES de 40 Koctets maxi termineront l'étude, laissant- place à un mode d'emploi des plus simples.

Réalisation de l'interface

Le schéma est donné à la figure 1. Avouez qu'il n'est pas impressionnant, même pour un débutant.

Pour utiliser un équipement périphérique avec un micro-ordinateur, il faut venir adresser celui-ci. Cet équipement sera branché sur le bus d'extension disponible sur l'arriére du CPC (la figure 2 vous en rappelle le brochage).

Figure 1 - Schéma de la carte AMSCOM

Figure 2 - Le connecteur bus

Les adresses disponibles pour les différents périphériques sur l'Amstrad CPC sont les suivantes :

F8F0 à F8FF
F9F0 à F9FF
FAF0 à FAFF
FBF0 à FBFF

Ce qui offre un choix de 64 adresses possibles. Chaque équipement possédera sa propre adresse et devra se reconnaître pour toutes les opérations d'en-trée-sortie le concernant. C'est ce que nous nous proposons de réaliser tout d'abord. Notre interface étant branchée directement sur le bus, elle devra se reconnaître quelle que soit l'adresse utilisée parmi celles citées plus haut.

Choix des lignes d'adresse :

16 lignes d'adresses sont disponibles sur le bus (A0 à A15) ainsi que le signal IORQ (Input / Out-put / ReQuest).

Pour une opération d'E/S sur un port quelconque, IORQ doit être à l'état bas. Il existe 3 ports d'E/S, dont les adresses sont les suivantes : le port A - F4XX B-F5XX C-F6XX (XX peut signifier n'importe quelle valeur entre 00 et FF).

Les adresses disponibles pour le bus d'extension allant, elles, de F8XX à FBXX, on s'aperçoit que la reconnaissance de IORQ nous évite le décodage des bits A12 à A15. Le décodage des bits A0 à A3 est également inutile puisque ceux-ci peuvent prendre n'importe quelle valeur. Finalement seuls les bits A4 à A11 devront être décodés : bits A4 à A7 : il devront être reconnus à l'état 1, bits A8 à A11 : la valeur hexadécimale de ces quatre bits devra être comprise entre 8 et B.


Figure 3 - Décodage d'adresse

La synthèse (figure 3) nous montre que le bit 10 doit impérativement être détecté à l'état 0 pour sélectionner les valeurs : 8-9-A et B.

En conclusion, nous devrons reconnaître : les bits A4-A5-A6-A7 à l'état 1, le bit A10 à l'état 0 et le signal IORQ.

Un circuit classique, le 74LS138 permet d'obtenir aisément ce résultat. La reconnaissance de ces différents signaux nous fournira la commande CS (Chip Select) pour la sélection de l'UART.

Les signaux RD et WR indiqueront le sens des échanges sur le bus de données : RD lecture, WR écriture.

Tableau des commandes de transferts :
REGISTRESPORTRDWRCOMMANDE
écriture de donnéesFAF001OUT FAF0
lecture de donnéesFAF010IN FAF0
écriture commandeFAF101OUT FAF1
lecture état UARTFAF110IN FAF1

Par ailleurs, un oscillateur à quartz est nécessaire afin d'obtenir une base de temps précise et stable. Le schéma est classique aussi ne le détaillerons-nous pas. Il a été choisi un quartz générateur de bauds (fréq. 4,9152 MHz) uniquement parce qu'il est très courant et donc d'un coût peu élevé. De plus, il présente l'avantage, lorsque sa fréquence propre est divisée, de délivrer des fréquences compatibles avec les systèmes de transmission en place.

Nous n'utilisons pas ici de diviseurs programmables. Ceux-ci nous auraient permis de modifier par logiciel la division du 4,9152 MHz mais c'était « trop » pour l'application que nous désirions réaliser. De plus, pour effectuer de l'émission-réception, nous cherchons à gagner un maximum de place en mémoire, afin de permettre des transferts de programmes les plus longs possibles.

Le contrôle du diviseur nous aurait imposé un choix de fréquences, donc un menu plus long (en basic) au détriment des transferts.

Vous disposerez néanmoins d'un choix de différentes vitesses de transmission, à savoir : 9600-4800-1200-600-300 et 75 bauds, par commutations sur le DIP-SWITCH de 6 inters. Cet ajout est destiné aux possesseurs de modems autres que celui du minitel (les transferts sur ce dernier s'effectuant aux vitesses de 75 bauds et 1200 bauds, respectivement en émission et réception).

La commutation 1200-75 est intégrée au logiciel d'émission-réception. Les lecteurs qui utiliseront le minitel comme modem laisserons donc le DIL sur la position 1200 bauds (voir photos)...

Fonctionnement de l'UART 8251

L'UART est composée de registres qu'il va falloir programmer. Pour celà nous disposerons des commandes suivantes :

  • 8 bits de données,
  • 1 bit d'adresse A0,
  • et des signaux RD, WR, RESET.

Nous utiliserons également la masse et le +5 V, disponibles sur le bus d'extension, pour alimenter l'interface. Ceci ne posera aucun problème pour l'alimentation du CPC, à condition que ce soit le seul et unique prélèvement (pas d'autre interface en plus).

Les quatre registres du 8251 sont les suivants :

  • le registre de transmission,
  • le registre de réception,
  • le registre de commande,
  • le registre d'état.

A - LE REGISTRE DE TRANSMISSION:

C'est un registre 8 bits à chargement parallèle et sortie série. Il est contrôlé par le registre de commande.

B - LE REGISTRE DE RECEPTION :

Son chargement est de type série et sortie parallèle. Il reçoit les informations du minitel et les place sur le data bus, sous le contrôle du registre de commande.

C - LE REGISTRE DE COMMANDE :

Ce registre va déterminer le mode de fonctionnement de notre interface. Il va imposer le format du MOT à transmettre. Nous utiliserons le format classique :

— 1 bits de start, 7 bits de données, 1 bit de parité paire, 1 bit de stop.

Ceci permet en outre : de reconnaître le début d'un caractère, de saisir ce caractère, de contrôler sa bonne réception grâce au calcul de la parité, et enfin de reconnaître la fin de réception. Un tel format autoriserait de se passer d'un oscillateur à quartz, et de se contenter d'un simple 555, 7 BITS DE DONNEES ? ? ?... et la transmission des codes machine alors ?

La transmission 8 bits est créé par un artifice du programmeur, mais nous verrons cela plus loin. Avec le registre de commande on peut programmer également le facteur de division de l'horloge par 16 ou 64 (ce qui va nous permettre de nous passer d'une batterie de diviseurs) et effectuer un reset interne. Ce registre aura aussi pour rôle de gérer les échanges entre le micro et le minitel grâce à différents signaux que nous découvrirons plus loin. D - LE REGISTRE D'ETAT : C'est un registre à lecture seule. Il renseigne l'utilisateur sur l'état du 8251 et sur la nature d'éventuelles erreurs survenues lors de la transmission.

Le brochage du 8251 est donné à la figure 4.


Figure 4 - Brochage de l'UART

RXC et TXC : Ce sont les horloges de réception et de transmission. Pour notre application, les fréquences RXC et TXC seront identiques, mais le 8251 peut bien entendu posséder une fréquence d'émision et de réception différente. Nous travaillons en mode ASYNCHRONE, aussi la fréquence TXC devra être supérieure à la fréquence de transmission sur la ligne PTT. En effet, pour l'envoi de chaque octet, un certain nombre d'opérations de contrôle sont nécessaires, ne serait-ce que pour tester si le registre de transmission est vide, c'est-à-dire en fait vérifier si l'octet a bien été transmis avant le chargement suivant. Cependant, pour des raisons du même ordre, les horloges TXC et RXC devront être de fréquence inférieure au signal CLOCK du bus système. Ici la fréquence RXC et TXC sera de 76,8 kHz, soit 64 fois inférieure à celle du signal CLOCK, mais aussi 64 fois supérieure à la fréquence de transmission sur la ligne PTT.

RXD et TXD : ce sont respectivement les entrée et sortie SERIE de l'UART 8251.

C/D : si ce signal est à l'état haut, les infos du data bus sont destinées au registre de commande, sinon elles seront chargées dans le registre de transmission. C'est par le bit AO du bus adresse que nous réaliserons cette opération. RDX et WR : autorisation de lecture et d'écriture DSR. Figé à l'état bas, il indique que le minitel est prêt (on n'utilise cette broche qu'en dialogue avec un MODEM). DTR : inutile dans notre cas (on considère l'interface toujours prête).

RTS : inutile.

TXE : inutile.

TXRDY : non câblé, car lu par logiciel grâce au registre d'état. Cette patte à l'état haut indique que le buffer émission haut est prêt à revevoir de nouvelles données.

Réalisation pratique

La figure 5 indique le brochage de la fiche DIN cachée par la petite trappe située à l'arrière du Minitel. Ce sera le seul point de raccordement à ce dernier, la liaison au bus d'extension du CPC se faisant par un connecteur 50 points monté directement sur la carte.

Côté composants.

Côté cuivre


Figure 6

La figure 6 représente le circuit imprimé nécessaire et son implantation. C'est un double face à trous métallisés. Pas facile à réaliser avec des moyens d'amateurs, aussi vous sera-t-il possible de vous procurer la carte toute prête, étamée, grâce aux services du CLUB A & C qui nous a aimablement hébergé pour l'occasion.


Figure 5 - Brochage de la prise d'accès au MINITEL R

La maquette qui vous est présentée sur les photos ne comporte pas de support pour les circuits intégrés, ce qui n'est pas conseillé du tout...

Attention, ne modifiez pas le format de la carte, car sur un 6128 le câble d'alimentation 12 V est très proche, et il est indispen-sable que le connecteur soit parfaitement (et complètement) enfiché sur le port d'extension.

La construction ne doit poser aucun problème, et ne nécessite aucun réglage, sauf le DIP-SWITCH qu'il faut positionner comme indiqué. D'autre part, vous remarquerez que le connecteur est monté sur la face opposée aux composants.

A se sujet, une remarque s'impose pour les possesseurs de 464 : l'interface DRIVE utilisant le port d'extension, il est indispensable de prévoir un repport des bus, afin de la réengager.


Figure 7

La figure 7 indique comment procéder, et précise le raccordement du câble partant vers le Minitel.

Une fois votre carte soigneusement assemblée et vérifiée visuellement, il va vous falloir l'oublier quelques instants, le temps de saisir le programme de test suivant.

Programme test

La figure 8 en livre le listing complet. Il est en BASIC, et sera sauvegardé sous le nom original de TEST. BAS.

ATTENTION : Dans ce listing (et dans le suivant), vous rencontrerez le signe X II s'obtient en appuyant simultanément sur CONTROL et X. Son rôle est de remplacer CHR$ (24) (passage en vidéo inverse). Il accélère notablement la saisie, mais présente le défaut d'interdire un listing sur imprimante. Pensez-y !

L'utilisation est très simple : branchez votre carte sur le CPC, reliez la fiche DIN au MINITEL, puis allumez l'ordinateur et faite RUN « TEST ». Il suffira alors de suivre au pas à pas la procédure présente à l'écran.

C'est rigolo, bien utile, rassurant, et ça ne coûte RIEN... Pas besoin donc qu'un de vos amis soit prêt en même temps que vous pour la mise au point.

Après, il faudra être deux !

Amscom.Bas

AMStrad COMmunication. BAS est le nom du fichier permettant le lancement d'une liaison. Il est donné à la figure 9, et reste facile à suivre puisqu'entièrement en BASIC (attention aux X).

Son rôle est d'installer suivant vos réponses, le programme binaire correspondant à votre fonction : êtes-vous EMETTEUR ou RECEPTEUR ?

Si vous êtes EMETTEUR, c'est à dire si c'est vous qui envoyez un fichier à votre correspondant, AMSCOM chargera AMSCOM1. BIN et vous donnera la procédure à suivre.

Si vous êtes l'impatient RECEPTEUR, ce sera AMSCOM2. BIN qui sera chargé et la procédure correspondra à votre fonction.

Amscom1.Bin

Les aimables DATA de la figure 10 comportent de quoi créer AMSCOM1. BIN à partir de AMS-COM1. DAT.

Nous avons utilisé A et C de contrôle d'erreur et de sauvegarde : tapez AMSCOM1. DAT et sauvegardez-le, puis faites RUN. Si vous avez un sans faute (bravo !), un message à reprendre par COPY puis ENTER créera le fichier AMSCOM1. BIN.

En cas d'erreur, le numéro de ligne sera indiqué en clair, sauf dans certains cas, où il vous sera possible de le connaitre en tapant PRINT CP. faites RUN jusqu'à ce qu'appa-raisse le message de sauvegarde.

Amscom2. bin

Figure 11, c'est la même chose, mais pour AMSCOM2. BIN, donc le fichier binaire de réception.

Et bien ça y est ! Vous avez tout ce qu'il faut pour transmettre et recevoir des fichiers de 40 ko maximum.

Il ne vous manque que le mode d'emploi. Veuillez baisser les yeux d'une ligne s'il vous plait... Merci.

Mode d'emploi

Eeux cas sont à considérer ; l'émission et la réception. Bien évidemment, il ne peut y avoir deux émetteurs et deux récepteurs !

Supposons que vous soyez émetteur :

  1. faites RUN « AMSCOM. BAS » et répondez aux questions qui vous sont posées afin de devenir effectivement EMETTEUR.
  2. lorsque vous voyez le message « ATTENTE EMISSION.. »

a. appelez votre correspondant.
b. attendez qu'il ait suivi la procédure à son tour, mais pour son statut de RECEPTEUR.
c. quand il a sur son moniteur le message « ATTENTE RECEPTION » (c'est à lui de vous le dire par le combiné), appuyez sur une touche quelconque.

A ce moment, une porteuse lui est envoyée et il doit appuyer sur une touche pour voir apparaîte « RECEPTION EN COURS »

d. en fin de transmission, le message READY apparaît, et la ligne est à nouveau disponible, au combiné.
e. si vous devez passer un second fichier, faites à nouveau RUN AMSCOM (idem pour votre correspondant).

Vous êtes récepteur :

  1. Quand l'émetteur vous a fait part de son projet, faites RUN AMSCOM et répondez aux questions jusqu'à recevoir le message ATTENTE RECEPTION.
  2. 2°) Dés que votre correspondant vous prévient qu'il lance la transmission, tenez vous prêt à appuyer sur une touche et faites le quand la porteuse vous parvient dans le combiné.

Le message RECEPTION EN COURS apparait, et votre MINITEL se couvre de signes bizarres : c'est normal !

En fin de transmission, READY apparait et la ligne est de nouveau rétablie pour dialoguer avec votre correspondant.

Précisions :

Bien évidemment, le récepteur peut appeler l'émetteur. Le point charnière de la transmission se situe lorsque les deux postes comportent les messages « ATTENTE »... (E ou R) suivant les attributions.

D'autre part, veillez à ne pas bloquer le système en cherchant à passer des fichiers supérieurs à 40 ko.

Si vous êtes récepteur, assurez-vous de disposer d'une disquette libre et formatée.

Et la copie des pages Minitel ?

La carte que vous venez de construire permet de copier les pages écrans des serveurs MINITEL (jusqu'à 40), de les sauver sur disc , de les imprimer tranquillement quand la communication est coupée, (et ce sur votre imprimante classique), etc...

Pour celà, il vous faut un autre logiciel, appelé MINITEL, et dont nous ne pouvons décemment donner le listing dans la revue (plus de 10 ko de langage machine).

Mais la société MICROLOGIC *********** 91211 DARVEIL Cedex, propose aux lecteurs de RADIO-PLANS une disquette comportant les fichiers MINITEL, à un prix super sympa... De même, si vous n'avez pas envie de taper ceux qui vous sont donnés ici pour AMSCOM, il existe une disquette toute prête à votre intention.

Conclusion

Pour un coût dérisoire, vous voici raccordé à un vrai RESEAU en liaison avec tous les possesseurs de CPC AMSTRAD qui lisent RADIO-PLANS, bien sûr...

Merci au CLUB A et C (45.80.****) et à MICROLOGIC pour leur aide sympathique. Avis aux curieux : jetez un coup d'œil sur les photographies page 85 du numéro 482.. C'est celà la communication !

Jean-Luc SIMON , Radio Plans n°486
Nomenclature

Résistances

R1 : 470 Ω
R2 : 4,7 kΩ
R3 : 470 Ω
R4 : 2,2 kΩ
R5 : 2,2 kΩ

Condensateurs

C1... C5 : 0,1 µF (écart 5.08 mm)

Circuits intégrés

IC1 : 8251
IC2 : 74LS04
IC3 : 74LS138
IC4 : 74LS393
IC5 : 74LS393

Connecteur

1* HE902 Wrapping 50 points (25 + 25)

Supports tulipe

3 de 14 broches
1 de 16 broches
1 de 28 broches

Divers

QUARTZ 4.9152 MHz
1 * DIPSWITCH 6 inters
3 picots (raccords de fils)
1 fiche DIN mâle 5 broches 180°

★ EDITEUR: RADIO PLANS
★ ANNÉE: 1988
★ AUTEUR: Jean-Luc SIMON
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» AMSCOM    (Radio-Plan  486-Listings)    FRENCHDATE: 2018-03-17
DL: 364
TYPE: PDF
SiZE: 653Ko
NOTE: 5 pages/PDFlib v1.6

» AMSCOM    (Radio-Plan  487-Listings)    FRENCHDATE: 2018-03-17
DL: 334
TYPE: PDF
SiZE: 770Ko
NOTE: 2 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Hardware » Accélérez votre CPC (Micro-Mag)
» Hardware » A-D-Wandler (Happy Computer)
» Hardware » µRack : AC Decoder (Radio-Plans n°496)
» Hardware » X-Drive (CPC Amstrad International)
» Hardware » Interface série RS232 (Megahertz)
» Hardware » RTTY sur Amstrad
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 642 millisecondes et consultée 3005 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.