Un oscilloscope fou de Homebrew 500 MHz 1 Gs / s est-il possible?

14

Je lisais la sonde de portée USB - demande de commentaires et d'idées , et cela m'a fait réfléchir. Ce que j'aimerais vraiment, c'est un oscilloscope à très hautes performances, qui coûterait environ 10000 $. Beaucoup d'autres personnes en voudraient sûrement aussi. Et sûrement, avec l'expertise disponible sur ce site, il devrait être possible d'en concevoir un et open-source.

Voici mon idée:

  • Ce serait une sonde portative avec un câble USB sortant.
  • Fonctionne sur batterie pour l'isoler de l'alimentation USB.
  • L'étage d'entrée est un ampli op à grande vitesse, comme le THS3201DBVT ?
  • L'ADC est quelque chose comme ASD5010 , qui est 1 Gs / s et 650 MHz de bande passante d'entrée.
  • FPGA pour gérer les données 32 bits qui sortent, faire le déclenchement et les empaqueter dans l'USB.
  • Logiciel open-source à exécuter sur le PC.

Est-ce une course de fou? Qu'est-ce que je rate?

Ajouté, plus de détails en réponse aux réponses:

  • Cette portée ne serait pas en mesure de rivaliser avec les étendues chères de fantaisie là-bas. L'objectif principal est d'avoir quelque chose qui permettrait d'examiner les signaux à haute vitesse, tout en coûtant moins de 200 $ pour que quelqu'un se fasse.
  • Bande passante USB: ce n'est pas une portée analogique, ni un LeCroy sophistiqué . Cependant, l'USB est tout à fait capable de transférer des échantillons 2k à 60 Hz. Cela le rend toujours extrêmement utile, même s'il pourrait ne pas être capable de capturer des événements transitoires entre ces trames.
  • Un affichage réactif clair. Eh bien, le moniteur d'un PC est certainement clair. Mieux que presque tous les oscilloscopes sur le marché. La clarté et la taille ne posent donc aucun problème. Sensible? Tant que l'écran peut être mis à jour à 60 Hz, je pense que c'est assez réactif.
  • Déclenchement: j'imaginais un simple déclenchement de niveau sur l'appareil. Encore une fois, il ne serait pas en mesure de rivaliser avec des portées fantaisies, mais rappelez-vous: cela est censé être un appareil à 200 $.
  • Il n'est pas censé avoir une bande passante de 1 GHz. Où ai-je dit ça? Mais il pourrait sûrement avoir plus de 100 MHz de bande passante?

Points à emporter:

  • C'est un appareil à 200 $.
  • L'objectif principal de l'appareil est de permettre de voir les signaux à haute vitesse sans dépenser 10000 $.
  • Il y aurait beaucoup de choses qu'il ne pourrait pas faire.
  • Certes, quelque chose comme ça serait assez utile pour les gens d'ici.
  • Sûrement, avec l'expertise disponible sur ce site, nous pourrions y arriver?
Rocketmagnet
la source
1
* Un affichage clair et réactif * Un circuit de déclenchement capable de tous les modes de déclenchement de fantaisie disponibles dans les nouveaux 'scopes * Mémoire
Le Photon
4
Le problème est qu'avec un instrument, vous devez FAIRE CONFIANCE autant que possible à ce que vous lisez à l'écran; sinon, cela ne génère que de la confusion
clabacchio
3
Je dois être d'accord avec clabacchio, portée analogique My Conar modèle 255 (état solide), je ne fais pas confiance aux lectures pour la tension ou le temps / cm, et cela n'a conduit qu'à plus de confusion et de débogage percutant avec un gros objet lourd. Mais j'aime l'idée de construire la vôtre.
jsolarski
http://www.osciprime.com/ Ehh 8 Mhz théoriquement? Quelqu'un d'autre s'est amusé. J'adore lire la "pensée", en particulier d'AngryEE. Bien qu'osciprime ait de bonnes idées, principalement la phase bêta du réseau de leur / son logiciel "sur les données du réseau", je pourrais en faire un pour le plaisir. Merci, -Danny K
1
Il est facile de dire que cela ne fonctionnera pas , et il est facile de trouver 100 façons dont cela ne fonctionnera pas. Ce qui est difficile, c'est de trouver un moyen de fonctionner, même si cela signifie changer la portée (du projet, sans jeu de mots) et / ou les fonctionnalités, mais je vois ce que Rocketmagnet veut. en ce qui concerne l'USB, AngryEE (dont le nom correspond à btw) a raison. Cependant, eSATA vous donne 6 Go / s théorique, et USB 3.0 est 5,0 Gbit / s théorique. C'est le meilleur que nous ayons en ce moment avec une connexion PCIx qui nous donnera certainement la bande passante dont nous avons besoin (si c'est assez bon pour une carte vidéo, je pense que cela fera lol).
MDMoore313

