JaredCabot/siglent-sds2000x-hd

Opérer, programmer (SCPI via USB/LAN), capturer des formes d'onde depuis, vérifier et entretenir les oscilloscopes 12 bits Siglent SDS2000X HD (SDS2104X/2204X/2354X/2504X HD) : déclenchements, décodage, MSO, FFT, alimentation, diagramme de Bode, GBF.

Qu'est-ce que siglent-sds2000x-hd ?

Ce skill est un guide technique complet et opérationnel pour toute personne souhaitant contrôler et exploiter à distance les oscilloscopes 12 bits de la gamme Siglent SDS2000X HD (modèles 100 MHz à 500 MHz). Il est conçu pour les ingénieurs de test, les développeurs d'automatisation et les techniciens de maintenance qui utilisent des scripts Python ou des environnements de test basés sur SCPI (Standard Commands for Programmable Instruments). Le skill explique en détail comment configurer la connexion (USB-TMC, LAN/VXI-11, socket brut, Telnet, web, VNC), maîtriser les particularités du protocole SCPI spécifiques à cette série (comme les transferts de données 12 bits en mode WORD, la précision des requêtes et les limites de déclenchement), et interagir avec tous les sous-systèmes de l'instrument : acquisition, déclenchement, décodage série (I2C, SPI, UART, CAN, LIN…), voies numériques MSO, mesures, mathématiques/FFT, analyse de puissance, diagramme de Bode, générateur de formes d'onde (AWG), et les fonctions de service comme la vérification des performances. Il met en garde contre de nombreux pièges documentés (par exemple, l'oubli de définir `:WAV:WIDT WORD` qui tronque les données 12 bits, ou la nécessité de lire les paramètres après les avoir définis) et fournit des astuces concrètes, comme l'utilisation de `:FORM:DOUB` pour obtenir une précision maximale et la copie des réglages de déclenchement/décodage. Le skill est basé sur les manuels officiels (User Manual, Programming Guide, Service Manual, Datasheet) et indique clairement les points non vérifiés ou à tester, ce qui en fait une ressource fiable mais prudente pour l'automatisation de cet équipement de mesure.

Compatible avec~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/JaredCabot/claude-instrument-skills/tree/HEAD/siglent-sds2000x-hd

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Siglent SDS2000X HD : utilisation, télécommande et maintenance

La famille SDS2000X HD est une gamme d'oscilloscopes 4 voies, 12 bits : SDS2104X HD (100 MHz), SDS2204X HD (200 MHz), SDS2354X HD (350 MHz) et SDS2504X HD (500 MHz). 2 GÉch/s, 200 Mpts/voie, écran tactile 10,1 pouces 1024 x 600, 16 voies numériques en option, GBF 25 MHz mono-voie optionnel, déclenchement et décodage série, analyse de puissance et diagramme de Bode.

Sources :

Réf. courteDocumentUtilisation
UMSDS2000X HD Series User Manual EN01B (302 p.)Panneau avant, chaque menu, comportement
PGSDS Series Programming Guide EN11G (855 p.)SCPI. Guide multi-modèles ; le support SDS2000X HD nécessite le firmware 1.2.0.2 ou ultérieur
QSSDS2000X HD Quick Start EN01CFormulaire abrégé de l'UM ; notes sur l'auto-étalonnage et l'étalonnage rapide
SMSDS2000X HD Service Manual EN01AVérification des performances, démontage, points de test sur la carte
DSSDS2000X HD Datasheet EN01A (pas l'un des quatre manuels ; récupéré d'une copie de distributeur)Spécifications pour lesquelles les manuels renvoient à la fiche technique. Une version plus récente EN02B existe ; les figures peuvent avoir changé

Les références de page sont les numéros de page imprimés ("PG p.482", "UM p.73").

Rien ici n'a été vérifié sur un instrument réel. Le PG couvre dix familles de modèles, et nombre de ses tableaux ont perdu leur mise en page de lignes lors de l'extraction de texte ; lorsqu'une valeur SDS2000X HD a dû être reconstituée, ce fichier le mentionne. Tout élément marqué NON VÉRIFIÉ est une piste à tester. Lorsque le banc de test est en désaccord avec ce fichier, croyez le banc et mettez à jour le skill.

