3.5" TFT-Display an Atmega128

Gast #1343051
Lesenswert?

Hallo,

ih bin im Moment am Verzweifeln. Ich habe ein Powertip 3.5" Display, 
dass ich mit einem Atmega128 ansteuern will. Leider tut das Ding nicht 
das, was es soll. Datenblatt des Displays kann man hier finden: 
http://www.data-modul.com/de/products/tft_displays/single_tft_small/Powertip_0350_PH320240T-006-I-Q.pdf?nav=pn&nav=pn

Im Anhang ist mein Programm für den Atmega. Wenn ich das Display mit 
Strom versorge, dann schaltet das Display kurz nach dem Einschalten auf 
ein schwrzes Bild und mehr passiert nicht. Eigentlich sollte der 
Bildschirm mit einer Farbe gefüllt werden.

Hat jemand mit diesem Display bzw. dem Controller von Himax (HX8238a) 
Erfahrung und kann mir sagen, wo mein Fehler liegt bzw. mir ein 
Beispielprogramm schicken?

Mfg,
Thorsten Wurm
Angehängte Dateien:
Persönliche Seite #1343100
Lesenswert?

Sehr ambitioniert das Display in BASSCOM an zu steuern...

Der Display controller hat keinen Speicher (du musst das Bild 
kontinuierlich aktualisieren), keine Ahnung was dein Programm macht 
(BASSCOM ist mir zu "kompliziert") aber ich gehe davon aus, dass deine 
Dotclock viel zu niedrig ist um irgendwas sehen zu können.

Entweder kaufst du dir einen µC mit Displaycontroller (z.B. nen 
Grasshüpfer) oder du schließt einen externen an.

Anscheinend versuchst du ja auch nur ein mal ein Bild auf dem Display an 
zu zeigen und gehst danach in ne Endlosschleife. Also selbst wenn die 
Kommunikation mit dem Display funktioniert würde nur 1 mal nach Power-Up 
ein einzelner Pixel durch das Display laufen und dann wäre alles wieder 
schwarz (oder der letzte Pixel würde noch weiter angesteuert werden, 
ganz genau weiss ich das nit).
Moderator (Firma: Titel) Persönliche Seite #1343141
Lesenswert?

> wo mein Fehler liegt
Der Fehler liegt darin, dass du das Timing aus dem Datenblatt nicht in 
Software umgesetzt hast. HSYNC, VSYNC, die Pixeldaten und insbesondere 
der DOTCLK müssen sich mit der dort angegebenen Frequenz /ständig 
wiederholen/   :-o

Interessant dürfte auch die Anmerkung unterhalb der Tabelle 2.3 sein.
10MHz-30MHz Pixelclock in Basic, das wird spannend...
Gast #1343257
Lesenswert?

Hallo,

vielen Dank für die schnellen Antworten.
Dazu habe ich aber noch zwei Fragen:
1: lupin schreibt, dass der Display-Controller keinen eigenen Speicher 
hat. Ich hatte das aber so verstanden, dass die einzelnen Pixel so lange 
angezeigt werden, bis sie entweder überschrieben werden oder das Display 
halt resettet wird. Ist das dann eher wie bei einem Fernseher zu 
verstehen, soll heißen, dass ich den einzelnen Pixel dann 25 mal in der 
Sekunde ansteuern muss?

2: lkmiller schreibt, dass der Dotclk 10-30Mhz sein soll. Heißt das, 
sobald die Frequenz kleiner als 10 Mhz ist, dass dann das Display 
sowieso nicht mehr arbeitet.
Die Hardware ist so aufgebaut, dass ein Atmega128 (16Mhz Takt) das 
Display steuern soll. Dieser muss aber noch die Bilddaten von einer 
Speicherkarte lesen. Das würde ja auf jeden Fall bedeuten, dass ich die 
Dotclk-Frequenz weit unter 10 Mhz haben würde. Kann das dann überhaupt 
noch funktionieren?

Mfg,
Thorsten Wurm
Gast #1343264
Lesenswert?

nein kann nicht funktionieren, vergiss dein vorhaben (sorry der harte 
ausdruck)

ja du musst permanent das display refreshen, es hat keinen speicher und 
es verliert den inhalt.

wen hsync, vsync und pxlclk nicht snychron im richtigen (hohen) 
taktlaufen wird das nichts mit dem anzeigen -> für einen avr OHNE 
Hardeware Block welches ein TFT utnerstütz und Framebuffer gehts nicht 
-> meist erst bei Derivaten mit DRAM zu finden weil das ja auch gleich 
mal ein paar MByte sind ... (Stichwort Double and Trippl Buffering)
Moderator (Firma: Titel) Persönliche Seite #1343279
Lesenswert?

> lkmiller schreibt, dass der Dotclk 10-30Mhz sein soll.
Neinein, nicht ich schreibe das.
Das Datenblatt des Displays schreibt das  :-o

> Heißt das, sobald die Frequenz kleiner als 10 Mhz ist, dass dann das
> Display sowieso nicht mehr arbeitet.
Es wird schon nocht tun, aber je weiter du von dieser Frequenz weggehst 
umso seltsamer werden die Effekte...

> Ich hatte das aber so verstanden, dass die einzelnen Pixel so lange
> angezeigt werden, bis sie entweder überschrieben werden oder das Display
> halt resettet wird.
Das Display hat keinen eingebauten Oszillator und braucht einen 
durchgehenden Pixeltakt, um die interne Logik korrekt weiterzuschalten. 
Wenn du den Pixeltakt an einem stehenden Bild wegnimmst, dann fehlt der 
Refresh, und du wirst kurz darauf Schlieren/Regenbogen... auf dem 
Display sehen.

> Kann das dann überhaupt noch funktionieren?
Eher nein  :-(
Persönliche Seite #1343487
Lesenswert?

Das es nicht ganz aussichtslos ist wird hier gezeigt:
http://www.youtube.com/watch?v=z4NxPw6Hj18

Allerdings unterscheiden sich da ein paar Punkte:
* ASM statt BASSCOM
* Das Display wird unterhalb der eigentlichen DotClock betrieben
* Da nur zwei 8 Bit Ports verbunden sind gehe ich davon aus, dass das 
Display nur mit 8 Bit Farbe statt der möglichen 24 Bit betrieben wird

Zusätzlich könnte man den AVR noch übertakten...

Ich denke wenn man on the fly ein VGA Signal erzeugen kann, dann kann 
man auch on the fly ein TFT Display ansteuern.

Sag mal wo hast du das Display her und wieviel hat es gekostet?
Gast #1344343
Lesenswert?

Hallo,

ich habe mal vor nicht allzulanger Zeit etwas gelesen von Fujitsu 16FX 
Controllern, dort wurde mittels DMA ein externer Videobuffer und ein TFT 
angesteuert (1/4 VGA glaub ich). Ein Distri hat mir auch ein 
funktionsfähige Applikation vorgelegt. Vllt kommst Du damit etwas 
weiter, denn:

günstige Evalboards (rund 100Euro)
kostenloser Compiler
kostenlose Toolchain (über RS232)

Allerdings weiß ich nicht mehr genau wo das im Netz zu finden ist!?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren