Hallo. Ich möchte ein Grafikdisplay ansteuern. Problem: das Dingens hat einen 8 bzw 16bit breiten Parallel-Eingang und die IOs meines Controllers (AVR32) sind recht lahm. Deswegen möchte ich (auch wegen der Pinersparnis) auf SPI umschwenken. Es gibt dazu ja diverse Schieberegister, die auch bis 100MHz SPI funktionieren, aber das alleine ist mir nicht genug. Ich möchte die Daten per DMA aus der SPI pumpen können und da ist keine Zeit, mich vor/nach jedem gesendeten Byte um das setzen des EN WR RD / RS kümmern zu müssen. Gibts dafür ordentliche Logik-Lösungen, die nach dem Empfang von 8 oder 16bits automatisch das WR setzen? Ich sag mal so: um RS und EN kann man sich ja auch noch selbst kümmern, das ist von der SPI unabhängig. Es wäre seeeehr schön, wenns das ganze auch noch BI-Direktional gäbe. (RD-Handling?) Oder muss man sowas selber in nem LogikChip brennen? (CLPD) SPI geht bis 60Mhz. Angestrebt sind 16bit. Oder 8bit :-/ MFG
Na Leute.. wasn los mit euch ;-) ICh brauch doch nur einen Schieberegister-IC, der nach 16clk-Signalen automatisch einen 17 Impult erzeugt, den mann dan auf WR legen kann. Eventuell kann man das ja auch mit 2 kaskadierten 74HC595 und ne Zählerlogik machen um den WR-Impuöls zu erzeugen? Vorschläge... BITTE :-( Ich kenne mich mit reinen Logik-ICs nicht aus.
CPLD würde ich für sinnvoller halten, schon alleine wegen der angepeilten Geschwindigkeit und der einfachen Möglichkeit, das Ganze noch nachträglich ohne großen Aufwand zu modifizieren. Ansonsten lässt sich das auch über Logik und ein paar RC-Glieder bzw. Monoflops erreichen. Wichtig ist halt nur, dass zwischen zwei Words eine genügend lange Pause ist (kein Clock), um einen WR-Impuls auszulösen. Gruß Jörg
Hallo :-) Danke für die Antwort..! Ich kenne mich leider weder mit CPLDs aus, noch mit Logik-ICs. Ein CPLDs bräuchte min 16+4 IOs d.h. da kommen nur die großen in Frage mit min TQFP44.. oder?? Am liebsten wäre mir so ein 28pin Gehäuse. Wenn dafür jemand Vorschläge hat, wäre ich froh. ich habe nicht viel Platz auf der Platine. Für den Aufbau mit Logik-ICs bräuchte ich auch ne Designhilfe. Sehr wichtig ist auch noch, dass es seeeehr sehr wenig Strom zieht. (max 1mA) Bekommt man sowas hin?
Der Albi wrote: > Ein CPLDs bräuchte min 16+4 IOs d.h. da kommen nur die großen in Frage Das ist ein eher kleines CPLD. ;-) Große CPLDs haben 144 Pins... > mit min TQFP44.. oder? Habe nur mal bei den Xilinxern geguckt. Neben PLCC-44 hast du auch noch TQFP-44 mit 12·12 mm² Außenabmessungen (über die Pins) oder BGA-48 mit 7·7 mm² Kantenlänge als Varianten. Letzteres hat 0,8 mm Ballabstand, das sollte noch ohne Multilayer zu routen sein.
Der AVR32 hat doch einen parallelen Bus. Wiso verwendest du den nicht ? 1mA mit einem CPLD wird glaube ich ziemlich schwer werden...
Ich nehme UC3B (Stromsparen ;-) ) Der hat kein paralleles interface. BGA scheidet aus, TQFP-44 ist ganz schön groß. aber was anderes scheints nicht zu geben :-( Wenn CPLD nicht geht bzw ungünstig ist.. wie sähe denn die reine Logik-Lösung aus? Die geht doch auch bis 60Mhz... bestimmt. Ich hab mir das bisher so gedacht: -2 Kaskadierte 8bit schieberegister -parallel einen inärzähler, der die Clock durch 4 teilt. -daran hängt ein 1 zu 4 demultiplexer oder wie das heißt. -wenn der durchschaltet über verzögerungselemente das WR setzen und nocheinmal über ein verzögerungselement die resetpins anstupsen. geht das so in etwa? MFG
Welches Display hast du denn ? Und wie schnell brauchst du es ?
Ich glaube ich darf die Spezifikation des Dispaly nicht so ohne weiteres veröffentlichen.. rotwerd Es ist ein 240x320px 16/18bit TFT-Display. Der Controller ist ein "HX acht drei vier sieben" im 16bit modus. Was haltet ihr vom http://www.xilinx.com/support/documentation/data_sheets/ds310.pdf ? 4mA/16µA Geschwindigkeit hab ich schon festgelegt: 60MHz spi. (vllt aber auch 120? min 60 auf jeden Fall)
Diesen Himax Controller kenne ich jetzt nicht (und finde natürlich auch kein Datenblatt dazu), aber einige von denen können direkt SPI. Ist es bei dem vielleicht auch so ?
Ja der kann auch direkt SPI. Leider sind die entsprechenden Pins des Controllers auf der Anschlussfolie nicht herausgeführt und die 4 Konfigurations-Pins mit denen man das Interface wählen kann auch auf 16bit festgelegt. Um das Parallel-Interface kann ich mich leider nicht drücken, auch wenn ich das gerne tun würde. :-( Der Hersteller macht das in gewisser Weise einfach dumm und unflexibel. Aber wenigstens bekomme ich für wenig geld als Privatmann solche Displays. In Deutschlad ist das irgendwie nicht möglich. NEEEE, Da muss man halt nach China chatten :-/ MFG
Das ist etwas dumm. Ich habe gerade ein Display hier liegen, wo alle Pins schön rausgeführt sind. Dann führt wohl kein Weg an etwas Logik vorbei. Das Problem an dem CPLD ist, dass dieser programmiert werden muss. Erzeugt der UC3 eventuell ein CS\ Signal, das nach 16bit kurz auf high geht ?
hrhr. ich weiß was du meinst :-D Na mom, da schaue ich mal nach. Also: es gibt so eine Optoin ja, aber die ist mit DMA nicht durchsetzbar. Außer man verdoppelt den genutzen Speicher und das is ja eigentlich unfug. Das Programmieren eines CPLDs ist kein Problem. JTAG ist ja eh vorhanden. Ein Leidensgenosse per ICQ der das kann(?) auch. :-)
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.