Ich bin neu mit CPLDs. Und ich hab das hier komplett gelesen:
http://www.fischl.de/thomas/elektronik/cpld/index.html
Nun weiß ich, dass man CPLDs statt der 74er-Serie z. B. für AND und OR
Schaltungen / Gatter nutzen kann.
Kann aber wohl nicht alles sein?
Ich besitze die MicroVGA von www.microvga.com. Da ist neben
PIC24HJ32GP302-1 und 74AHC14D auch ein CPLD XC9572XL drin. Ich vermute,
dass der die VGA-Hard-/Software und sie Zeichensätze beinhaltet. M. E.
ist der PIC dafür eher ungeeignet.
Wenn dem so ist, frage ich mich mit meinem Einsteigerwissen: Wie geht
das?
Ich würde gern Basiswissen erwerben, um das Teil zu verstehen. Ich meine
damit nicht den CPLD allein, sondern auch gleich die MicroVGA, die
VGA-Technik. Ist sicher kein Geheimnis trotz vermutlichem Schutzbit.
Ich kann mir vorstellen, dass das Ganze komplex ist. Mir würden ein paar
Tips in die richtige Richtung und/oder passende Links reichen. Gern
revanchiere ich mich mit Artikeln, die ich verschenke, siehe Markt hier
;-)
Btw, ich hab mir das bestellt und hoffe, es ist schon mal ein Weg zum
Ziel:
http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=638
Danke.
Karl-Heinz M. schrieb:> Da ist neben> PIC24HJ32GP302-1 und 74AHC14D auch ein CPLD XC9572XL drin. Ich vermute,> dass der die VGA-Hard-/Software und sie Zeichensätze beinhaltet.
Ein 9572 hat gerade mal 72 Flipflops. Also viel zu wenig Platz für
irgendwelche Zeichen...
> Wenn dem so ist, frage ich mich mit meinem Einsteigerwissen: Wie geht> das?
Der CPLD steuert nur den schnellen Zugriff aufs RAM. Und im RAM wird der
Zeichensatz über und von dem uC geladen und verwaltet.
Siehe http://www.ulrichradig.de/home/index.php/cpld/8bit_c_graka
der XC9572XL reicht aus, um ein VGA Signal (640x480@60Hz) incl. Testbild
zu erzeugen.
Z.B. so:
http://home.arcor.de/markus.horbach/atmegaextender.html
Dazu braucht es nur einen Takt von 25.175 MHz, 2 Zähler und ein paar UND
Gatter.
Habe ich mir hier abgekuckt :
http://www.pyroelectro.com/2011/05/05/fpga-512-color-vga-controller/
Schwierig wird es, so bald man beliebige Bilder mit dem VGA Signal
erzeugen will. Dann brauchst du einen RAM Controller, der gleichzeitig
beschrieben und gelesen werden kann. Bei voller VGA Auflösung muss er
auch schnell sein, der Pixeltakt ist ja 25,175 MHz. Darum reduzieren
viele die Auflösung, um das Bild mit PIC oder ATmega noch erzeugen zu
können. Das spart Speicherplatz und die Taktgeschwindigkeit wird
erheblich reduziert.
Zum Einstieg ist das bestellte Board sicher eine gute Wahl.
Später wirst du aber sicher auf was größeres umsteigen, wenn dir
CPLDs und FPGAs erst mal gefallen.
Gruß,
dasrotemopped.
@Markus Horbach
Danke für die interessanten Infos. Insbesondere der Link zu
http://www.pyroelectro.com/2011/05/05/fpga-512-color-vga-controller/ hat
mich schon viel weiter gebracht. Dort gibt es einige Details auf deren
weiteren Seiten, die mir VGA näher gebracht haben.
Ich hoffe, mein Board kommt bald, damit ich mich näher einarbeiten kann.
Bringt sicher noch einiges mehr als die Theorie allein.
Noch ist mir die MicroVGA (nur für Texte!) schleierhaft. Je mehr ich zur
Thematik lese, um so weniger verstehe ich, wie die das machen. Offenbar
ist das ziemlich trickreich gemacht, oder?
Da findet man auch keinen Quarz o. ä. Der interne Speicher des PIC
reicht sicher um die ganzen Charactersets zu speichern. Ok, ich warte
auf mein Board.
wenn du den MicroVGA trickreich findest, dann schau dir das an:
http://www.linusakesson.net/scene/craft/
Du solltest dir am Anfang nicht zu schwere Aufgaben vornehmen.
Sehr trickreich mit wenig Harware auszukommen hat zwar den Vorteil,
das man andere damit beeindrucken kann, aber der Weg dahin ist steinig.
Das Xilinx ISE und andere FPGA Tools haben aber für die schnelle
Anwendung fertige Module im Angebot, auch VGA Controller plus embedded
uCs. Kostet vielleicht etwas mehr Hardwareressourcen, ist dafür aber
auch nach wenigen Minuten betriebsbereit.
Es gibt da einige interessante Videos auf Youtube zu.
Man kann übrigens den PWM vom uC einfach auf den Clock Eingang des CPLDs
legen, so braucht man keinen zusätzlichen Taktgenerator und man hat mit
der dem uC gute Konfigurationsmöglichkeiten. Einige uCs können ihren
eigenen Takt auch auf einen extra Pin ausgeben, ist auch ne gute
Taktquelle fürs CPLD.
Gruß,
dasrotemopped.
Markus Horbach schrieb:> wenn du den MicroVGA trickreich findest, dann schau dir das an:> http://www.linusakesson.net/scene/craft/
das erinnert mich sehr stark an den Sinclair ZX81. Der arbeitete auch
nur in den Zeilen-/Bildlücken, was aber zu manchen Probs führte. Zu
solchen Mitteln musste man in der damaligen Zeit greifen, denn, HW war
nicht unendlich verfügbar, kostete Geld und noch sehr viel Platz. Man
geizte auch mit jedem Byte. Ich schrieb damals einen Z80-Disassembler
für den ZX81 in der Version mit 1KB RAM. Um das zu bewerkstelligen,
waren einige Klimmzüge nötig.
Solche Blackboxen machen mich immer sehr neugierig. Mein Unwissen über
CPLDs und auch manches an Unwissen zu µCs behindert mich derzeit noch.