Transferts de données
 Data transfer

Accueil
du Site

Précédent -Suivant


Transferts de données
Nous étudions dans la suite les principes des trois types de transfert de données
entre partenaires d'une carte pilotée par une Unité Centrale

  1. Les transferts bi-directionnels entre UC et mémoires.
  2. Les transferts bi-directionnels entre UC et interfaces d'entrées-sorties reliant la carte à des capteurs ou actionneurs externes de type Tout-Ou-Rien (T.O.R) ou analogiques.
  3. Le mécanisme d'accès direct en mémoire : DMA.

L'étude qui va suivre est fortement orientée matériel ( hard).
Nous allons y examiner les interconnexions physiques entre les divers partenaires
d'une carte gérée par une UC (microprocesseur),
les chronogrammes, les états de validation, la combinatoire de sélection, etc.


Nous parlerons donc peu de programmation, à laquelle je consacre une autre partie de ce site.
Cependant, toute action physique étant en ce domaine, étroitement dépendante des instructions,
je signalerai pour chaque type de transfert de données, le type d'instruction qui le provoque.

1 - Chronogramme type d'une UC en lecture et en écriture en mémoire


Les termes "lecture" et "écriture" sont toujours envisagés
du point de vue de l'Unité Centrale.
L'UC écrit dans la mémoire, l'UC lit dans la mémoire.

Dans un cycle de lecture.

  1. UC met son bus des données en Haute Impédance
  2. UC affiche sur son bus des adresses celle du registre en mémoire externe qu'elle souhaite lire.
  3. UC met au niveau bas le signal RD/
  4. Cette transition valide la mémoire (voir schémas des connexions)
    qui affiche en basse impédance sur le bus des données la valeur binaire du registre concerné.
  5. UC copie cette valeur dans le registre interne indiqué par l'instruction qu'elle est en train dexécuter.
  6. UC remet le signal RD/ au niveau haut, ce qui dévalide la mémoire (voir schémas des connexions).
  7. UC remet le bus des données en haute impédance.

Schéma de connexions

Dans un cycle d'écriture.

  1. UC affiche sur son bus des adresses celle du registre en mémoire externe dans lequel elle souhaite enregistrer une valeur.
  2. UC affiche en basse impédance sur le bus des données la valeur qu'elle souhaite enregistrer.
  3. UC met au niveau bas le signal WR/.
  4. Cette transition valide la mémoire en écriture (voir schémas des connexions).
    Celle-ci enregistre la valeur affichée sur le bus des données dans le registre indiqué par son adresse actuellement valide en bus des adresses.
  5. UC relève le signal RW/ au niveau haut.
    Ce qui dévalide la mémoire sur le bus. La valeur enregistrée reste dans la mémoire.
  6. UC remet son bus des données en haute impédance.

2 - Cycle d'entrées-sorties physiques
2.1 Ports d'entrée TOR


Dans le domaine industriel et des automatismes,
les données à traiter proviennent de la partie opérative sous forme de signaux TOR (Tout ou rien).
Ils sont générés par les dispositifs les plus divers :
Interrupteurs de fin de course, provenant d'une barrière lumineuse,
d'un clavier de commande, d'un capteur de position à codage de type Gray, etc.
La plupart des capteurs industriels analogiques expriment actuellement leurs données en octets
qu'il faut saisir et traiter dans une carte à base d'UC.

Dans ces cas, les signaux sont généralement mis en forme pour satisfaire aux normes et niveaux de tension
des composants des cartes d'acquisition.
Sinon, des dispositifs plus ou moins simples peuvent être mis en oeuvre.



Les portes dites à sorties "trois états" permettent de faire acquérir ce genre de signaux par une UC.

 

Voici un exemple de montage d'un tel outil d'entrée dans un bus.
Le schéma ci-dessous a été en grande partie expliqué à la page "Décodages" de ce site
et à la page "Multiplexage"
Pages auxquelles vous avez tout intérêt de vous reporter s'il ne vous rappelle vraiment rien.

Ce schéma ne représente pas encore l'outil d'entrée 244
mais un décodeur d'adressse, type 138, supplémentaire
dont les entrées adresses A1 A2 A3 sont reliées aux lignes A5 A6 A7 du bus des adresses.
Cet outil est validé par le signal IO / M/ du processeur arrivant sur son entrée G3 active au niveau haut.
C'est ce qui permet d'activer les sorties du décodeur si et seulement si, le signal IO / M/ est haut.
C'est une particularité de certains processeurs
que d'avoir un signal distinguant les cycles d'accès mémoire (IO / M: = 0)
des accès entrées-sorties (IO / M/ = 1).

Ainsi, on peut donner aux outils de sortie les mêmes adresses que celles des mémoires.
Comme mémoires et portes de sortie ne seront jamais validés ensemble,
ils ne rentreront jamais en conflit.
.


Les entrées E0...E7 de cette porte d'entrée
seront reliées au capteur TOR 8 bits.

Ses Sorties S0...S7
seront reliées au bus des données.

L'entrée G1/
sera reliée au signal d'échantillonnage RD/ de l'UC.

L'entrée G2/
sera reliée au signal de sortie S1/ (TOR IN)
du second décodeur de type 138.

Les adresses A0 A1 A2 de ce décodeur 138
sont respectivement reliées
aux lignes A5 A6 A7 du bus des adresses.
(voir schéma ci-dessus)

Dans ces conditions, pour quelles adresses,
la porte 3 états mettra-t-elle en basse impédance sur le bus des données la configuration binaire reçue du capteur ?

Sur le schéma de montage, les sorties Sx du décodeur d'adresses I-O
permettent de valider SUR LE MËME MODE
d'autres interfaces à des capteurs ou actionneurs physiques externes.


