Autor |
VGA mit Microcontroller Suche nach: vga (1373) |
|
|
|
|
BID = 84656
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
|
hi,
ich hab mir leider einen ALDI-PC gekauft.
Wenn ich meinen PC ca. 1-2 Stunden laufen lasse, ohne ein SPiel zu SPielen, nur Windows, kann man das Gehäuse nicht mehr berühren, weil man sonst eine Hand voller Blasen hat.
THX Tobi
|
|
BID = 84663
Benedikt Inventar
Beiträge: 6241
|
|
Ich kenn die Dinger. Mein Vater hat auch so einen.
In meinem PC ist glaube ich nicht mehr viel orginal:
Gehäuse: Ein geregelter Papst Lüfter vorne unten, zustäzlich noch ein paar blaue LEDs um das ganze optisch besser zu gestalten (ist ein uralter Big Tower, war ein 180MHz Server drin). Über dem Netzteil ein zweiter gereglter Papst-Lüfter, direkt davor zwei Festplatten. Der Temperatursensor der Lüfter ist jeweils auf die Festplatt geklebt.
Der Lüfter im Netzteil dreht sich langsam, obwohl schön warme Luft raus kommt -> Drehzahlbereich geändert, so dass der Lüfter bei 40° Luftemperatur volle Drehzahl erreicht.
Eine Wasserkühlung halte ich für übertrieben, vor allem beim Athlon 64: Dieser hat im Gegensatz zu dem Vorgänger eine etwa 30x30mm große Metallplatte, die die Wärme gut abgibt. Außerdem taktet er sich bei geringer Last auf 1GHz runter und braucht so gerade mal 22W (im Gegensatz zu den 90W bei Vollast) Meine CPU Temperatur liegt im Leerlauf niedriger als die Mainboard Temperatur !
|
|
BID = 84726
tixiv Schreibmaschine
Beiträge: 1492 Wohnort: Gelsenkirchen
|
Meine Festplatte ist bei geschllossenem Gehäuse kälter als bei offenem, und zwar weil der Netzteillüfter nur wenn das Gehäuse zu ist die Luft vorbei an der Festplatte ansaugt.
|
BID = 84736
Benedikt Inventar
Beiträge: 6241
|
Zitat :
tixiv hat am 21 Jul 2004 02:23 geschrieben :
|
Meine Festplatte ist bei geschllossenem Gehäuse kälter als bei offenem, und zwar weil der Netzteillüfter nur wenn das Gehäuse zu ist die Luft vorbei an der Festplatte ansaugt.
|
Wenn der Lüfter im Netzteil richtig dimensioniert ist, dann schon, aber nicht wenn er eigentlich nur im Klimaschrank mit Vollast läuft...
Ich denke wir entfernen uns immer weiter vom eigentlichen Thema (ja ich weiß, ich habe damit angefangen...)
|
BID = 88391
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Hi,
sorry, dass ich mich nicht mehr gemeldet hab, mein PC war im *****.
Hab mir jetzt ne neue ISA-Karte besorgt und mich würds mal interessieren, ob irgend jemand jetzt schon Erfolg damit hatte?
THX Tobi
|
BID = 88690
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Hi,
ich hab mir vorher überlegt, ob es nicht einfacher wäre einen Flachbildschirm, also TFT usw. als Monitor zu benutzen, da diese meistens einen digitalen Eingang haben und das müsste doch dann eigentlich einfacher gehen, oder?
THX Tobi
|
BID = 92093
Benedikt Inventar
Beiträge: 6241
|
TFTs/LCDs lassen sich zwar digital ansteuern, aber mit einem Mikrocontroller wird das trotzdem ziemlich schwer, da man sehr viele Daten an dieses senden muss. (Bei einem TFT mit 800x600 immerhin 75Hz*600*800*12bit pro Sekunde !)
Dafür gibt es Controller wie den S1D13504. Damit kann man dann problemlos ein 800x600 @65536 Farben Display anschließen.
Allerdings muss man erstmal so ein TFT irgendwo billig herbekommen, bzw. die Anschlussbelegung zu einem ausgebauten LCD finden ! Ich habe 2 Jahre gebraucht bis ich die Anschlussbelegung zu einem 640x480 Farb LCD gefunden hatte. Jetzt läuft es so einigermaßen.
|
BID = 92754
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
DAnke für die Antwort.
Ich meinte eher so ein gekauften Flachbildschirm für PC´s, die haben doch so einen DVI Eingang oder wie der heißt. Des müsste doch einfacher gehen, als ein normaler BIldschirm, oder lieg ich falsch?
Gruß Tobi
|
BID = 92772
Benedikt Inventar
Beiträge: 6241
|
Wenn du Daten mit ein paar MBit/s oder ein paar 100MBit/s an den Anschluss geben kannst ist es in der Tat kein Problem...
So wie ich das gesehen habe, werden die Daten seriell über 2 symmetrische Leitungen übertragen.
Das einzige was sich mit "normalem" Aufwand realisieren lässt ist ein LCD/TFT an einem passenden Controller (z.B. von Epson).
|
BID = 92776
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Dan werde ich des wohl doch mit nem normalen Bildschirm probieren, hast du da jetzt schon Erfolg mit der ISA Karte?
Gruß Tobi
|
BID = 92803
Benedikt Inventar
Beiträge: 6241
|
Leider nein.
Von den Trident Karten kann ich die meisten nicht ansprechen (zu lange Kabel, falsches Timing ?)
Mit einer Tseng Labs Karte geht das Beschreiben/Auslesen der Register. Aber der angeschlossene Monitor bleibt aus.
Dafür habe ich jetzt ein 640x480 SW LCD mit 4 Graustufen am Laufen. Und ein 640x480 Farb LCD mit 16 Farben (oder auch 256) ist in Arbeit.
|
BID = 92852
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Schade, aber wenn du schon Register auslesen und beschreiben kannst, dann is das doch schon mal ein großer Schritt, weil ich kapier noch ned mal die Anleitung mit der Übersicht über die Register .
Ich habe mir jetzt noch ein bischen die VGA Schnittstelle etc. angeschaut und hab gesehen, dass man 2 Syncronisationssignale hat. Wie kann man daraus die aktuelle Pixelkoordinate errechnen? Und wie kann man eignentlich dem Bildschirm mitteilen, dass er z.B. die Auflösung 640x480 nehmen soll?
Würde mich über Hilfe freuen
Gruß Tobi
|
BID = 92857
Benedikt Inventar
Beiträge: 6241
|
An sich ist es ganz einfach (aber da soviel möglichst EGA/CGA kompatibel gemacht wurde, wurde alles wieder kompliziert...)
Ein Displaycontroller ist im Prinzip sehr einfach und daher mit einbem FPGA, CPLD kein Problem:
Grundlage ist der Pixeltakt. Mit diesem Takt werden die Daten aus dem Speicher gelesen und (digital ein en TFT, oder über ein DAC an einen Monitor) gesendet.
Nebenher läuft ein Zähler, der die Pixel zählt. Nach 640 Pixel wird das Bild dunkel geschaltet und dann beginnt der Zeilenrücklauf bis zum Beginn der nächsten Zeile. Dann wird der Zähler wieder zurückgesetzt und der Zeielnzähler erhöht. Dieser zählt die Zeilen bis 480, dann noch ein paar für den Vertikalrücklauf, und das neue Bild beginnt.
An weiteren Zäherlstellen wird H und V Sync erzeugt für je eine bestimmte Anzahl an Pixel.
Im Prinzip lässt sich sowas auch mit ein paar HCMOS Zählern und etwas RAM bauen, aber dann hat man das Problem wie man neue Daten ins RAM bekommt. Diese Umschaltung muss irgendwie auch gelöst werden. Diese Aufgabe wird im VGA Controller sehr aufwendig erledigt (Memory Planes, FIFO Puffer usw...)
Hab dir noch was angehängt, ne deutsche VGA Beschreibung.
|
BID = 92860
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
Danke, jetzt versteh ich das vielleicht bischen besser .
Ich habe mir überlegt, ob ich die Grafikkarte selber bauen soll und ich denke ,dass ich es versuchen werde.
Sie sollte folgende Daten erfüllen:
-> 640x480 Pixel
-> 15bit Farbtiefe (3x5bit)
-> mindestens 50hz Wiederholungsfrequenz
Um das Problem mit dem beschreiben des Rams zu beseitigen, benutze ich einfach 2 oder mehr Speicher und beschreibe dies abwechselnd. Die Daten sollen dann mit irgendeinem IC (FPGA/CPLD/usw.) an 3 DAC´s gesendet und halt an den Monitor geschickt.
Könnte des so funktionieren?
Könnte halt sein, das man dazu mehrere Platienen braucht .
Noch ne andere Frage:
Du hattest mir mal als Bustreiber den 74HC245 empfohlen.
Gibt es so einen Treiber auch als 16/24/32bit ausführung , weil das würde ziemlich viel Platz sparen!
Würde mich über Hilfe freuen.
Gruß Tobi
[ Diese Nachricht wurde geändert von: MicroTobi am 18 Aug 2004 21:42 ]
|
BID = 92877
Benedikt Inventar
Beiträge: 6241
|
Es gibt 16bit Versionen des 74HC245, aber die sind nur im SMD Gehäuse mit 0,5mm Pinabstand erhältlich.
Müssen es unbedingt 15bit sein ?
Ich würde erstmal klein anfangen:
RAMDAC aus einer alten Grafikkarte macht 256 Farben aus einer 262144 Farben Palette (das reicht auch für Fotos !)
Bei 640x480 brauchst du 300kByte Speicher -> 512kByte IC.
Hier meine VRAM Version mit einem uC für das Sync Timing (im Prinzip nur Teiler für H und V Sync, bzw. Composite Sync nach PAL Norm und die Blanking Signale.)
Ein weiterer AVR dient als RS232-VRAM Interface. Ich kann in der neusten Version sogar gleichzeitig das Bild anzeigen und ein neues laden...
Auflösung: 512x256, macht 256kByte
Bild eingefügt
Der RAMDAC ist ansonsten absolut einfach:
uC Interface für die Einstellungen, 8bit Datenanschluss und Pixeltakt. Auf der anderen Seite 3 Ausgänge die man direkt an den Monitor hängen kann.
Die beiden SRAMs kannst du dir eigentlich sparen, denn der CPLD/FPGA kann auch problemlos zwischen Anzeigen/neue Daten laden umschalten, vorausgesetzt der Speicher ist schnell genug. Bei 640x480 und 60Hz (weniger schafft ein Monitor nicht !) sind das etwa 25MHz Pixeltakt, d.h. der Speicher muss schneller als 40ns sein.
Mit normalem 70ns RAM kommt man nicht aus, ebensowenig mit 70ns DRAMs. Wenn es aber 16bit DRAMs sind, dann geht es, denn der CPLD/FPGA kann die 16bits ja in 2 8bit Werte zerlegen und nacheinander senden.
Mit 70ns DRAMs erreicht man so immerhin etwa 40MB/s. Das gibt noch genügend Freiraum zum Schreiben von neuen Daten, wenn man diese zwischenspeichert während der Speicher mit dem Lesen beschäftigt ist.
|