Autor |
VGA mit Microcontroller Suche nach: vga (1369) |
|
|
|
|
BID = 82509
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
|
danke.
Der mit der ISA Ansteuerung funktioniert ja anscheinend nicht bei allen und außerdem ist mein selbstgebauter Rechner ja schon fertig und es wäre wahrscheinlich schwierig, meinen selbstgebauten Bus auf ISA zu übersetzen,
deswegen fänd ichs einfacher eine Grafikkarte selber zu bauen und die an meinen Bus anzupassen.
@ Benedikt
Du hast doch gesagt, das des mit den Cmos ic´s funktionieren könnte, das aber beim beschreiben des Speichers fehler auftreten können, deswegen hab ich mir folgendes überlegt:
Man könnte doch theoretisch 2 Speicher einbauen.
Angenommen in Speicher 1 ist ein Bild gespeichert, nun will ich aber ein anderes Bild anzeigen. Dies lade ich in den 2. Speicher, wenn der Speicher beschrieben ist, wechselt man einfach von Speicher 1 zu Speicher 2, usw.
könnte doch eigentlich funktionieren, oder?
Den von einem zum anderen Speicher zu wechseln dürfte mit ein par transistoren oder so ja kein Problem sein.
Vielleicht wisst ihr ja ob das funktionieren könnte .
THX Tobi
|
|
BID = 82516
Benedikt Inventar
Beiträge: 6241
|
|
Die Idee habe ich auch schon öfters gehört.
Allerdings sind Transistoren viel zu langsam.
Ich würde das per 74HC245 o.ä. machen.
Allerdings dürfte das ganze recht aufwendig werden, daher habe ich das noch nicht aufgebaut:
Man benötigt (für 64kByte Speicher):
3x 74HC245 um Speicher A mit dem uC zu verbinden
3x 74HC245 um Speicher B mit dem uC zu verbinden
3x 74HC245 um Speicher A mit dem DAC/Adresszähler zu verbinden
3x 74HC245 um Speicher B mit dem DAC/Adresszähler zu verbinden
Macht ingesamt 12x 74HC245 + zusätzliche Logik...
Bei 128kByte - 1MByte werden 2 ICs zusätzlich benötigt.
Ob da eine doppelseitige Platine reicht ?
Das einfachste wäre immer noch die ISA Karte.
Im Prinzip musst du garnichts an deiner Schaltung ändern:
ISA Bus ist nichts anderes als ein normaler 8bit Bus mit 20 Adressleitungen. Es gibt zwar getrennte RD,WR für Speicher und IO, aber die Speicher RD/WR kann man weglassen (also an High legen).
Wenn man alle Adressleitungen so einstellt, dass die Grafikkarte immer adressiert wird (bzw. eine Adressleitung noch als CE\ verwenden), dann bleiben vielleicht noch 3 oder 4 Adressleitungen, CE\, WR\ und RD\ übrig, also nichts besonderes.
Obwohl eine ISA Grafikkarte zwar für 16bit ausgelegt ist, läuft sie auch mit 8 bit (hab ich an nem alten 286er mit 8Bit ISA Slot auprobiert).
Das einzige zu lösende Problem:
Wie übertrage ich die Text/Grafikdaten in den Grafikkartenspeicher ?
Die ganzen Einstellungen für entsprechende Auflösungen sind kein Problem, die kann man z.B. mit QBasic auf einem PC auslesen, und dann mit dem uC in die Grafikkarte schreiben. Schon ist der 640x400 Textmodus mit 16 Farben und 80x25 Zeichen Text fertig...
|
|
BID = 82550
ERDI-Soft Stammposter
Beiträge: 200 Wohnort: Offenburg
|
Ich meinte eigentlich eher, die ISA-Karte auszuschlachten, um an VRAM zu kommen.
Falls du dir so ne Grafikkarte tatsächlich komplett selbst bauen willst, würde ich dir zu nem CPLD oder FPGA raten. Es gibt da z.B. die Cyclon-Familie von Altera. Sind für ihre Komplexität sehr günstig.
Damit könntest du dir nen Grafikchip selbst entwerfen und mit normalem SDRAM arbeiten, bzw. den internen Speicher des Cyclone nutzen.
_________________
Wie immer gilt: Erst googeln, dann fragen!
(Für ICQ bitte erst Anfrage per PM, da alles andere nicht angenommen wird.)
|
BID = 82615
tixiv Schreibmaschine
Beiträge: 1492 Wohnort: Gelsenkirchen
|
Und ich habe die meissten von den alten ISA Karten weggeschmissen
Ich dachte die währen zu nix mehr zu gebrauchen...
|
BID = 82621
Benedikt Inventar
Beiträge: 6241
|
Zitat :
ERDI-Soft hat am 13 Jul 2004 22:02 geschrieben :
|
Ich meinte eigentlich eher, die ISA-Karte auszuschlachten, um an VRAM zu kommen.
|
ISA Grafikkarten haben selten VRAM drauf. Meistens sind das normale DRAMs...
Bisher habe ich nur VRAMs auf einer CAD Grafikkarte gefunden, da waren 32MB RAM drauf (in einem 486er !)
In einigen alten Matrox PCI Grafikkarten sind auch VRAMs eingebaut.
Zitat :
|
Falls du dir so ne Grafikkarte tatsächlich komplett selbst bauen willst, würde ich dir zu nem CPLD oder FPGA raten. Es gibt da z.B. die Cyclon-Familie von Altera. Sind für ihre Komplexität sehr günstig.
Damit könntest du dir nen Grafikchip selbst entwerfen und mit normalem SDRAM arbeiten, bzw. den internen Speicher des Cyclone nutzen.
|
Ich weiß nicht, aber das ist irgendwie zu kompliziert...
Irgenwo habe ich schonmal eine Seite von einem Japaner gefunden, der sich einen VGA kompatible Grafikarte mit TV Out mit einem CPLD oder FPGA programmiert hat.
|
BID = 82703
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
hi,
Also mit CPLD und FPGA kenn ich mich überhaupt nicht aus, sind sie leicht zu handhaben, oder eher kompliziert aufzubauen?
Brauch man ein Programmer? Des wär schlecht, weil meins kaputt gegangen is
Selbst wenn des mit den 2 Speichern funktionieren würde,
wäre der AVR wahrscheinlich zu langsam und ich müsste auf den von euch empfohlenen CPLD oder FPGA ausweichen, oder?
Trotzdem schon mal danke
THX Tobi
|
BID = 82792
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
hab mal ein bischen bei google geschaut und nix brauchbares zu CPLD oder FPGA gefunden, es kann mir nicht zufällig jemand einen Link oder so sagen?
In einem Blatt von Reichelt hab ich was von ISp gelesen, ist das bei allen so?
THX Tobi
|
BID = 82818
Benedikt Inventar
Beiträge: 6241
|
CPLD und FPGA sind programmierbare Logikbausteine.
Verdammt schnell und man kann so ziemlich alles mit machen, von einfachen Logikverknüpfungen bis zu einem CPU !
Sind leider verdammt kompliziert (uC ist einfach im Vergleich dazu !)
Die Version mit den 2 SRAMs ist hardwaremäßig extrem aufwendig, aber die Software muss nicht viel machen. Nur zwischen den beiden RAMs umschalten und neue Daten laden.
Wenn das Bild angezeigt wird, und nichts neues dazu kommt, kann sich der uC schlafen legen.
|
BID = 83109
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
hi,
kann mir jemand einen Link nennen, in dem erklärt wird, wie man so einen Logikbaustein programmiert, oder so?
Wär echt nett, weil sonst kann ich meine Grafikkarte wohl vergessen, oder gibt es noch andere Möglichkeiten?
THX Tobi
|
BID = 83121
Benedikt Inventar
Beiträge: 6241
|
Das google zum Thema FPGA oder CPLD nichts findet, glaube ich nicht...
Bei Altera, Xilinx und Lattice gibts die Software und vielleicht auch eine Beschreibung, aber glaub mir, das ist alles andere als einfach, sonst hätte ich auch schon einiges damit gemacht...
|
BID = 83136
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
hi,
hab mir mal ein Datenblatt runtergeladen, in dem eine Anleitung usw. drin ist. Ich glaub, des bekomm ich nie hin . Allein der Aufbau der Chips sieht ja schon sehr nett aus .
Wenn des nur Logikverknüpfungen sind, müsst ma des doch auch mit einzelnen Logikbausteinen schaffen, braucht zwar mehr Platz, is aber einfacher, oder?
THX Tobi
|
BID = 83137
ERDI-Soft Stammposter
Beiträge: 200 Wohnort: Offenburg
|
So schwer zu programmieren sind die Teile jetzt auch wieder nicht.
Besorg dir mal Quartus von Altera, das ist eine freie Entwicklungsumgebung. In der Regel setzt man seine Schaltung aus verschiedenen fertigen Logikblöcken (z.B. Flip-Flop, Zähler..., so ziemlich alles, was es auch als 74er Baustein gibt). Sollte eine Funktion nicht vorhanden sein, kann man mittels VHDL (einer C-ähnlichen Umschreibungssprache) ganz einfach neue Funktionen realisieren.
Aber wie Benedikt schon gesagt hat, Google spuckt dir ne Menge zu diesem Thema aus.
http://www.opencores.org/
Auf dieser Seite findest du z.B. einen im FPGA implementierten 8051. Oder auch einen VGA/LCD-Controller. Allerdings dürfte der FPGA für diese Implementation deines VGA-Controllers dein Budget übersteigen. (Schätzungsweise 80 Euro oder mehr. Bin grad nicht über die aktuellen Flex10k Preise informiert.
_________________
Wie immer gilt: Erst googeln, dann fragen!
(Für ICQ bitte erst Anfrage per PM, da alles andere nicht angenommen wird.)
|
BID = 83184
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
also, des wird mir ein bischen kompliziert und eigentlich hab ich auch keine Lust so viel Geld für die Grafikkarte auszugeben. Man müsste des doch eigentlich mit ein paar Logigbausteinen auch hinbekommen, weil die CPLD´s haben fals ich des richtig verstanden hab ziemlich viele Funktionen, die man nicht braucht, und mit den einzelnen Logigbausteinen wird das alles dann doch übersichtlicher, weil man dann keine Fehler in die Software machen kann, find ich zumindest.
THX Tobi
|
BID = 83409
MicroTobi Gesprächig
Beiträge: 141 Wohnort: Herrenberg
|
oder versteh ich des total falsch?
THX Tobi
|
BID = 83418
ERDI-Soft Stammposter
Beiträge: 200 Wohnort: Offenburg
|
Kommt darauf an, was für nen Baustein du nimmst. Du kannst natürlich anstatt nem riesigen Cyclone oder Flex-Baustein auch ein LSI10xx oder so nehmen. Damit kannst du dann die beiden Speicher ansteuern, ohne ein TTL-Grab zu bauen. Natürlich muß auch der programmiert werden.
_________________
Wie immer gilt: Erst googeln, dann fragen!
(Für ICQ bitte erst Anfrage per PM, da alles andere nicht angenommen wird.)
|