Forum: Mikrocontroller und Digitale Elektronik Brauche Hilfe bei der Ansteuerung eines LCD


von Daniel (Gast)


Lesenswert?

Hallo zusammen,

bei meinem aktuellen Projekt muss ich diverse Messdaten relativ 
hochfrequent (bis 10 Hz) und ohne zu große Zeitverzögerung (max. 200ms) 
auf einem LCD anzeigen. Ein Display [1,2] mit 680x480 Pixeln und einer 
Bildschirmdiagonale von 5,7" wurde bereits gekauft.

Der ursprüngliche Plan war, ein STM32F4DISCOVERY für die Ansteuerung zu 
verwenden. ST beschreibt in der AN3241 [3] einen Displaycontroller auf 
Basis eines STM32F10X, allerdings mit niedrigerer Auflösung und daraus 
resultierendem langsamerem Timing. Desweiteren wird ein externes SRAM 
verwendet, was eine weitere Platine erfordert und daher die Nachteile 
eines Hardwarecontrollers einschließt.

Meine Frage hierzu wäre, ob sich das Beispiel von ST auf den eigentlich 
leistungsfähigeren Controller und das bereits vorhandene Display 
umstricken lässt. Da ich noch nicht mit ARMs gearbeitet habe, sehe ich 
Probleme bei den erhöhten Timinganforderungen (25MHz statt 3.6MHz), dem 
fehlenden FSMC_NE4 (ich würde ganz naiv einfach FSMC_NE1 verwenden) und 
der ganzen Idee ;-P

Ich verstehe noch nicht so ganz, woher der FSMC im Beispiel überhaupt 
den Takt von 3,6MHz bekommt. Kann man den noch einfach hochdrehen, oder 
ergibt sich das aus der Hardware? Der F4 lässt sich mit 168MHz takten. 
Im Beispiel werden 72MHz verwendet.

Naja, da das ganze inzwischen einen ziemlich problematischen Eindruck 
auf mich macht, tendiere ich nun, wenn mir keiner damit helfen kann, zu 
einem fertigen Controller. Leider konnte ich bei Epson keinen passenden 
finden, der ein so großes Display ansteuern kann, was vielleicht an 
meiner mangelhaften Erfahrung in dem Bereich liegt. Kann mir vielleicht 
jemand etwas empfehlen? Mit TI bin ich sehr zufrieden, gibt es da einen 
IC oder eine MCU mit intigriertem Controller, in TQFP o.ä.?

Das wär's vorerst. Ich hoffe, jemand weiß bei so einem speziellen 
Problem Rat. Danke im Vorraus.

[1] 
http://www.reichelt.de/LCD-Module-Touch-Grafik/TFT-DIS-5-7-MT/index.html?ACTION=3&GROUPID=3011&ARTICLE=101752&SHOW=1&START=0&OFFSET=500&;
[2] 
http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME=A500%252FETV570G2DHU.pdf;SID=12TpWPyH8AAAIAAA2N-oA49725db70cbca450ad771fb4a7fb65a9
[3] 
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00278141.pdf

von Frequenz (Gast)


Lesenswert?

Daniel schrieb:
> bei meinem aktuellen Projekt muss ich diverse Messdaten relativ
> hochfrequent (bis 10 Hz)

Da habe ich aufgehört zu lesen.

von Daniel (Gast)


Lesenswert?

Frequenz schrieb:
> Da habe ich aufgehört zu lesen.

Wissenswert wäre, warum dich dein guter Wille verlassen hat. Ich habe 
ein ernsthaftes Problem und benötige dabei ernsthafte Hilfe und keine 
dummen Sprüche. Respektier(t) das bitte. Das soll nicht heißen, dass 
Kritik nicht erwünscht ist, aber wenn, dann hilfreich und nicht so 
hingekotzt, dass man es nicht versteht.

Also bitte näher erläutern:

I) Du empfindest das Lexem "hochfrequent" als unpassend
II) Du denkst, dass ein Display nicht für hohe Frequenzen geeignet ist
III) Du hättest "diverse Messdaten" gerne näher erläutert
IV) Du hättest lieber "darf" statt "muss" gelesen

von Eumel (Gast)


Lesenswert?

Weißt du denn wie man das Display ansteuert?

von ... (Gast)


Lesenswert?

Frequenz schrieb:
> Daniel schrieb:
>> bei meinem aktuellen Projekt muss ich diverse Messdaten relativ
>> hochfrequent (bis 10 Hz)
>
> Da habe ich aufgehört zu lesen.

Warum das? Früher (tm) wurde die Meinung verbreitet, dass das Auge 
Frequenzen über 16 Hz nicht mal mehr als Flackern wahrnimmt. Verglichen 
damit ist 10 Hz doch schon relativ hochfrequent.

von Eumex (Gast)


Lesenswert?

Daniel schrieb:
> relativ hochfrequent (bis 10 Hz)

Bevor Du Dich weiter aufregst, solltest Du vielleicht Deinen Fehler 
einräumen und die "10 Hz" (sic!) korrigieren. Ist schon lustig.

von Daniel (Gast)


Lesenswert?

