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 :