Hochauflösender Signalaufzeichner

Wenn ihr Ideen zu neuen Entwicklungen habt, dann diskutiert sie bitte hier.
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 usw

Beitrag von Klaus_Phi »

Hallo amd-65

ich kann Deinen Ärger verstehen. Aber wir sollten CM nicht unnötig unter Druck setzen. Ich vermute er ist zur Zeit vollkommen "unter Wasser". Er hat die Artikelserie für Amateure geschrieben. Wenn es ein Problem geben sollte, müssen es Profis lösen.
Ich gehe einfach davon aus, daß ich es mit Profis zu tun habe:
Da gibt es jemanden, der das Pascal Programm des DCG in C umgesetzt hat.
Da gibt es "Kaoten", die das Ganze auf das DDS übertrugen und mir viel Zeit ersparten.
Um an der Diskussion um das DCG einen Beitrag leisten zu können, habe ich gerade eine Bestellung bei Segor aufgegeben. Ich brauche kein DCG. Aber ich liebe Inbetriebnahmen. Gibt es etwas interessanteres als Fehler zu suchen? Aus der Sicht der Amateure ist dies untragbar. Ein Profi handelt anders. Er setzt um.
Leider ist mir der Name desjenigen entfallen, der den DCG Kode in C umgesetzt hat. (Sollte ein Witz sein.) Ich versuche meinen Beitrag zu leisten, so wie Du es bereits getan hast.
Es liegt an uns, was wir aus dem C'T Lab machen.
CM ist "nur" der Dirigent. Wir sollten die Zeit seiner Abwesenheit nutzen und üben.

Mit freundlichen Grüßen

Klaus Philipp
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 »

Hallo Thoralt,

ich bin etwas ungeübt mit dem Forum. Wie kann ich unbeabsichtigte Nachrichten löschen?

Ich halte amd-65 nicht für seniel. Eine Nachricht wäre ausreichend gewesen.

Wie kann ich die überflüssigen löschem?

Mit freundlichen Grüßen

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

Beitrag von thoralt »

Klaus_Phi hat geschrieben:... Wie kann ich unbeabsichtigte Nachrichten löschen?
Rechts über der Nachricht befinden sich die Schaltflächen "Zitat", "Edit", "Nach oben" (ein Pfeil) und "Löschen" (ein Kreuz).

Ich hab' das mal schnell für Dich erledigt :)

Viele Grüße
Thoralt
There are 10 kinds of people in this world: Those who understand binary and those who don't.
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Beitrag von psclab38 »

Hallo Klaus_Phi,

ohne Deinen Entwicklungsdrang in irgendeiner Weise bremsen zu wollen, aber wir wissen immer noch nicht genau, was es mit Deiner FPGA-Schaltung auf sich hat. Kannst Du uns da mal bitte etwas erleuchten?

Was soll es denn mal werden, wenn's fertig ist?

Und wenn's nicht direkt zum Topic "Hochauflösender Signalaufzeichner" (Oszi/LogicAnalyzer) gehört, dann mach' bitte einen neuen Thread auf.
Viele Grüße
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 »

Das Design soll auch ein Logik Analysator werden.
Bisher wurde durch die Nachbildung des AD9833 ein Frequenzgenerator realisiert. Da Thoralt so freundlich war, die DDS Software in C zu portieren, wird der Frequenzgenerator in Kürze fertiggestellt sein. Der Frequenzgenerator wurde nur deshalb zuerst realisiert, weil die ATMega Software für diese Anwendung am schnellsten anzupassen ist.
Der nächste Schritt ist eine neues Panel mit 2*16 Zeichen. Ich bin gerne bereit den Logik Analysator vorzuziehen. Die Programmierung eines Logik Analysators in VHDL ist kein sehr großes Problem. Zur Darstellung der gelesenen Werte muß der ATMega programmiert werden. Den Aufwand kann ich abschätzen. Aber bei Labview betrete ich Neuland. Ein spezielles Problem bei Logik Analysatoren ist die Triggerung. Wenn nur ein Wert ausreichend ist, gibt es kein Problem. Aber mit mehreren Levels und Ereigniszählern wird das Ganze in Labview zu einem unüberschaubaren Abenteuer. Allein die Forderung, ich möchte die gelesenen Bits nicht mit 0 bis 31 darstellen, sondern mit D7 bis D0 RW usw. wäre eine sehr spannende Übung mit Labview.
Das Oszilloskop ist mir besonders wichtig. Ich habe vor 15 Jahren das ELRAD OsziFace gebaut. Die mitgelieferte Software lief nur auf einem "IBM kompatiblen". Nach einigen Wochen MAC Programmierung mußte ich das Projekt aus beruflichen Gründen einstellen.
Ein Oszilloskop hat fünf Problembereiche:
Der analoge Eingangsverstärker. Da werde ich einfach die ELRAD Schaltung aus 9/92 übernehmen. (OsziFace mit wenigen Änderungen).
Der AD-Wandler. (Ich bitte um Vorschläge).
Der Speicher. (Das FPGA kann Werte mit 200 MHz einlesen)
Die Schnittstelle zu einem Mikroprozessor. (SPI wurde bereits im FPGA realisiert).
Die Darstellung der Meßwerte. (Muß noch in Labview erstellt werden).