Sortie de décodeur I-O
Adresse
Capteur ou actionneur prévu
S7 /
0D
Libre
S6 /
0C
Capteur ou actionneur analogique
S5 /
0A
Temporisateurs programmables (Timers)
S4 /
08
PIO
S3 /
60
UART2 ( Voir RS 232 & Modems en : )
S2 /
40
UART1
S1 /
20
TOR IN Interface à des capteurs Tout Ou Rien.
S0 /
00
TOR OUT Interface à des actionneurs Tout Ou Rien

Cette méthode est utilisée par les processeurs Intel qui disposent
d'une instruction de lecture spéciale à deux octets, de type [ IN , Adresse_en_8bits ].
Pour cette instruction, le cycle de lecture se fait avec IO / M/ = 1,
ce qui valide un décodeur monté comme je l'ai fait sur le schéma ci-dessus.
L'octet provenant du capteur à travers la porte trois états 244
est alors lu dans un registre interne appelé l'accumulateur.

Entrées-sorties projetées en mémoire
Dans d'autres processeurs ne disposant pas de ce type d'instruction ( IN ) ni le signal IO/ M/,
on peut valider une telle porte trois états par le signal RD/ lors d'une lecture mémoire normale.
En ce qui concerne sa sélection, il faut éviter, bien entendu que la porte
entre en conflit avec une mémoire existante sur la carte.
Autrement dit, elle doit être validée pour une adresse ou une plage d'adresses
située en dehors de celles utilisées par les mémoires en place.

  • Utiliser une broche libre du décodeur des adresses des mémoires
    Exemple dans le schéma ci-dessus les sorties :
    toutes les broches sauf S0 et S3 sont libres.
    Bien entendu, la porte sera validée pour une grande quantité d'adresses, mais ce n'est pas gênant tant que ne nombre de portes est faible. Sinon on peut utiliser des décodeurs admettant plus d'entrées d'adresses..
  • Utiliser un comparateur logique pour leur attribuer une adresse unique..

2 - Cycle d'entrées-sorties physiques
2.2 Sorties TOR (Tout Ou Rien)

Le circuit d'interface type 244 précédent est une porte trois états permettant de lire dans une UC
des états physiques binaires provenant de capteurs externes.

L'automaticien doit aussi effectuer l'opération inverse :
imposer à des actionneurs externes des états physiques TOR calculés par l'UC.
Mise en route ou arrêt de machines, de lampes, d'avertisseurs etc.
Envoi de textes à des imprimantes, etc...

C'est rendu possible par des circuits symétriques des précédents appelés verrous (Latch).
En voici un modèle, la description de sont fonctionnement et son montage sur la carte UC.


/G =0
Sx = Ex (x de 0 à 7)
/G = 1
Sx = Sx avant G=0


/G = 0
Les sorties Sx sont dans l'état des entrées Ex
correspondantes. On dit que le verrou est transparent.

/G = 1
Les sorties Sx restent dans l'état où elles étaient
avant la transition /G = 0
/G = 1.
Mémorisation physique en sortie de la configuration binaire des entrées avant la transition
.


Nous utilisons un verrou semblable pour effectuer l'opération de démultiplexage adresses-données
dans le chapitre de ce site qui lui est consacré :

Voici comment on peut utiliser ce verrou.



Le signal de sélection est une combinatoire d'une adresse et du signal /WR.
Il doit passer au niveau BAS au moment où :

  1. le bus des adresses affiche celle pour laquelle il doit être validé.
  2. Le signal /WR est actif au niveau bas.
    N'oublions pas qu'une sortie de données correspond à une écriture.
    Comme une entrée de données est une lecture.

 


2 - Cycle d'entrées-sorties physiques
2.3 Récapitulation Entrées-Sorties TOR

Voici un schéma comportant à la fois de la mémoire
et des interfaces TOR d'entrée et de sortie.

E1 , E2, E3 sont des "outils d'entrée" de type Portes 3 états (244 par exemple)
L'entrée en état basse impédance se fait pour /OE = 0.
S1, S2, S3 sont des "outils de sortie" de type vérrou (Latch) comme un 373 déjà vu.
Le contrôle de ces verrous est la broche /CS qui valide, à l'état bas, la transparence du verrou
et à l'état haut la persistence des données en sortie..

Le circuit 154 est un décodeur 4 16.
La configuration binaire à 4 bits appliquée en entrées E0...E3,
détermine laquelle des sorties /S0.../S15 passera au niveau bas,
sélectionnant ainsi un outil ou une mémoire.
Exemple : si E3 E2 E1 E0 = 1101 donc 13 en décimal,
la sortie /S13 et seulement elle passera au niveau bas.

Les portes OU à gauche combinent le signal /RD à chacune des sorties S15 S14 S13 du décodeur.
Les portes OU à droite combinent le signal /WRà chacune des sorties S15 S14 S13 du décodeur.

On en conclut que les mêmes adresses valideront l'outil d'entrée Ex et celi de sortie Sx (x de 1 à 3).
Il n'y aura pas conflit, car ces validations auront lieu à des moments différents.
Les entrées pour un cycle de lecture /RD, les sorties pour un cycle d'écriture /WR.

Bon, maintenant à vous.
Donnez une adresse de validation (la plus simple) pour chacun des couples d'outils Ex Sx (x de 1 à 3).



3 - Accès direct en mémoire - DMA ( Direct Memory Access)

J'arrête là pour aujourd'hui



Orientation

Précédent -Suivant
Sommaire
Mémoires
Types de mémoires
Mémoires magnétiques
Unité centrale
ALU
Sélection d'adresses
Multiplexage
Contrôle de flux
Transferts de données
Architectures matérielles
Sommaire

du Site


                                  


Titre
 


Titre