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
Daniel schrieb: > bei meinem aktuellen Projekt muss ich diverse Messdaten relativ > hochfrequent (bis 10 Hz) Da habe ich aufgehört zu lesen.
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
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.
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.
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.
Sorry Leute, ich weiß nicht, was euch an 10 Hz nicht passt?
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.
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?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.