Hallo zusammen, ich habe mir von Watterott das MI0283QT-2 Display mit Adapter gekauft. Nach einigem hin und her läuft das Display, ich kann Bilder anzeigen und schreiben (Alphabet mal pixelweise definiert). Mir kommt das Display aber sehr langsam vor. Ich steuere es über SPI an und wenn ich den (leicht angepassten) Code von Watterott nehme und das Display komplett mit einer Farbe fülle, dann kann ich zuschauem wie sich die Farbe über das Display arbeitet. Das ganze dauert ~ 0,5 Sekunden (grob geschätzt). Geht das auch schneller? Hat da jemand Erfahrung mit gesammelt? Ich habe im Datenblatt vom HX8347 nichts gefunden und SPI-Takt verstellen bringt nichts. Gruß Gepi
Hallo, welchen Mikrocontroller nutzt du denn bzw. welche SPI Taktrate? Das Display ist auch bei mir recht langsam (STM32 bei 72MHz, SPI Takt = 16 Mhz). Allerdings muss man halt sagen (ich gehe mal vom 16Bit Modus aus), dass 320 * 240 Pixel a 16 Bit = 150 Kilobyte über eine serielle Schnittstelle bei 16 MHz halt ihre Zeit brauchen... Selbstverständlich das ganze plus die nicht gerechneten Kommandos. Also ich denke, das ist langsam by Design. Gleichzeitig kann man durch Optimierung des Zeichnens viel rausholen - musst du wirklich den kompletten Screen neu schreiben? Ich baue mir gerade eine Hardware auf, bei der ich das Display mal am Parallelen Bus über den FSMC eines STM32F103 ansteuern werde - wenn du magst, kann ich dir mal das Ergebnis mitteilen, sobald ich es habe - dauert aber noch eine Weile weil im Moment das Geld fehlt... Grüße Nils
Hallo Nils, ich habe das Display an einem ATXMEGA128A1, der Controller läuft mit 16MHz, SPI gerade mit 8 da Prescaler minimal 2 ist. Werde am WE mal auf 16MHz SPI-Takt gehen aber ich habe wenig Hoffnung. Habe gestern zwischen 2 MHz und 8 MHz gewechselt und die Geschwindigkeit ist gleich geblieben. Liegt also wohl nicht am SPI Takt. Ich würde schon gerne das komplette Bild ändern. Da kommt später ein Menü drauf und je nach Auswahl /es lebe der Touch Screen) kommt dann was ganz anderes. Gruß Gepi
Hi, hat jemand das Display schon parallel mit 16bit angesteuert? mfg
Hallo, ich habe es erst angeschlossen und komm jetzt nicht dazu. Unter http://www.youtube.com/watch?v=bm5Or11FYwI&feature=related gibts ein Video, das Display wird parallel im 16bit Modus angesteuert. Wegen Schaltplan einfach nach dem Board googeln (OIC32MX4 von Microe). Bei Microe gibts auch den Code zur Ansteuerung zum Download (für PIC32). Gruß Gepi
Hi gepi Da ich mit dem gedanken spiele mir eins zu holen interessiert mich dein ergebnis...ein bericht währe super. Wie sieht denn dein code aus? Ich vermute aber, das es am HX8347 liegt, denn laut DB Seite 170, sind bei Write min. 8ns pro Puls möglich...bei 16bit also ~4MHz?? Grüße
@gebi Kannst du mal dein Source hier reinstellen. Ich versuche nämlich auch gerade das Display in 16bit/type 1 anzusteuern allerdings macht es bei mir seit tagen keinen mux. Wäre echt nett. mfg
Hallo, Code ist im Anhang (hoffe das klappt so). Der Code ist so ziemlich dasselbe wie der, den man bei Watterott runterladen kann. Für die parallele Ansteuerung habe ich noch keinen eigenen Code, gerade keine Zeit. Zur seriellen Ansteuerung: Im Datennblatt steht Serial Clock Cycle min. 20ns. Gehen wir also vom Minimum aus, dann kann ich den Controller in einer Sekunde mit 50 Millionen bits vollballern (theoretisch, so wie ich SPI verstanden habe), meine 8MHz SPI-Takt sollte der Controller also können. Wenn ich nun bei 8MHz pro Periode 1 bit übertrage und ich pro Pixel mit 16 bit Farbtiefe 16 bits brauche, dann dürfte es ~154ms dauern bis ich das Display in einer Farbe befüllt habe. Ich hab jetzt keine Ahnung ob und wenn ja wie lange mein ATXMEGA braucht das SPI Senderegister neu zu beschreiben? Evtl kommt da aber noch was drauf. Jedenfalls hab ich den Controller angesteuert über SPI mit 8MHz und brauche ~0,5 Sekunden bis das Display "voll" ist. Das ist mir zu langsam wenn ich dem Bild beim Aufbau zuschauen muss. Code für parallele Ansteuerung gibts bei mikroe.com, muss man eben bissl suchen. Gruß Gepi
nabend, also ich hab die letzten Tage leider erfolglos versucht das mi0283qt-2 parallel mit 16bit (8080) anzusteuern.Ein paar Fehler habe ich gefunden z.b. ist TypeI scheinbar nicht möglich wie ich herausgefunden habe was in dem speerlichen Datenblatt von Watterott nicht auftaucht (aber dafür hier http://www.displayfuture.com/engineering/specs/TFT/MI0283QT-2.pdf). Nun habe ich das display mit der konfiguration (IM3:0 = 0010) auf TypeII umgestellt allerdings immernoch ohne Erfolg. als Init-Routine ich eine ähnliche der von watterott mit der Anpassung für 16bit parallel und RGB565. Bisher habe ich alles überprüft sprich also meine Hardwareverbindungen zwischen XMEGA128A1 und TFT, meine Ansteuerungsabfolge etc. der Steuerleitungen und und und. Aber nun bin ich im Moment am ENDE meines Lateins. Also hat es irgendjemand geschafft das Display parallel in irgendeiner Art und Weise zulaufen zu bringen oder kann mir sagen was ich noch überprüfen.... kann. mfg jojo
So heute habe ich mal eine tft_read Routine gebastellt um zu sehn ob die Register des HX8347-D auch richtig beschrieben werden und hab dabei festgestellt das nicht alles Register den von mir vorher gesendeten Wert enthalten warum das so ist kann ich allerdings nicht sagen. Ich gehe mal nicht davon aus das der Controller des TFT an den Settings herumspielt. Weiter bin ich jetzt bis dato immer noch nicht. Das Bild ist wie die letzten Tage schon immer noch einfach WEIß was nach einem erfolgreichen Init nicht sein sollte. Dem Video von Watterott nach zu urteilen sollte nach dem Init ein "rauschiges Bild" auf dem Display auftauchen. mfg
Hat der XMega einen DMA oder muss er jedes mal einen Interrupt ausführen um die SPI zum nächsten Byte zu überreden?
Der hat DMA allerdings für SPI nur im Slave Modus wenn ich mich recht erinnere.
Der ganze ISR Overhead ist schnell länger als die eigentliche Übertragung. (Atmega ohne X waren wohl 50-80 Clockzyklen XMega weis ich nicht) Wenn Ihr pollen tut hab ich nix gesagt.
Also ich hab das gute Display jetzt auch mal mit SPI in Betrieb genommen und das funktioniert mit der Init bzw. Registerwerten (von Watterrott) die ich vorher auch schon für den parallelen modus verwendet haben somit ist mal der beweis erbracht es ist nicht tot. im parallelen modus allerdings hat es bis zuletzt kein ton von sich gegeben.
Wie ist denn das Display vom Kontrast, Blickwinkel und Tageslichtempfindlichkeit? Im Manual stehen ja ganz imposante Blickwinkel (bis zu 80°), ist das realistisch? Vielen Dank, Stefan
Moin zusammen, ich habe ein STM32F4-Discovery erstanden. Nettes Teil :) Würde nun gerne ein TFT (via SPI) anschliessen, und bin über das Watterott TFT (http://www.watterott.net/projects/mi0283qt) gestolpert. Nun eine einfache (hoffentlich richtige) Rechnung: Der STM32 läuft mit 168Mhz. Er sollte also sagen wir 48Mhz SPI Takt schaffen (< 168/2). Minimale SPI Taktlänge des HX8347 ist lt. Datenblatt 20ns, also max. 50Mhz Takt. Das würde bei 320x240x16Bit folgende Zeit für das komplette Schreiben des Bildschirms (Nur Pixeldaten) geben: >>> 1000/(48e6/(320*240*16)) 25.6ms, entspricht ca. 39 Frames pro Sekunde. Das wäre also schon mehr als Videotauglich :). Ich frage mich nun ob sich die theor. Daten auch in der Praxis errreichen lassen. Kommen die verbauten Pegelwandler 74LVC244 (lt. Layout der Adapterplatine) da mit (lt. Datenblatt, würde ich sagen ja? unsicher). Hat schon jemand hier praktische Erfahrungen gesammelt und kann hier berichten?
Ich sehe gerade im Datenblatt dass der STM32F407VG nur max. 37.5MBit/s auf SPI1 kann. SPI2 und SPI3 können max. 21MBit/s. Das entspricht dann für SPI1 32 ms pro Frame oder 31 Frames/s. Hmm hat der TFT Controller eigentlich ein Dual Framebuffer, so dass man Puffer A füllen kann und dann umschaltet auf Puffer B (d.h. Bildaufbau nicht sichtbar, ... mal schauen.)
Kai O. schrieb: > ich habe ein STM32F4-Discovery erstanden. Nettes Teil :) > > Würde nun gerne ein TFT (via SPI) anschliessen, und bin über das > Watterott TFT (http://www.watterott.net/projects/mi0283qt) gestolpert. Das habe ich auch gerade gemacht und mal ne Anwendung gebaut die einen Testbildschirm anzeigt (Farbverlauf) Der Code ist weder schön noch effizient, was ich aber noch ändern will. Der Einstieg mit dem Display auf nem STM32F2 oder F4 ist damit aber schnell möglich.
Hallo, ich bin auf der Suche nach einem Beispielprojekt für das AVR Studio unter der Verwendung von einem XMega128 o.ä. zur Ansteuerung des HX8347D über SPI. Vielen Dank für die Antworten!
Schau dir mal das hier an http://www.mafu-foto.de/elektronik/arduino/98-touch-library-fuer-arduino-und-watterott-mi0283qt-2-display ist zwar kein Xmega aber das sollte sich ja portieren lassen...
Leider ist diese Lib auf den Compiler von Arduino optimiert. Damit müsste ich alle Libs, welche im Projekt verwendet werden, auf das AVR Studio adaptieren. Das würde ich gerne Vermeiden. Im AVR Studio existiert ein Beispielprojekt für den HX8347A. Von HX8347A zu HX8347D haben sich quasi alle Register geändert und kein Stein ist auf dem anderen geblieben...
Hi ich möchte das Thema nochmal aufgreiffen. Hab das gleiche Problem wie ganz oben Also ich habe einen MSP430F247 und steuere den mit SPI 16MHZ und bei mir braucht das ding auch rund 500ms. Hat irgendwer ne idee an was es liegen könnte? Hab eig. zum größte Teil den Orginal Treiber verwendet( HX8347) Was ich festgestellt habe ist, dass ein einzelner draw(color) ca 8us braucht. Das sich natürlich bei 320*240*8 extrem bemerkbar macht (das is die Hauptbremse würd ich sagen) Mein erster Ansatz war das ich diese 2* wr_SPI(data) in 1 wr_SPI(data) zusammengefasst habe was schonmal 1 call einspart. (hat auch ca. 100ms gebracht). Aber jetzt weiß ich auch nicht mehr weiter... evtl SPI zu lansam? ka.. Hat schon jemand das ding mit SPI vernünftig ans laufen gebracht? mfg Sogge
>... evtl SPI zu lansam?
Exakt. Von der SPI Schnitstelle aus gesehen kannst du auf
dem Ding Videos abspielen. Dann muss das SPI eben mit 40MHz laufen.
Geht aber leider ned hab nur max. 16MHZ, über den externen quarz, zur verfügung (die Hardware ist schon fix) Da der MC nicht mehr kann. Hat irgendwer noch eine andere Idee? Software technisch? is da noch was raus zu holen? Wie gesagt nutze eig. den orginal Treiber
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.