Forum: Mikrocontroller und Digitale Elektronik Oszi Displayauflösung


von Gustl B. (-gb-)


Lesenswert?

Wenn nicht passend, bitte verschieben.

Hallo, ich bin verwirrt, also ich will ein Digitaloszi basteln und habe 
ein Entscheidungsproblem:

Welche Displayauflösung soll ich verwenden?

Derzeit habe ich das Signal von den ADCs auf ein 1024x768 Bild XGA 
ausgegeben. Also in der Vertikalen 9 Bits.

Viele Oszis, die es zu kaufen gibt, haben aber deutlich weniger, selbst 
teure Modelle von Tek wie die DPO2000 Reihe haben nur 480×234 
Bildpunkte, also nichtmal 8 Bits in der Vertikalen.
Die neueren Rigol Teile verwenden 800×480 Pixel.

Ich bin jetzt am überlegen ob VGA (640x480) und da dann 512x256 Pixel 
für den Signalverlauf oder XGA (1024x768) und da dann 1024x512 Pixel für 
das Signal.

Gegen XGA spricht, dass ich für ein Vollbild, also nicht nur den 
Signalverlauf, den vierfachen Speicher brauche.

Also: Lohnt sich das, oder reicht VGA (640x480) völlig aus?

Vielen Dank!

: Verschoben durch Moderator
von Lothar S. (loeti)


Lesenswert?

Tja, Hameg löst das Problem indem es der Kompakt Serie neben einen VGA 
Display mit VirtualScreen aucxh noch einen DVI Ausgang spendiert.

Die eleganteste Lösung ist in Deinen Fall aber wohl ein SVGA 800x600 
Display.

Grüße Löti

von Gustl B. (-gb-)


Lesenswert?

Du meinst SVGA weil ich dann bei 600 im Vergleich zu 768 nicht so viel 
in der Vertikalen frei habe?

Mir geht es eher darum möglichst wenig schnellen Speicher zu benötigen 
aber auch möglichst ein ordentliches Bild zu haben auf dem man das 
Signal noch schön erkennt.
Zwischen diesen beiden Anforderungen will ich abwägen.

Ich möchte Intensity Grading mit einbauen, also brauche ich verdammt 
schnelles RAM, vermutlich BRAM im FPGA und das ist kostbar.

Einmal müss ich 1024x512Pixel speichern und einmal 512x256. Da ich aber 
im FPGA als kleinstes RAM diese 18kBit Blöcke habe (2kBytes) und je 
Zeile einen RAM Block verwenden werde muss ich immer in x-Richtung 2k 
Punkte speichern.

Also stehen 2048x512Bytes gegen 2048x256Bytes, Bytes, weil ich Farbtiefe 
brauche.

Die Frage ist eigentlich:
Lohnt sich eine höhere Auflösung als 512x256 (für das Signal) oder kann 
man da schon alles erkennen?

Ich will, wenn der ADC mehr als 8 Bit Auflösung hat natürlich auch 
einbauen, dass man die unteren 8 Bits anzeigen kann, wenn das Signal so 
klein ist. Oder ich baue eine Verstärkervorstufe die das Signal auf den 
ADC Eingangsbereich verstärken kann, und auch verringern wenn es zu groß 
ist.

von Lothar S. (loeti)


Lesenswert?

Man kann 2 Kanäle schon übereinander schreiben und farblich trennen nur 
das ist eine sehr ungewohnte Darstellung die nicht nur ich so absolut 
nicht schätze.

> Also stehen 2048x512Bytes gegen 2048x256Bytes, Bytes, weil ich Farbtiefe
> brauche.

Dann 1280x720 und 1280x512 für das Signal bei einen "Dual Chanel" ... .

> Lohnt sich eine höhere Auflösung als 512x256 (für das Signal)

Eindeutig ja.

Grüße Löti

von Gustl B. (-gb-)


Lesenswert?

Hallo, also nein ich brauche die 8 Bits Farbtiefe nicht, um zwei Signale 
farblich zu trennen. Ich will Intensity Grading machen, also die ganze 
Zeit samplen und dann die vielen Signalverläufe übereinanderlegen.

Wird ein Pixel einmal getroffen, ist es dunkler wie wenn es von mehr 
Signalverläufen getroffen wird.

Wie würdest du die beiden Kanäle trennen?

von Sebastian W. (wangnick)


Lesenswert?

Hallo Gustl,

wenn du eh intensity grading machst, dann würde ich auch gleich subpixel 
sampling machen.

Also, wenn ein Messwert zwischen zwei Pixeln liegt, beide Pixel je nach 
Höhe des Messwerts mehr oder weniger einfärben.

