GPIB
From Eric
Contents |
Caractéristiques générales
Le bus GPIB comprend
- 8 lignes de données
- 3 lignes de handshake
- 5 lignes de gestion du bus
Autres caractéristiques :
- toutes les lignes sont compatibles TTL
- utilise une logique négative (vrai = 0, faux = 1)
- assure un débit max de de 1Mo/s
- supporte une longueur maximale de 20m
- utilise un codage des données en ASCII sur 7 bits (en général)
Le connecteur est de type "centronics", mais avec 24 broches. La désignation est "24 points ribbon connector".
Le brochage du connecteur est le suivant (de Wikipedia):
Un équipement peut être
- contrôleur (controler) : il gère le trafic, reçoit et émet des données,
- écouteur (listener) : il recoit des données,
- parleur (talker) : il émet des données.
Le contrôleur détermine qui parle et qui écoute
Chaque instrument a une adresse en écoute / en émission (voire les deux).
Fonctionnement du handshake
Le handshake utilise 3 lignes :
- DAV (Data Valid) est activé lorsque les données sont prêtes à être lues (c'est-à-dire après que le bus de données se soit stabilisé)
- NRFD (Not Ready For Data, collecteur ouvert) est activé (niveau BAS) par un écouteur pour signaler qu'il n'est pas prêt à recevoir des données
- NDAC (Not Data Accepted, collecteur ouvert) est activé (niveau BAS) par un écouteur pour signaler qu'il n'a pas encore lu la donnée
Le protocole est le suivant :
- (1) NFRD passe à l'état haut lorsque tous les écouteurs sont prêts à recevoir une donnée. C'est le écouteur le plus lent qui détermine la remontée du signal.
- (2) Le parleur met les données sur le bus.
- (3) DAV passe à l'état bas lorsque le parleur indique que les donnes sont prêtes.
- (4) NRFD passe à l'état bas lorsque au moins un écouteur indique qu'il n'est pas prêt à recevoir une nouvelle donnée. C'est le écouteur le plus rapide qui détermine l'activation de NRFD.
- (5) NDAC passe à l'état haut lorsque tous les écouteurs ont accepté la donnée. C'est l'écouteur le plus lent qui détermine la remontée du signal.
- (6) DAV passe à l'état haut lorsque le parleur indique qu'il cesse de piloter les lignes de données.
- (7) NDAC passe à l'état bas.
Fonctionnement des lignes de contrôle
- ATN (Attention)
- ATN au niveau BAS : le bus de donnée porte une commande
- ATN au niveau HAUT : le bus de donnée porte une donnée
- IFC (Interface Clear)
- IFC au niveau BAS : le bus est réinitialisé
- REN (Remote ENable)
- REN au niveau BAS : le bus est contrôlé par le contrôleur. Normalement, cette ligne est placée au niveau bas aussi longtemps que le contrôleur est en charge du bus.
- SRQ (Service ReQuest, collecteur ouvert)
- SRQ au niveau BAS : un instrument souhaite recevoir ou émettre sur le bus. Le contrôleur va poller les instruments pour connaître celui qui a activer le signal.
- EOI (End Or Identity)
- EOI au niveau BAS : signale la fin d'un message émis par un parleur ou est utilisé par le contrôleur lors du polling après un SRQ.
Les commandes de gestion du bus
Le contrôleur peut émettre les commandes suivantes :
L'accès au bus
Le contrôleur donne accès à un instrument en écouteur de la façon suivante :
- Il émet la commande Unlisten (UNL, 0x3F) pour déconnecter les éventuels écouteurs actuels (pas indispensable)
- Il émet la commande écouteur Address (LAD, 0x40+ adresse de l'instrument) pour faire passer un instrument donné en écouteur.
Le contrôleur donne accès à un instrument en parleur de la façon suivante :
- Il émet la commande Untalk (UNT, 0x5F) pour déconnecter les éventuels écouteurs actuels (pas indispensable)
- Il émet la commande parleur Address (TAD, 0x20+ adresse de l'instrument) pour faire passer un instrument donné en parleur.
Le fonctionnement de la requête de service (Service Request, SRQ)
Le traitement d'une requête de service série est schématiquement le suivant : Lister
- Un instrument place la ligne SRQ à l'état BAS pour signaler la demande.
- Le contrôleur émet une commande Serial Poll Enable (SPE) à destination de tous les instruments.
- Le contrôleur fait passer chaque instrument en parleur
- L'instrument désigné émet un Event Status dont la structure est la suivante :
- Bit 7 : Power On
- Bit 6 : User Request <= ce bit est à un si une reqête de service a été émise.
- Bit 5 : Command Error
- Bit 4 : Execution Error
- Bit 3 : Device Dependent Error
- Bit 2 : Query Error
- Bit 1 : Request Control
- Bit 0 : Operation Complete
- Le contrôleur émet une commande Serial Poll Disable (SPD) pour terminer le polling
Noter qu'il existe aussi un mode parallèle. Ce mode peut être utilisé s'il y au plus 8 instruments. Dans ce mode, le contrôleur envoi un mot de donnée à chaque instrument lui indiquant quel bit il doit positionner pour indiquer s'il a émis la requête.
Les commandes standards
Un instrument doit être capable de répondre aux commandes suivantes :
Quelques adaptateurs GPIB <=> Série
Voir adaptateur GPIB/USB
Connexion des drivers SN75160/161
Quelques exemples :