Réponses:

26

Cela revient à une question de bande passante et de latence. Pour un système simple, supposons une sonde avec une bande passante de 100 MHz avec un taux d'échantillonnage de 1GS / s et un convertisseur A / N 10 bits (j'ai eu de mauvaises expériences avec des étendues 8 bits).

Je veux un affichage en temps réel sur le PC avec une fenêtre d'échantillonnage minimale de disons 10ns - 1 cycle d'une onde sinusoïdale de 100 MHz et une fenêtre maximale de (je serai généreux pour vous dans ce cas) une demi-seconde. En d'autres termes, le réglage de l'heure le plus bas sera quelque chose comme 1ns / div et le plus élevé est 0,05 s / div. Je veux également plusieurs modes de tension - plage de 100 mV jusqu'à 20 V, disons.

Quel type de débit de données cela implique-t-il?

1 Gs / s * 10 bits / échantillon = 10 Gbits / s

Ce ne sont pas des vitesses USB. Loin de là. Et je n'ai même pas pris en compte les frais généraux. Tout d'abord, vous n'avez tout simplement pas la bande passante. Et ce n'est pas seulement la bande passante. Pour votre affichage en temps réel, vous devez être cohérent. Vous devez transférer 100 bits vers votre couche d'application toutes les 10 nano secondes. Ce type de cohérence ne peut pas être obtenu à partir de l'USB. Il n'est pas conçu pour répondre à un seul appareil avec des exigences extravagantes - il est conçu comme un bus. Et vous ne pouvez pas contrôler quand vous possédez le bus - les appareils ne sont que des esclaves. Si l'hôte laisse un autre appareil parler lorsque vous devez envoyer des données, vos données sont perdues.

Vous pouvez être en train de pleurer - pourquoi transférer des données en temps réel vers l'ordinateur alors que le «temps réel» pour une personne est de 60 Hz? Si tout ce que vous avez à faire est de mettre à jour l'affichage, vous n'avez certainement pas besoin de beaucoup de données. Sauf si vous le faites - votre affichage est une combinaison linéaire de tous les échantillons que vous avez collectés. Interpolation spline cubique moyennée, quadratique moyenne, peu importe. Pour faire un joli joli affichage qui n'est pas seulement un tas de points, vous avez le plus besoin de toutes ces données et vous devez les post-traiter. Un déclenchement? Les calculs doivent être effectués sur l'hôte - au niveau de la couche application. Quelle que soit la façon dont vous le découpez, pour des affichages en temps réel à des taux de 1GS / s pour une précision qui en vaut la peine, vous devez transférer des ordres de grandeur plus de données que l'USB ne peut gérer et vous devez le faire de manière plus fiable que vous.

Quels sont les moyens de contourner cela? Ne faites pas d'affichage en temps réel. Certaines portées USB ne proposent que des modes déclenchés. Le déclenchement est géré sur l'appareil et lorsqu'un déclencheur est trouvé, les données sont collectées dans un tampon. Lorsque le tampon se remplit, la portée USB le transfère lentement à l'application, puis l'application l'affiche. Cela suffit pour beaucoup d'utilisation de la portée, mais ce n'est pas en temps réel. Et le transfert - cela prend aussi du temps. C'est gênant. Et généralement, les pilotes sont nulles. Vous pouvez dire que j'ai eu de mauvaises expériences.

Je me suis toujours demandé pourquoi Firewire n'était pas utilisé pour les oscilloscopes. Cela évite certains des maux de tête de l'USB. Il est pair à pair, offre des modes isochrones (synchronisation cohérente) et une bande passante relativement élevée. Vous pourriez être en mesure de créer une portée en temps réel de 10 MHz avec cela.

