GPIB

From Eric

(Difference between revisions)
Jump to: navigation, search
m
m
Line 20: Line 20:
Un équipement peut être  
Un équipement peut être  
-
* controler : il gère le trafic, reçoit et émet des données,
+
* contrôleur (controler) : il gère le trafic, reçoit et émet des données,
-
* listener : il recoit des données,
+
* écouteur (listener) : il recoit des données,
-
* talker : il émet des données.
+
* parleur (talker) : il émet des données.
-
Le controler détermine qui parle et qui écoute
+
Le contrôleur détermine qui parle et qui écoute
Chaque instrument a une adresse en écoute / en émission (voire les deux).
Chaque instrument a une adresse en écoute / en émission (voire les deux).
Line 32: Line 32:
Le handshake utilise 3 lignes :
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é)
* 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 listener pour signaler qu'il n'est pas prêt à recevoir des données
+
* 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 listener pour signaler qu'il n'a pas encore lu la donnée
+
* 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 :
Le protocole est le suivant :
-
* (1) NFRD passe à l'état haut lorsque tous les listeners sont prêts à recevoir une donnée. C'est le listener le plus lent qui détermine la remontée du signal.
+
* (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 talker met les données sur le bus.
+
* (2) Le parleur met les données sur le bus.
-
* (3) DAV passe à l'état bas lorsque le talker indique que les donnes sont prêtes.
+
* (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 listener indique qu'il n'est pas prêt à recevoir une nouvelle donnée. C'est le listener le plus rapide qui détermine l'activation de NRFD.
+
* (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 listeners ont accepté la donnée. C'est l'écouteur le plus lent qui détermine la remontée du signal.
+
* (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 talker indique qu'il cesse de piloter les lignes de données.
+
* (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.
* (7) NDAC passe à l'état bas.
Line 59: Line 59:
** 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.  
** 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 (End Or Identity)  
-
** EOI  au niveau BAS : signale la fin d'un message émis par un talker ou est utilisé par le contrôleur lors du polling après un SRQ.
+
** 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.
Line 67: Line 67:
== L'accès au bus==
== L'accès au bus==
-
Le contrôleur donne accès à un instrument en listener de la façon suivante :  
+
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 listeners actuels (pas indispensable)
+
* Il émet la commande Unlisten (UNL, 0x3F) pour déconnecter les éventuels écouteurs actuels (pas indispensable)
-
* Il émet la commande Listener Address (LAD, 0x40+ adresse de l'instrument) pour faire passer un instrument donné en listener.
+
* 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 talker de la façon suivante :  
+
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 listeners actuels (pas indispensable)
+
* Il émet la commande Untalk (UNT, 0x5F) pour déconnecter les éventuels écouteurs actuels (pas indispensable)
-
* Il émet la commande Talker Address (TAD, 0x20+ adresse de l'instrument) pour faire passer un instrument donné en talker.
+
* 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 fonctionnement de la requête de service (Service Request, SRQ) ==
Line 80: Line 80:
* Un instrument place la ligne SRQ à l'état BAS pour signaler la demande.
* 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 émet une commande Serial Poll Enable (SPE) à destination de tous les instruments.
-
* Le contrôleur fait passer chaque instrument en talker
+
* Le contrôleur fait passer chaque instrument en parleur
* L'instrument désigné émet un Event Status dont la structure est la suivante :  
* L'instrument désigné émet un Event Status dont la structure est la suivante :  
** Bit 7 : Power On
** Bit 7 : Power On
Line 96: Line 96:
= Les commandes standards =
= Les commandes standards =
-
 
Un instrument doit être capable de répondre aux commandes suivantes :  
Un instrument doit être capable de répondre aux commandes suivantes :  
[[File:gpib_commandes_standards.jpg|400px|thumb|none]]
[[File:gpib_commandes_standards.jpg|400px|thumb|none]]
-
 
-
 
= Quelques adaptateurs GPIB <=> Série =
= Quelques adaptateurs GPIB <=> Série =

Revision as of 19:56, 1 June 2012

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):

Gpib connector.jpg

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.


Gpib handshake.jpg

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 :

Gpib commandes.jpg

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 :

Gpib commandes standards.jpg

Quelques adaptateurs GPIB <=> Série

Voir adaptateur GPIB/USB

Connexion des drivers SN75160/161

Quelques exemples :

Gpib sn7516x.jpg
Personal tools