Hochauflösender Signalaufzeichner

Wenn ihr Ideen zu neuen Entwicklungen habt, dann diskutiert sie bitte hier.
Skystalker
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 15
Registriert: 02.12.2007, 18:57
Wohnort: Niederösterreich

Hochauflösender Signalaufzeichner

Beitrag von Skystalker » 28.01.2008, 23:57

hi,

if (Vorgeschichte = Interessiert)
{
hab mich heute nachmittag mit einem Bekannten über das C't Lab unterhalten und wären auf ein neues interessantes Modul gestoßen. Und zwar hat er und ich auch, zwar ein speicheroszi (will ich ganz bestimmt nicht nachbauen), aber nicht die Möglichkeit die Signaldaten in den PC zu füttern (nein ein neues kommt nicht in frage). Besonders nervig und sehr nützlich wäre es bei Momentaufnahmen "SingleShot", denn die interessantesten Daten kommen meist erst am schluss (zu hohe auflösung) oder sind bei zu geringer auflösung nicht gut lesbar.
}

else
{
Meine Idee wäre eine Platine mit, sagen wir mal 2 Eingangskanälen, dahinter jeweils ein A/D Wandler die richtig dampf unter der haube haben, die ihre Daten in einen SRAM stopfen, und wenn die messung zu ende ist, der prozessor in aller ruhe diesen haufen an daten über den OptoBus an den PC schickt 8)

Schwierig ist die Frage der Eingangsspannung. Mich interresieren nur Spannungen von 0 bis 5V aber dafür in höchst möglicher auflösung. Wenn jetzt einer meint analoge Signale von -15V bis +15V messen zu wollen wäre ein 8Bit Wandler etwas ungenau, aber darum wende ich mich auch an euch und das teil soll ja nicht nur mir freude bereiten

Dann kommt eben die Frage welche Auflösung wird benötigt und der dazupassende SRAM, es sollten sich ja doch ein, zwei Sekunden drauf ausgehen, MAX108 wär ja net schlecht, aber bei 1,5 Gsps wirds schnell eng mitn speicher

naja, ich werf das mal jetzt so in den raum und freu mich auf "Nette" antworten
}

mfg
Sky

Benutzeravatar
thoralt
Site Admin
Site Admin
Beiträge: 259
Registriert: 10.04.2006, 08:48
Wohnort: Chemnitz
Kontaktdaten:

Re: Hochauflösender Signalaufzeichner

Beitrag von thoralt » 30.01.2008, 10:55

Skystalker hat geschrieben:Meine Idee wäre eine Platine mit, sagen wir mal 2 Eingangskanälen, dahinter jeweils ein A/D Wandler die richtig dampf unter der haube haben, die ihre Daten in einen SRAM stopfen, und wenn die messung zu ende ist, der prozessor in aller ruhe diesen haufen an daten über den OptoBus an den PC schickt 8)
Anders ist es auch gar nicht möglich. Aber es würde natürlich ausreichen, man muß ja schließlich nicht mit 100 Hz das Fenster aktualisieren.
Skystalker hat geschrieben:Schwierig ist die Frage der Eingangsspannung. Mich interresieren nur Spannungen von 0 bis 5V aber dafür in höchst möglicher auflösung. Wenn jetzt einer meint analoge Signale von -15V bis +15V messen zu wollen wäre ein 8Bit Wandler etwas ungenau, aber darum wende ich mich auch an euch und das teil soll ja nicht nur mir freude bereiten
Nun, da hat jeder andere Vorstellungen. Und außerdem wirst Du Dich garantiert selber ärgern, wenn Du Dich auf diesen Eingangsspannungsbereich festlegst und dann in irgendeiner späteren Bastelei doch gerne mal viel kleinere (oder viel größere) Pegel messen möchtest. Es muß definitiv eine umschaltbare Eingangsstufe sein.
Skystalker hat geschrieben: Dann kommt eben die Frage welche Auflösung wird benötigt und der dazupassende SRAM, es sollten sich ja doch ein, zwei Sekunden drauf ausgehen, MAX108 wär ja net schlecht, aber bei 1,5 Gsps wirds schnell eng mitn speicher
Auch bei mittelteuren Speicheroszilloskopen werden häufig 8-Bit-Wandler eingesetzt, weil das (zusammen mit dem umschaltbaren Eingang) normalerweise völlig ausreicht. Mehr Auflösung macht das Projekt überproportional größer.