Table des matières

  1. Aperçu de l'instrument
  2. Points qui coincent
  3. Connexion
  4. Conventions SCPI, synchronisation et erreurs
  5. Panneau avant et écran tactile
  6. Système vertical
  7. Horizontal, acquisition, séquence, historique, zoom
  8. Déclenchement
  9. Déclenchement et décodage série
  10. Voies numériques (MSO)
  11. Mesures, curseurs, compteur, DVM
  12. Mathématiques et FFT
  13. Recherche, navigation, test de masque, histogramme
  14. Analyse de puissance et diagramme de Bode
  15. Formes d'onde de référence, formes d'onde mémoire, sauvegarde et rappel
  16. Affichage
  17. Générateur de formes d'onde (GBF)
  18. Lecture des données de forme d'onde
  19. Système, LAN, options, firmware, auto-étalonnage
  20. Vérification des performances
  21. Maintenance et dépannage
  22. Pilote Python
  23. Recettes
  24. Divergences des manuels

1. Aperçu de l'instrument

ÉlémentValeurSource
Voies4 analogiques + déclenchement EXT ; 16 numériques avec SDS2000HD-16LA et la sonde SPL2016UM p.34-35, 64
CAN12 bitsDS
Taux d'échantillonnage2 GÉch/s entrelacé, 1 GÉch/s non entrelacéDS, SM p.28
Mémoire200 Mpts/voie entrelacé, 100 Mpts/voie non entrelacé ; 20 / 10 Mpts en Moyenne et ERES (DS)UM p.73, DS
Taux de rafraîchissementjusqu'à 100 000 formes d'onde/s normal, 500 000 formes d'onde/s séquenceDS, UM p.77
Séquence / Historiquejusqu'à 80 000 segments/images, intervalle de déclenchement minimum 2 µsUM p.77, 80
V/div0,5 mV à 10 V/div à 1 MΩ ; 0,5 mV à 1 V/div à 50 Ω (sonde 1X)DS
Plage verticale8 divisionsUM p.40
Limites de bande passante20 MHz, 200 MHz (matériel)UM p.60-61
Entrée1 MΩ ±2 % ∥ 16 pF ±2 pF, ou 50 Ω ±1 %. Max 400 Vpk (DC+AC, DC à 10 kHz) à 1 MΩ ; 5 Vrms à 50 ΩDS, SM p.46
Précision du gain DCSpécification ±0,5 % (5 mV à 10 V/div), ±1,5 % (0,5 à 4,95 mV/div) (DS). Limite PV ±0,6 % (5,8 mV à 10 V/div), ±1,5 % (1 à 4,45 mV/div) (SM p.28-32)DS, SM
Précision du décalage±(0,5 % du décalage + 0,5 % de la pleine échelle + 1 mV)SM p.33
Base de temps1 ns/div à 1000 s/div ; ±2 ppm initial, ±0,5 ppm vieillissement première annéeDS
Décalage entre voies≤ 100 psSM p.45
Plage du niveau de déclenchement±4,1 div autour du centre de l'écran (voies) ; EXT ±0,61 V ; EXT/5 ±3,05 VPG p.492, DS
Temporisation (Holdoff)8 ns à 30 s, ou 1 à 10^8 événementsPG
Numérique500 MÉch/s, 50 Mpts/voie, deux groupes de seuil D0-D7 et D8-D15, -10 à +10 VDS, UM p.69
GBF (option FG)1 voie, 25 MHz, 125 MÉch/s, 14 bits, 16 kpts arbitraire, ±1,5 V sous 50 Ω (±3 V haute impédance)DS, UM p.271
FFTjusqu'à 2 Mpts (2^21)UM p.198
AffichageTFT 10,1 pouces, 1024 x 600, multi-touch capacitifDS
E/SUSB 2.0 hôte x2 avant, x1 arrière ; USB 2.0 périphérique (USBTMC) ; LAN 10/100 ; Entrée déclenchement EXT ; Sortie Aux ; Sortie GBFUM p.34-35
Alimentation100-240 V 50/60 Hz, 120 W maxSM p.9
Environnement0 à 50 °C fonctionnement ; 5-90 % HR à 30 °C, 50 % à 40 °C ; ≤ 3000 mSM p.7

Données analogiques dépendant du modèle (DS, typiques) : temps de montée 1 / 1,7 / 3,5 ns et bruit 65 / 55 / 50 µVrms à 1 mV/div 50 Ω pour les modèles 350 / 200 / 100 MHz.

