hi, {kurzform unten} also ich habe hier einige alte laptop tfts. datenblätter vorhanden. so ein teil am vesa bus einer graphikkarte anzuschliesen ist keine kunst. ich will daraus allerdings einen digitalen bilderrahmen machen. zuerst hatte ich das alte laptop board verwended und per diskette (sollte mal flash werden) ein minimal linux draufgezogen was per seriellport ein bitmap empfängt. leider wird der 486 sauwarm, aber das gröste probleme ist das bios welches ab und zu tastatureingaben will. Also war meine idee das ganze mit einem microcontroller zu versuchen. hab auch bereits einige interesante sachen gefunden, leider kann ich kein smd und erst recht kein 0,5mm löten ;) die atmegas sehen leicht zu programieren aus, aber mit der hardware hab ichs nicht so. mein vorschlag wäre daraus ein projekt zu machen, mit howto unbd offenen quellen damit auch andere davon was haben. sowas ist ein tolles weihnachstgeschenk ;) {kurzform} prinizpiell würde mir auch eine idee reichen, wie man mit einem avr vesa hinbekommt ohne dabei hardcore 0.5 mm löten zu müssen, gruß, Arvid
Kurzantwort: Für einen ATMega ist das mindestens eine Nummer zu gross.
also ich stell mir vor der muss ja eigentlich nur 1 mal die sekunde das bild erneuern. also püraktisch darf er dann nicht län ger als eine sekunde brauchen um 640xwasweiich bildpunkte aus einem speicher zu lesen und auszugeben. dazwischen eben noch bisl vertrefresh und hsync, mehr ist vesa doch gar nicht oder?
nein mehr ist das wirklich nicht. Kanst das ja mal probieren. Thomas
Hallo Rechne mal aus, wie viele Punkte das sind. 640 x 480 = 307200 Punkte. Vermutlich nicht schwarzweiss, sondern dreifarbig. Bei 24 Bit bereits 921600 Bytes. Ein AVR schafft maximal 20 MHz, hätte also noch 20 Befehle, um ein Byte aus dem Speicher zu holen. Das ist machbar, aber es bleiben kaum Reserven für etwas anders übrig. Der Haken an der Sache: Es gibt keinen AVR mit fast einem Megabyte RAM. Externes RAM wäre eine Möglichkeit, aber da habe ich grösste Zweifel, ob du das mit 20 Befehlen ansteuern kannst. Mit viel externer Logik eventuell knapp machbar, ansonsten aber sicherlich nicht. Gruss Michael
die dinger können echt 20Mhz?, das ist mehr als das orginal x86 board! ich dachte hierbei natürlich nicht nur an einen atmega. einer zb um die bildpunkte an das display zu senden, ein zweiter um die daten für die punkte zu liefern. habe jetzt einen avr butterfly vor mir und finde der ist extrem einfach im umgang. (nachdem man den seriellport drangefummelt hatt :D ) wenn ein atmega das nicht aushält was würded ihr dann empfehlen?
Kleiner Tip: Schaut mal ins Datenblatt der TFTs. Da steht dann was von Framerate min 60Hz oder so 60Hz*921600=55,3MByte/s... Kauf dir einen S1D13504, den gibts z.B. bei CSD für 15€. Da 2MB DRAM dran und fertig ist der TFT Controller bis 800x600
ich kann aber kein 0.5mm löten , sonst hätt ich den längst genommen. aber es scheint ihr habt recht, das ist zuviel für den atmega. möglicherweise ist ja ein hardcore elektroniker unter euch der den chip für mich drauflöten könnte? oder kennt jemand platinen wo sowas schon gelöst ist? im übrigen kann ich gar kein smd löten und keine platinen ätzen, also selbst der dram sollte ein problem für mich sein. einen flash zum bild speichern kriegt man ja notfals noch als nicht-smd
Der S1D13504 hat 0,4mm... Das ist sogar für mich schwer zu löten auf einer selbst geätzen Platine. Wenn dir ein einzelnes Bild ausreicht, dann könnte man es mit 3x 512kByte Flash EPROMs machen (je einen pro Farbe): Diese gibt es mit 70ns Zugriffszeit also maximal etwa 15MByte/s. Das ergibt etwa 40Hz, ist zwar etwas wenig aber noch gerade so OK. 30Hz würde ich als absolute Untergrenze ansetzen. Die Sync Signale und den Adresszähler könnte man mit ein paar HCMOS ICs oder einem CPLD erzeugen.
klingt gut. könntest du mir bitte konkrete bauteile nennnen? es ist schwer spezifikationen zu finden wenn man keine ahnung hat. also soweit ich das verstanden habe war deine idee einfach zyklisch die drei speicher auszulesen nach informationen über einen konkreten bildpunkt. ich stell mit das so vor: R [1,1,0,0,0,0,1 ...... G [0,0,0,1,0,1 ...... B [0,1,1 ...... damit wäre bildpunkt 1 rot, 2 wäre violet, 3 blau, etc... das würde immerhin eine kombination von 8 verschieden farben erlauben, hehe
Jain, ich meine für jede Farbe ein 8bit Flash Speicher. Damit wären dann 16777216 Farben möglich (256 pro Farbe). Mit einem einzelnen Flash Speicher kann man es auch machen, aber dann sind nur 256 Farben möglich. Was hast du denn für TFTs ? Haben diese überhaupt ein paralleles Interface ?
genau den hab ich http://www.maltepoeggel.de/html/tft2pc/ das ding hätte gerne R/G/B/CLK(irgendwas mit clock, weis noch nicht was es genau ist)/HSYNC/VREFRESH wenn du das meinst mit paralell, ja :) 8bit flash speicher heist, ich sage ihm ich hätte gern das 123te byte und es liegen dann an 8 ausgängen entsprechde spannungen an? ich befürchte das passt nicht mit der logik des bildschirms zusammen, der will ja soweit ich das verstanden hab eine spannung von 0-5V auf die farbkanäle,je nach intensität. also ist es wohl doch nicht paralell, jetzt bin ich verwirrt
Hallo, wenn es das besagte Display ist: das benutzt jeweils 3 Bit Rot/Grün/Blau, kann also 512 verschiedene Farben (exotischer Wert...). Er benutzt am Vesa sogar nur 16 Farben, Rot/Grün/Blau jeweils an den MSB, Intensity an parallen an das "mittlere" Bit von Rot/Grün/Blau. Als "Bilderrahmen" also zumindest bescheiden. ;) Gruß aus Berlin Michael
danke für die infos erstmal. ja klar , ich wollte erstmal nicht übertreiben deswegen dachte ich ein kleines altes display tuts für den anfang. auserdem war das datenblatt sehr einfach zu bekommen ;) natürlich würde ich mich freuen wenn es mit mehr farben funktioniert (ein anderes display)
Die Ansteuerung ist relativ einfach: Besorg dir einen 16MHz Quarzoszillator, das ist der CLK Takt und der Takt für den Synchronzähler (74HC590) Sind etwa 700 Pixel erreicht (z.B. 512+128+64, diese 3 Teilerausgänge UND Verknüpfen und an den Zähler Reset und den Takt des Zeilenzählers anschließen. Für den Zeilenzähler gilt ähnliches: Hat dieser den Wert 512 erreicht -> Reset. H und V Sync erzeugt man aus einigen Signalen des Spalten und Zeilenzählers (z.B. solange der Zählerwert <8 ist, ist der Sync Ausgang aktiv). Die Ausgänge des Spalten und Zeilenzählers gehen an den Flash. Dieser ist als 1024 Pixel x 512 Zeilen organisiert, von denen aber nur 640x480 verwendet werden. Je nachdem wo man die 640 Pixel in der Zeile positioniert kann man das Bild nach links/rechts verschieben. Dasselbe gilt für die Zeilen.
meinst du das ist so einfach? woher wies der tft eigentlich die auflösung? anhand dessen wann ich die zeile beende? das einzig schwiriege für mich ist nur noch die elektronik, wiederstände und kram hab ich alles nie verstanden. werd mir wohl ein bischen literatur anschauen müssen. dann werde ich wieder fragen stellen, weil montan hab ich keine ahnung wo anfangen. danke euch auf jeden fall, va. Benedikt, mit den infos kann ich sehr gut was anfangen :) gruß, Arvid
Ich hab da sonst noch ne andere Idee (WIRKLICH NUR EINE IDEE - kein plan ob das klappt) Such dir ne ISA Grafikkarte mit VESA Anschluss und lass dein ATMega die Grafikkarte ansteuern - das packt ein ATMega (Ich selber hab schon ne NE2000 und ne ISA ISDN Karte an nen ATMega geklemmt... klappt) Soweit ich weiß hast du dann beliebig lange Zeit das Bild aufzubauen da die Grafikkarte nen eigenen Speicher hat. D.h. du kannst dir die Daten seriell holen und Punkt für Punkt im Grafikram zusammensetzen. Und ein 8 Bit ISA Interface is nu echt einfach ;) Gruß, der Sebba
@Sebba Hast du schonmal eine Grafikkarte angesteuert ? Im Gegensatz zu Netzwerkkarten wird die Kompatibilität bei Grafikkarten durch die in dem VGA BIOS enthaltene Software gemacht. Und die ist für einen AVR nicht barauchar. Ich habe schon oft versucht Grafikkarten anzusteuern, habe das aber noch nie geschafft. Insgesamt habe ich bisher nur 2 Projekte gefunden in denen das wirklich jemand geschafft hat. Die Software lief dann aber auch nur mit einer Grafikkarte.
tja das klingt gut, leider lässt sich im internet kaum brauchbarer lesestoff über graka interfaces finden. ich denke nicht das man denen einfach so daten senden kann, da wird noch eine menge anderes zeug drumrum sein. wenn man mal in einen einfachen x86 bootloader wie grub schaut stellt man fest das dort alle graphiksachen ans bios gesendet werden. was das bios damit macht,.. keine ahnung. der X vesa treiber wäre natürlich ein ansatzpunkt, wobei ich mir relativ sicher bin, das dieser noch eine enge am bios hängt. benedikt, könntest du mir die links mal rüberreichen? evtl lässt sich ja eine baugleiche graka bei ebay finden. greetings, Arvid
Hallo, Meinst du am Anfang, dass man ein Notebook-TFT an eine normale Grafikkarte anschließen kann!? Wie geht das? Braucht man dazu nicht einen extra Chip? Ich hab nämlich einen alten Laptop, dessen Mainboard beschädigt ist. Der Bildschirm funktioniert noch.
Jetzt hab ich gesehen, dass es doch möglich ist :) (maltepoeggel.de). Hab mir aber gedacht, dass das nicht mit einem VGA-Anschluss möglich ist.
Die Frickellösung mit dem VESA-Feature-Connector ist den Aufwand nicht wert. Wer will schon eine reine 6-Bit-Darstellung mit grottigsten Farben haben? Außerdem funktioniert der Murks nur mit Standard-VGA-Panels (640x480), alles höherauflösende geht eh nicht. Und: Welche Graphikkarte hat heutzutage noch einen VESA-Feature-Connector? Um TFT-Panels an PCs anzuschließen, sollte man schon eine Elektronik wie die hier verwenden: http://www.aaronn.de/shop/pd-667281847.htm?defaultVariants=search0_EQ_CRTtoLCD-5-LVDS_AND_{EOL}&categoryId=1 (kann bis SXGA ansteuern, also 1280x1024) Ob der Aufriss allerdings lohnt, steht auf einem anderen Blatt.
@rufus Wie kommst du auf 6bit ? VESA liefert 8bit, von denen sind aber nur die untersten 4bit brauchbar (RGB + Intensity), da die restlichen 240 Farben von der aktuell gewählten Farbpalette abhängig sind. @ aep Auf http://www.avrfreaks.net/ unter Project ID 118 findet man das. Man muss sich aber erst registrieren.
Ich nahm zwei je Farbe an; wenn es sogar nur 4 Bit sind, ist das ja noch lausiger. Warum sollte man sich sowas antun wollen?
Für einen reinen Server (Rechner als Router o.ä.) reicht sowas. Eigentlich reichen da sogar 2 Farben.
Da genügt eine Leuchtdiode, die sagt, daß die Kiste an ist ... wobei außerhalb lauter Serverräume sogar die weggelassen werden kann.
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.