Eumel schrieb:
> Weißt du denn wie man das Display ansteuert?

Was genau meinst du damit? Ich weiß, dass das Display 6 Bit pro Farbe 
haben möchte. Das ganze wird mit DCLK getaktet und außenrum wird das 
Gerüst mit HSYNC, VSYNC und Dummies gelegt. ST verwendet für die 
Ansteuerung den FSMC gepaart mit DMA. Die Daten werden in einem externen 
SRAM gespeichert und dort aktualisiert. Der FSMC prustet das ganze auf 
das Display. Das weiß ich jetzt aus dem Stehgreif. Ich weiß aber nicht, 
was der "flexible static memory controller" genau macht (das klingt für 
mich ohnehin nach einem Oxymoron) und wie das ganze von DMA profitiert, 
habe ich auch noch nicht erarbeitet.

Ich habe auch verwirrende Rechercheergebnisse, ob das Display auch 
langsam angesteuert werden kann. Auf YouTube habe ich gesehen, dass 
Displays mit einem AVR angesteuert werden können und das Bild dabei sehr 
langsam aufbauen, aber behalten. Im Datenblatt des Displays von Reichelt 
wird aber ein Pixelclock von 25MHz vorgeschrieben. ST erwähnt in den 
AppNote, dass mindestens 15fps erfoderlich sind, damit das Bild nicht 
flackert. Das alles widerspricht sich meiner Ansicht nach.

von Daniel (Gast)


Lesenswert?

Sorry Leute, ich weiß nicht, was euch an 10 Hz nicht passt?

von Alexander F. (alexf91)


Lesenswert?

Für das Timing, welches dieses Display benötigt ist ein µC ohne 
integrierten Display Controller zur Erzeugung wohl unpassend, jedenfalls 
wenn er noch etwas anderes nebenbei machen soll.
Mit dem STM32F4DISCOVERY wird das jedenfalls nichts, dafür hat es zu 
wenig RAM und ist zu langsam, um das Timing in Software zu schaffen.
Du wirst wohl an einem eigenen TFT Controller oder aber einem größeren 
Controller nicht vorbeikommen.
Controller mit Displayunterstützung dieser Größe würde ich aber eher im 
Cortex-R oder Cortex-A Bereich vermuten.

Zu den Youtube-Videos: Die Displays, die du da gesehen hast haben einen 
integrierten Display-Controller mit ausreichend Speicher. Dieser erhält 
die Bilddaten vom AVR z.B. über SPI. Der integrierte Controller erzeugt 
das Timing und schreibt nebenbei noch die über SPI empfangenen Daten in 
den Videospeicher.

von Daniel (Gast)


Lesenswert?

Na gut, dann werde ich das mit dem F4DISCOVERY bleiben lassen. Danke, 
dass du mich vor einem Fehler bewahrt und wertvolle Zeit gespart hast. 
Ich werde mich jetzt mal bei NXP umsehen. Da habe ich eine interessante 
Seite über ARMs mit LCD-Controller entdeckt.

http://ics.nxp.com/support/microcontrollers/lcd/~LPC2478/

Kennt sich einer vielleicht mit den Teilen aus und kann mir davon einen 
empfehlen?

von Daniel (Gast)


Lesenswert?

Das mit den Videos hatte ich letztendlich vermutet und deswegen eine 
langsame Ansteuerung auf Eis gelegt, aber gut, wenn man es schriftlich 
hat, danke dir. Die Dokumentation der Bastler auf Youtube ist leider 
oftmals grottig.

von Alexander F. (alexf91)


Lesenswert?

Der LPC1788 sollte dein Display unterstützen. Dieser besitzt außerdem 
ein externes Speicherinterface, damit sollte genug Speicher vorhanden 
sein.
Fertige Boards gibts z.B. von Embedded Artists.
http://www.embeddedartists.com/products/kits/lpc1788_kit.php
Ich habe auch gerade eins vor mir liegen, kann jedoch mangels Display 
keine Versuche mit dem LCD-Controller anstellen.
Eventuell ist noch eine Adapterplatine/Kabel notwendig, falls sich die 
Pinbelegung unterscheidet. Das LPC1788 Board besitzt nämlich einen 50 
Pin Header, außerdem sind UART und  SPI herausgeführt.

von Daniel (Gast)


Lesenswert?

Dann werde ich ein eigenes Board mit dem LPC1788 designen. Um ein 
externes SRAM komme ich nicht herum, wie ich sehe. Mal schauen, was ich 
da finde. Das Board sieht schon sehr geil aus, vielleicht hole ich mir 
das mal, aber für das aktuelle Projekt ist es leider viel zu groß 
(mechanisch). Eine weitere Adapterplatine ist da auch kontraproduktiv.

Danke dir, Alexander!


Da sich dieser Thread nun dem Ende neigt, antworte ich noch auf die 
ersten Posts, indem ich einfach mal vermute, dass die Leute meinten, 
dass man nicht so schnell lesen kann. Dazu ist zu sagen: Man kann auf 
einem LCD auch Zeiger darstellen. Und dann sind 10Hz schon realistisch, 
wenn nicht sogar untertrieben, da dieser ja nicht stottern sollte.

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.