moin,
ich lese gerade ueber diese Welec Oszis und das
Softwareverbesserungsprojekt. Da gibt's auch ein Blockschaltbild und da
ist wir aufgefallen, dass die Dinger pro Eingang 4 ADCs mit je
250MSamples/s haben. Rechnerisch bekomme ich ja so die angepriesenen
1Gsamples/s, wenn ich die einzelnen ADCs immer versetzt ansteuere. Aber
das funktioniert doch nur, wenn die Dinger schnell genug samplen, oder?
Die Langsamkeit beim Umrechnen der Spannung in Bits kann ich durch
Parallelschaltung kompensieren, aber wenn das eigentliche Samplen nicht
schnell genug ist, dann bekomme ich doch ungenaue Messungen.
In was fuer einem Parameter der Datenblaetter wird denn sowas wie
"Sample-Dauer" beschrieben? Was macht eigentlich die Schwierigkeit aus
einen schnellen ADC zu bauen? Ist das das Samplen oder ist es die
Umwandlung in Bits?
Tim
Richtig. Die wesentliche Zahl ist die Sampling Bandbreite (Analog
Bandbreite). Und richtig, das Sampeln ist nicht trivial. Man benoetigt
einen Schalter, der schnell genug ist. Dabei laedt man einen
Kondensator, der waehrend der Messung dann die Spannung genuegend genau
haelt.
Hallo,
Richtig ist, das sowohl die AD- als auch die DA- Wandlung/ Umsetzung
sehr komplex ist. Nur zur Richtigstellung- Die Samplingrate/-frequenz
hat keinen direkten Zusammenhang mit der analogen Bandbreite!!!
s.h. z.B. dort:
http://zone.ni.com/devzone/cda/tut/p/id/2709
MAXIM, Analog Devices, National Instruments u.a. bieten einige ganz gute
Grundsatzdokumente an, wer sich da mal einarbeiten möchte...
Beim Welec Oszi wird konkret der Maxim 1121 (4 Stck. pro Kanal), mit
einer analogen Bandbreite von 500MHz, und einer Samplingfrequenz von
max. 250 MS/s verwendet.
Das Timing-Verhalten ist aus dem Datenblatt zu ersehen- Auszug s.h.
Anhang
Doch zugegeben... das verwendete Schaltungskonzept mit den 4 ADC wirft
massive Designprobleme auf- warum das so gemacht wurde wird wohl, wie so
vieles andere, ein ewiges Welec/Wittig Geheimnis bleiben.
Gruß,
Bruno
Naja Geheimnis... wie gut sind denn 1000Mps ADCs verfügbar und wie gut
250Mbps Typen? Und Tektronix' Alternative, die Analogspeichertechnik,
kriegt man wahrscheinlich nicht von der Stange.
brunowe wrote:
> ...> Das Timing-Verhalten ist aus dem Datenblatt zu ersehen- Auszug s.h.> Anhang> Doch zugegeben... das verwendete Schaltungskonzept mit den 4 ADC wirft> massive Designprobleme auf- warum das so gemacht wurde wird wohl, wie so> vieles andere, ein ewiges Welec/Wittig Geheimnis bleiben.>
Des Rätsels Lösung: alles andere war in der W/W-Entwicklung zum
Zeitpunkt des Designs zu teuer.
A. K. wrote:
> Naja Geheimnis... wie gut sind denn 1000Mps ADCs verfügbar und wie gut> 250Mbps Typen? Und Tektronix' Alternative, die Analogspeichertechnik,> kriegt man wahrscheinlich nicht von der Stange.
Und heute schon gar nicht neu erhältlich. Waren ja nur Speicherrühren
und ccd-Technikgeräte damals in der Serie.
Die Speicherröhrentechnik ist ja leider obsolete.
Die CCD Geräte (2430, 2430A, 2432, 2440) sind zwar auch heute noch in
vielen Dingen Klasse. Aber leider kaum in gutem Zustand (d.h. alle
Kompenenten "pass" im Test und im Betrieb) zu bezahlbaren Preisen
erhältlich.
hth,
Andrew
Ja, stimmt! Das HW-Design der Oszi's ist ja echt schon ein paar Jahre
alt.
Heutzutage sind 1GS/s ADC's gut verfügbar. Aber sooo billig sind sie
immer noch nicht.
Muss doch mal bei Farnell sehen ob 4 ADC's mit 250MS/s billiger sind als
1ner mit 1GS/s kann ich garnicht glauben...
Leider haben wir keinen kompletten Schaltplan der Oszi's- bin garnicht
so überzeugt das die Schaltung mit den 4 ADC's 100% so funktioniert wie
sie soll. Aber dazu müsste man nicht nur das HW-Design, sondern auch das
Timing etc. analysieren.
Hab übrigens mal gegoogelt ob ich sonst noch irgendwo so eine ADC
Schaltung finde, leider nichts gefunden. Kennt Jemand noch Andere
(kommerzielle) Schaltungen in denen dieses Prinzip verwendet wird?
Bruno
1GSps: 1000€ (gibt nur einen)
250MSps: 32€ aufwärts
Bei Farnell. Deutlich genug, denke ich. Ich könnte mir auch vorstellen,
dass es mit den üblichen leidlich günstigen FPGAs weitaus einfacher ist,
4 Datenströme zu 250MBps einzusammeln, als einen mit 1000MBps.
>Was macht eigentlich die Schwierigkeit aus einen schnellen ADC zu bauen?
Der ADC ist nicht die grösste Schwierigkeit. Kann man kaufen, z.B. von
National Semiconductor:
http://www.national.com/analog/adc/ultra_high_speed_adc
Schwierig ist eher schon die Taktgenerierung und -Verteilung, Interface
zum Speicher, die Speicherbausteine selbst.
Bei 500MHz kommt alle 2 ns ein neuer Wert aus dem ADC.
Es gibt meines Wissens keine kommerziell verfügbaren Speicher dieser
Geschwindigkeit. Man muss 4 oder 8 "langsamere" Speicher andocken und
über mitzählen 1..8 das reihum verteilen.
Und auslesen von einem uC will man die Speicher auch noch können, da
sind viele Adressen und Datenleitungen zu verbandeln.
Ein "einfacherer" Ansatz sind FIFO Speicher, die getrennte
Daten-Eingänge und -Ausgänge haben, keine Adressen brauchen.
Bei kommerziellen Geräten wird das ganze Zeugs (ausser dem ADC)
üblicherweise in ein FPGA gepackt. So ist die "Verdrahtung" intern und
in gewissen Grenzen sind sogar Nachbesserungen per Softwareupdate
möglich.
Mit vertretbarem Aufwand lässt sich sowas nicht "basteln".
Alle SMD Bauteile. Leiterbahnführung (Layout) extrem wichtig und
diffizil.
Der ganze analoge Eingangsteil (Abschwächer, Verstärker),
Triggerableitung usw. kommt auch noch dazu.
brunowe schrieb:
> Kennt Jemand noch Andere (kommerzielle) Schaltungen in denen dieses> Prinzip verwendet wird?
Kommerzielle Schaltungen (insbesondere von Oszis) werden logischerweise
nicht ins Netz gestellt. Aber das Prinzip, mit mehreren ADCs die Abtast-
rate zu vervielfachen, ist gängige Praxis. Bei den billigen Oszis spart
man dmit Geld, bei den teuren werden die Rekordabtastraten erst durch
diese Technik erreicht.
Such einfach mal nach "interleaved ad-converter oscilloscope". Agilent
hatte hatte zu diesem Zweck 2003 schon 80 ADCs auf einen Chip gepackt:
http://www.agilent.com/labs/features/2003_adc.html
Integriert auf einem Chip geht natürlich die Synchronisation leichter,
bei Einzelbausteinen liegt die übliche Grenze eher so bei 6 bis 8. Die
4x250 MSa/s des Wittig sollten also eigentlich keine so große Herausfor-
derung darstellen (außer für Wittig vielleicht, da diese Abtastrate im
Vergleich zu den früheren Modellen der Firma schon recht hoch ist ;-)).
Danke für die Info. Wie Klaus schon geschrieben hat:
>Schwierig ist eher schon die Taktgenerierung und -Verteilung, Interface>zum Speicher, die Speicherbausteine selbst.
Und genau in diesen Punkten glaube ich nicht das die Umsetzung bei Welec
so gut funktioniert... nur so ne Vermutung.
Noch ne Frage: Das Timing findet (komplett) mittels FPGA statt? Kommt
der da nicht schon weit über seine Grenzen hinaus? Z.B. konkret der
verwendete Cyclon II.
Dieses Problem werde ich auch mal mit den FPGA- Cracks ausdiskutieren
die da derzeit mit dem FPGA- Redesign beschäftigt sind. Auf jeden Fall
ein interessantes Thema.
Ich habe heute selbst einmal in den entsprechenden Datenblättern
recherchiert um die Umsetzbarkeit der Ansteuerung der vier ADC mittels
FPGA zu überprüfen. Da ich ein paar Tabellen eingebunden habe, das Ganze
als pdf-Anhang.
Gruß,
Bruno
P.S.: Ergänzungen, Kommentare und Verbesserungen sind jederzeit
willkommen!
Bis jetzt habe ich mich kaum mit Frequenzen 20MHz befasst, weil mir dazu
das Equipment und der Einstieg fehlen, daher korrigiert mich wenn ich
falsch liege.
Der Jitter des Cyclone ist mit 550ps und der des ADC mit 0,2ps(!)
angegeben.
Die 550ps kommen mir viel zu hoch vor.
1GS/s bedeutet Wandlung im 1GHz Takt, also jede Nanosekunde.
Wenn der Jitter des Cyclone bei 0,55ns liegen würde wäre der Fehler also
viel zu groß.
Wo wird denn das FPGA redesign gemacht? Ich kenne nur das sourceforge
repository. Hier wird aber wohl nur an der Firmware gearbeitet. Und hier
scheint auch schon eine ganze Weile nichts mehr passiert zu sein.
Prinzipiell gebe ich dir recht, man muss dabei allerdings beachten wie
die umgewandelten Werte im FPGA weiter verarbeitet werden.
Es kommt ja nicht jeder Wert direkt zur Anzeige, sondern es wird in der
Regel ein Durchschnitt über 1000? gesampelte Durchläufe gebildet.
Die 550 ps sind statistisch verteilt- d.h. das Ganze relativiert sich
von selbst.
- Das müsste man einmal anhand der Software konkret verifizieren- evtl.
ist das auch in VHDL hardewaremäsig integriert?.
War das nicht schon einmal irgendwo Thema?
> 1GS/s bedeutet 1 Wandlung pro ns
Das ist richtig, jeder ADC führt eine Wandlung alle 4ns aus. Durch die
Versetzung der Triggerzeiten um "ideal" jeweils 1ns kommt man dann auf 1
Sample pro ns.
Doch wie groß ist der Fehler im realen Betrieb, besonders unter
Berücksichtigung der Mittelwertbildung?
Nun, ich lass mich da gern eines besseren belehren...
Für LVDS steht im Cyclone Handbuch jedenfalls 550ps... oder übersehe ich
da was?
Gruß, Bruno
Was für eine Mittelwertbildung?
Man kann bei DSOs zwar über mehrere Scans mitteln, aber als
Standardmodus würde ich das nicht sehen. Schon garnicht nicht über 1000
Scans.
> Es kommt ja nicht jeder Wert direkt zur Anzeige, sondern es wird in der> Regel ein Durchschnitt über 1000? gesampelte Durchläufe gebildet.
Das hieße man hat keine Single-Shot Funktion?
> evtl. ist das auch in VHDL hardewaremäsig integriert?.
Wäre jedenfalls gut, da es sicher wenig Platz brauch und mit weniger
Jitter hinzukriegen ist.
@ Manuel
Es arbeiten ein paar Leute am FPGA Redesign. Z.B. hat Alex (s.h.
Sourceforge) sich zumindest Teilaspekte des Redesign zum Thema seiner
Doktorarbeit gemacht.
Dann sind da noch die Leute des russischen IXBT- Forum. Speziell Slog2
ist mit dem Redesign am werkeln. Er hat allerdings vor kurzem seine
bisherigen Entwürfe verworfen und unter Verwendung des NIOS Softcore neu
angefangen.
Im IXBT- Forum werden auch immer wieder spezielle Aspekte des
Hardwaredesign behandelt... Leider fehlen mir teilweise die rus.
Fachbegriffe um dieser Diskussion immer komplett folgen zu können.
Die Firmware Entwicklung läuft bislang leider vollkommen von Sourceforge
losgelöst... Meines Wissens nur das was auch hier im MC- Forum
nachzulesen ist. Bestimmt sind auch im Ausland, seit Veröffentlichung
des Sourcecode, einige Leute am programmieren, die aber, aufgrund der
Sprachbarriere, nicht auf die im Mikrocontroller-Forum publik gemachten
Fortschritte Zugriff haben.
Leider stecke ich auch zu wenig in der VHDL-Programmierung um die
konkreten Probleme beurteilen zu können... Das die Entwicklung aber sehr
komplex ist, kann sich bestimmt jeder vorstellen...
Ich sehe im Moment nicht warum das beschriebene Verfahren eine
single-shot Funktion ausschließt!
Wenn -Single-shot Button- gedrückt
und -Ereignis- auftaucht,
dann stelle genau einen Sample- Durchlauf dar.
Ansonsten bilde den Mittelwert
Die Umsetzung traue ich mir sogar in VHDL zu...
@A.K.
<<Was für eine Mittelwertbildung?
<Man kann bei DSOs zwar über mehrere Scans mitteln, aber als
<Standardmodus würde ich das nicht sehen. Schon garnicht nicht über 1000
<Scans.
stimmt, ich glaube wir hatten damals bzgl. des FPGA Redesign
festgestellt das tw. komplette Durchläufe unter den Tisch fallen
gelassen werden.
Oder wie stellst du dir die Darstellung von 1 000 000 000 kompletten
Sampels auf einem VGA- Schirm mit einer Bildwiederholungsrate von max.
50 Hz vor?
Ohne jetzt den notwendigen Rechenaufwand zu berücksichtigen... nur die
Darstellung!
Ja, mag sein das wir die Möglichkeit der Mittelwertbildung nur mal
angedacht haben. Das weiß ich nicht mehr so genau.
Dann sollte sich das Jittern aber, sofern 550ps stimmt, doch evtl.
bemerkbar machen, oder?
brunowe wrote:
> Oder wie stellst du dir die Darstellung von 1 000 000 000 kompletten> Sampels auf einem VGA- Schirm mit einer Bildwiederholungsrate von max.> 50 Hz vor?
Dass DSOs selten in der Lage sind, die Daten so schnell an den Mann oder
die Frau zu bringen, wie die ADCs sind maximal anliefern können, das ist
eine Binsenweisheit.
Wenn man das zum Anlass nimmt, die Daten routinemässig bereits bei
Messaufnahme zeitlich über viele Scans zu mitteln dann lügt man sich in
die Tasche. Als Option ist so ein Averaging durchaus üblich und
nützlich, aber als Standardeinstellung halte ich das für groben Unfug,
weil man ein glattes stabiles Signal auch dort vorspiegelt, wo
tatsächlich wildes Chaos vorliegt.
Da andererseits der schlussendliche Messwertaufnehmer, also der mit den
zwei Augen davor sitzende, auch nicht beliebig schnell ist, ergibt sich
eine Obergrenze für die sinnvolle Anzahl dargestellter Scans pro
Sekunde. Die real erreichbare Grenze mag darunter liegen, sich aus der
mangelnden Rechenleistung des Prozessors ergebend. Dass folglich
zwischen den dargestellten Scans beliebig viel Zeit und damit Daten im
Nulldevice verschwinden liegt in der Natur der Sache.
In der Praxis bedeutet das auch, dass ein optionales Averaging nicht
unbedingt bei der Datenaufnahme in Echtzeit erfolgt, sondern
nachträglich vom Prozessor aus den einzelnen Scans ermittelt wird (evtl.
Preisfrage). Beim Rigol jedenfalls ist die zeitliche Mittelung über
beispielsweise 64 Scans reine Software und führt zu einer sehr sichtbar
zähen Reaktion auf Wechsel der Signalform.
Apropos: Wenn man bereits bei der Datenaufnahme eine Vorverarbeitung
durchführen will, um so wenig wie möglich Information zu verlieren, dann
muss man eigentlich pro Sample gleich mehrere Informationen speichern:
Mittelwert, Standardabweichung, Minimum, Maximum. Nur so kann man der
Erfassung eines nicht ganz stabilen Signals durch Analogoszis
einigermassen nahe kommen. Nur dass dies dabei durch kostenlose
Mitwirkung des komplexen Erfassungsssytems "Auge" und des
Parallelrechners "Hirn" zustande kommt.