Herramientas de usuario

Herramientas del sitio


fr:hardware:perifericos:cps8256_interfaz_paralelo_centronics_y_serie_rs232c

A> CPS8256 (Interface parallèle centronics et série RS232C)
Description, Contexte et Histoire

Commercialisée officiellement par Amstrad plc en 1985, simultanément avec le lancement des modèles Amstrad PCW 8256 et PCW 8512, l'interface CPS8256 constitue le périphérique officiel le plus important pour l'expansion des communications de ce système. La conception de base de la gamme PCW manquait délibérément de ports de communication standard à usage général, se limitant à des canaux propriétaires intégrés destinés uniquement à son moniteur et à son imprimante matricielle native. La CPS8256 a été conçue pour combler cette limitation, permettant pour la première fois la connexion directe de modems téléphoniques, de souris série, de traceurs et le transfert de données vers des imprimantes externes de tierces marques.

Au niveau de la documentation historique, il a existé une confusion persistante dans les magazines spécialisés des années 80 affirmant que le port parallèle implémenté ne respectait pas strictement la norme Centronics en opérant avec une longueur de mot de 8 bits purs. Cette affirmation est un mythe démenti par l'analyse matérielle : le port physique est 100% standard par rapport à ses lignes électriques et à son protocole. Le problème réel résidait dans le logiciel de traitement de texte LocoScript de Locomotive Software, qui utilisait une table de caractères interne et des formats de contrôle propriétaires ; cela provoquait des impressions illisibles si les documents n'étaient pas exportés ou convertis préalablement au format ASCII standard avant d'être envoyés via le port parallèle.

Cette interface a radicalement élargi l'écosystème professionnel du PCW, permettant des connexions asynchrones avec des mainframes ou des PC compatibles IBM via la suite de transfert de fichiers LocoLink ou le protocole de terminal Kermit, consolidant ainsi l'ordinateur comme un outil de bureau ouvert et polyvalent plutôt qu'une machine à écrire fermée.

Architecture Matérielle et Composants de Silicium

Du point de vue de l'ingénierie électronique, la CPS8256 abrite sur sa carte interne un ensemble de circuits intégrés de la famille logique Zilog (ou clones sous licence) parfaitement coordonnés pour gérer les E/S asynchrones sans surcharger le processeur principal Z80 de l'ordinateur :

  • Z80 DART (Dual Asynchronous Receiver/Transmitter) / Z80 SIO : C'est le cœur de communication de l'appareil. Physiquement, il possède deux canaux indépendants de transmission/réception de données. Dans la configuration d'Amstrad, le Canal A est entièrement câblé para contrôler le port série selon la norme RS-232C, tandis que le Canal B a été astucieusement réutilisé pour surveiller et séquencer les lignes d'état, los signaux de contrôle y le handshaking (serrage de main) du port parallèle Centronics.
  • Z80 CTC (Counter/Timer Circuit) : Ce circuit intégré de temporisation est utilisé exclusivement comme un générateur de bauds programmable (Baud Rate Generator). Ses canaux internes indépendants traitent les fréquences d'horloge nécessaires pour synchroniser los registres internes du Z80 DART, permettant d'établir des vitesses stables de transmission de données.
  • Sous-système Convertisseur de Tension : Le bus d'expansion latéral de l'Amstrad PCW distribue uniquement des tensions d'alimentation de +5V et +12V. Étant donné que la spécification internationale RS-232C exige obligatoirement l'utilisation de seuils de tension symétriques négatifs pour coder les états logiques de la transmission série (évitant les bruits de fond), la CPS8256 intègre en interne un circuit inverseur/convertisseur de tension dédié à générer la ligne de -12V requise pour les signaux de communication.
Mappage des Ports d'Entrée/Sortie (I/O) du Z80

L'interface CPS8256 se décode sur le bus du système en occupant une plage fixe de 8 ports adressables allant de 0E0h à 0E7h. Le plan des registres matériels se décompose de la manière suivante :

