1
Ch. Garnier
LE BUS VME OU BUS CEI 821 2ième Partie: Le Transfert de Données Sommaire - Repère
Deuxième Partie: Le Transfert de Données
Identification des modules fonctionnels concernés
Identification des signaux du bus DTB
Les lignes d ’adresses
Les lignes de modification d ’adresses
Les lignes de Données
Les lignes de Commande
Synthèse: Les schémas blocs
Les différentes possibilités de transfert
Cours_bus_VME_2_01
1ière Partie: Présentation
2ième Partie: Le Transfert de Données
3ième Partie: L ’arbitrage 4ième Partie: Le bus Interruptions 5ième Partie: Le bus Utilitaires
2
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesIdentification des modules fonctionnels concernés
Transfert de Données (DTB) : Transfert parallèle; asynchrone; à haute vitesse Les Modules Fonctionnels activés dans un DTB:
DébutCycle
Initialisationd'un DTB
DébutCycle
RecoAdresse
Fin Cycle ?
Générationde Fin Cycle
+ Erreur
Fin de Cycle
Répond
Analyse duCycle
t = t-1
Initialisationdu tempsd'attente
Erreur ? Fin Temps ?
Fin Cycle ?
Maître EsclaveLimiteur du temps
de parole
O
O
O
O
O
O
O
N
N
N
N
N
N
Générationd'un signal
d'erreur
Fin de Cycle
3
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesIdentification des modules fonctionnels concernés
EmetteurHorloge
Bus Série
EmetteurHorlogeSystème
Module deContrôle
A lim.Arbitre
Emetteurde ChaîneSérie IACK
Limiteurdu TempsOccupatio
n Bus
DétecteurAccès
Demandeur
MaîtreGénérateurInterruption
Demandeur
Esclave Esclave
Logique d'Interface Fond de Panier
GénérateurInterruption
Logique d'Interface Fond de Panier LIFP LIFP
Unité de Traitement UnitéMémo Unité d'E/S
ContrôleurInterruption
Utilitaire
Transfert de Données
Interruption
Arbitrage du DTB
Carte Contrôleur du Système
Carte Processeur Carte E/SCarte
Mémoire
Fond de Panier
Co
uch
e d
'Acc
èsF
on
d d
e p
anie
rC
ou
che
Tran
sfer
t d
e D
on
née
s
Dé
fin
i p
ar
la n
orm
e
4
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesIdentification des signaux du bus DTB
Notations: 1 : Signaux émis par le Maître 2 : Signal émis par le module fonctionnel de limitation du temps d'occupation du Bus 3 : Signal émis par l'Esclave 4 : Signaux émis par le Maître si le DTB est cycle d'écriture, par l'Esclave si le DTB est un cycle de
lecture
A : Signaux de sélection des octets du transfert B : Le front descendant sert au contrôle de séquencement pour la coordination du transfert entre
Maître et
Esclave
Lignes d’Adresses Lignes de Données Lignes de Commandes
1 A01 –A31 Address Bus 4 D00-D31 Data Bus 1 AS* Address Strobe
1 AM0-AM5 Address Modifier 1 – B DS0* Data Select 0
1 - A DS0* Data Select 0 1 - B DS1* Data Select 1
1 - A DS1* Data Select 1 2 BErr Bus Error
1 Lword* Long Word 3 DTAck* Data TransfertAcknowledge
1 Write* Write
5
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesLes lignes d ’adresses
Adressage 4 catégories:
Groupements possibles
Les signaux utilisés pour l ’adressage Les lignes d'adresses A02 - A31 Les lignes additionnelles pour dissocier le type de transfert sur le DTB
DS0* - DS1* - A01 - Lword* 16 combinaisons dont 2 illégales:
Catégorie Adresse de l’octetOctet (0) xxxx xxxx xxxx xxxx xxxx xxxx xxxx xx00Octet (1) xxxx xxxx xxxx xxxx xxxx xxxx xxxx xx01Octet (2) xxxx xxxx xxxx xxxx xxxx xxxx xxxx xx10Octet (3) xxxx xxxx xxxx xxxx xxxx xxxx xxxx xx11
DS1* DS0* A01 Lword*1 0 1 00 1 1 0
6
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesLes lignes d ’adresses
Les différents cycles DTB
Type de Cycle DTB DS1* DS0* A01 Lword*
Transferts de blocs par : 4 octets Lecture/écriture octet(0-3) Bas Bas Bas Bas
Transferts octet unique RMW L/M/E octet(0) L/M/E octet(1) L/M/E octet(2) L/M/E octet(3)
BasHautBasHaut
HautBasHautBas
BasBasHautHaut
HautHautHautHaut
Transferts double octet RMW L/M/E octet(0-1) L/M/E octet(2-3)
BasBas
BasBas
BasHaut
HautHaut
Transferts quadruple octet RMW L/M/E octet(0-3) Bas Bas Bas BasTransferts non aligné L//E octet(0-2) L/ E octet(1-3) L/ E octet(1-2)
BasHautBas
HautBasBas
BasBasHaut
BasBasBas
Type de Cycle DTB DS1* DS0* A01 Lword*
Uniquement d’adressage Haut Haut x x
Transferts octet unique pair Lecture/écriture octet(0) Lecture/écriture octet(2)
BasBas
HautHaut
BasHaut
HautHaut
Transferts octet unique impair Lecture/écriture octet(1) Lecture/écriture octet(3)
HautHaut
BasBas
BasHaut
HautHaut
Transfert double octet Lecture/écriture octet(0-1) Lecture/écriture octet(2-3)
BasBas
BasBas
BasHaut
HautHaut
Transfert quadruple octet Lecture/écriture octet(0-3) Bas Bas Bas Bas
Transferts de blocs par : 1 octet 1ier transfert L/E: octet(2) 2ième transfert L/E : octet(3) 3ième transfert L/E: octet(0) 4ième transfert L/E : octet(1) 5ième transfert L/E : octet(2)
BasHautBasHautBas
HautBasHautBasHaut
Hautxxxx
Hautxxxx
Transferts de blocs par : 2 octets 1ier transfert L/E : octet(2-3) 2ième transfert L/E : octet(0-1) 3ième transfert L/E : octet(2-3) 4ième transfert L/E : octet(0-1)
BasBasBasHaut
BasBasBasBas
Hautxxx
Hautxxx
7
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesLes lignes de modification d ’adresses
Principes
3 catégories : Mode Superviseur Mode Utilisateur Réservée
3 formats : Adressage court : A2 - A15
Destiné au pilotage des Entrées/Sorties Adressage standard : A2 - A23 Adressage long : A2 - A31
Destiné à l'adressage de la mémoire
Les signaux AM0 - AM5
8
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesLes lignes de modification d ’adresses
Les codes modificateurs d'adresse Modificateur d’adresse
Co
de
Hex
5 4 3 2 1 0Fonction
3F H H H H H H Transfert std (bloc) en mode superviseur
3E H H H H H B Accès std en mode superviseur au programme
3D H H H H B H Accès std en mode superviseur aux données
3C H H H H B B Réservé
3B H H H B H H Transfert std (bloc) en mode non privilégié
3A H H H B H B Accès std en mode non privilégié au programme
39 H H H B B H Accès std en mode non privilégié aux données
38 H H H B B B Réservé
37 H H B H H H Réservé
36 H H B H H B Réservé
35 H H B H B H Réservé
34 H H B H B B Réservé
33 H H B B H H Réservé
32 H H B B H B Réservé
31 H H B B B H Réservé
30 H H B B B B Réservé
2F H B H H H H Réservé
2E H B H H H B Réservé
2D H B H H B H Accès court en mode superviseur
2C H B H H B B Réservé
2B H B H B H H Réservé
2A H B H B H B Réservé
29 H B H B B H Accès court en mode non privilégié
28 H B H B B B Réservé
27 H B B H H H Réservé
26 H B B H H B Réservé
25 H B B H B H Réservé
24 H B B H B B Réservé
23 H B B B H H Réservé
22 H B B B H B Réservé
21 H B B B B H Réservé
20 H B B B B B Réservé
Modificateur d’adresse
Co
de
Hex
5 4 3 2 1 0Fonction
1F B H H H H H Défini par l’utilisateur
1E B H H H H B Défini par l’utilisateur
1D B H H H B H Défini par l’utilisateur
1C B H H H B B Défini par l’utilisateur
1B B H H B H H Défini par l’utilisateur
1A B H H B H B Défini par l’utilisateur
19 B H H B B H Défini par l’utilisateur
18 B H H B B B Défini par l’utilisateur
17 B H B H H H Défini par l’utilisateur
16 B H B H H B Défini par l’utilisateur
15 B H B H B H Défini par l’utilisateur
14 B H B H B B Défini par l’utilisateur
13 B H B B H H Défini par l’utilisateur
12 B H B B H B Défini par l’utilisateur
11 B H B B B H Défini par l’utilisateur
10 B H B B B B Défini par l’utilisateur
F B B H H H H Transfert étendu (bloc) en mode superviseur
E B B H H H B Accès étendu en mode superviseur au programme
D B B H H B H Accès étendu en mode superviseur aux données
C B B H H B B Réservé
B B B H B H H Transfert étendu (bloc) en mode non privilégié
A B B H B H B Accès étendu en mode non privilégié au programme
9 B B H B B H Accès étendu en mode non privilégié aux données
8 B B H B B B Réservé
7 B B B H H H Réservé
6 B B B H H B Réservé
5 B B B H B H Réservé
4 B B B H B B Réservé
3 B B B B H H Réservé
2 B B B B H B Réservé
1 B B B B B H Réservé
0 B B B B B B Réservé
9
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesLes lignes de Données
Formats Physiques Un seul connecteur (P1) Format DTB 16 bits (au maximum 2 octets) Deux connecteurs (P1 + P2) Format DTB 32 bits (au maximum 4 octets)
Les transferts des Données Quatre possibilités de transfert de Données :
D08(EO) : transfert octet (pair et impair) D08(O) : transfert octet (impair) D16 : transfert octet (pair et impair) et mot D32 : transfert octet (pair et impair), mot et double mots
10
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesLes lignes de Données
Les lignes de DonnéesType de Cycle DTB
D24-D31 D16-D23 D08-D15 D00-D07
Uniquement d’adressage Pas d’octets transférés
Transferts octet unique pair Lecture/écriture octet(0) Lecture/écriture octet(2)
Octet(0)Octet(2)
Transferts octet unique impair Lecture/écriture octet(1) Lecture/écriture octet(3)
Octet(1)Octet(3)
Transfert double octet Lecture/écriture octet(0-1) Lecture/écriture octet(2-3)
Octet(0)Octet(2)
Octet(1)Octet(3)
Transfert quadruple octet Lecture/écriture octet(0-3) Octet(0) Octet(1) Octet(2) Octet(3)
Transferts de blocs par : 1 octet 1ier transfert L/E: octet(2) 2ième transfert L/E : octet(3) 3ième transfert L/E: octet(0) 4ième transfert L/E : octet(1) 5ième transfert L/E : octet(2)
Octet(2)
Octet(0)
Octet(2)
Octet(3)
Octet(1)
Transferts de blocs par : 2 octets 1ier transfert L/E : octet(2-3) 2ième transfert L/E : octet(0-1) 3ième transfert L/E : octet(2-3) 4ième transfert L/E : octet(0-1)
Octet(2)Octet(0)Octet(2)Octet(0)
Octet(3)Octet(1)Octet(3)Octet(1)
Les lignes de DonnéesType de Cycle DTB
D24-D31 D16-D23 D08-D15 D00-D07
Transferts de blocs par : 4 octets Lecture/écriture octet(0-3) Octet(0) Octet(1) Octet(2) Octet(3)Transferts octet unique RMW L/M/E octet(0) L/M/E octet(1) L/M/E octet(2) L/M/E octet(3)
Octet(0)
Octet(2)Octet(1)
Octet(3)
Transferts double octet RMW L/M/E octet(0-1) L/M/E octet(2-3)
Octet(0)Octet(2)
Octet(1)Octet(3)
Transferts quadruple octet RMW L/M/E octet(0-3) Octet(0) Octet(1) Octet(2) Octet(3)
Transferts non aligné L//E octet(0-2) L/ E octet(1-3) L/ E octet(1-2)
Octet(0) Octet(1)Octet(1)Octet(1)
Octet(2)Octet(2)Octet(2)
Octet(3)
11
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesLes lignes de Données
Sélection des lignes actives du bus de données
DBT : Partie active du bus de Données Signaux de ContrôleD24-D31 D16-D23 D08-D15 D00-D07 DS1* DS0* A01 Lword*Octet(0) Octet(1) Octet(2) Octet(3) 0 0 0 0Octet(0) Octet(1) Octet(2) 0 1 0 0
Octet(1) Octet(2) Octet(3) 1 0 0 0Octet(1) Octet(2) 0 0 1 0
Octet(2) Octet(3) 0 0 1 1Octet(0) Octet(1) 0 0 0 1
Octet(3) 1 0 1 1Octet(2) 0 1 1 1
Octet(1) 1 0 0 1Octet(0) 0 1 0 1
1 0 1 0Combinaisons Illégales
0 1 1 0
DTB:
12
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesLes lignes de Commande
AS* : Front descendant Mémorisation de l'adresse dans l'Esclave
DS0*, DS1* : Sélection des lignes actives du bus de données pendant un DTB Si Write : Front descendant Le Maître a placé une Donnée valide sur le
bus Si Read : Front montant L'Esclave peut retirer la Donnée valide du bus
DTACK* : Acceptation par l'Esclave du cycle DTB
BERR* : Peut être commandé par 2 types de module fonctionnel Un Module Esclave : Exemple : Écriture en ROM, Erreur de Format, … Le Module Limiteur du Temps d'occupation
Exemple : Un cycle Bus en dehors de la partition mémoire
Write* : Défini le type du cycle DTB Lecture : Transfert de Donnée de l'Esclave vers le Maître Écriture : Transfert de Donnée du Maître vers l'Esclave
13
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de Données Synthèse: Les schémas blocs
Maître
LWor
d*
IAck
*AS
*A
M0-
AM
5
DS
0*, D
S1*
Writ
e*
BE
rr*
Lign
es d
e D
onné
esLi
gnes
d'A
dres
ses
DTA
ck*
BC
lr*S
ysre
set*
AcF
ail*
Bus de Transfert de Données
Bus utilitaire
Bus d'interruption
Bus d'Arbitrage
Logique d'Interface au Fond de Panier
Esclave
LWor
d*
IAck
*AS
*A
M0-
AM
5
DS
0*, D
S1*
Writ
e*
BE
rr*
Lign
es d
e D
onné
esLi
gnes
d'A
dres
ses
DTA
ck*
Sys
rese
t*
Bus de Transfert de Données
Bus utilitaire
Bus d'interruption
Bus d'Arbitrage
Logique d'Interface au Fond de Panier
Limiteur de Tempsd'Occupation du Bus
DS
0*, D
S1*
BE
rr*
DTA
ck*
DTB
Bus utilitaire
Bus d'interruption
Bus d'Arbitrage
LIFP
BE
rr*
Type de Maître :D08(EO), D16, D32A16, A24, A32
Type d'Esclave :D08(O), D08(EO), D16, D32A16, A24, A32
Détecteur d'Accès
LWor
d*
AS
*A
M0-
AM
5
DS
0*, D
S1*
Writ
e*
Lign
es d
'Adr
esse
s
Sys
rese
t*
DTB
Bus utilitaire
Bus d'interruption
Bus d'Arbitrage
LIFP
Le
ctu
re
Ecr
iture
Type Détecteurs AccèsA16, A24, A32
14
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de Données Les différentes possibilités de Transfert
Les transferts simples Lecture Écriture
Les modes uniquement d'adressage Pas de transfert de Données (signaux de validation de Données jamais actifs) Utilisé pour améliorer les performances du système par anticipation de cycle
Les modes de transferts par bloc
Adressage unique pour transfert de 1 à 256 octets, interdiction de dépasser 1 modulo 256
Mémorisation de l'adresse par l'esclave sur le premier transfert Incrémentation dans l'esclave de l'adresse de base
15
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesLes différentes possibilités de Transfert : Cycle de lecture
40,30
35,10
0,10
0,0
0,0
0,0-,30
0,0 0,0 0,00,0
A01-A31
AM0-AM5
LWord*
IAck*
Write*
AS*
DS0*
DS1*
D0-D31
DTAck*
10,0
40,30
Max10,20
30,T 0,0
Adresser l'Esclave
Spécifier Sens Tranfert Traiter Adresse
Spécifier Champ Données
Extraire les Données
Présenter : Add, AMCommander : LWord*, IAck* = 1Commander : AS* = 0
Commander : Write* = 1
Attendre : DTAck* et BErr* = 1Commander : DS0* = 0 et DS1*
Recevoir : Add, AM, LWord*Recevoir : IACk* = 1Recevoir : AS* = 0Si : reconnaissance Adresse Alors : Activer le Signal deReconnaissance Carte Sinon : Ne pas activer le signal deReconnaissance carteFin
Recevoir : Write* = 1Lire la Donnée sur l'unité sélectionnéeRecevoir : DS1*Recevoir : DS0* = 0Fournir les Données sur le bus
Répondre au Maître
Commander : DTAck* = 0
Acquérir les Données
Terminer le cycle DTB
Recevoir les DonnéesRecevoir : DTAck* = 0
Si : Dernier cycle Alors : Libérer : Add, AM, LWord*, IAck*FinCommander : DS0*, DS1* et AS* = 1
Terminer la réponseTerminer la fin du cycle
Fin
FIN
Acquitter la fin de cycle
Si : Dernier cycle Alors : Libérer : DS0*, DS1* et AS* Sinon : Aller à Adresser l'EsclaveFin
Recevoir : DS0* et AS* = 1Libérer le bus de Données
Libérer : DTAck* = 1
Transfert ASYNCHRONE
x,y : x représente le temps minimum pour le Maîtrey réprésente le temps minimum pour l'esclave
Max x,y : x représente le temps maximum pour le Maîtrey représente le temps maximum pour l'esclave
Maître Esclave
16
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de DonnéesLes différentes possibilités de Transfert : Cycle d ’écriture
40,30
35,10
0,10
0,0
0,0
0,0-,30
A01-A31
AM0-AM5
LWord*
IAck*
Write*
AS*
DS0*
DS1*
D0-D31
DTAck*
10,0
40,30
Max10,20
30,T 0,0
Adresser l'Esclave
Spécifier Sens Tranfert Traiter Adresse
Spécifier Champ Données
Extraire les Données
Présenter : Add, AMCommander : LWord*, IAck* = 1Commander : AS* = 0
Commander : Write* = 0
Attendre : DTAck* et BErr* = 1Positionner les Données sur le busCommander : DS0* = 0 et DS1*
Recevoir : Add, AM, LWord*Recevoir : IACk* = 1Recevoir : AS* = 0Si : reconnaissance Adresse Alors : Activer le Signal deReconnaissance Carte Sinon : Ne pas activer le signal deReconnaissance carteFin
Recevoir : Write* = 0Recevoir : DS1*Recevoir : DS0* = 0Acquérir les Données sur le BusEcrire la Donnée sur l'unité sélectionnée
Répondre au Maître
Commander : DTAck* = 0
Terminer le cycle DTB
Recevoir : DTAck* = 0Si : Dernier cycle Alors : Libérer : Add, AM, LWord*, IAck*, DataFinCommander : DS0*, DS1* et AS* = 1
Terminer la fin du cycle
Fin
FIN
Acquitter la fin de cycle
Si : Dernier cycle Alors : Libérer : DS0*, DS1* et AS* Sinon : Aller à Adresser l'EsclaveFin
Recevoir : DS0* et AS* = 1Libérer : DTAck* = 1
Transfert ASYNCHRONE
x,y : x représente le temps minimum pour le Maîtrey réprésente le temps minimum pour l'esclave
Max x,y : x représente le temps maximum pour le Maîtrey représente le temps maximum pour l'esclave
Maître Esclave
0,0
17
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de Données Les différentes possibilités de Transfert
Les modes RMW
Cycle indivisible : Lecture / Modification / Écriture pour gérer les ressources communes
Par maintien pendant tout le cycle du signal de validation d'adresse
18
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de Données Les différentes possibilités de Transfert: Cycle RMW
A01-A31
AM 0-A M 5
LW ord*
IA ck*
W rite*
AS *
D S 0*
D S 1*
D 0-D 31
D TAck*
35,10
0,10
0,0
0,0-,30
0,0 0,0 0,00,0
10,0
40,30
Max10,20
30,T 0,0
0,0
0,0
10,0
40,30
0,0
0,0
0,10
35,10
30,30
-,30
40, 300,0
19
Ch. Garnier
LE BUS VME OU BUS CEI 8212ième Partie: Le Transfert de Données Les différentes possibilités de Transfert
Les apports de la révision D
Transfert d'une Donnée unique : A64 :D64, A64 :D32, A64 : D16, A64 : D08(EO), A64 : D08(O)
Transfert d'une ou plusieurs Données : A64 :D64 BLT, A64 :D32 BLT, A64 : D16 BLT, A64 : D08(EO) BLT
Nota 1 : Les autres modes de transferts restent toujours valides
Nota 2 : Les cycles D64 transfèrent toujours 8 octets à une adresse paire (modulo 8)
Nota 3 : Un transfert en D64 débute toujours par un premier cycle d'adressage Dans les transferts classiques, le premier cycle comporte une Donnée
Nota 4 : Taille des blocsD64 Le bloc est limité à 2 kilo octetAutres cas Le bloc est limité à 256 octets
Nota 5 : Définition des champs Adresse / Donnée
Octet (0) Octet (7)Octet (6)Octet (5)Octet (4)Octet (3)Octet (2)Octet (1)
A24-A31 D0-D7D8-D15D16-D23D24-D31LWord*A1-A7
A8-A15A16-A23 A02 LWord*A01DS1*DS0*
Bas BasBasBasBas
Utilisation des lignes de Données et d'adresses pour réaliser un cycle D64 Lignes de contrôle pour un cycle D64