GwINSTEK AFG-2012

De knowledge
Révision datée du 28 juin 2023 à 13:42 par Jpinon (discussion | contributions) (Envoi de signal)
Aller à la navigation Aller à la recherche
AFG-2012
L'instrument lui même

Le AFG-2012GW INSTEK n'est plus distribué mis des successeurs existent et devraient se comporter de façon similaires.

Spécifications principales

Fabricant GW INSTEK
Type de générateur Fabricant
Fréquence maximum 12 MHz
Gamme de fréquence des formes d'onde 0,1Hz...1MHz (parcours triangulaire), 0,1Hz...12MHz (forme d'onde rectangulaire), 0,1Hz...12MHz (forme d'onde sinus)
Nombre de canaux 1
Durée d'enregistrement de la mémoire 4kpts/ch (4096)
Résolution verticale 10 bits
Paramètres de sortie impédance: 50Ω
Interface USB
Formes d'ondes arbitraire, bruit, rectangulaire, sinus, triangulaires
Echantillonage 20 millions d'échantillons
Compatibilité logicielle Labview

Je souligne les points qui me semblent être un point fort du produit.

La documentation est disponible : Instructions détaillées.

Les logiciels

AFG Arbitrary Waveform Software

C'est le logiciel fournit avec le produit. Il est un peu rustique mais fait le job pour envoyer des formes d'ondes dites "arbitraires".

Ecran principal

Une copie d'écran est donnée ci contre.

On peut facilement générer un fichier CSV compatible avec Excel ou tout éditeur de texte. Le fichier suit ce modèle

Start:,0
Length:,4095
Sample Rate:,1000
0,
11,
19,
20,
....

Description:

  • Ligne 1 : on dit où l'échantillon doit être téléchargé dans l'instrument. Dans notre cas on envoie un signal complet donc on commence à zéro
  • Ligne 2 : Ici on donne la taille de l'échantillon. 4095 est le maximum mais on peut faire plus court.
  • Ligne 3: Le taux d'échantillonnage. Je ne comprends pas bien son rôle. De toute façon il faudra jouer sur le fréquence sur l'appareil. J'ai essayé plusieurs valeurs sans voir de réelle différence.
  • Lignes 4 et suivantes : La valeur des points un par un (ici de 0 a 4094). On a vu que le DAC a une profondeur de 10 bits et, comme on envoie des valeurs signées ce doit être des entiers x tel que : -511 ≤ x ≤ +511.

Ne pas oublier les virgules et les séparateurs de lignes DOIVENT être [CR] + [LF]

Une fois téléchargé dans le générateur on peut jouer sur plusieurs valeurs dont :

  • L'amplitude ⇒ Pour 5 Vpp par exemple -511 correspondra à -5V et 511 à 5V. (0 = 0V). L'offset de décalage fonctionne aussi: Un décalage de +0.5V ⇒ -4.5 V à 5.5V.
  • Pour la fréquence, la fréquence affichée sera le nombre d'échantillons par secondes. Dans le cas ci dessus on a 10 bits a 9600 baud. L'échantillon devra être "joué" toute les 1,04 ms ce qui corresponds a 960 Hz.
    • Pour diffuser un caractère ASCII en 7E1 en 10 bits (un de start, 7 de data, 1 de parité et un de stop) on donnera la vitesse en bps / 10.

Programmation

La documentation dit que le produit est compatible "labview". Je n'ai pas ce produit mais il est surtout possible de l'utiliser avec des scripts python et un raspberry PI.

Sur un raspberry PI

La connexion

Lorsque on le branche le générateur sur le port USB du raspberry PI, il est reconnu par le noyeau linux:

[ 2224.587012] usb 1-1.1.4: new full-speed USB device number 8 using xhci_hcd
[ 2224.725896] usb 1-1.1.4: New USB device found, idVendor=2184, idProduct=001c, bcdDevice= 0.01
[ 2224.725925] usb 1-1.1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2224.725937] usb 1-1.1.4: Product: AFG-2012
[ 2224.725948] usb 1-1.1.4: SerialNumber: GEO900381
[ 2224.735388] cdc_acm 1-1.1.4:1.0: ttyACM0: USB ACM device

2184 correspond bien au fabricant du produit branché : "GW Instek"

Il est reconnu comme un device ACM (abstract control model) qui etait utilisé par les modems ITU V.250 (ceux que l'on appelait modem compatibles HAYES : Ceux qui répondaient aux commandes "AT...").

On peut d'ailleurs s'y connecter :

minicom -b 115200 -D /dev/ttyACM0

Pour façiliter la saisie il est pratique d'activer l'echo local avec

<Ctrl> + A + e

Puis on lui pose la première question : "Qui est tu?"

*IDN?

Il réponds:

Welcome to minicom 2.8

OPTIONS: I18n 
Port /dev/ttyACM0, 15:37:31

Press CTRL-A Z for help on special keys

*IDN?
GW INSTEK,AFG-2012,SN:GEO900381,V2.02

Notre générateur est connecté.

Envoi d'un signal arbitraire