Port (Hex) Port (Dec) Accès Fonction du Système et Registre Cible
0E0h 224 R / W Z80 DART (Canal A) - Registre de Données : Lit les caractères entrants depuis le tampon série (Rx) et écrit les données à transmettre (Tx).
0E1h 225 R / W Z80 DART (Canal A) - Registre de Contrôle : Écrit pour pointer vers les registres internes (WR0-WR5) et lit les registres d'état (RR0-RR1).
0E2h 226 Écriture Port Parallèle Centronics - Registre de Sortie (Data Latch) : Stocke et verrouille le octet de données de 8 bits sur les lignes physiques D0-D7 pour l'imprimante.
0E3h 227 Lecture Port Parallèle Centronics - Registre d'État : Lecture en temps réel des lignes matérielles de contrôle physiques (Busy, /Ack, Paper Empty, Select).
0E4h 228 Écriture Z80 CTC (Canal 0) - Temporisateur de l'Émetteur : Définit la constante de temps qui détermine le Baud Rate de la transmission série (Tx).
0E5h 229 Écriture Z80 CTC (Canal 1) - Temporisateur du Récepteur : Définit la constante de temps qui détermine le Baud Rate de la réception série (Rx).
0E6h 230 Ligne réservée par le décodage matériel / Inutilisée par la configuration standard d'Amstrad.
0E7h 231 Écriture Z80 CTC (Canal 3) - Registre de Contrôle Général : Initialise le mode de fonctionnement des circuits de comptage et des interruptions du temporisateur matériel.
Structure Interne des Registres du Z80 DART (Port 0E1h)

