Programmation appareils de mesure par GPIB USB

Bonjour,

J'ai un oscillo dit "USB" (Hantek 6082B) que je ne sais faire fonctionner que sur un très, très, vieux laptop sous windows XP.
Le XP du laptop commence avoir un comportement inquiétant.
Ceci explique que je m'intéresse à la programmation des appareils de mesure dans l'espoir de faire quelque chose qui tourne sous Linux.

Note 1 : il y a probablement la solution Wine, mais c'est comme ça, je n'aime pas Wine.
Note 2 : j'ai interrogé Hantek. D'abord hantek.eu, j'attends toujours leur réponse depuis 2 mois, puis hantek.com, ils m'ont répondu très succintement : "ce n'est utilisable que sur windows", même pas une formule de politesse alors que j'en avait mis une dans ma question.

A un moment de ma carrière, j'ai connu le HPIB, devenu le GPIB, puis IEEE 488.
Nous fonctionnions avec des "calculateurs" HP série 9000 et langage basic procédural HP.
Pour la programmation, nous avions eu un stagiaire grandes écoles pendant 3 mois qui nous avait écrit des programmes, que nous adaptions à la marge.

Retour au réel d'aujourd'hui.
Je trouve à l'arrière de l'oscillo une connexion marquée : USBXI, bien sûr non documentée dans le USER MANUAL.
Cela me rappelle le VXI et donc me laisse espérer une possibilité de programmation.

Actualisation du sujet :
la programmation unifiée a vu le jour entre GPIB, USB, série.
National Instrument, l'auteur de LabView, a apporté sa contribution avec VISA et SCPI ou y a apporté une contribution active.
La version NI de visa est libre d'usage, mais reste propriétaire.
Une version libre existe en python avec pyvisa et pyvisa-py.
J'utilise pyvisa et pyvisa-py en version python3.

Travaux pratiques, matériels à disposition :

  1. Hantek DSO6082B
  2. analyseur logique, Clone Saleae, version boîtier et "antique" prise USB micro
  3. analyseur logique, Clone Saleae, Sigrok version sans boîtier MAIS avec USB C :grinning:

Action :
Avec les informations données par lsusb, J'ai créé un fichier rules pour Udev

#Analyseurs logiques
#Saleae clone
ATTRS{idVendor}=="0925", ATTRS{idProduct}=="3881", MODE:="0666"
#Sigrok USB C
ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="608c", MODE:="0666"
#
#Oscillo Hantek DSO6082B
ATTRS{idVendor}=="04b4", ATTRS{idProduct}=="6081", MODE:="0666"

Le fichier python :

import pyvisa

# Créer un gestionnaire de ressources
rm = pyvisa.ResourceManager()
# Lister les ressources disponibles
resources = rm.list_resources()
print("Ressources disponibles :", resources)

La doc de quatre IA me dit que je devrais obtenir quelque chose de resemblant à :
USB0::0x1AB1::0x0588::DSO6082B::INSTR

et j'obtiens :
Ressources disponibles : ('ASRL/dev/ttyS0::INSTR',)

Qui m'indique un port série du PC Linux /dev/ttyS0 au lieu d'un port USB /dev/ttyUSBx ou /dev/ttyACMx.
Information constante que le matériel soit ou non connecté au PC !

Questions :

  1. quelqu'un a-t-il de l'expérience avec python pour programmer des appareils de mesures.
  2. Ai-je oublié quelque chose ou n'ai-je pas fait quelque chose.

Note :
Il y a bien la possibilité que le matériel ne supporte pas cette méthode de programmation.
Mais j'ai trouvé la documentation des mnémoniques SCPI Hantek. Il reste la possibilité qu'Hantek ne dialogue qu'avec Windows.

Pour les clones de Saleae, qui sont tous gérés par Sigrok, je n'ai pas d'hypothèse.
Je ne connais absolument pas quelle méthode de programmation ils acceptent.