Entrelacement. Les voies s'apparient comme CH1/CH2 et CH3/CH4. Si une seule voie de chaque paire est activée, cette voie fonctionne à 2 GÉch/s avec 200 Mpts. Si les deux voies d'une paire sont activées, la paire tombe à 1 GÉch/s et 100 Mpts. Ainsi, CH1 + CH3 est toujours entrelacé ; CH1 + CH2 ne l'est pas. L'UM appelle cela le mode "monovoie" et "bivoie" (UM p.73), le SM "entrelacement" et "non-entrelacement" (SM p.28). Sur le modèle 500 MHz, un filtre anti-repliement ~350 MHz s'active automatiquement lorsque le taux est ≤ 1 GÉch/s (UM p.42).

Panneau avant (UM p.34) : BNC C1-C4, compensation de sonde (1 kHz, 0-3 V carré) et cosse de terre, 2 x USB hôte, connecteur de sonde numérique, bouton d'alimentation (orange = veille, blanc = allumé, SM p.57). Arrière (UM p.35) : EXT TRIG, Sortie Aux (sortie de déclenchement par défaut ; impulsion de succès/échec lorsque le test de masque est activé), sortie WaveGen, LAN, USB périphérique, USB hôte, entrée secteur. Les coques BNC sont au potentiel de la masse (châssis) (SM p.10). Il n'y a pas d'entrée ou de sortie de référence 10 MHz.

Options (UM, DS) :

OptionDéverrouille
SDS2000HD-FGGBF intégré (le matériel est installé, verrouillé par licence). Également requis pour le SAG1021I externe
SDS2000HD-16LA16 voies numériques (nécessite la sonde SPL2016)
SDS2000HD-PAAnalyse de puissance
-I2S, -1553B, -FlexRay, -CANFD, -SENT, -Manch (noms DS)Protocoles série au-delà des I2C, SPI, UART, CAN, LIN standards
BW1T2, BW1T3, BW1T5, BW2T3, BW2T5, BW3T5 (noms DS)Améliorations de bande passante (100/200/350 à 200/350/500 MHz)

Les licences se saisissent dans Utility > Menu > Software Options (type, clé, Installer, puis redémarrer, QS p.34), ou à partir d'un fichier de licence à la racine d'une clé USB. Une licence "Temporaire" non installée fonctionne jusqu'à 30 fois (UM p.292). Le décodage des voies numériques nécessite à la fois 16LA et la licence de protocole (UM p.65).

