X - INTERFACES PARALLÈLES 10.1 Principe: Exemple de liaison
Transcription
X - INTERFACES PARALLÈLES 10.1 Principe: Exemple de liaison
X - INTERFACES PARALLÈLES 10.1 Principe: Exemple de liaison parallèle, sur 8 bits 10.2 Interface périphérique programmable PPI 8255: 10.2.1 Présentation: L'un des circuits programmables les plus courants est le circuit Interface périphérique programmable PPI Intel 8255. Il dispose de 4 groupes (de 4 ou 8 lignes) d'entrées/sorties. Circuit PPI 8255 Constitution interne du 8255 10.2.1 Programmation du PPI 8255 Modes de Contrôle LE 8255 permet 3 modes de fonctionnement différents (modes 0, 1 et 2) § Mode 0: Ports A et B sont configurés en entrée ou en sortie et le port C est divisé en deux groupes de 4-bits qui sont configurés en entrée ou en sortie. § Mode 1: Même chose que mode 0, sauf que le port C est utilisé pour le handshaking et le contrôle. § Mode 2: Port A est bidirectionnel (entrée et sortie) et Port C est utilisé pour le handshaking. Port B n'est pas utilisé. Ce qui donne 24 lignes commandables. Les configurations se font par l'écriture d'un mot de commande dans un registre de contrôle à l'adresse : adresse de base +3 Les ports A, B et C sont, respectivement, aux adresses : adresse de base, adresse de base+1, adresse de base +2. 8255 CONFIGURATION DES MODES CONTROL WORD (HEX) CONTROL WORD (DECIMAL) PORT A PORT B PORT C 80 128 OUT OUT OUT 82 130 OUT IN OUT 85 133 OUT OUT IN 87 135 OUT IN IN 88 136 IN OUT OUT 8A 138 IN IN OUT 8C 140 IN OUT IN 8F 143 IN IN IN 10.3 Le PIA 6821 (Adaptateur d'interface périphérique) Le PIA est l'équivalent du PPI de Intel chez Motorola. 10.4 Interface CENTRONICS La commande d'une imprimante se fait en mode série ou en mode parallèle. En mode parallèle le câble et les connecteurs sont plus complexes et la distance est limitée par la nature de la liaison et des données (TTL). Fabriquant d'imprimantes la société Centronics a imaginé une liaison parallèle appelée de son nom et qui s'est imposée comme norme. 10.4.1 Principe Les données sont transmises sur 8 fils en parallèle. Lorsqu'elles sont émises par le micro-ordinateur, celui-ci émet un ordre d'acquisition vers l'imprimante, c'est le signal STROBE (une synchronisation). L'imprimante répond par un signal BUZY. Dès qu'elle a terminé, elle émet un signal pour indiquer que cette acquisition s'est faite ACKNOWLEDGE, et qu'elle est disponible pour la donnée suivante. Principe de l'échange en "poignée de main" entre le microprocesseur et l'imprimante Dialogue entre le microprocesseur et l'imprimante 10.4.2 Connexion Centronics Liaison micro-ordinateur à imprimante en mode parallèle (connexion type Centronics pour l'IBM PC) 10.4.3 Exemple typique de connexion d'une imprimante parallèle à un microcontrôleur Liaison parallèle entre une imprimante parallèle et un microcontrôleur MC68HC11, à l'aide d'un circuit PIA 6821. 10.5 Commande de clavier 10.5.1 Clavier 16 touches La commande d'un clavier relève, elle aussi, d'un mode de liaison parallèle. On procède par un "balayage" des touches. Une des techniques est la suivante : Exemple un clavier 16 touches, on utilise un mot de 8 bits, scindé en 2 groupes de 4-bits. Le clavier est organisé en 4 lignes par 4 colonnes. Corriger : porte NOR et non pas NAND Il n'y a aucun contact entre les colonnes et les rangées, au repos. C'est la touche qui provoque le contact. Au départ les 4-bits sortant sont à 1, les bits 4 à 7 restent à 0 (des résistances de rappel au 0). Si une touche est pressée : la ligne correspondante passe à 1, la porte NOR (et non pas NAND sur la figure) passe de 1 à 0 et provoque une demande d'interruption. Le microprocesseur va émettre vers le circuit d'E/S des mots binaires chargés de balayer les colonnes : 0001, puis 0010, puis 0100 et 1000, cette séquence s'interrompe aussitôt qu'une touche pressé a été détectée (à chaque attaque d'une colonne par 1, les bits 4 à 7 sont lus jusqu'un bit à 1 soit détecté. Le processus s'arrête dès que la touche pressée a été localisée par sa colonne et sa ligne. 10.5.2 Clavier de l'IBM PC La scrutation des touches se fait en mode parallèle, mais la liaison clavier à unité centrale se fait en mode série. Les touches du clavier (83, 105, ..) sont scrutés via deux ensembles électroniques: - l'interface située sur la carte unité centrale, - l'électronique intégrée au clavier (exemple microprocesseur 8048). Le connecteur d'accès à l'unité centrale est de type DIN à 5 broches. Remarque : Problème du régime transitoire dans la lecture d'une touche : Dans la pratique la connexion entre une ligne et une colonne ne se fait pas de manière idéale. Un contact ne donne pas un niveau logique franc et stable mais il peut osciller pendant un court laps de temps (2 à 20ms). Il faut donc attendre ( une dizaine de ms) que la connexion donne un niveau logique stable pour prendre en compte la touche activée. La figure suivante montre sur un chronogramme ces zones d'instabilités. Zones d'instabilité lors de l'activation d'une touche. 10.5 Commande d'un moteur pas à pas 10.5.1 Introduction: Le moteur pas à pas est un transducteur électromécanique que l'on associe à une logique de commande. Sa résolution est le nombre de pas par tour, correspondant à un nombre égal de déplacements angulaires, provoqués par des impulsions. Avantage par rapport au moteur classique : On peut connaître sa position au nombre de pas près ! Il existe trois types de moteur pas à pas: • Moteur à aimant permanent • Moteur à reluctance variable • Moteur hybride Le moteur à aimant permanent: Il est composé de deux parties : Le rotor qui est la partie mobile, il comporte un nombre pair de pôles à aimant permanent magnétisé dans le sens radial. Le stator qui est la partie fixe, composé d'encoches comportant 2, 3, 4 enroulements électriques. Remarque : Il existe deux catégories de moteurs pas à pas: • Bipolaires • Unipolaires Le moteur pas à pas bipolaire : Deux enroulements au stator avec courants bidirectionnels (voir schéma précèdent). Le moteur pas à pas unipolaire : Quatre enroulements au stator avec sens des courants unidirectionnels. Remarque : Les deux enroulements ne sont jamais excités ensembles. Les moteurs pas à pas à réluctance variable: Le rotor est constitué d'un nombre impair de pôles non magnétisés, la position du rotor est déterminée par la réluctance des tôles, le rotor suit les lignes de champs. Le moteur hybride: C'est une combinaison du moteur à aimant permanent et à reluctance variable. Le rotor est cylindrique magnétisé dans le sens axial à structures dentées (décalées les unes par rapport aux autres). Comparaison des différents types: 10.5.2 Modes d'excitation des phases: Pour un moteur bipolaire: 1-Pas entier une phase excitée : Remarque : Les courants dans les phases sont bidirectionnels, cela nécessite donc un circuit capable d'inverser le sens du courant dans un enroulement (L298). 2-Pas entier, deux phases excitées : Remarque : Dans ce mode de fonctionnement le couple est deux fois plus important. 3-Micro pas, une phase excitée puis deux : Remarque : Le couple est irrégulier dans ce mode de fonctionnement. Changement de sens : Pour changer le sens de rotation du rotor il faut inverser l'ordre d'excitation des phases. 10.5.3 Commande des moteur pas à pas : La commande de ces moteurs est souvent confiée à deux circuits spécialisés intégrants pour l'un la partie séquentielle (L297) et pour l'autre la partie puissance (L298), parfois un seul et même circuit intègre les deux fonctions et suffit à piloter le moteur. Deux signaux sont nécessaires, un pour le sens (0 = sens horaire, 1= sens anti-horaire), l'autre étant un signal d'horloge synchrone sur fronts montants ou descendants suivant les circuits. Pour faire tourner le moteur, il faut réaliser successivement l'alimentation des bobinages avec les polarités convenables. Comme à l'habitude il va falloir faire un compromis entre diverses solutions. Le micro-ordinateur, moyennant un programme (et une charge) relativement important est tout à fait capable de prendre en charge la commandes: le sens de rotation, le nombre de pas et la vitesse. La carte à des amplificateurs placés entre les fils de données du bus de l'Interface et les bobinages du moteur. D'un autre côté, il serait confortable de disposer d'une carte d'interface pour moteurs pas à pas à laquelle il suffirait de donner trois commandes: le sens de rotation, le nombre de pas et la vitesse. La carte d'interface risque alors de devenir complexe et par conséquent chère. Au titre du compromis, la commutation des bobinages du moteur est confiée à l'interface, les ordres d'avance et de sens de rotation seront du ressort du micro-ordinateur. 10.5.4 Description du circuit de commande Pour la commutation correcte des tensions sur les bobinages du moteur, RTC diffuse un circuit intégré SAA 1027 (figure). Ce circuit alimente directement le moteur pas à pas à partir de signaux de commande relativement simples: R qui donne le sens de rotation. T qui fait tourner le moteur d'un pas à chaque front positif. S qui bloque le moteur et rend le circuit SAA 1027 insensible aux autres commandes quand S=0. Les connexions d'un SAA 1027 sont donc les suivantes: Borne 2 (S) reliée au + 12 V fourni par le circuit intégré 7812. Borne 12 et 5 reliées à la masse. Bornes QI,2,3,4 reliées aux enroulements du moteur. Borne 14 reliée à une constante de temps 100 Ω/0.1 mFd. Borne 4 (Vb) reliée au 12 V par 270 Ω. Borne 13 (Vd) reliée au 12 V par une diode Zener de 5,1 V, afin d'augmenter légèrement le couple. Il est possible de prévoir deux circuits SAA 1027. Il ne reste plus qu'à fournir les signaux convenables aux entrées T et R de ces deux circuits à partir des commandes délivrées par le micro-ordinateur. Les entrées S et T des circuits SAA 1027 nécessitent des signaux électriques variant entre 0 et 12 V ce qui interdit de les raccorder directement à des circuits TTL alimentés sous 5 V. L'adaptation entre 5 et 12 V est réalisée par des inverseurs à collecteurs ouverts type 7406 ou 7416 chargés par des résistances de 10 kΩ. Les commandes venant du micro-ordinateur se présentent sur les fils de données D0 à D3 Ces commandes sont présentées aux quatre bascules type D des circuits 74LS74 qui prennent en compte les états des fils D0 à D3 quand le fil d'écriture connecté a leur entrée d'horloge effectue sa transition positive. Comme l'ordre d'écriture consiste en une impulsion négative, son front positif est obligatoirement précédé d'un front négatif. Ce front négatif arme le monostable 74LS123 ce qui libère les mémoires de commande de pas. On remarque que les mémoires de commandes de sens ne sont pas connectées au monostable. A sa retombée, le monostable remet ou ne remet pas à zéro la bascule (cela dépend de la donnée que lui a fait prendre en compte l'impulsion d'écriture) ce qui provoque ou ne provoque pas une demande de pas. Le chronogramme est donné sur la figure suivante. . Exemple d'application :