Pour traiter vos points après la modification:

  • La facilité d'utilisation d'une lunette augmente énormément avec le prix. Lorsque vous passez d'une portée USB de 200 $ à une portée autonome de 500 $, vous obtenez d'énormes augmentations des fonctionnalités et des fonctionnalités de base. Pourquoi dépenser seulement 200 $ alors que pour un peu plus, vous pouvez obtenir une vraie portée? Maintenant que la Chine a ouvert les vannes de portées efficaces et bon marché, il n'y a pas de raison de vouloir économiser 300 $ qui ne feront que vous frustrer plus tard. Les portées «fantaisies» qui ont ces fonctionnalités sont bon marché de nos jours.

  • Oui, limiter votre transfert de données pour ne fournir que quelque chose d'environ 60 Hz de données cohérentes sera plus facile avec USB, mais ce n'est toujours pas quelque chose que vous voulez faire. N'oubliez pas vos classes DSP - récupérer uniquement certaines données du flux équivaut à une décimation. Lorsque vous décimez, vous devez ajouter des filtres d'anticrénelage. Lorsque vous faites cela, vous perdez de la bande passante. Cela rend votre portée moins utile - cela limitera votre bande passante sur l' affichage en temps réel (et seulement pour les modes déclenchés en temps réel serait correct) à beaucoup moins que la bande passante de votre frontal analogique. La gestion des aspects de traitement du signal d'un oscilloscope est une affaire délicate.

  • Affichage réactif clair? Le PC? Pas toujours. Quelle que soit la façon dont vous procédez, vous devez mettre les données en mémoire tampon. Comme je l'ai déjà dit, l'USB ne garantit pas le débit de vos données. Je le dirai différemment: l' USB n'est pas conçu pour accueillir un transfert de données en temps réel difficile. Bien sûr, pour des quantités de données suffisamment petites à de grands intervalles, vous pouvez obtenir de bonnes performances, mais pas des performances cohérentes. Vous utiliserez la mise en mémoire tampon et de temps en temps, vous manquerez de transférer votre mémoire tampon en temps opportun. Ensuite, votre affichage saute, les données sont périmées, etc. etc. Des affichages en temps réel clairs et réactifs nécessitent des liaisons de données en temps réel, point final.

  • Déclenchement simple - encore une fois, nous revenons au rapport coût / complexité / réactif. Pour effectuer un déclenchement sur l'appareil afin de détecter les transitoires, votre appareil ne peut pas être simplement un canal de données stupide qui transfère des échantillons de manière irresponsable via USB. Vous devez tamponner, tamponner, tamponner les échantillons sur l'appareiljusqu'à ce que vous voyiez votre condition de déclenchement. Cela signifie que vous avez besoin de mémoire et d'intelligence sur votre appareil - soit un grand FPGA ou un grand microcontrôleur. Cela ajoute à la taille et à l'espace. Si vous utilisez un FPGA, vous devez équilibrer la quantité de logique de déclenchement avec votre besoin de beaucoup de RAM pour l'espace tampon. Votre tampon est donc plus petit que vous ne le souhaiteriez déjà. Cela signifie que vous obtenez une quantité infime de données autour de votre point de déclenchement. Sauf si vous ajoutez de la mémoire externe, vous pouvez faire plus. Cela augmente cependant la taille et le coût de votre appareil - ce ne sera certainement pas juste une sonde avec un câble USB attaché.

  • Vous auriez la chance d'obtenir une bande passante de 100 MHz - généralement 10 fois la fréquence d'échantillonnage est considérée comme la coupure minimale de la bande passante. Donc, si vous avez un taux d'échantillonnage de 1GS / s, vous obtenez à peine une bande passante de 100 MHz. Vous ne pouvez pas obtenir plus - une onde carrée de 200 MHz va ressembler à une onde sinusoïdale de 200 MHz. Ça craint. C'est idiot - c'est loin d'être professionnel.

Votre autre ensemble de points:

  • 200 $? Comment figurez-vous? Quelle est la liste des pièces?
  • De bonnes portées pour lire des signaux à haute vitesse ne coûtent pas des milliers de dollars. Ils coûtent peut-être mille dollars. 100 MHz est un jeu d'enfant dans le département de la portée et votre idée ne répondra même pas à cette référence ainsi qu'une portée de 1000 $
  • Oui, d'après la façon dont vous le décrivez, ce serait effectivement très limité. Les aspects techniques de même les quelques exigences que vous avez représentent un appareil très limité.
  • Ce ne serait pas aussi utile que la lunette de 1100 $ que j'ai achetée avec un analyseur logique et une bande passante analogique de 60 MHz. Je préfère payer mon équipement de test qui gicle avec des jouets pour enfants intentionnellement limités.

Vous vivez et mourez par votre équipement de test en tant qu'ingénieur. Si vous n'êtes pas certain de pouvoir lui faire confiance, vous perdez votre temps. Compte tenu du manque d'expertise que vous avez montrée sur la communication à haute vitesse, le traitement du signal et la puissance du traitement intégré (dans les FPGA ou les microcontrôleurs), je ne parierais pas que vous êtes en train de le concevoir vous-même et personne d'autre qui a répondu n'est rien autre qu'ambivalent.