2. Points qui coincent

  1. Les données 12 bits nécessitent des transferts WORD. :WAVeform:WIDTh est par défaut BYTE (la valeur par défaut COMM_TYPE du préambule est 0 = octet, PG p.754), ce qui jette les bits de poids faible. Envoyez :WAV:WIDT WORD avant :WAV:DATA?. Les mots sont des int16 signés, LSB en premier par défaut, alignés à gauche avec les bits de poids faible remplis de zéros. Mettez à l'échelle avec le code_per_div du préambule (décalage 0xA4), jamais un 25, 30 ou 7680 codé en dur (PG p.753, 758).

  2. Seuls *IDN?, *OPC? et *RST sont documentés (PG p.29). Il n'y a pas de file d'attente d'erreurs documentée, *CLS, *ESR? ou *STB?. Les nombres hors plage sont généralement écrêtés sans plainte (:ACQ:SRAT, :TIM:SCAL, zoom, curseurs de porte). Après tout réglage important, relisez-le. :SYSTem:ERRor?, *ESR? et le legacy INR? (utilisé dans l'exemple C# du PG) valent la peine d'être essayés, NON VÉRIFIÉ.

  3. La précision des requêtes est par défaut de 3 chiffres significatifs. :FORMat:DATA définit le nombre de chiffres que les réponses NR3 portent : SINGle = 7, DOUBle = 14, CUSTom,<1-64> (PG p.34). Par défaut, :TRIG:FREQ? donne "1.00E+07" pour un signal de 9,99998 MHz. Envoyez :FORM:DATA DOUB une fois après la connexion.

  4. Les chaînes d'état sont en casse mixte, avec une apostrophe. :TRIGger:STATus? renvoie Arm, Ready, Auto, Trig'd, Stop ou Roll (PG p.483). Comparez exactement, ou mettez les deux côtés en majuscules.

  5. *OPC? bloque l'interface jusqu'à ce que les opérations en attente se terminent (PG p.30) et le PG ne dit jamais qu'il attend une acquisition. Pour une acquisition unique, envoyez :TRIG:MODE SINGle et interrogez :TRIG:STAT? jusqu'à ce qu'il lise Stop. C'est ce que fait l'exemple C# du PG (PG p.827-828).

  6. Réglages avec deux sources de vérité. Les réglages de déclenchement série et les réglages de décodage sont complètement séparés (UM p.117). Changer le débit en bauds du décodage ne change pas celui du déclenchement. Copiez avec :DECode:BUS<n>:COPY FROMtrigger (déclenchement vers décodage) ou TOTRigger (décodage vers déclenchement), et recopiez après chaque changement. L'exemple du PG pour COPY décrit la direction à l'envers (PG p.143) ; faites confiance aux définitions des paramètres.

  7. Les seuils et niveaux sont limités à ±4,1 divisions de l'échelle et du décalage actuels de la voie ([-4,1*vdiv - offset, 4,1*vdiv - offset]). Cela s'applique aux niveaux de déclenchement, aux seuils de décodage, aux niveaux de recherche et au niveau du compteur. Réglez V/div et le décalage d'abord, puis le niveau. Les valeurs en dehors sont écrêtées ou rejetées, le PG ne dit pas quoi.

  8. L'entrelacement change la mémoire et le taux. L'activation de la deuxième voie d'une paire (CH1+CH2 ou CH3+CH4) divise par deux le taux d'échantillonnage et la mémoire. :ACQ:MDEPth n'accepte que les jetons pour le mode en cours : 20k|200k|2M|20M|200M en entrelacé, 10k|100k|1M|10M|100M sinon (PG p.40). Réglez les voies d'abord, puis la profondeur de mémoire. Changer V/div ou le mode d'entrelacement déclenche également un étalonnage CAN d'arrière-plan qui interrompt brièvement l'acquisition (QS p.34).

  9. En fonctionnement, l'analyse utilise uniquement l'enregistrement à l'écran. Les mesures, les mathématiques, le décodage et la recherche ignorent les échantillons en dehors de l'écran jusqu'à ce que vous appuyiez sur Stop, même en mode Mémoire Fixe (UM p.76).

  10. Les moyennes et ERES sont indisponibles en mode séquence (PG p.47), limitent la profondeur de mémoire (PG p.41 ; 20/10 Mpts selon la DS), et ERES réduit la bande passante : 3 bits laisse 0,007 x Fe (UM p.75).

  11. :CHANnel<n>:SCALe? est corrigé de la sonde (PG p.58), de même que les décalages et niveaux que vous envoyez. Définissez :CHAN<n>:PROBe avant l'échelle, le décalage et le niveau de déclenchement. Le V/div et le décalage du préambule de la forme d'onde excluent la sonde ; multipliez par le facteur de sonde à 0x148 pour obtenir les volts à la pointe de la sonde.

  12. Les sondes passives ont besoin de 1 MΩ. À 50 Ω une sonde 10X ne lit rien d'utile, et l'entrée 50 Ω n'est pas une entrée haute puissance (UM p.62 ; 5 Vrms max selon la DS). Ne passez pas une voie avec un signal haute tension actif à 50 Ω depuis un script.

  13. Les champs hexadécimaux vont en décimal, et "sans importance" est un au-delà du maximum. :TRIG:CAN:ID 125935441 pour 0x7819F51. Octets de données : 256 = 0xXX. Adresse IIC 1024, ID CAN 11 bits 2048, ID 29 bits 536870912, ID LIN 64, ID FlexRay 2048 (PG p.640-712).

  14. Énumérations mal imprimées. BITorder est imprimé {LSM|MSB} ; envoyez LSB. :TRIGger:TYPE et :SEARch:MODE prennent PULSE (pas le nom du sous-système PULSe). La polarité Manchester est imprimée PULarity ; envoyez POLarity. Le front de verrouillage SPI est :TRIGger:SPI:LATChedge, pas ...:SPI:CLK:LATChedge (PG p.653, 484, 228, 661).

  15. Certaines requêtes prennent des arguments. :TRIG:PATT:LEV? C2 et :TRIG:DEL:LEV? C2 renvoient C2,<valeur> ; :MEAS:SIMP:VAL? PKPK ; :MEAS:ADV:P1:STAT? MEAN. Plusieurs requêtes renvoient le mot OFF au lieu d'un nombre lorsque les statistiques sont désactivées (:COUN:STAT:VAL?, :MEAS:ADV:P<n>:STAT?). Le PG ne dit pas ce que renvoie une mesure invalide : protégez chaque conversion float().

  16. La télécommande ne verrouille pas le panneau sauf si vous le demandez. :SYSTem:REMote ON verrouille les touches et l'écran tactile ; OFF les libère (PG p.467). Un script qui plante avec REMote ON laisse l'oscilloscope verrouillé jusqu'à ce qu'il soit déverrouillé.

  17. Les chemins de fichiers ne sont pas vérifiés par rapport au type. :SAVE:... ne déduit jamais le format de l'extension. Un chemin sans préfixe va dans U-disk0/. Préfixes : local/, net_storage/, U-disk0/, U-disk1/ (PG p.407-413). :RECall:SERase supprime tous les fichiers utilisateur stockés dans l'oscilloscope (PG p.397).

  18. Les mises à jour du firmware ne doivent pas perdre l'alimentation. Une coupure de courant pendant une mise à niveau peut rendre l'oscilloscope impossible à démarrer (UM p.294). La récupération se fait par un paquet de récupération USB Siglent (SM p.57).

  19. Les valeurs par défaut documentées sont presque absentes. Le PG n'indique aucune valeur par défaut pour les déclenchements, le décodage ou le compteur. Définissez chaque paramètre dont une mesure dépend.