Die Eingangsstufe ist sowieso Dein schlimmstes Problem: Es ist außerordentlich anspruchsvoll, einen (umschaltbaren) Eingangsverstärker mit einer Bandbreite von (in Deinem Beispiel) mindestens 150 MHz zu bauen. Denn anders ließen sich die 1.5 Gs gar nicht sinnvoll nutzen. Außerdem hast Du recht, der passende SRAM *könnte* eng werden, wenn man mindestens eine Sekunde samplen willst. Von der Übertragungszeit bei 38.4k gar nicht zu reden (da wärst Du nämlich etwas über 100 Stunden mit dem Transfer beschäftigt). Hier sollte auch der gängige Kompromiss mit hoher Samplingrate und kleinem Speicher (max. 1kB) greifen. Alles andere muß über eine geschickte Triggerung geschehen (z. B. mit ausreichender Verzögerung).

Die ATmegas sind für diesen Einsatzzweck natürlich hoffnungslos zu langsam, die Datenaufnahme muß dann ein CPLD oder FPGA übernehmen. Da hab ich ehrlich gesagt (noch) keinen Bock drauf :)

Dennoch: Auch ich habe mich schon mehrfach mit solchen Ideen herumgeschlagen und finde sie sehr interessant. Im Web gibt es zu diesem Thema auch schon einige Seiten. Ich würde ein solches Projekt gern aktiv unterstützen (bis auf den FPGA). Ich habe nämlich zu Hause nur manchmal leihweise ein Speicheroszi aus der Firma. Ein eigenes Gerät wäre sehr von Vorteil. Falls das irgendwann mal Wirklichkeit würde, wäre das natürlich das Top-Modul im c't-Lab.

Viele Grüße
Thoralt

Edit: So ein Modul kommt natürlich mit einem einzigen Kanal aus. Wer mehr Kanäle braucht, muß entsprechend mehrere Module aufbauen. Die kritische Triggersynchronisation kriegt man auch mit einer internen Verindungsleitung hin (wobei man natürlich die galvanische Trennung der Eingänge aufgibt, aber das ist auch bei teureren Oszilloskopen der Fall).
There are 10 kinds of people in this world: Those who understand binary and those who don't.

linux-is-sexy
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 65
Registriert: 29.11.2007, 14:38
Wohnort: Aachen

Beitrag von linux-is-sexy » 31.01.2008, 15:38

Ich sag ja: ein DIV in schnell :)

Gruesse LiS
“Intelligence is the ability to avoid doing work, yet getting the work done” Torvalds

Benutzeravatar
thoralt
Site Admin
Site Admin
Beiträge: 259
Registriert: 10.04.2006, 08:48
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von thoralt » 31.01.2008, 16:00

linux-is-sexy hat geschrieben:Ich sag ja: ein DIV in schnell :)
Nur nicht in dieser Auflösung. Das ist mit unseren Mitteln nicht zu bewältigen. Wir sollten uns auf 8 Bit beschränken.

Thoralt
There are 10 kinds of people in this world: Those who understand binary and those who don't.

linux-is-sexy
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 65
Registriert: 29.11.2007, 14:38
Wohnort: Aachen

Beitrag von linux-is-sexy » 31.01.2008, 16:19

Jo des ist klar...

Gruesse
LiS
“Intelligence is the ability to avoid doing work, yet getting the work done” Torvalds

amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Re: Hochauflösender Signalaufzeichner

Beitrag von amd-65 » 31.01.2008, 18:32

