L’ACIA 6850 A. FAKKAR 76 INTERFACE SERIES ACIA 6850 L’ACIA 6850 (Asynchronous C

L’ACIA 6850 A. FAKKAR 76 INTERFACE SERIES ACIA 6850 L’ACIA 6850 (Asynchronous Communications Interface Adapter) est le coupleur de périphérique qui permet de réaliser la liaison entre le microprocesseur 6809 et ses périphériques. L’ACIA communique avec le microprocesseur par l’intermédiaire des bus de :  Données (8 bits);  Adresses (4* lignes);  Contrôle. Les dialogues avec la périphérie sont assurés par une ligne de transmission et une de réception. Trois broches de contrôle assurent la synchronisation des transferts. La programmation de l’ACIA est fonction de :  La vitesse de transmission;  Le format du mot envoyé;  Le périphérique connecté. I. ORGANISATION DE L’ACIA : 1. Organisation interne de l’ACIA :  L’ACIA comprend 4 registres internes (8 bits) accessibles à l’utilisateur : TDR (Transmit Data Register) : registre de transmission à écriture seule, il contient le mot à émettre (8 bits) ;  RDR (Recive Data Register) : registre de réception à lecture seule, il reçoit le mot (8 bits) en provenance de la périphérie;  CR (Control Register) : Registre de contrôle à écriture seule, il contient les paramètres de fonctionnement (8 bits) en transmission et en réception; L’ACIA 6850 A. FAKKAR 77  SR (Statut Register) : Registre d’état à lecture seule, il contient les informations (8bits) sur les opérations en cours. 2. Organisation externe de l’ACIA : L’ACIA se présente sous la forme d’un boîtier DIL (Dual In Line), 24 broches, mono-tension (0, 5 V). ACIA 6850 E 14 CS0 8 CS1 10 CS2 9 RS 11 RXDATA 2 CTS 24 DCD 23 RXCLK 3 T XCLK 4 R/W 13 T XDATA 6 RTS 5 IRQ 7 D0 22 D1 21 D2 20 D3 19 D4 18 D5 17 D6 16 D7 15 a. Liaisons avec le microprocesseur :  Bus de données D0, D1,…, D7 : Ces 8 lignes bi-directionnelles sont directement reliées au bus du 6809. Elles assurent l’échange de données entre le microprocesseur et l’ACIA.  Bus des adresses :  CS0, CS1 et /CS2 (Chip Select line) : Ces trois entrées permettent de sélectionner le boîtier ACIA.  RS (Register Select line) : Cette entrée permet de sélectionner les registres internes (2 octets mémoires).  Bus de contrôle :  E (Enable line) : Signal d’activation des échanges.  R/W (Read/ Write) : Lecture-écriture.  /IRQ (Interrupt ReQuest line) : Relié à /IRQ, /FIRQ ou /NMI du 6809, cette sortie permet d’interrompre le microprocesseur. b. Liaison avec la périphérie : L’ACIA 6850 A. FAKKAR 78  Lignes de transfert :  TxD (Transmitted Data line) : Ligne de transmission de données. Cette sortie assure la transmission de données.  RxD (Receive Data line) : Ligne de réception de données. Cette entrée réceptionne les données série en provenance de la périphérie.  Lignes de contrôle :  /RTS (Request To Send) : Sortie demande d’émission, elle permet de piloter un périphérique ou un MODEM.  /CTS (Clear To Send) : Entrée inhibition de l’émetteur, elle permet le contrôle automatique de la fin de transmission par un MODEM. Non utilisée, elle doit être au niveau bas.  /DCD (Data Carrier Detect) : Entrée perte de la porteuse de donnée, elle permet le contrôle de la réception. Non utilisée, elle doit être au niveau bas.  Lignes d’horloges :  TxCk (Transmit Clock) : Entrée d’horloge de transmission, elle sert de référence pour la transmission de données.  RxCk (Receive Clock) : Entrée horloge de réception, elle est utilisée pour la synchronisation des informations reçus. II. FONCTIONNEMENT DE L’ACIA Le diagramme de fonctionnement de l’ACIA nous montre le rôle des différents registres accessible à l’utilisateur.  Transfert d’une donnée entre le processeur et la périphérie : La donnée est chargée dans le registre de transmission TDR, on fait un accès en écriture. TDR transfert cette donnée dans un registre à décalage qui la sérialise. Le format L’ACIA 6850 A. FAKKAR 79 de la donnée transmise dépend du contenu du registre de contrôle, il en est de même pour la vitesse de transmission.  Transfert d’une donnée entre la périphérie et le processeur : Le mot est réceptionné par le registre à décalage RSR qui le désérialise. Il est ensuite transféré dans le registre de réception. La donnée reçus sera prise en compte par un accès en lecture de RDR. Si le message ne correspond pas à ce qui était initialement prévu, les indicateurs d’état de SR sont positionnés. III. SELECTION DES REGISTRES INTERNES Le dialogue entre le microprocesseur et la périphérie s’effectue par l’intermédiaire des registres internes de l’ACIA. Pour accéder à ces registres, on dispose de 3 lignes de sélection de boîtiers (CS0, SC1 et /CS2) et d’une ligne de sélection de registre (RS). La figure résume la méthode d’adressage des registres internes de l’ACIA. L’ACIA occupe 2 octets mémoires consécutifs, puisque RS est relié à A0. Les lignes A1-A15 sont reliées à une logique de décodage qui détermine l’adresse de base de l’ACIA en sélectionnant le boîtier. Les 4 registres internes étant accessibles en lecture (TDR et CR) et en lecture (RDR et SR), la ligne R/W intervient dans la sélection de ces registres. VI. PROGRAMMATION DE L’ACIA La communication série gérée par l’ACIA utilise la procédure START-STOP. Chaque caractère transmis ou reçu à un format de 7 ou 8 bits avec ou sans bit de parité. Il est précédé d’un bit de START et suivi de 1 ou 2 bits de STOP. Chacun de ces bits est synchronisé sur une horloge mais la suite des caractères est asynchrone (voir figure 1). L’ACIA 6850 A. FAKKAR 80 Figure 1 : Principe de la transmission 1. Programmation du registre de contrôle : Ce registre, à écriture seule permet de commander le fonctionnement de la partie transmission et de la patrie réception. La signification précise de chacun des bits de l’octet à charger dans ce registre est donnée par la figure 2 . Afin d’éviter la transmission d’informations intempestives, ce circuit comporte un dispositif de mise sous tension qui le maintient dans un état inhibé jusqu’à son initialisation programmée (CR5 = 0 et CR6 = 1). Cette initialisation est le constructeur l’appelle un MASTER RESET ; pour cela il suffit de charger le registre de contrôle par le mot suivant : 7 0 x x x x x x 1 1 (x) : indifférent (ne modifie pas CR5 et CR6). On peut ensuite charger le registre de contrôle par l’octet définissant le mode de fonctionnement du boîtier. Les bits de ce registre ont alors la signification suivante : CR1– CR0 : Ces bits définissent le rapport de division des horloges de transmission et de réception par rapport à RxCk et TxCk. CR4 – CR3 – CR2 : Ces bits définissent le format de chaque mot série reçus ou transmis dans la procédure START – STOP. CR6 – CR5 : Actifs en transmission seulement, ces bits définissent l’état de la sortie /RTS ainsi que la validation (ou l’inhibition) des interruptions dues à la transmission. En autre l’état CR6 = 1 et CR5 = 1 permet d’envoyer un caractère « break » sur la sortie TxD (TxD = 0 pendant quelques périodes de l’horloge). L’ACIA 6850 A. FAKKAR 81 CR7 : Actif seulement en réception, ce bit lorsqu’il est à 1 permet d’interrompre le microprocesseur quand le registre de réception est plein. 2. Registre d’état SR rôle des indicateurs : Ce registre à lecture seule, contient les informations témoins (les indicateurs) de l’état de l’interface 6850. Il permet de connaître l’état des registres de transmission, de réception, de l’entrée /CTS, de l’entrée /DCD et des demandes d’interruption /IRQ. Son format est donné sur la figure 3 . La signification de ses bits est la suivante : SR0 : RDRF (Receive Data Register Full) : Un test sur ce bit permet de connaître l’état du registre de réception RDR.  Si SR0 = 0, ce bit indique que le registre de réception est vide.  Si SR0 = 1, ce bit indique que le registre de réception est plein et que les indicateurs de réception du registre d’état SR sont positionnés. Ce bit est remis à 0 par une lecture du registre de réception ainsi que par un MASTER RESET. En outre, lorsque l’entrée /DCD est à l’état haut, indiquant ainsi une absence de porteuse pour le MODEM, le bit RS0 est alors forcé à l’état bas (indiquant que le registre de réception est vide). SR1 : TDRE (Transmit Data Register Empty) Ce bit de contrôle de connaître l’état du registre de transmission.  Si SR1 = 1, ce bit indique que le registre de transmission est vide.  Si SR1 = 0, ce bit indique que le registre de transmission est plein. Ainsi, l’écriture dans TDR fait passer le bit SR1 de 1 à 0, le transfert de TDR à TSR remet SR1 à 0. En outre, lorsque l’entrée /CTS est à l’état haut, le bit SR1 est forcé à 0, ce que devra empêcher le logiciel de l’utilisateur d’écrire une nouvelle donnée dans le uploads/Management/ poly-mp-ch7.pdf

  • 17
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Oct 29, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.1095MB