Könnte ihr dieses "Abfallprodukt" von SerialComInstruments mal testen? Es ist noch in einem rudimentärem Stadium und soll mal ein eigenständiges Programm werden. SerialComScope V0.01 Schnelle Scope-Darstellung von 8 Bit ADC-Werten eines Mikrocontrollers über die serielle Schnittstelle. Die Display-Auflösung entspricht mit 256x500 der eines Digital-Oszilloscopes. Höhere Auflösungen in der X-Achse sind beliebig machbar, verringern aber entsprechen die Frame-Rate. Bei einem weiteren Ausbau sollen von Skalierung der X-Achse in Zeiteinheiten, Zoom usw dazu kommen. Überlegenswert wäre eine Übertragung von einer geänderten Abtast-Einstellung vom PC zum MC (würde aber event. die max.Samplerate beeinflussen, da ja darauf hin im MC abgefragt werden müsste). Ich schaffe damit zur Zeit ca. 30.000 Samples/s bei 460800 Baud (siehe Bild mit 2 kHz Dreiecksignal). Die Framerate (Updaterate) der Darstellung beträgt ca. 20 Frames/s. Folgende Eigenschaften habe ich bei Tests festgestellt: Controller Clock baud Auflösung Samplerate/s Frames/s incl.Transfer 500 Pixel --------------------------------------------------------------------- ATMega168-20 22118400 460800 8 bit 30000 20 ATMega328 16000000 115200 8 bit 6000 4 Das Beispiel-Programm für den MC in Luna kann leicht in andere Sprachen wie C oder Bascom sinngemäss übertragen werden. Der Trigger arbeitet nicht immer wie er soll, vielleicht findet ihr noch mehr Tücken und habt noch Vorschläge.
:
Bearbeitet durch User
Interessant, wie wärs wenn man statt der ungenauen Dauerschleife den Interrupt des ADC nutzt um eine halbwegs exakte Basisfrequenz zu erreichen? Momentan kann das Anwendungsprogramm doch gar keine richtige Zeit(-Anzeige) berechnen um auch nur halbwegs sinnvolle Zeitabschnitte ablesen zu können.
Da hast Du absolut Recht. Es ging mir aber zuerst nur mal darum zu sehen, wie schnell meine Software bei der Darstellung ist. So eine Art Machbarkeits-Studie. Da ist anscheinend auf der PC-Seite noch ziemlich Luft drin, z.B. für eine mitlaufende FFT.
:
Bearbeitet durch User
Wenn ich das Ganze mit einem 20 Mhz Quarz und dieser Baudrate betreibe, zeigt die Scopeanzeige nur noch senkrechte Striche an... Übertragungsfehler?
Mike schrieb: > Wenn ich das Ganze mit einem 20 Mhz Quarz und dieser Baudrate betreibe, > zeigt die Scopeanzeige nur noch senkrechte Striche an... > Übertragungsfehler? ... und da wunderst Du Dich?
Demnächst gibt es eine neue Version von SerialComScope. Anbei eine Voransicht. Der Mikrocontroller bekommt nun die Information welche Samplerate eingestellt ist jeweils als 1 Byte codiert über die Schnittstelle geschickt. Die Darstellung ist zoombar und in X- und Y-Achse verschiebbar. An der korrekten Skalierung für die Y-Achse bastel ich noch.
:
Bearbeitet durch User
Ich denke das ist der falsche Weg, ein Oszilloskop ändert doch nicht seine Hardware-Samplerate! Das wäre hier Aufgabe des PC-Programms, dafür muss es natürlich wissen mit welcher Frequenz die Werte gesampelt werden. Auf dem MC also immer Maximale Samplerate was die Schnittstelle kann und das Ganze über Interrupt und Free running mode mit fester Frequenz (die natürlich unterhalb der Ausgabegeschwindigkeit liegen muss).
Hollow schrieb: > Ich denke das ist der falsche Weg, ein Oszilloskop ändert doch nicht > seine Hardware-Samplerate! Das wäre hier Aufgabe des PC-Programms, dafür > muss es natürlich wissen mit welcher Frequenz die Werte gesampelt > werden. Da bin ich aber ganz anderer Ansicht, aber ich lass mich gern überzeugen :) Aus welchem Grund wäre es sinvoll z.B. langsamere Vorgänge mit höchster Samplerate zu messen? Wozu soll da der enstehende Datenwust gut sein. Das Ganze kann man auch nicht wirklich mit einem Oszi vergleichen. Und was machen die Anwender mit schnelleren/langsameren MC's und/oder Schnittstellen?
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.