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?
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
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
>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.
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.
> 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... :-/
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.
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...
Vergiss Variante 2. Das ist ein Grafikprozessor, den bekommst du nicht in ein CPLD. Variante 1 ist im Ansatz in Ulrich Radigs GraKa realisiert.
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.
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.
sollte für deine zwecke locker reichen, siehe... http://www.youtube.com/watch?v=jHx9Rm2v3V8&feature=related
"> 640 * 400 Was ist das für ein Monitor? VGA ist 640*480" Tippe auf EGA.
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.