Hallo, ich bin dabei eine Art "kleine Videokarte" zusammenzubasteln. Es soll sich um eine Karte handeln, die auf einer SPI-Schnittstelle befehle Empfängt und entsprechend ein kleines Grafik-TFT (aus der Playstation Portable) anteuert. Die Platine beherbergt (so bald sie denn fertig ist) einen MSP430 als Hauptcontroller, einen Flashspeicher, der diverse Grafiken enthält und als "Grafikmeister" den S1D13742 von Epson. Das ganze soll eine Steuerung für einen Pizzaofen werden. Der MSP empfängt zum Beispiel das Kommando "Uhrzeit 07:15" und nun soll im "Timerfenster" eben dieser Zeitpunkt angezeigt werden. Die Position des Timerfensters ist fix gespeichert, die Graphiken sind in einem extenen Flash. So weit so gut. Mein erster Entwurf nun sah alles parallel verdrahtet vor. Irgendwie habe ich mir das ganze jedoch wohl zu einfach vorgestellt, denn das Routen wird jetzt bei 70 von 197 Rattenlinien ziemlich schwierig, obwohl ich glaube ich sehr gut plaziert habe. Ich müsste ziemlich viele Vias einsetzen und weiss auch nicht, ob ich dann zum Erfolg kommen würde. Es muß also ein Neuentwurf her. Mit seriellen Bauteilen. Nur wie ich es machen soll weiß ich noch nicht. Ein paar I²C-Portextender würden hier noch rumliegen. Damit könnte ich die Adressierung des Flashs ganz gut erschlagen. Ausserdem könnte ich damit die Daten an den S1D13742 seriell anliefern. Der Verdrahtungsaufwand würde damit schon um einiges einfacher. Allerdings habe ich Bedenken wegen der Geschwindigkeit. Ich wäre auch einer Lösung mit SPI nicht abgeneigt. Da gibt es ja diverse Schieberegister (595 etc.) die ich verwenden könnte. SPI müsste auch ein bisschen schneller als I²C sein. Vielleicht gibt es aber noch eine dritte Lösung, die ich bis dato übersehen habe. Für zwechdienliche Hinweise, zusätzliche Ratschläge und Meinungen, wie man das Projekt noch verbessern könnte dankt im voraus mit bastlerfreundlichem Gruße, Iwan
Hi Iwan, ich bin auch gerade dabei eine solche "Adapterplatine" für ein PSP-TFT zu erstellen, allerdings mit einem S1D13743. Desweiteren sehe ich ein 2. Display vor, das ET043000DH6 mit Touchpanel. Es soll 100% kompatibel sein und ist dabei noch etwas heller mit ~350-450mcd. Einzig ist die Beleuchtung anders und 4 Brücken (Touchscreen). Da das ganze dann an einen Cortex-M3 geknüpft wird, ist das nur eine Adapterplatine von Cortex-M3 -> S1d13743 -> TFT. Wenn Du dann einen MSP430 zur ansteuerung und Datenübertragung nutzen möchtest, ist das via parallel schon relativ langsam, geschweige denn seriell. Also ich würde Dir da einen etwas größeren Prozessor empfehlen wenn man einigermaßen performance beim schreiben haben möchte. Dennis
Mich würde ja interessieren wo du den S1D13743 her bekommst?
Star Keeper schrieb:
> Mich würde ja interessieren wo du den S1D13743 her bekommst?
Mouser z.ß. hat ihn.
Dennis Schulz schrieb: > Desweiteren sehe ich ein 2. Display vor, das ET043000DH6 mit Touchpanel. Das Display sieht gut aus, wo bekommt man das zu einem vernünftigen Preis? Ich werde wohl beim PSP bleiben, die gibts schon ab 20 Euro. > Da das ganze dann an einen Cortex-M3 geknüpft wird, ist das nur eine > Adapterplatine von Cortex-M3 -> S1d13743 -> TFT. > Wenn Du dann einen MSP430 zur ansteuerung und Datenübertragung nutzen > möchtest, ist das via parallel schon relativ langsam, geschweige denn > seriell. Mit dem ARM habe ich noch nichts gemacht, und Zeit zur Einarbeitung bleibt mir eher wenig, zur Zeit. Ich denke der MSP kann das schon verkraften, er muß ja praktisch nur aus dem Flash lesen und an den S1D senden. > Also ich würde Dir da einen etwas größeren Prozessor empfehlen wenn man > einigermaßen performance beim schreiben haben möchte. Der Großteil meines anzuzeigenden Inhalts ist Gott sei Dank statisch. Würdest Du die I²C-Portextender nehmen oder es mit SPI probieren? LG, Iwan
Also da kann ich Dir leider nicht weiterhelfen ob seriell oder I2C via Portextender. Das müsste man sich mal genauer anschauen und dann nach Geschwindigkeit und Aufwand entscheiden, also so würde ich das in dem Fall wohl machen. Dennis
Hallo Iwan, falls dir die 16 Datenleitungen zum S1D13742 zu viel sind, dann kannst du den auch im 8Bit-Modus betreiben (CNF1=0).
Ist der der S1D13743 ohnehin nicht der falsche IC für das Display von der PSP? In dem Datenblatt steht eine max. Auflösung von 352x440 und das PSP Display hat 480x272. Wie willst du das zur Deckung bringen? Mit SPI habe ich selber bisher nur so 4-5MBit/s vernünftig hin bekommen. In den Datenblättern diverser Controller stehen teilweise Werte von bis zu 10MBit/s din. Mit der geschwindigkeit könntest du die Daten also in ein Latch Takten. Dazu kommen ja noch die Steuerleitungen die man bedienen muss. Da es sich um ein Display handelt und mit großen Datenmengen zu rechnen ist würde ich eher versuchen bei der parallelen Variante zu bleiben. Dein ausgesuchter Controller kann auch nur double Buffering, wenn die Auflösung die hälfte der maximal Auflösung ist. Ohne Double buffering würde man jede Zeichenoperation sehen.
@Star Keeper Meinst Du nun den S1D13742 von Ivan, wegen SPI? Oder schon mich? Also dank 464KB Buffer, wählbar in Höhe und Breite bei 480x272 und 24bpp = 391,680 KB. Also alles im grünen Bereich! Double-buffering ist nur bis max 320x240 möglich, das ist wahr. Der S1D13742 von Ivan hat 768KB Speicher. Da das Interface (bei mir) parallel erfolgt ist das mit den Zeichenoperationen nicht so dramatisch, geht schnell genug und wäre ohnehin nicht so störend wie man sich das vielleicht vorstellt. Dennis
Der S1D13743 kann das PSP-Display prinzipiell schon treiben. Dazu existiert von Epson sogar eine Application Note. Der Vorteil des S1D13743 ist die 24-Bit Farbtiefe. Der Speicher reicht allerdings nur für einen Frame, d.h. Single-Buffering. Der S1D13742 kann "nur" 16- bzw. 18-Bit Farbtiefe, kann aber mit seinem größeren Speicher zwei Frames puffer, d.h. Double-Buffering. Beides vereinen würde der S1D14748, der bei Mouser allerding nicht lagend ist.
Also man kann Zeichenoperationen auch mit parallelem Interface schon recht gut sehen. Ich habe hier ein VGA-Display (640x480) an einem S1D13742, welcher seinerseits am externen Businterface eines LPC2468 hängt. Zugegeben, das Display ist 2,35x so groß, aber der LPC2468 läuft mit 72MHz und macht auch das ganze Timing für die Steuerleitungen. Im Code wird also einfach ein 16-Bit Wert auf eine Adresse geschrieben, um einen Pixel zu setzen.
Im moment hab ich ein 2.8" OLED mit 240x320 (S6E63D6, Controller intern, 16bpp) an einem LPC2148 (60 MHz), das geht mir ausreichend flott (in assembler). Daher denke ich das es ausreichend für das PSP-TFT sein sollte :) Dennis
Es ist halt immer die Frage, wieviel sich ändert. Werden nur Teile des Bildes manipuliert, dann sieht man eigentlich nichts. Wird hingegen das komplette Bild verändert, so kann man das durchlaufen der Änderung sehen. Ausreichend ist eine Single-Buffered Lösung in Verbindung mit einem parallelem Interface und einem QVGA- bzw. WQVGA-Display in vielen Fällen. Der von Iwan genannte Einsatzzweck fällt meiner Meinung nach auch darunter. Nur würde ich ihm davon abraten, das dann auch noch seriell übertragen zu wollen.
Klar, ein "Oszilloskop" oder sonstwas Grafik/Textintensives lässt sich so kaum realisieren. Iwan könnte das Bild trotzdem Buffern, schliesslich scheint der Kontroller nur 16bpp zu unterstützen, dann reicht der Speicher dafür doch, oder täusch ich mich? Ja seriell ist wohl was für geduldige (in dem Fall) :)
Mit dem S1D13742 kann er es puffern, dass ist richtig. Mit dem S1D13743 reicht es aber nicht. Edit: Ich will die Controller nicht schlecht reden, ich arbeite selbst gerne mit ihnen (bisher nur der S1D13742). Ich wollte nur zu bedenken geben, dass man die begrenzte Performance nicht noch weiter reduziert.
Deine Platine die du machen willst, mit wie vielen Lagen hast du die denn bisher geplant? Mit zwei Lagen bekommt man eigentlich ja alles geroutet. Ist nur eine Frage der Größe. Wenn es dann kompakter werden soll muss man eben noch mehr Lagen dazu nehmen. Könnte man nicht z.B. das Flash seriell anbinden? Dabei kommt mir die Frage des Datenflusses. Wenn im Flash ein 200K Bildchen liegt, so kann der MSP das ja garnicht zwischen speichern. Du müsstest also z.B. 4k lesen und ins Display schreiben, wieder lesen und wieder schreiben. Das amcht den Schreibvorgang nochmal langsammer. Das würde man meiner Meinung nach ohne double buffering auch bei einem parallelen Interface sehen.
Hallo, schön, daß sich noch ein paar Leute gemeldet haben. Kai F. schrieb: > falls dir die 16 Datenleitungen zum S1D13742 zu viel sind, dann kannst > du den auch im 8Bit-Modus betreiben (CNF1=0). Genau so ist das auch geplant. Das primäre Problem liegt auch nicht an der Anbindung des Graphikchips sondern mit dem Flash komme ich nicht so recht hin. Star Keeper schrieb: > Deine Platine die du machen willst, mit wie vielen Lagen hast du die > denn bisher geplant? Mit zwei Lagen bekommt man eigentlich ja alles > geroutet. Ist nur eine Frage der Größe. Wenn es dann kompakter werden > soll muss man eben noch mehr Lagen dazu nehmen. Zwei Lagen sind geplant. Mehr kann ich mit meinen Hobbymitteln nicht erreichen. Daher auch mein Problem mit den Vias, je weniger desto besser. > Könnte man nicht z.B. das Flash seriell anbinden? Genau daran habe ich auch gedacht. Ich bin jetzt am überlegen ob ich die Sache mit den Portextendern nicht einfach sein lasse und komplett auf ein serielles Flash umsteige. Das würde leider meine schönen PLCC32-Sockel obsolet machen. Also doch Extender nehmen? > Dabei kommt mir die Frage des Datenflusses. Wenn im Flash ein 200K > Bildchen liegt, so kann der MSP das ja garnicht zwischen speichern. Du > müsstest also z.B. 4k lesen und ins Display schreiben, wieder lesen und > wieder schreiben. Das amcht den Schreibvorgang nochmal langsammer. Das > würde man meiner Meinung nach ohne double buffering auch bei einem > parallelen Interface sehen. Das ist wohl wahr. Nur ist mein "Bild" zu drei Vierteln statisch. Ich hoffe es geht sich daher aus. Iwan
Hast du schon einmal daran gedacht, statt einem Flash-Baustein eine SD-/MicroSD-Karte zu benutzen? Hat den Vorteil, dass du sie am PC beschreiben kannst und du im Controller nur Leseroutinen brauchst. So mache ich das auch in einem aktuellen Projekt, allerding mit LPC2478, externem SDRAM und PSP-LCD mit TouchScreen.
Kai F. schrieb: > Hast du schon einmal daran gedacht, statt einem Flash-Baustein eine > SD-/MicroSD-Karte zu benutzen? Hat den Vorteil, dass du sie am PC > beschreiben kannst und du im Controller nur Leseroutinen brauchst. Klar, die Host-Seite die meine "Videokarte" bedient soll auch eine SD-Karte bekommen, auf der eigene Programme der Ofensteuerung gespiechert werden können. Bei der Videoplatine möchte ich eigentlich jedoch darauf verzichten, ein einfaches Flash als Graphikspeicher soll mir reichen.
Kai F. schrieb: > Hast du schon einmal daran gedacht, statt einem Flash-Baustein eine > SD-/MicroSD-Karte zu benutzen? Hat den Vorteil, dass du sie am PC > beschreiben kannst und du im Controller nur Leseroutinen brauchst. > So mache ich das auch in einem aktuellen Projekt, allerding mit LPC2478, > externem SDRAM und PSP-LCD mit TouchScreen. PSP-LCD mit Touchsccreen? Jetzt wirds interessant :-) Gibt es das fertig, oder wie hast du das gemacht?
Also das PSP-Display ist eigentlich ein LQ043T3DX02 von Sharp. Dieses besitze kein TouchScreen. Allerdings gibt es z.B. bei Sparkfun (http://www.sparkfun.com/commerce/product_info.php?products_id=8448) oder bei CSD (http://www.csd-electronics.de/de/groups/g_340/items3421.htm) einzelne TouchScreens, die man auf das Display kleben kann. Wir setzen allerdings ein LQ043T1DG01 ein. Da ist der TouchScreen bereits ab Werk montiert.
>> Könnte man nicht z.B. das Flash seriell anbinden? > > Genau daran habe ich auch gedacht. Ich bin jetzt am überlegen ob ich die > Sache mit den Portextendern nicht einfach sein lasse und komplett auf > ein serielles Flash umsteige. Das würde leider meine schönen > PLCC32-Sockel obsolet machen. Also doch Extender nehmen? Habe mich nun für die Lösung mit seriellem Flash entschieden, das spart ordentlich Daten- und Adressleitungen sodaß ich sogar auf einen kleineren uC umsteigen kann. Die Lösung ist zwar nicht perfekt, da die schönen Sockel dadurch entfallen, allerdings wird der Entwicklungsaufwand dadurch um so viel leichter, daß ich die Sache verschmerzen kann. Gruß, Iwan
Mit dem seriellen Flash geht es definitiv leichter. Das Layout ist zwar nicht besonders schön geworden, doch innerhalb eines halben Tages war ich fertig.
Sind das links zwei Spannungsregler? Bekommst du die Display-Stecker auch von Mouser?
Star Keeper schrieb: > Sind das links zwei Spannungsregler? Ja, im D2PAK. > Bekommst du die Display-Stecker auch von Mouser? Nein, Farnell hat die. Gruß, Iwan, der sich jetzt ein Bierchen genehmigen wird *
Hallo Iwan, sei mir bitte nicht böse, aber wenn das dein finales Layout ist, dann wird das nicht funktionieren! Ich habe jetzt nicht alles genau überprüft, aber am Controller sind mindestens 4 Pins nicht beschaltet, die du aber (auch mit der 8-Bit Konfiguration) definitiv brauchst: Pin# Funktion ---------------- 101 3,3V 125 D3 132 D5 138 RD Außerdem finde ich es sehr unüblich die 3,3V als "Masse"-Fläche auszuführen. Wie der Name schon sagt, ist das eigentlich immer GND. Auch die Platzierung der Blockkondensatoren empfinde ich als suboptimal.
Kai F. schrieb: > Hallo Iwan, > > sei mir bitte nicht böse, aber wenn das dein finales Layout ist, dann > wird das nicht funktionieren! Wiso sollte ich dir böse sein? Ich bin dir sehr dankbar! > Ich habe jetzt nicht alles genau überprüft, aber am Controller sind > mindestens 4 Pins nicht beschaltet, die du aber (auch mit der 8-Bit > Konfiguration) definitiv brauchst: > > Pin# Funktion > ---------------- > 101 3,3V Meinst Du 102? 102 habe ich persönlich anscheinend im Schematic vergessen! Shit! > 125 D3 > 132 D5 Fehlen im Schematic komplett! Dreck, die hab' ich anscheinend mit den Resten vom parallelen Interface gelöscht! > 138 RD Den habe ich bewusst ausgelassen, der ist doch zum Lesen aus dem Controller, oder? Ich will gar nicht lesen, nur schreiben ;-) > Außerdem finde ich es sehr unüblich die 3,3V als "Masse"-Fläche > auszuführen. Wie der Name schon sagt, ist das eigentlich immer GND. GND ist bei mir unten und Plus oben. Ist das so schlecht? > Auch die Platzierung der Blockkondensatoren empfinde ich als suboptimal. Dazu mag ich mich jetzt nicht äußern ;-) Danke jedenfalls und LG, Iwan
Иван S. schrieb: > Star Keeper schrieb: >> Sind das links zwei Spannungsregler? > > Ja, im D2PAK. > >> Bekommst du die Display-Stecker auch von Mouser? > > Nein, Farnell hat die. > > Gruß, Iwan, der sich jetzt ein Bierchen genehmigen wird * Auf dem bild sieht man das nicht so genau, aber es sieht aus als hättest du um die Spannungsregler keine Kühlfäche gemacht. Oder die Kühlfläche ist nicht mit dem zu kühlenden Teil des Spannungsreglers verbunden. Kanst du mir noch die Farnell Bestellnummern für die Stecker geben? Ich denke ich order mir auch mal ein paar Displays und Bau da was drum herum. g
Star Keeper schrieb: > Auf dem bild sieht man das nicht so genau, aber es sieht aus als hättest > du um die Spannungsregler keine Kühlfäche gemacht. Oder die Kühlfläche > ist nicht mit dem zu kühlenden Teil des Spannungsreglers verbunden. Beide Spannungsregler bekommen einen gemeinsamen Kühlkörper, der mittels selbstklebendem Wermeleitpad befestigt wird. Is mal der erste Entwurf, vielleicht designe ich in einer späteren Version noch Löcher für einen Kühlkörper rein, Platz genug ist ja noch. > Kanst du mir noch die Farnell Bestellnummern für die Stecker geben? Ich > denke ich order mir auch mal ein paar Displays und Bau da was drum > herum. *g* Gut, daß ich alles in einem OOo-Spreadsheet speichere, was ich bestelle. 40-polig: 1430947. Die 6-polige Version ist in wirklichkeit 4-polig: 1430942. (4polig gabs nicht als footprint in pcb/gEDA und ich bin Neuuser)
Hallo Iwan, richtig, es war 102. Da habe ich mich wohl verzählt oder vertippt. RD ist nur zum lesen notwendig, das ist richtig. Allerdings zeigt die Erfahrung, dass es manchmal sehr hilfreich sein kann, wenn man mal ein Register auslesen kann. So kann man z.B. die Kommunikation überprüfen, indem man den zuvor geschriebenen Wert wieder ausliest. Zum Thema GND unten und VCC oben: Prinzipiell kann man das natürlich machen, allerdings ist es für eine saubere Masseführung im allgemeinen günstig, aus beiden Seiten eine Massefläche zu ziehen und die sinnvoll mit Vias zu verbinden.
Иван S. schrieb: >> Kanst du mir noch die Farnell Bestellnummern für die Stecker geben? Ich >> denke ich order mir auch mal ein paar Displays und Bau da was drum >> herum. *g* > > Gut, daß ich alles in einem OOo-Spreadsheet speichere, was ich bestelle. > 40-polig: 1430947. Die 6-polige Version ist in wirklichkeit 4-polig: > 1430942. (4polig gabs nicht als footprint in pcb/gEDA und ich bin > Neuuser) Hallo nochmal. Wegen der Stecker: Version die ich bestellt habe ist die Falsche (Bottom statt Top Contact). Die 40polige Version scheint zwar von den Abmessungen her zu passen, allerdings ist das Kabel der PSP anscheinend zu dick. Muss ich noch testen, ob es funktioniert, wenn er eingelötet ist.
Danke für die Info. Bisher habe ich auch noch nichts geordert. Muss erstmal das Design des Projekts vollenden.
Hallo, habe nochmal ein neues Layout gemacht (Regnet draußen sowiso). Veränderungen: - Quarz wegdesignt (DCO verwenden) - Fehlende Verbindungen im Schema hergestellt (Pin 102, MD3, MD5) - Mehr Platz für Spannungsregler (Kühlkörper) - Anordnung generell verbessert Hoffe, das neue Layout gefällt ein bisschen besser. Gruß, Iwan
> > Bekommst du die Display-Stecker auch von Mouser? > Nein, Farnell hat die. CSD-Electronics hat die auch. Sowohl Top-Contact, als auch Bottom-Contact. Auch die 4-Poligen für das Backlight des PSP-Displays, als auch die 4-Poligen für den Touch.
Hat jm die Bestellnummer bei CSD? Ich finde da leider nix.
Schau mal in diese Kategorie: Mechanische Bauteile -> Steckverbinder -> Diverse -> PFC/FFC-Steckverb.
Die von CSD scheinen ja alles für das PSP-Display zu haben nur das Display selber verkaufen sie nicht. Oder ist das nur ein Opfer der Webseite, dass ich es nicht finde?
Star Keeper schrieb: > Die von CSD scheinen ja alles für das PSP-Display zu haben nur das > Display selber verkaufen sie nicht. Sammelbestellung für eben diese Displays wäre mal was feines :-)
Das LQ043T3DX02 von Sharp wird in der bay massenweise als PSP-Display angeboten. Preis um die 25,-Euro. Deshalb hat CSD dieses Display nicht. Dafür aber das Touchpanel dazu und die passenden PFC/FFC-Steckverbinder. Mit den Schaltreglern LT1930 und LT1932 lassen sich auch unkompliziert die passenden Spannungen und Ströme (5V aus 3,3V und 18mA für das Backlight) für das Display herstellen. Stromlaufpläne dazu gibt es in diesem Thread: Beitrag "Grasshopper und TFT Display"
> Hallo, habe nochmal ein neues Layout gemacht
hast du auch mal einen Stromlaufplan dazu?
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.