LG, Sebastian

von Gustl B. (-gb-)


Lesenswert?

Hallo,

erstmal muss ich überhaupt damit anfangen :-D Man gucken wieviel Geld 
ich nach dem TÜV für mein Auto noch übrig habe, aber ich habe es feste 
vor, kann aber noch dauern.

Subpixel Sampling klingt interessant, ich weiß aber nicht ob ich das 
mache/brauche.

Der Plan (und auch der Grund warum ich schnellen RAM brauche):

Jedes Sample vom ADC soll auf dem Bildschirm zu sehen sein, also in das 
Bild einfließen. Die einzige Ausnahme ist zwischen Zeilenende und dem 
nächsten Trigger, da gehen Samples verloren.

Die BRAMs sind leider immer 2kBytes groß und ich will je Bildzeile einen 
verwenden. Also wird die Zeile 2048 Pixel lang. Dann kommt der Trigger, 
es werden die 2k Werte aufgenommen, ins Bild eingebracht und dann wird 
auf den nächsten Trigger gewartet. Das kann und wird meist sehr schnell 
gehen, daher bekomme ich dann sehr viele Signalverläufe.

Eigentlich will ich gerne 500MSpS ADCs, aber es werden wohl 250MSpS. 
Dann kann man rechnen, erstmal ohne die Wartezeit auf den Trigger:

250M/2k = 125k Signalverläufe je Sekunde, habe ich dann 60 Bilder je 
Sekunde sind das ca. 2k Signalverläufe je Bild. Das ist schon viel, da 
brauche ich die Punkte auch nicht mit Linien zu verbinden weil die 
automatisch entstehen.

Die Frage ist ob das sinnvoll ist so viele Signalverläufe zu zeichnen. 
Klar man hat dann fast alles einmal auf dem Schirm, aber nur für 1/60s.

Wenn man dann noch ein Nachleuchten will, dann müsste man mehr 
Vollbilder speichern und die dann zeitlich abdunkeln, braucht aber viel 
RAM.

Da jedes BRAM leider eben diese 2k groß ist und nicht kleiner, und ich 
vermutlich "nur" 730 davon zur Verfügung habe, also 1,4...MBytes und von 
jedem der beiden ADCs ein eigenes Bild aufnehmen möchte das dann diese 
2k Pixel lang ist, komme ich auf nur 256 Pixel in der Vertikalen.
Also 2kBytes*256 = 0,5MBytes und das mal 2 für beide ADCs. Für die 
Bildausgabe kann ich dann nochmal entweder ein Bild speichern, dass dann 
nichtmehr durch die 2k Länge festgesetzt ist, z.B. 1024x512 = 0,5Mbytes, 
die ich aber nicht habe. Da werde ich dann immer nur einzelne Zeilen 
zwischenspeichern für den Monitor oder eine kleinere Auflösung wie 
512x512 Pixel wählen.

von Lothar S. (loeti)


Lesenswert?

> Wie würdest du die beiden Kanäle trennen?

Wenn Du das so machen willst wie beschrieben solltest Du eigentlich 
einen SW-Monitor nehmen und zur Kanaltrennung dann 256 Pixel vertikal 
pro Kanal.
Das menschliche Auge kann 8Bit Farben auflösen und 16Bit Helligkeit.
Dabei stört aber die Farbwahrnehmung das Helligkeitsempfinden daher
SW.

Grüße Löti

von Gustl B. (-gb-)


Lesenswert?

Ok, also bunt werde ich das wohl nicht machen, sondern die Farbtiefe, 
also hier 8 oder 9 Bits werde ich für Helligkeitsstufen verwenden.
Gut vielleicht sowas wie eine "Heatmap" da ist das Bunte finde ich ok. 
So wie hier:
http://i01.i.aliimg.com/img/pb/613/421/897/897421613_985.jpg

Dann bekommt jeder Kanal sein eigenes "Bild" also nicht im Sinne von 
Monitor-Bild, sondern im Sinne von Bild für den Signalverlauf, also 
vermutlich wegen RAM Beschränkung 2048x256 Pixel. Diese beiden Bilder 
können dann übereinander auf 512 Pixeln angezeigt, aber auch verschoben 
werden auf dem Monitor bis die übereinander liegen.

Ich muss aber sagen, dass ich das bisher nur vorhabe. Vermutlich werde 
ich das irgendwann im laufe dieses Jahres erst anfangen weil das doch 
auch Geld kostet das ich derzeit nicht habe.

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
Noch kein Account? Hier anmelden.