www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Grafik auf VGA-Monitor ausgeben


Autor: Tinky Winky (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
habe dieses hier fotografiert:
Auf einem monochromen LCD-Display mit 240 * 128 Pixeln gibt ein 
Mikrocontroller Meßwerte als Text und Grafik aus.
Für diese popeligen 240 * 128 Pixel und monochrom sind solche Display's 
ziemlich teuer. Ich möchte das lieber mit einem 19 Zoll-Computermonitor 
machen. Z.B. mit 640 * 400 und 16 Farben = 128000 Byte.
Der Mikrocontroller und der LCD-Bildschirm müssen gleichzeitig auf diese 
128000 Byte zugreifen können, wie kann das gehen?
Welche Möglichkeiten gibt's das mit einem CPLD und externem RAM zu 
machen?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da gibts die Graka von Ulrich Radig, sieh dir das mal an:
http://www.ulrichradig.de/home/index.php/cpld/8bit_c_graka

> Der Mikrocontroller und der LCD-Bildschirm müssen gleichzeitig auf
> diese 128000 Byte zugreifen können, wie kann das gehen?
Indem sie nicht gleichzeitig, sondern nacheinander darauf zugreifen.
So funktioniert übrigens auch Windows: Schnell nacheinander werden alle 
aktiven Programme bedient, dann sieht das aus wie "gleichzeitig"  ;-)

> 640 * 400
Was ist das für ein Monitor?
VGA ist 640*480

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für obiges Bild reichen doch < 32 Bytes, es werden ja nur 7 Messwerte 
visualisiert.
Dann könntest du das mit einem AVR machen:
Beitrag "VGA Grafikkarte mit AVR und 8MB SDRAM"

Etwas aufwändiger wäre dann schon dies hier:
Beitrag "VGA Grafikkarte mit AVR und 8MB SDRAM"

Gruß
Roland

Autor: Tinky Winky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Für obiges Bild reichen doch < 32 Bytes,

Versteh ich nicht...



>Dann könntest du das mit einem AVR machen:
>Beitrag "VGA Grafikkarte mit AVR und 8MB SDRAM"

>Etwas aufwändiger wäre dann schon dies hier:
>Beitrag "VGA Grafikkarte mit AVR und 8MB SDRAM"

ist doch beides das selbe?

Will ja keine Standbilder anzeigen sondern meßwerte als bewegte Grafik 
und Text.

Autor: Gill Bates (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FPGA oder CPLD ist für kleinserien viel zu teuer wegen der 
Entwicklungskosten. Für Kleinserien ist es besser wenn der 
Mikrocontroller die Meßdaten per RS232 (oder mit RS232_to_USB-Converter) 
an einen PC zu schicken. Der kann dann die Visualisierung machen. 
ITX-Motherboards gibt es für kleines Geld bei Angelika.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> FPGA oder CPLD ist für kleinserien viel zu teuer wegen der
> Entwicklungskosten.
Allerdings bleibt als "Abfallprodukt" z.B. ein weiterverwendbarer 
VHDL-Code, der auch auf andere Anwendungen angepasst werden kann.
Und: PC-Software schreibt sich auch nicht von jetzt auf nachher... :-/

Autor: René D. (Firma: www.dossmatik.de) (dose)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe gerade so etwas ähnliches geschrieben.
Es ist eine Serielle Anzeige auf einen FPGA. Es ist so ähnlich wie ein 
seieller Terminal ohne Keyboard. Die Daten kommen auf einen Uart rein 
und werden auf einen VGA Monitor angezeigt. Ich hatte mir Bootmeldungen 
aus einem Mikrocontroller angeigt.



Als Grafikspeicher benutze ich den internen RAM des FPGA.
Der interne RAm ist nicht riesig. Da passt kein völlig freie Grafikkarte 
rein. Wenn die Anzeige sehe, so verstehe ich sie im Moment, ist es eher 
eine quasi statische Anzeige mit ein paar wechelnden Zeichen und 
Balkenlängen.

Es müssten die Charakter-Zeichen in einem "ROM" hinterlegt werden und 
dann noch etwas Mimik wann welches Charakter an welcher Position 
angezeigt wird.
Im wesentlichen sind es bei dir Zahlen und Maßeinheiten.

Autor: Tinky Winky (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst mal schönen Dank für die netten Antworten.
Aber da ist noch nicht so ganz das richtige für mich dabei.
Ich will ja keine Standbilder oder Testbilder anzeigen, sondern richtig 
bewegte Grafik.
Bei dem Bild oben wird die Anzeige 10 mal pro Sekunde aktualisiert, die 
Bargraph-balken sind richtig dynamisch.

Ich sehe da prinzipiell (das heisst nicht, das ich das adhoc auch 
gewuppt kriege) zwei Möglichkeiten:
1. Der Mikrocontroller schreibt direkt in das RAM
2. Der Mikrocontroller gibt dem CPLD Kommandos wie z.B. "zeichne eine 
Linie/Rechteck von X,Y nach X,Y Color Z" oder "zeichne einen Punkt/Kreis 
X,Y,Radius,Color etc" und so weiter...

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vergiss Variante 2.
Das ist ein Grafikprozessor, den bekommst du nicht in ein CPLD.

Variante 1 ist im Ansatz in Ulrich Radigs GraKa realisiert.

Autor: René D. (Firma: www.dossmatik.de) (dose)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Variante 2 ist eine Grafikkarte und schon ein größeres Projekt.


Die Ausgabe von Buchstaben ist möglich auch in dynamischer Form. Der 
Balken kann auch aktualisiert werden. Doch wo sich der Balken im Bild 
befindet ist in VHDL "verdrahtet". Das Bild wird als Muster und mit 
Platzhalter in VHDL gecodert. An den Platzhalter werden die aktuellen 
Zahlen angezeigt.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit nem Parallax Propeller ist das in 0,nix erledigt.

Autor: René D. (Firma: www.dossmatik.de) (dose)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat der genügend externen Speicher und kann VGA Timing ausgeben?

VGA hat 640*480*Bildpunkte*10Bit_color=3Megabit
Das ist so die unterste Grenze.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sollte für deine zwecke locker reichen, siehe...
Youtube-Video "Parallax Propeller VGA text and graphic display modes"

Autor: faustian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"> 640 * 400
Was ist das für ein Monitor?
VGA ist 640*480"


Tippe auf EGA.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.