Merci pour votre participation.

Bernard

Bonjour Bernard

Pour moi le Saleae 8 bits et ses clones ne sont pas gérés comme 'instruments de mesure USB'
Si Le Saleae 8 bits est aussi facilement cloné c'est que Saleae pour son 8 bits s'est contenté de reproduire telle-quelle une note d'application (à retrouver) de Cypress pour ses CYCC68013A "EZ-USB FXLP USB"

Le driver envoie dans la RAM du CYC68013 le code à exécuter, code qui initialise un transfert BULK de l'état des GPIO . c'est très basique, pas de langage de commandes, une simple "pompe de données binaires" paramétrée par le code envoyé dans le 8051 des CYC68013

Firmware Open Source fx2lafw https://sigrok.org/wiki/Fx2lafw
Code source, binaires , liste des appareils supportés.....

De très nombreux appareils écomomiques fonctionnent avec ces CYC68013A !!

Dont les Hantek 6022 , avec CYC68013A
.....mais pas le 6082 d'après la liste du matériel pris en charge par fx2lafw

Avez vous un driver dédié à cet appareil sur votre PC sur lequel il fonctionne ?

Alain
Ta réponse est très intéressante car lsusb me donne pour l'oscillo :
Bus 001 Device 006: ID 04b4:6081 Cypress Semiconductor Corp.

Ce pourrait être le même principe que pour les clones de Saleae.
Je ne sais plus sur quel forum c'était (j'en ai parcouru un grand nombre) , j'ai compris que pour les Hantek il fallait charger un firmware alternatif et que certains avaient briqué leur oscillo.
Le projet Sigrok a traité du cas du 6022 et du 6052, mais n'a pas été jusqu'à traiter du cas du 6082 et dans tous les cas il fallait changer le firmware de l'appareil.

J-M-L
Je n'ai pas encore regardé.
La nébuleuse windows me fait avancer à reculons.
La réponse de hantek.com :
Cet appareil n'est pas prévu pour être utilisé avec autre chose que windows ne me laisse pas trop d'espoir.

J'espérais, sans trop y croire, que quelqu'un aurait une expérience pratique à partager.
Il est vrai que cette activité de programmation des appareils de mesure est marginale sur ce forum, mais qui ne tente rien n'a rien.

Merci.

-A l'intérieur du Hantek 6082 vois tu un CYC68013A ?

-Les fabricants d'appareils à base de CYC680133 'individualisent' sommairement leur produit (identiques du point de vue hardware) avec un VID:PID spécifique stocké dans une petite EEPROM reliée à la puce Cypress

Une EEPROM avec le bon VID:PID avait suffit pour qu'une qu'une carte de développement Mini Board CYC68013A passe pour un USBEE SX (le logiciel USBEE Suite de CVAW,concurent de Saleae aujourd'hui disparu permettait de rejouer facilement un signal enregistré.)

Pour ton scope Hantek il faut probablement , comme tu le dis , intervenir dans le code source 8051 du firmware fx2lawfw s'il se confirme que la mêmee puce USB Cypress est utilisée

Si tu as Wireshark sur ton PC XP, tu peux essayer de voir ce qui passe sur l'USB.
Comme l'indique @J-M-L , il faudrait voir qu'elle driver ils utilisent sur Windows, avec un peu de chance tu aura peut être une direction de recherche.

un raccourci :slight_smile:

Sur le site Hantek le SDK du scope 6082
https://www.hantek.com/download?key=fjzl&sid=2&pid=31&word=6082BE

@68tjs va devoir faire du Windows ou du Wine :see_no_evil:

Dans le .inf du driver, il est bien indiqué "Copyright 2017 Cypress Semiconductor Corporation"

Du windaube cela m'étonnerait, du Wine c'est bien ce que je crains.

J'espère que je m'en remettrai. :grin:

Franchement l'analyseur logique me sert plus que le scope et lui, il fonctionne sous Linux.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.