Ich erwarte einfach gute Vorschläge, oder noch besser: Mitstreiter die wirklich etwas umsetzen.

Mit freundlichen Grüßen

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

Beitrag von hans23 »

Klaus_Phi hat geschrieben: Der AD-Wandler. (Ich bitte um Vorschläge).
Ich hab mal irgendwo gelesen, dass bei den DSO's das Signal erst durch hunderte Sample&Hold Stufen gejagt wird und dann Schritt für Schritt zum AD-Wandler übertragen wird. Nur so können die diese hohen Frequenzen beherrschen.

Aber keine Ahnung ob das einen Nutzen für uns hat. Nur mal so in den Raum geworfen.

Gruß
Hans
Linux is like a wigwam: no windows, no gates and an apache inside
Benutzeravatar
thoralt
Site Admin
Site Admin
Beiträge: 262
Registriert: 10.04.2006, 08:48
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von thoralt »

Hallo,

bei den Hardware-Themen möchte ich mich noch etwas zurückhalten, aber ...
Klaus_Phi hat geschrieben:Die Darstellung der Meßwerte. (Muß noch in Labview erstellt werden).
... hier würde ich eine Abkehr von Labview vorziehen. Für den Programmier-Laien ist zwar Labview wahrscheinlich leichter zu handhaben, aber das JLab von magicroomy hat irgendwie mehr Potenzial. Ich würde gern magicroomy dabei unterstützen, das JLab an ein solches Projekt anzupassen (obwohl er das bestimmt auch alleine ganz fix erledigt :)). In Labview muß das nicht unbedingt sein.

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 »

Hallo Hans23,

eine Sample & Hold Stufe genügt. Die meisten AD Wandler haben diese bereits eingebaut. Das uralte Datenblatt des TMC1175 hätte ich gerne beigefügt. Aber die PDF-Datei ist zu groß. Suche einfach mit Google danach. Es gibt heute viel bessere AD Wandler.

Mit freundlichen Grüßen

Klaus Philipp
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 »

Hallo Thorald,

mir ist es vollkommen egal, ob meine Designs mit JLab oder mit Labview kommunizieren. Die Hauptsache ist für mich: Ich brauche nichts zu Programmieren in einer Sprache die ich bisher nicht verstehe. Ich lerne auch gerne neues. Aber das kostet mich Zeit. Wenn jeder das macht, was er besten kann, kommen wir am schnellsten voran. Ich habe Deine DDS C Sourcen auch nicht bis auf das letzte Bit geprüft. Mich hat nur dir SPI-Schnittstelle interessiert. Ich konnte ohne Probleme die Stelle finden, die zu ändern war. Das ist nach meiner unmaßgeblichen Meinung Teamarbeit. Wenn wir so in Zukunft weiterarbeiten, werden dabei Ergebnisse herauskommen, von denen CM sehr überrascht sein wird.
Ich möchte die Abwesenheit des "Dirigenten CM" einfach gut nutzen.

Mit freundlichen Grüßen

Klaus Philipp
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

FPGA Hausaufgaben gemacht

Beitrag von Klaus_Phi »

Hallo an alle Interessenten eines hochauflösenden Signalaufzeichners,