3. Connexion

USB : port USB Périphérique arrière (type B). Il s'énumère comme USBTMC avec l'ID fabricant Siglent 0xF4EC (exemple PG p.813 USB0::0xF4EC::0xEE38::<serial>::INSTR ; l'ID produit 0xEE38 est un exemple, donc énumérez plutôt que de le coder en dur). Sous Windows, installez NI-VISA (le moteur d'exécution suffit, PG p.19) ou utilisez pyvisa-py avec libusb.

LAN : Utility > Menu > I/O > LAN Config, DHCP ou IP statique, masque, passerelle et DNS (UM p.289-290). Les équivalents SCPI prennent des chaînes entre guillemets : :SYST:COMM:LAN:TYPE STATIC, :SYST:COMM:LAN:IPAD "192.168.1.50", :SYST:COMM:LAN:SMAS "255.255.255.0", :SYST:COMM:LAN:GAT "192.168.1.1", :SYST:COMM:LAN:MAC? (PG p.455-458).

ProtocoleAdresseRemarques
VXI-11 (VISA)TCPIP0::<ip>::INSTR (aussi TCPIP::<ip>::inst0::INSTR)Les exemples du PG utilisent les deux
Socket brutPort TCP 5025Les commandes se terminent par \n. Les réponses se terminent par \n ; les blocs binaires se terminent par 0A 0A
TelnetPort TCP 5024Invite SCPI> ; quitter avec Ctrl+] puis quit (PG p.24)
Webhttp://<ip>Écran distant en direct, capture d'écran, téléchargement de forme d'onde BIN/CSV, convertisseur bin- vers-CSV, mise à niveau du firmware (UM p.299). Mot de passe jusqu'à 20 octets : Utility > Menu > I/O > Web Server
VNCport 5900-5999:SYST:COMM:VNCPort 5901. Donnez à chaque instrument Siglent son propre port (UM p.290)
LXILXI 1.5 (Device Spec 2016)La réinitialisation du LAN restaure DHCP, ping, mDNS et efface le mot de passe web (UM p.289)

Émulation : Utility > Menu > I/O > Emulation réglé sur "Tektronix" bascule le jeu de commandes SCPI vers un jeu compatible Tek (UM p.291). Laissez-le sur Siglent pour tout ce qui est dans ce fichier.

Configuration PyVISA qui convient aux transferts de formes d'onde (PG p.837) :

import pyvisa
rm = pyvisa.ResourceManager()            # ou ResourceManager('@py')
sds = rm.open_resource("TCPIP0::192.168.1.50::INSTR")
sds.timeout = 10000                      # ms, par lecture ; un morceau WORD de 10 Mpts fait 20 Mo (~2 s sur LAN 100M)
sds.chunk_size = 20 * 1024 * 1024
sds.write_termination = "\n"
# Laissez read_termination non défini : avec lui défini, VISA arrête les lectures binaires au
# premier octet 0x0A à l'intérieur de la forme d'onde. Supprimez vous-même les réponses texte.
print(sds.query("*IDN?").strip())  # Sigl

…

[le contenu du fichier a été tronqué pour la traduction]

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés