• # Plein d'autres alternatives

    Posté par . En réponse au journal PICOSCOPE : Oscilloscopes numériques sous Linux. Évalué à 10.

    Salut,

    j'ai passé pas mal de temps à regarder ce qui se fait en solution de mesure de signaux, je vais donc en profiter pour te donner mon opinion.

    Tout d'abord, rien n'est ouvert dans PicoScope, c'est dommage sachant que des alternatives libre existent dans tous les domaines.

    Pour moi il faut discriminer deux usages :
    * la mesure de signaux analogiques,
    * la mesure de signaux numériques,

    Je ne suis pas un spécialiste de mesures numériques donc je laisse cela à d'autres. Pour la mesure de signaux analogiques il faut savoir quelle est la fréquence que tu vises mais également la résolution que tu souhaites avoir.

    Dans notre cas au boulot, nous n'avons que rarement besoin de dépasser les 2kHz, donc il est possible de tout traiter à la volée sans buffers internes sur la carte. Si tu es dans ce cas de figure alors le moyen OpenSource le plus simple est d'utiliser les usbdux car elles sont basées sur les drivers comedi que l'on trouve facilement dans les dépôts de la plupart des distributions. Il existe une interface pour la visualisation sommaire et l'enregistrement appelée comedirecord, maintenu par Bernd Porr (qui a conçu les usbdux). La version sigma de l'usbdux permet de mesure 16 voix en 24 bits à 1kHz ou 8 voix à 2kHz ou 1 voix à 4kHz. Ça commence à être raisonnable pour une carte à 500€. Il est par contre nécessaire de faire un montage adaptateur de tension pour se mettre dans les gammes qui t'intéressent.

    Si tu veux aller plus vite il existe la usbdux fast qui permet d'aller en 12 bits jusqu'à 1MHz en continu et prendre 256 échantillons à 30MHz ce qui commence à être très correct. Elle coûte le même prix. Si on accepte le fait de devoir faire une adaptation de tension alors c'est clairement ce qu'il y a de mieux sous linux.

    Il existe aussi les labjacks
    qui ne sont pas trop chères et permettent de faire pas mal de choses, j'en avais utilisées en 2009 et franchement c'était pas mal mais une latence de 10 ms pour l'envoie des commandes m'avait découragée. Je n'ai pas réessayé depuis. Ils ont des drivers python pour l'usb et l'ethernet (pas essayé le wifi) mais ce n'est plus comedi

    Un kickstarter complètement hallucinant a réussi. Je n'ai pas encore essayé (commandes publique toussa ...) le budget est bien plus élevé mais les performances annoncées sont proprement géniales. API en java pas compatible avec comedi.

    Les gens du CERN ont aussi fait pas mal avancé les choses avec des cartes PCIe avec des FPGA ou des firmwares pour différentes cartes filles sont disponibles. Devant géré des parcs de cartes énormes ils ont trouvé des défaut majeurs par rapport à leur problématiques dans comedi ils ont développé ZIO mais ça ne bouge plus trop depuis 2013 et c'est un module noyau à compiler donc plus complexe ...

    Tu peux aussi te diriger si tu n'as pas besoin de vitesse vers des solutions de type multimètre de labo de chez agilent, l'intérêt réside dans le fait que quelque soit l'interface : GPIB, usb, ethernet tu peux leru parler via des commandes ascii en SCPI ou via une interface de plus haut niveau telle que VISA. Il existe d'ailleurs une très bonne lib en python pour faire ça PyVisa qui peut être utilisée depuis peu sans le backend de National Instrument. On a essayé et on en est très content, on a réussi à refaire fonctionner un générateur de tension/courant grâce à ce protocole.

    Récemment, National Instrument à mis en place un système avec un linux temps réel CompactRio Mais là faut vraiment être très riche, de plus ce n'est pas une debian-like mais plutôt un OpenWRT ce qui ne facilite pas l'installation d'outils de type numpy,matplotlib ou scilab pour une acquisition simple sans labview ...

    Si tu es complètement fauché tu peux arriver à de très bons résultats avec des micro-contrôleur, le plus sympa de part ces 16 bits est son faible prix est Teensy. Cela peut demander de coder un peu et de souder mais tu peux te simplifier la vie en installant un code qui te permettra de communiquer avec la carte depuis un PC sans avoir à trop faire de code.

    Sans compter tout ce que tu peux trouver sur seeedstudio qui sont pour la plupart compatible linux.

    Donc franchement, je ne vois pas pourquoi aller chez pico et leur code proprio qui semble bien bogué de ce que l'on peut en lire sur les forums !