leider hatte ich eine einwöchige Reise nach Paris gewonnen. Danach war ich für einige Tage krank und das FPGA-Projekt geriet etwas ins stocken.
Aber ich habe meine Hausaufgaben nun erledigt. Die Firma Digikey hat 4 FPGAs geliefert und ich habe mit einem Chip ein neues Board aufgebaut. Ein PM16 Board wurde ebenfalls fertig gestellt.
Die etwas vollmundig angekündigten DCP und DCG wurden bestellt und bestückt. Die Inbetriebnahme steht noch bevor.
Die beigefügten Bilder zeigen was mit einem FPGA-Design möglich ist.
Das rechte Board generiert die Frequenz.
Das linke Board misst die Frequenz.
Das erste Bild zeigt das Ganze mit 100 MHz. Das zweite Bild zeigt das Ganze mit fast 200 MHz. Das die generierte und die gemessene Frequenz abweichen liegt an der Toleranz der Quarz-Generatoren der beiden Boards.
Der nächste Schritt ist die Anpassung an C’t-Lab. Die Anpassung wurde bereits für das DDS durchgeführt. Der Algorithmus für den FPGA Frequenz-Generator unterscheidet sich von dem AD9833. Hier ist noch einiges an Prorammierarbeit notwendig.
Zuerst wird die SPI-Schnittstelle definiert.
Das Steuerwort für den Frequenz-Generator wird 32 Bit lang. Usw. usw.
Das dritte Bild zeigt die Eingangsbaugruppe des ELRAD Osziface. Die Schaltung unten links müsste überarbeitet werden. Der Speicher und die Zähler oben würden im FPGA verschwinden.
Die meisten Vorschläge für Logik-Analysatoren kranken an FIFOs, die nicht beschaffbar sind. Mit dem FPGA ist das alles ganz einfach.
Der Schaltplan des Prototyps wurde fertig gestellt. Das Layout ist in Arbeit.
Wenn noch jemand Vorschläge hat, ich bin für jeden Hinweis dankbar.

Mit freundlichen Grüßen

Klaus Philipp


Dateianhänge
100_MHz.jpg
100_MHz.jpg (102.44 KiB) 8394 mal betrachtet
200_MHz.jpg
200_MHz.jpg (103.83 KiB) 8395 mal betrachtet
oziface.jpg
oziface.jpg (101.3 KiB) 8392 mal betrachtet
magicroomy
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 205
Registriert: 01.12.2007, 09:23

Programmierung

Beitrag von magicroomy »

Wenn es tatsächlich zu einem FPGA basierten c't-Lab Modul kommt würde mich mal interessieren mit welchen Tools die programmiert werden? Was kostet sowas? Ist das dann für den Hobbykeller geeignet?

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

Programmierung

Beitrag von Rainer »

Also für die weit verbreiteten FPGAs von Xilinx oder Altera gibt es die Entwicklungstool mit nur geringen Einschränkungen kostenlos. In diesen ist alles enthalten was man von der Entwicklung über Simulation bis zur Programmierung braucht.
Da ein FPGA üblicherweise seine Programmierung nur solange behält, wie er mit Strom versorgt wird, braucht man sowieso weitere Logik zum programmieren.

In der Uni haben wir dafür drei verschiedene Verfahren benutzt gehabt auf diversen Experimentierboards:

1. Nach jedem Einschalten muß der FPGA vom PC aus neu programmiert werden (nur für Testzwecke brauchbar).

2. Neben dem FPGA kommt noch ein nicht-flüchtiger Speicher zum Einsatz, welcher automatisch nach dem Einschalten die Programmierung in den FPGA überträgt. Dieser Speicher wird nur einmal vom PC aus programmiert.

3. Zusätzlich zur 2. Lösung kommt noch ein Microcontroller zum Einsatz, welcher die Programmierung anhand des nicht-flüchtigen Speichers übernimmt. Dieser könnte dann auch eine eventuelle Auswahl über die jeweils gewünschte Programmierung übernehmen.

Leider beschränken sich meine Erfahrungen mit FPGAs nur auf einen FPGA-Kurs an der Uni. Aber dieser hat ein starkes Interesse daran bei mir geweckt, da diese Bausteine so vielseitig einsetzbar sind. :)

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

Beitrag von Klaus_Phi »

Hallo Magic Roomy,

wie Rainer bereits schrieb, muß ein FPGA nach dem Einschalten geladen werden. In der Entwicklungsphase wird dies mit einem Programmierkabel durchgeführt, das für wenige Euro selbst gebaut werden kann.

Die Gründe, warum die XILINX Spartan 3E Serie gewählt wurde sind:

Die XILINX Entwicklungssoftware mit der Bezeichnung ISE-Webpack kann kostenlos genutzt werden.
Die FPGAs der Spartan 3E Serie sind im QFP und TQFP Gehäuse verfügbar. Wie man an den Bildern in meinem früheren Beitrag sehen kann, sind Bauteile in diesen Bauformen mit etwas Geschick auf zulöten.
Diese FPGAs sind auch von Heimanwendern beschaffbar. Der Preis liegt zwischen 15 und 50 Euro.
Die FPGAs der 3E Serie können den Bitstrom von einem seriellen FLASH-PROM laden.
Das serielle FLASH-PROM wird mit dem gleichen Programmierkabel programmiert wie das FPGA.
Die Bauelemente enthalten große interne RAMs, die mit über 200 MHz getaktet werden können.

Auf den eben erwähnten Bildern wurden in die FPGAs nicht nur die Hardware für den Generator und den Zähler geladen. Die Prozessoren samt den Programmen zur Ansteuerung des LCD-Displays und der Bedienelemente wurden ebenfalls in die FPGAs geladen.
Da die Nachbildung eines ATMega32 in VHDL etwa 3 Monate Zeit kosten würde, habe ich vorerst darauf verzichtet. Der Prozessor wurde daher extern an die FPGAs angeschlossen.

Es ist genau wie Rainer schrieb: Diese Bausteine sind so vielseitig einsetzbar.

Gruß

Klaus
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 »

Klaus_Phi hat geschrieben: Da die Nachbildung eines ATMega32 in VHDL etwa 3 Monate Zeit kosten würde, habe ich vorerst darauf verzichtet. Der Prozessor wurde daher extern an die FPGAs angeschlossen.
Wie wäre es denn, wenn du einen fertigen MCU-Core benutzen würdest?
Auf www.opencores.org gibt es dutzende freie Controller Implementierungen als fertigen VHDL Code. Man muß das Rad ja nicht jedesmal neu erfinden, wenn das schon Jemand anderes getan hat. ;)
Wir haben in der Uni damals z.B. einen freien PIC Controller für einen Versuch benutzt gehabt. Das hat alles recht problemlos funktioniert.
Auf die schnelle sehe ich dort einen AVR_Core, welcher einen Atmega 103 nachbildet. Das ist zwar nicht mehr der neueste, aber im FPGA läuft der ja um längen schneller als ein reales Äquivalent. :)
Alternativ gibt es auch PIC, MCS51 oder sonstige VHDL-Controller dort.

Ciao,
Rainer
Jan_W
Beiträge: 2
Registriert: 26.01.2008, 01:15

Beitrag von Jan_W »

Hallo zusammen,

meint ihr denn, dass der Optobus des ct-Labs überhaupt eine geeignete Hardware für dieses Projekt ist? Schließlich laufen die Daten ja stets über den UART des nächsten Moduls, außerdem könnte man auch keine binären Datenübertragungen machen, da sonst im Datenstrom vermeintliche Parser-Tokens auftauchen.

Ich habe im Jahr 2006 einige Entwürfe für einen Eingangsverstärker mit 270 MHz Bandbreite gemacht, um ein ähnliches Projekt zu starten. In der Zwischenzeit habe ich mir dann jedoch ein HP16500B gekauft, was den Bedarf erstmal gedeckt hat. Trotzdem ist es aber ein faszinierendes Projekt, und es wäre spannend, es wieder aufleben zu lassen.

Als ADC wollte ich den ADS831 nehmen, der mit 80 MHz Samplerate beherrschbar scheint, dennoch gute Leistung bietet.

Zum Thema Hardware-FIFO: fertige, vollintegrierte FIFOs haben den Nachteil, dass der Adresszähler gesperrt wird, wenn sie ihr maximales Fassungsvermögen erreicht haben. Außerdem lässt sich der Stand des internen Adresszählers nicht auslesen. Vor allem ersteres macht die Implementierung von Pretrigger-Modi unmöglich, da die Sperrung nur durch Auslesen des FIFO aufgehoben werden kann, oder durch ein Reset der Adresslogik, die aber etwa 3 Clockzyklen Zeit verschlingt.

Abgesehen davon, sind FIFOs sehr teuer. Ein erhältlicher und sehr großer Typ wäre das SN74V293, ein 18 Bit * 128 kWorte-FIFO, dass sich auf 9 Bit Busbreite zugunsten der Speichertiefe runterschalten lässt.

Wenn man aber nicht die Möglichkeiten eines Oszis massiv beschneiden will, ist ein FIFO nicht umbedingt das Gelbe vom Ei.

Über die DCM (Digital Clock Manager) der Spartan 3-FPGAs lässt sich sehr einfach ein schnelles Speicherinterface aufbauen.

Gruß,

Jan
Antworten