Pour la programmation directe à bas niveau (par exemple, en code assembleur Z80 en contournant les appels BIOS de CP/M), le port de contrôle de la CPS8256 fonctionne de manière séquentielle. On écrit dans 0E1h le numéro du registre interne auquel on souhaite accéder, et au cycle d'horloge d'E/S suivant, la valeur de configuration est envoyée ou lue sur ce même port. Les fonctions critiques des bits de préservation sont détaillées ci-dessous :

  • WR3 (Write Register 3 - Configuration du Récepteur) : Les bits 7 et 6 définissent la longueur du mot des données reçues (11 = 8 bits, 10 = 7 bits, 01 = 6 bits, 00 = 5 bits). Le bit 5 active le contrôle de flux matériel automatique via les lignes CTS/RTS, et le bit 0 active physiquement la logique du récepteur (Rx Enable).
  • WR4 (Write Register 4 - Paramètres de Transmission) : Les bits 7 et 6 contrôlent le facteur multiplicateur de l'horloge (réglé de façon invariable sur 01 pour la conception du PCW). Les bits 3 et 2 définissent les bits d'arrêt ou Stop Bits (11 = 2 bits, 10 = 1 bit). Le bit 1 active le bit de parité (1 = Even / Paire, 0 = Odd / Impaire), et le bit 0 active ou désactive la vérification de la parité.
  • WR5 (Write Register 5 - Configuration de l'Émetteur) : Le bit 7 contrôle l'état de la ligne physique DTR. Les bits 6 et 5 établissent la longueur du mot pour les données transmises (11 = 8 bits, 10 = 7 bits). Le bit 3 active la transmission de données (Tx Enable), et le bit 1 contrôle directement la ligne de sortie RTS.
  • RR0 (Read Register 0 - Registre d'État des Lignes) : Permet la vérification du transfert par polling. Le bit 7 surveille la condition de Break. Le bit 5 reflète l'état logique de la ligne CTS, le bit 4 indique l'état RI (Ring Indicate) y le bit 3 suit l'état DCD (Carrier Detect). Le bit 2 passe à l'état haut (1) lorsque le tampon de transmission matériel est vide et prêt, tandis que le bit 0 indique qu'un caractère entrant attend dans le tampon du récepteur pour être lu.
  • RR1 (Read Register 1 - Registre d'Erreurs) : Stocke les erreurs logiques accumulées. Le bit 6 détecte les erreurs de cadrage (Framing Error), le bit 5 capture les erreurs de dépassement du récepteur matériel (Rx Overrun Error) et le bit 4 signale les erreurs de parité logiques (Parity Error).
Connexions et Brochages des Ports (Pinout)

La CPS8256 expose à l'extérieur deux types de connexions normalisées internationalement, câblées selon les spécifications de conception électronique d'Amstrad :

1. Port Série (Connecteur Mâle DB25 - Configuration Standard DTE) :

Broche DB25 Signal RS-232C Flux (PCW) Fonction de la Ligne Électrique
Broche 1 GND (Shield) Masse de protection du châssis et référence de blindage du câble.
Broche 2 TXD (Transmit Data) Sortie Ligne de transmission série pour les données binaires asynchrones.
Broche 3 RXD (Receive Data) Entrée Ligne de réception série pour les données binaires asynchrones.
Broche 4 RTS (Request To Send) Sortie Demande de contrôle de flux matériel envoyée par le PCW pour transmettre des données.
Broche 5 CTS (Clear To Send) Entrée Signal du périphérique autorisant le PCW à envoyer des données.
Broche 6 DSR (Data Set Ready) Entrada Confirmation que l'appareil distant/modem est sous tension et prêt.
Broche 7 GND (Signal Ground) Masse de référence commune pour tous los signaux de données numériques.
Broche 8 DCD (Data Carrier Detect) Entrée Ligne de détection de tonalité de porteuse téléphonique (utilisée par les modems).
Broche 20 DTR (Data Terminal Ready) Sortie Signal confirmant que l'Amstrad PCW est en ligne et opérationnel.
Broche 22 RI (Ring Indicator) Entrée Indicateur de la ligne de détection de sonnerie téléphonique.

2. Port Parallèle (Connecteur Femelle Amphenol Centronics à 36 broches) :

  • Broche 1 : Signal de contrôle /STROBE (Sortie active à l'état bas. Impulsion de synchronisation émise par le PCW pour avertir l'imprimante que les données sur le bus D0-D7 sont valides et doivent être verrouillées).
  • Broches 2 à 9 : Bus de données parallèle 8 bits (Lignes de signaux logiques D0 à D7).
  • Broche 10 : Signal de contrôle /ACK (Entrée active à l'état bas. Impulsion envoyée par l'imprimante indiquant qu'elle a traité avec succès l'octet précédent).
  • Broche 11 : Signal BUSY (Entrée active à l'état haut. Ligne maintenue à 1 par l'imprimante lorsqu'elle est hors ligne, en cours de traitement de données, ou que son tampon est plein, ordonnant au PCW d'interrompre la transmission).
  • Broche 12 : Signal d'erreur PE (Paper Empty - Entrée active à l'état haut notifiant l'absence physique de papier dans l'imprimante externe).
  • Broche 13 : Signal d'état SLCT (Select - Entrée active confirmant que le périphérique est sélectionné et en ligne).
  • Broches 19 à 30 : Retours de masse logique à la masse commune (Signal Ground / GND).
Support du Système d'Exploitation et Intégration des Émulateurs
  • Modification Dynamique du BIOS : Si la CPS8256 est connectée physiquement au bus d'expansion latéral lors du démarrage à froid, la routine de démarrage stockée dans le bloc de chargement du système de l'imprimante del sistema operativo CP/M Plus reconnaît automatiquement le matériel. Le BIOS modifie dynamiquement le message d'accueil officiel sur le moniteur CRT, en ajoutant la chaîne de caractères : (SIO/Centronics add-on).
  • Outil de Communication MAIL232 : La disquette d'utilitaires système d'origine distribuée officiellement par Amstrad comprenait l'exécutable MAIL232.COM. Cet utilitaire interagissait directement avec les registres série de la CPS8256, convertissant efficacement l'ordinateur en un terminal compatible pour les premiers systèmes BBS.
  • CP/M Box (par Habi / Habisoft) : L'émulateur de Habi intercepte entièrement toutes les opérations de lecture et d'écriture destinées aux ports logiques 0E0h-0E7h. Il permet aux utilisateurs de mapper et de rediriger tout ce flux de données vers des ports COM physiques/virtuels du système hôte moderne, ou de router les données parallèles Centronics directement vers des fichiers texte ou des files d'attente d'impression LPT sous Windows.
  • Joyce (par John Elliott) : Reproduit la logique interne du circuit intégré Z80 CTC et le comportement synchrone du Z80 DART mappé sur son espace d'adressage matériel d'origine con une précision absolue au cycle près.
Documentation et Téléchargements

fr/hardware/perifericos/cps8256_interfaz_paralelo_centronics_y_serie_rs232c.txt · Última modificación: por jesus