Skystalker hat geschrieben:hi,
Dann kommt eben die Frage welche Auflösung wird benötigt und der dazupassende SRAM, es sollten sich ja doch ein, zwei Sekunden drauf ausgehen, MAX108 wär ja net schlecht, aber bei 1,5 Gsps wirds schnell eng mitn speicher
Realistisch für einen Eigenbau ist eine Samplerate von 100MS/s. Dann ist aber die Bandbreite nur noch 10MHz. Hier (http://www.eosystems.ro/eoscope/eoscope_en.htm) gibts ein Selfmade-Oszi, das mit 40MS/s arbeitet. Das Design könnte man möglicherweise bis 100MS/s aufbohren. Der verwendete FiFo, der auch die Logik im FPGA vereinfacht, ist aber nicht mehr beschaffbar. Man müßte dann ein schnelles SRAM verwenden und der FPGA muß dessen Adressierung mit übernehmen. Bauteil- + LP-kosten würde ich mal mit 150..200€ veranschlagen. Bis der erste Prototyp vernünftig läuft, wird man sicher 3..4 Layouts brauchen. Dann hat man ein einkanaliges Speicher-Oszi mit 10MHz Bandbreite. Da ist das Geld in einem TDS1001B von Tektronix besser angelegt. Das ist zweikanalig, hat eine Bandbreite von 40MHz bzw. 500MS/s und kostet 720€ + MwSt.

Gruß
amd-65

Benutzeravatar
hans23
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 101
Registriert: 29.11.2007, 18:43
Wohnort: bei Berlin

Beitrag von hans23 » 31.01.2008, 21:29

und was haltet ihr davon, wenn man das dann auf digitale Signale beschränkt, und dann aber mehrkanalig. Also Logic Analyzer. Gabs glaube ich schonmal ne Diskussion im ofiiziellen Forum.
Linux is like a wigwam: no windows, no gates and an apache inside

Skystalker
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 15
Registriert: 02.12.2007, 18:57
Wohnort: Niederösterreich

Re: Hochauflösender Signalaufzeichner

Beitrag von Skystalker » 31.01.2008, 23:29

amd-65 hat geschrieben:Realistisch für einen Eigenbau ist eine Samplerate von 100MS/s. Dann ist aber die Bandbreite nur noch 10MHz. Hier (http://www.eosystems.ro/eoscope/eoscope_en.htm) gibts ein Selfmade-Oszi, das mit 40MS/s arbeitet. Das Design könnte man möglicherweise bis 100MS/s aufbohren. Der verwendete FiFo, der auch die Logik im FPGA vereinfacht, ist aber nicht mehr beschaffbar. Man müßte dann ein schnelles SRAM verwenden und der FPGA muß dessen Adressierung mit übernehmen. Bauteil- + LP-kosten würde ich mal mit 150..200€ veranschlagen. Bis der erste Prototyp vernünftig läuft, wird man sicher 3..4 Layouts brauchen. Dann hat man ein einkanaliges Speicher-Oszi mit 10MHz Bandbreite. Da ist das Geld in einem TDS1001B von Tektronix besser angelegt. Das ist zweikanalig, hat eine Bandbreite von 40MHz bzw. 500MS/s und kostet 720€ + MwSt.

Gruß
amd-65
Spielverderber :wink:

der max108 sollte mehr als abschreckendes beispiel dienen

amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Beitrag von amd-65 » 01.02.2008, 21:10

hans23 hat geschrieben:Also Logic Analyzer.
Dafür habe ich auch einen interessanten Link: http://minila.sourceforge.net/hw/mainbo ... =mainboard

Gruß
amd-65

Rainer
kann c't-Lab-Module umbauen
kann c't-Lab-Module umbauen
Beiträge: 75
Registriert: 29.11.2007, 01:38
Kontaktdaten:

Beitrag von Rainer » 01.02.2008, 21:58

hans23 hat geschrieben:und was haltet ihr davon, wenn man das dann auf digitale Signale beschränkt, und dann aber mehrkanalig. Also Logic Analyzer. Gabs glaube ich schonmal ne Diskussion im ofiiziellen Forum.
Das hatte ich im offiziellen Forum schon mal zur Sprache gebracht gehabt, aber anscheind gab es dafür kein wirkliches Interesse in der Mehrheit.
Wobei ich dafür immer noch sehr gute Verwendung hätte. :)

Ciao,
Rainer

Klaus_Phi
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 23
Registriert: 26.01.2008, 13:20
Wohnort: Achim

Timer Frequenzzähler Frquenzgenerator

Beitrag von Klaus_Phi » 02.02.2008, 17:08

Die beigefügten Bilder sollen zeigen, wie weit die FPGA Neuentwicklung ist.
Das erste Bild zeigt wie die ADA-IO Baugruppe mit der DDS Software das FPGA über die SPI-Schnittstelle steuert. Das Panel ist an der ADA-IO Baugruppe angeschlossen.
Da die Software für 20 kHz den Wert 1280000 sendet und der FPGA Phasenakku mit 200 MHz arbeitet, ergibt sich die Frequenz 953658 Hz. Die Anzeige 953698 ist das Ergebnis der Toleranz des 50 MHz Quarzgenerators auf der FPGA Baugruppe.
Da es Fanatiker gibt, die unbedingt alles in C programmieren, kam ich nun sehr schnell weiter.
Der C Kode wurde von sourceforge.net heruntergeladen, mit AVR Studio und WINAVR übersetzt und dann geflashed.
Die Bedienung war zunächst ungewohnt aber alles Funktionierte.
Dann wurde in main.c der Wert für den AD9833 von 64.0f in 1.3422f geändert.
Das Ergebnis ist in Bild 2 zu sehen.
Der angezeigte Wert von 20004 Hz ist ebenfalls auf die Ungenauigkeit des Quarzgenerators zurückzuführen. Aber dieses Problem wird auf andere Art und Weise gelöst.
Zum Test der SPI-Schnittstelle wurde im FPGA der Phasenakku des AD9833 realisiert. Deshalb konnte ich zum Test bereits vorhandene Teile wie ADA-IO, Panel und DDS Software nutzen.
Das in den Bildern gezeigte FPGA ist der Typ XC3S400 von der Firma XILINX. Dieser Baustein wurde gewählt, weil er bei Reichelt und Segor erhältlich ist.
Leider hat die Sache einen Haken. Für den Frequenzgenerator benötige ich eine Eigenschaft über den der XC3S400 nicht verfügt.
Ich habe mich deshalb mit dem XILINX Applikations-Guru in Verbindung gesetzt. Er hat mir dringend nahegelegt für das laufende Projekt die SPARTAN 3E Serie einzusetzen. Es wurden sofort 4 Stück XC3S500E bestellt. Der neue Prototyp wird gerade verdrahtet.
Die Daten des XC3S500E FPGAs sind:

500000 System Gatter,
73000 Bit verteiltes RAM,
360000 Bit Block RAM,
20 Multiplizierer,
4 digitale Clock Manager,
158 user IOs,
240 MHz Takt.

Dadurch wird folgendes Design umgesetzt:

Timer: Pulse in 10 ns Schritten bis 24 Stunden Abstand.
Frequenzzähler bis 150 MHz ohne Vorteiler mit der Option auf DCF77 Synchronisation.
Frequenzgenerator bis 150 MHz in 1 Hz Schritten (TTL).

Nebenbei fallen noch einige andere Möglichkeiten ab:

Ein 8 Bit Interface für einen schnellen AD Wandler um ein Oszilloskop zu realisieren.
Ein 32 Bit Interface für einen Logik Analysator. Warum nicht gleich 100 oder so?
Ein 8 Bit Interface für einen DA Wandler um Sinus-Signale zu erzeugen.
Der ATMega32 verschwindet im FPGA.

Die Software für die FPGA Entwicklung kann von der XILINX Webseite geladen werden.
Die Programmierung des FPGAs kann durch ein Eigenbau Kabel erfolgen.

Timer, Frequenzzähler und Frequenzgenerator laufen gleichzeitig und im FPGA ist noch viel Platz.
Falls nun jemand denkt das sei mit Kanonen nach Spatzen geschossen, in der FPGA Entwicklung gilt: Die Kanonen können nie groß genug sein.
CM hat dieses Design bereits auf der Roadmap angekündigt. Ich möchte CM nicht mit unnötigen Fragen von seiner derzeitigen Aufgabe ablenken. Je schneller er seine Aufgabe erledigt, um so schneller steht er dem C’T Lab wieder zur Verfügung.
Die grundsätzlichen Eigenschaften des Designs sind mit CM verbindlich abgesprochen.
Zu den Feinheiten würde ich gerne noch sehr gute Vorschläge hören.
Zu dem Oszilloskop gibt es einen guten Beitrag in ELRAD 9 1992 und 10 1992.
Zu dem Logik Analysator gibt es einen guten Beitrag in ELEKTOR 2 2003.
Aber das ist Zukunftsmusik, ich muß die anstehenden Probleme lösen. Deshalb würde ich mich freuen, wenn mir jemand von der „C’T Untergrund Entwicklung“ das eine oder andere Problem vom Hals schaffen könnte.
Das Labview Interface muß angepaßt werden.
Die DDS Software muß auf 150 MHz erweitert werden.
Die Panel Software muß auf 2*16 Zeichen erweitert werden.
Der SPI-Befehlsatz muß festgelegt werden.
Die 16 Bit des AD9833 sind für unsere Zwecke nicht „das gelbe vom Ei“. Ich schlage vor, das SPI-Telegramm auf 32 Bit zu erweitern.
Der Termin für das Design ist Ende März. Ich werde mein Bestes geben und mache mich nun an die Verdrahtung des neuen Prototyps.

Ich wünsche allen ein schönes Wochenende mit C’T Lab.

Klaus Philipp
Dateianhänge
Bild2s.jpg
Bild2s.jpg (150.47 KiB) 6625 mal betrachtet
Bild1s.jpg
Bild1s.jpg (275.39 KiB) 6624 mal betrachtet
Zuletzt geändert von Klaus_Phi am 19.03.2008, 23:56, insgesamt 6-mal geändert.

Benutzeravatar
thoralt
Site Admin
Site Admin
Beiträge: 259
Registriert: 10.04.2006, 08:48
Wohnort: Chemnitz
Kontaktdaten:

Re: Timer Frequenzzähler Frquenzgenerator

Beitrag von thoralt » 02.02.2008, 17:43

Klaus_Phi hat geschrieben:Die beigefügten Bilder sollen zeigen, wie weit die FPGA Neuentwicklung ist.
Welche Bilder?

Und worum geht es überhaupt? Du hast uns jetzt hier mit Fakten zugeballert, ohne zu sagen, auf was Du Dich beziehst. Offenbar hat es nicht _direkt_ mit dem Topic zu tun. Erkläre doch bitte mal, was Du meinst :) Ich habe zum Beispiel keine Ahnung von Deinem Projekt, aber es klingt interessant!

