Forum: Mikrocontroller und Digitale Elektronik Frames Per Second auf T6963C Display abfragen!?


von martinw (Gast)


Lesenswert?

Hallo Leute

Also ich hab jetzt in den Ferien wieder angefangen mit Basteln ;) So
zum Warmwerden hab ich mal ein single Chip digital Oszilloskop gebaut.
Die Daten werden gesampelt, gespeichert und auf einem Display
ausgegeben. Dabei handelt es sich um ein Display mit 240*128 Pixel
Auflösung mit T6963C Controller.
Eigentlich funktioniert das ganze auch schon wunderbar habe nur ein
Problem mit der Updaterate. Wenn diese nämlich genau die Refresh Rate
des Displays beträgt kommt es zu bösen Inteferenzen und Teile des
Bildschirms verschwinden.
Habe von dem Effekt mal ein Video gemacht. Da es 1,64 MB groß ist hab
ich es mal auf meinen Webserver geladen... hier der Link
www.egiraffe.net/team/martin/T6963C.wmv

Jetzt wollte ich fragen, kann man an dem Display vielleicht irgendwo
ein Signal abgreifen aus dem man ableiten kann wann das Display mit
einem Refresh fertig ist und wieder von oben beginnt? Also so dass ich
zb. genau für jede Frame die dargestellt wird neuen Speicherinhalt
bereitstellen kann. Von der Geschwindigkeit her sollte das nicht so ein
Problem sein. Der Effekt tritt bei mir bei ~ 73 Hz auf... und ich
verwende einen dsPIC bei 30MIPS!

Danke für eure Vorschläge...

MfG Martin W

von Ralf (Gast)


Lesenswert?

Es gibt bei einem T6963C keinen "Refresh" in dem Sinne.
Wichtig ist, dass du die Ansteuerung nicht durch Zeitverzögerungen
realisierst, sondern immer mit Abfrage der Statusbits vom T6963C
arbeitest.

Die Frames per Second zu ermitteln macht nur Sinn (und funktioniert nur
dann sinnvoll), wenn du bei JEDER Ausgabe immer den ganzen
Anzeige-Bereich beschreibst. Hast du das letzte Pixel bearbeitet,
kannst du daran erkennen wieviele Frames du pro Sekunde hast.

Zum Ermitteln dann z.B. einfach einen Portpin togglen, oder kurz auf
High bzw. low setzen, und das dann mit dem Oszi angucken.

Bzgl. deines Darstellungsproblems, poste mal den kompletten
Source-Code, vielleicht finden wir ja das Problem...

Falls Fragen dazu sind, sag mir Bescheid.

Ralf

von Benedikt (Gast)


Lesenswert?

73fps auf einem LCD Anzeigen macht absolut keinen Sinn.
Wiso zeigst du nicht einfach nur 10fps an ? Da erkennt man mehr, und
der Controller muss nicht mit 120MHz laufen...

von thkais (Gast)


Lesenswert?

Nur so eine Idee: In den meisten Displays ist genügend Speicher drinnen,
um zwei Grafik-Seiten zu speichern. Also: Seite 1 anzeigen,
währenddessen auf Seite 2 die neuen Daten zeichnen. Dann Seite 2
anzeigen, währenddessen auf Seite 1 zeichnen. War eine beliebte Technik
bei den alten Homecomputern.
Ansonsten stimme ich Benedikt zu: 73 Hz Wiederholungsrate ist mit
Kanonen auf Spatzen geschossen.

von Lupin (Gast)


Lesenswert?

Es sei denn man möchte graustufen durch "flickering" emulieren, da
kommt es aber eher noch auf die reaktionsgeschwindigkeit an. Für FPS
muss man nur die Frames pro sekunde zählen, dazu muss man erstmal ne
sekunden-zeitbasis haben.

von martinw (Gast)


Lesenswert?

Guten morgen allerseits

Also ich bin gestern noch draufgekommen, dass der T6963C so einen Pin
besitzt. Bin aber auch noch draufgekommen, dass die Refreshrate des
Displays nicht bei 73 Hz liegt sondern genau bei der Hälfte davon also
36,5 Hz. War also eh schon 2x zu schnell mit dem beschreiben.

Warum ich die volle Refresh Rate ausnutzen will? Weil die Anzeige bei
15 Hz Aktualisierungsrate einfach nicht mehr so flüssig ist. Kann sich
jeder gerne selber davon überzeugen...

Die Frage die sich mir jetzt nur stellt ist, der Pin am T6963C ist der
Frame Pin... Frequenz dran ist 36.5 Hz und Duty ist 1:1... Nur aus dem
Datenblatt konnte ich nicht entnehmen was die Bedeutung von Lo oder Hi
ist...
Hab mir nämlich überlegt den Pin einfach mit der NC Leitung am 20
poligen Stecker zu verbinden und dann darauf zu synchronisieren im µC.

Aber die Idee mit dem Speicherbereich umschalten ist auch super nur
sollte ich schon auch wissen in welchem Moment ich Umschalten sollte,
sonst gibts wieder böse Bildfehler...+

MfG Martin W

von martinw (Gast)


Lesenswert?

Aja und noch @Ralf

Ich toggle schon ein Portpin und erkenne dadurch wie oft ich das
Display mit neuem Inhalt füttere...
Aber ich schreibe nicht den ganzen Inhalt des Displays neu... Wäre auch
blöd 99% mit Nullen vollzuschreiben. Ich verwende den Bitsetzen und
Bitlöschen Befehl des T6963C. Damit schlage ich 2 Fliegen mit einer
Klappe. Ich bin schneller und ich kann ganz einfach ohne zusätzlichen
Speicher eine Integrierfunktion implementieren, also dass beliebig
viele Kurven übereinander geplottet werden. Nennt sich DPO glaube ich
:)
Und so etwas wie einen Refresh gibt es eben schon. Nur eben net ganz so
wie beim alten Röhrenfernseher sonder Dualscanned oder irgendwie so...

@Bendikt.
Der eigentliche Grund warum der Controller so schnell läuft is damit
ich wie geschrieben mit der Singelchip Solution auf die 500kHz
Abtastrate mit dem ADC komme :) Aber werde eh noch auf einen dsPIC33F
umrüsten der macht dann 40 MIPS und 1,1 msps. Und dann als nächstes
eine Version mit externem ADC und Speicher. Da war ich letztes Jahr
schon mal bei 60 msps, hatte dann nur nicht genug Motivation das fertig
aufzubauen ;)

MfG Martin

von Benedikt (Gast)


Lesenswert?

Die Refreshrate sollte eigentlich nicht bei 36,5Hz liegen, da solche
Displays immer mit >50Hz betrieben werden. Vermutlich bedeutet ein
Pegelwechsel des Pins ein Beginn des Bildes.

Die Lösung ist aber nicht wirklich die beste und eigentlich unnötig.
Hast du schon versucht zwei Seiten abwechselnd zu beschreiben und diese
dann umzuschalten, wenn der Schreibvorgang fertig ist ?

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.