S'il y avait un ensemble d'exigences mieux ciblées qui répondaient à un besoin réel dans la communauté qui n'était pas desservi, que je pourrais voir être techniquement faisable, je serais à bord. Mais vos exigences vagues ne semblent pas recherchées. Vous devez faire une enquête sur les options disponibles pour les amateurs - quelles portées USB et autonomes les gens utilisent, quelles sont leurs forces et leurs faiblesses, et déterminer si des niches ne sont pas remplies. Sinon, c'est juste fantasmer.

AngryEE
la source
L'USB a également des transferts isochrones. Mais oui, vous seriez limité à environ 400 Mo / sec au mieux sur une connexion ultra-rapide USB 3.0, ce qui équivaut à environ 320M d'échantillons / sec à 10 bits / échantillon, en supposant aucune compression, aucun déclenchement et un canal. L'USB 3.1 double cette limite.
doug65536
Désolé mais je n'achète pas votre argument. Même l'USB 2.0 offre une large bande passante et une latence suffisamment faible pour un affichage fluide (consultez les webcams USB), et la mise en mémoire tampon d'un signal suffisamment long à l'intérieur de l'oscilloscope traite de la décimation. Je sais que c'est une réponse de 2012 et les portées USB ont été aspirées à l'époque, mais la raison pour laquelle elles ont aspiré n'était pas USB. La raison principale était qu'ils n'étaient pas considérés comme professionnels, donc ils devaient être bon marché et n'étaient donc pas construits de manière professionnelle.
Dmitry Grigoryev du
Certaines parties de cette réponse sont obsolètes (l'USB 3.1 pousse à 10 Gbit / s, bien que cela ne prenne bien sûr pas en compte les frais généraux) et certaines parties n'ont jamais été valides. Vous pouvez absolument sous-échantillonner et déclencher sur le périphérique de manière à ne pas réduire l'utilité, si vous êtes prêt à y mettre suffisamment de puissance de traitement. Ce n'est pas facile, et cela dépasse probablement les capacités d'une personne au hasard, mais il n'y a pas de loi de la physique contre cela.
Hobbs
Que diriez-vous de vous concentrer uniquement sur Thunderbolt 3 (jusqu'à 40 Gbit / s)? Même Thunderbolt 2 peut prendre en charge jusqu'à 20 Gbit / s. La plupart des anciens Mac (2012 et versions ultérieures?) Ont des ports Thunderbolt 2. De nombreux PC récents ont un port Thunderbolt 3. Je pensais que c'était peut-être plus difficile de coder / prendre en charge les pilotes via Thunderbolt, je ne sais pas.
Ryan Weiss
5

Vous ne voudriez pas qu'il soit dans un format de sonde portable, car une portée à canal unique n'est pas très utile. Le coût supplémentaire de 2 canaux (même si vous multiplexez l'ADC) est un petit pourcentage de coût supplémentaire, mais une énorme augmentation de l'utilité.

À moins que vous ne vouliez tirer plus de 500mA, aucune raison d'utiliser une batterie car vous pourriez avoir un convertisseur DC-DC isolé. Cependant, l'obtention d'une bande passante élevée à travers une barrière d'isolement n'est pas anodine.

mikeselectricstuff
la source
1
USB isolé: analog.com/en/press-release/…
Rocketmagnet
3

Eh bien, il y a quelques problèmes ici. Si nous prenons comme standard de référence un oscilloscope analogique à 1 GHz (comme un bon Tektronix), cet oscilloscope proposé souffrira de la manière suivante:

1) l'ASD5010 est un convertisseur 8 bits. 8 bits n'est pas suffisant pour pouvoir rivaliser avec une bonne portée analogique.

2) Ne confondez pas le taux d'échantillonnage avec la bande passante analogique. Pour la puce que vous avez sélectionnée, la bande passante analogique équivalente serait probablement beaucoup plus proche de 100 MHz que de 1 GHz.

Cela ne veut pas dire qu'il n'est pas possible de construire une telle portée, on peut clairement en acheter une répondant à ces spécifications dans le commerce. Il n'est tout simplement pas trivial d'atteindre une bande passante de 1 GHz, et une ingénierie spéciale et de meilleures pièces seraient nécessaires.

JonnyBoats
la source
7
8 bits est en fait assez typique d'un oscilloscope numérique, et cela ne semble pas limiter la capacité d'Agilent, Tektronix, etc. à rivaliser avec les oscilloscopes analogiques putatifs que quelqu'un aurait pu penser mettre sur le marché.
Le Photon du
De plus, je ne connais aucune portée analogique 1 GHz. Je ne serais pas surpris s'ils étaient construits, peut-être pour des applications très spéciales (scientifiques nucléaires ou quelque chose), mais je m'attendrais à ce que ce soit une bête très rare à trouver dans la nature. Avant 1990 environ, 1 GHz était très rare dans l'électronique numérique (peut-être dans les supercalculateurs Cray et autres); après 1990, à peu près chaque nouvelle conception de portée d'un fournisseur de premier plan était numérique.
The Photon
Un oscilloscope analogique 1 GHz disponible dans le commerce est le Iwatsu TS_81000: testequipmentconnection.com/tecspecs/Iwatsu_TS-81000.PDF
JonnyBoats
1
Bien, votre lien m'a amené à trouver le Tek 7104, un oscilloscope analogique 1 GHz. Aussi bon à savoir, je ne suis pas le seul à penser que l'analogique 1 GHz est assez impressionnant. Un site Web a "Le Tektronix 7104 est l'oscilloscope analogique le plus rapide jamais produit. Conçu à l'origine dans les années 1970 pour la US Atomic Energy Commission, il a une bande passante de 1 GHz ..." ( readingjimwilliams.blogspot.com/2011/08/scope -sunday-4.html ) Donc au moins je n'étais pas trop loin pour dire qu'une portée analogique à 1 GHz serait une bête rare.
The Photon
La fiche technique du 7104 sur testequipmentconnection.com montre également un prix catalogue supérieur à 30 000 $, probablement au milieu des années 80.
The Photon
2

Les ADC 8 bits sont assez courants dans les oscilloscopes, mais la technique d'utilisation des ADC est un peu différente. Comme j'ai vu quelques étendues internes, le cas commun est d'utiliser 4 puces ADC, chacune cadencée avec un incrément de phase de 90 degrés, donc vous obtenez 4x échantillons par cycle d'horloge et c'est pourquoi la fréquence de clk est assez faible, mais la bande passante des données est haut. Quoi qu'il en soit, un tel projet finira par gaspiller plus d'argent que l'achat d'une toute nouvelle lunette :-) Cependant, cela pourrait être une bonne pratique pour l'auto-apprentissage. OTOH, pensez au côté analogique de la portée. Cette partie est sacrément difficile et très délicate à faire.

Socrate
la source
1
C'est exactement ce qu'est l'ASD5010. C'est 4 ADC dans un seul paquet. Chaque échantillon à 250 MHz avec une différence de phase de 90 degrés.
Rocketmagnet
1
La question n'est pas tant de savoir à quel point c'est difficile, mais de savoir si une telle portée serait utile et s'il y a des gens ici désireux et capables de résoudre ces problèmes.
Rocketmagnet
1
Pensez à ce qui a été réalisé dans le domaine logiciel par ces communautés. Il est très difficile de créer un système d'exploitation, mais regardez ce qu'ils ont accompli!
Rocketmagnet
Ce n'est PAS très difficile de créer un système d'exploitation - les gens le font tout le temps.
AngryEE
1
Je peux me tromper, mais je pense que plutôt que d'utiliser quatre ADC, il est plus courant que les oscilloscopes utilisent des convertisseurs en pipeline qui ont un certain nombre d'étages, chacun avec un circuit d'échantillonnage et de maintien. Le premier étage échantillonne l'entrée, le prochain étage l'identifie comme l'un des 32 niveaux, le suivant soustrait le précédemment identifié et augmente le signal, et le suivant l'identifie comme l'un des 32 niveaux. Les deux valeurs de cinq bits obtenues pour un échantillon peuvent ensuite être placées dans une table de recherche pour produire une lecture sur 8 bits (les ADC 5 bits peuvent être un peu minables, mais la table de recherche corrige cela).
supercat
1

Autres issues:

  • protection : à coup sûr, vous ne voulez pas qu'il casse le premier temps que vous avez mis par erreur 20-30 V à l'entrée;

  • étalonnage : même avec une précision de 8 bits, vous devez toujours contrôler l'erreur à 1/256 = 0,4%; pas banal avec des composants standard;

  • filtrage du bruit : il doit être blindé et filtré, et ce n'est pas suffisant car le FPGA générera probablement du bruit, vous devez donc séparer le domaine analogique et numérique.

Quoi qu'il en soit, à propos de la connexion USB, je pense qu'il est plus fonctionnel de traiter en interne les données et de les connecter directement à l'écran.

clabacchio
la source