Viele Grüße
Thoralt
There are 10 kinds of people in this world: Those who understand binary and those who don't.

Klaus_Phi
kann c't-Lab-Bausätze bestellen
kann c't-Lab-Bausätze bestellen
Beiträge: 23
Registriert: 26.01.2008, 13:20
Wohnort: Achim

Beitrag von Klaus_Phi » 02.02.2008, 18:20

Hallo Thoralt,

ich bitte um Entschuldigung. Es gab leider ein Problem mit den Bildern. Ich hatte den Hinweis auf die Größe leider übersehen. Ich arbeite gerade daran.
Vielen Dank für Deine DDS C sourcen.

Mit freundlichen Grüßen

Klaus Philipp

Benutzeravatar
thoralt
Site Admin
Site Admin
Beiträge: 259
Registriert: 10.04.2006, 08:48
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von thoralt » 02.02.2008, 18:45

Klaus_Phi hat geschrieben:ich bitte um Entschuldigung. Es gab leider ein Problem mit den Bildern. Ich hatte den Hinweis auf die Größe leider übersehen. Ich arbeite gerade daran.
Ah jetzt ja :) Das sieht ja schon sehr vielversprechend aus. Ich bin gespannt, mal in die Schaltungsunterlagen zu kucken, wenn es soweit ist.
Klaus_Phi hat geschrieben:Vielen Dank für Deine DDS C sourcen.
Keine Ursache. Jörg (wilkeltus) hat auch einen großen Anteil an der Firmware, ich leite Deinen Dank mal weiter. Aber Vorsicht, der Quelltext wird momentan noch mehrmals am Tag geändert. Wir haben zwar jetzt "feature freeze" gemacht, aber es sind noch ein paar Ungereimtheiten drin. Daher haben wir uns mit der Veröffentlichung noch zurückgehalten.

Viele Grüße
Thoralt
There are 10 kinds of people in this world: Those who understand binary and those who don't.

amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Re: Timer Frequenzzähler Frquenzgenerator

Beitrag von amd-65 » 03.02.2008, 00:06

Klaus_Phi hat geschrieben: Ich möchte CM nicht mit unnötigen Fragen von seiner derzeitigen Aufgabe ablenken. Je schneller er seine Aufgabe erledigt, um so schneller steht er dem C’T Lab wieder zur Verfügung.
Ich würde es begrüßen, wenn CM umgehend seine Aufgaben beim C'T Lab erledigt. Momentan ist z.B. das DCG nicht benutzbar. Ohne Bugfix schwingt es bei Stromentlastung gewaltig über. Mit Bugfix tut es das auch noch und schwingt permanent im Stromregelbetrieb im 2mA und 20mA Bereich. Man kann es auch relativ leicht in den beiden anderen Bereichen zum Schwingen bringen.

Gruß
amd-65

Antworten