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