Forum: FPGA, VHDL & Co. JTAG und CPLD


von Frank L. (franklink)


Lesenswert?

Hallo Zusammen,
ich möchte mich in den nächsten Tagen ein wenig mit CPLDs beschäftigen 
und habe bei ebay dieses Modul gefunden:

http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=330365392990&ssPageName=STRK:MEWAX:IT

Was mir nicht klar ist bzw. meine Frage: Ich habe einen AVR Dragon, kann 
ich das JTAG-Interface verwenden um damit das Modul zu programmieren?

Gruß
Frank

: Verschoben durch Moderator
von gasty (Gast)


Lesenswert?

ehrlichgesagt ist das board total ueberteuert...

hol dir doch lieber von polling das cpld board... da ist nen programmer 
gleich dabei und kost um die 25 euro...

http://www.pollin.de/shop/dt/MTM5OTgxOTk-/Bausaetze/Diverse/Bausatz_CPLD_Evaluation_Board.html

da hast du auch ram paar laempchen usw...

zudem ist der cpld wesend groesser... mit dem 9536 stoesst du schnell an 
deine grenzen...

lg :)

von gasty (Gast)


Lesenswert?

eh pollin natuerlich ;)

von hp-freund (Gast)


Lesenswert?


von hp-freund (Gast)


Lesenswert?

Da sind wir uns wohl alle einig ;)

von Frank L. (franklink)


Lesenswert?

Super, danke für die Antworten. An das Pollinboard habe ich gar nicht 
gedacht. Das einzige was mich daran etwas nervt, ist die Tatsache, dass 
ich wieder einen RS232 nach USB Wandler brauche, mit den Dingern habe 
ich echt schlechte Erfahrungen gemacht. Aber egal, Versuch macht Klug 
und 25 Euro kann man investieren.

Gruß
Frank

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank Link schrieb:
> Ich habe einen AVR Dragon, kann
> ich das JTAG-Interface verwenden um damit das Modul zu programmieren?

Nein.

von Christian R. (supachris)


Lesenswert?

Also mit dem Dragen geht es nicht. Und mit einem USB-Serial auch nicht, 
da das Pollin Board am Parallelport hängt und nur mit einem echten 
Parallelport funktioniert.

von Frank L. (franklink)


Lesenswert?

Also unbrauchbar....

Mein Notebook hat keine Parallelschnittstelle...

Gibt es ein bezahlbares Board, mit USB oder auch RS232 und vielleicht 
auch noch zukunfssicher?

Aber drehen wir die Frage mal um. Letztlich läuft es bei mir darauf 
hinaus, dass ich gerne PWM für RGB-LED Steuerung darüber laufen lassen 
möchte.

Die Frage ist dafür besser CPLD oder FPGA geeignet oder ist es letzlich 
egal. Die Frage mag dumm klingen, aber ich hab von den Teilen echt keine 
Ahnung und versuche mich an die Antwort heranzutasten in dem ich es 
ausprobiere und teste.

Gruß
Frank

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank Link schrieb:

> Die Frage ist dafür besser CPLD oder FPGA geeignet oder ist es letzlich
> egal.

Ein Controller. ;-)

von Frank L. (franklink)


Lesenswert?

Hallo Jörg,
guter Einwand... :-))

Aber, ich möchte 512 Stck. RGB-LED (8x8x8 Matrix) einzeln ansteuern und 
faden können. Wiederholfrequenz min. 100 Hz. um ein flimmerfreies Bild 
hinzubekommen.

Ich sehe da für einen Controller nicht wirklich einen Ansatz.

Das ganze soll ein Werbeobjekt werden, in dem unterschiedlichste 
Elemente angezeigt werden können. Als Elemente bezeichne ich: grafische 
Farbverläufe, Buchstaben und einfache Spiele (3D Ping-Pong).

Deshalb dacht ich, den Controller, von der LED-Steuerung soweit wie 
möglich zu befreien und das an CPLD oder FPGA zu übergeben.

Gruß
Frank

von Christian R. (supachris)


Lesenswert?

Hm, da könnte aber ein CPLD auch recht schnell voll werden....je 
nachdem, wie komplex die Muster sein sollen, mit denen das angesteuert 
wird. Eventuell ist da ein FPGA besser. Da gibts auch viele gerade von 
Xilinx, die gleich den USB Programmer gleich on Board.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank Link schrieb:

> Aber, ich möchte 512 Stck. RGB-LED (8x8x8 Matrix) einzeln ansteuern und
> faden können. Wiederholfrequenz min. 100 Hz. um ein flimmerfreies Bild
> hinzubekommen.

Mit einer direkten Ansteuerung dürfte auch ein FPGA pinzahlmäßig
(3 * 512 = 1536) bereits ein wenig überfordert sein.  (Davon abgesehen,
1536 Drähte will man sicher auch nicht durch den Würfel ziehen...)

Was hast du denn für Vorstellungen, wie du die Signale dann verteilst?

Vielleicht sollte man einen Controller pro jeweils 8 LEDs nehmen (das
wären 24 IO-Pins für die LEDs), und die 64 Controller dann via I²C
ansprechen.  Dürfte aufwandsmäßig kaum mehr werden, als jeder LED
(oder jeweils ein paar LEDs) einen eigenen IO-Expander zuzuteilen.

von Frank L. (franklink)


Lesenswert?

Sorry, Missverständnis.... das ganze soll natürlich in einer Matrix 
organisiert werden. 8 x 64 z.B. für den Würfel. Ich habe so was 
ähnliches bei Borg3D gesehen.

Ich möchte nur nicht alles so einfach übernehmen, sondern selber 
entwicklen und machen. Hinzu kommt, dass ich mich mit diesen Teilen 
schon immer mal beschäftigen wollte.

Es gibt sicher noch andere Möglichkeiten z.B. TLC5940 oder ähnliche 
Bausteine...

Halt mal versuchen was so alles geht...

Gruß
Frank

[edit: muss natürlich heissen 8 x 64 x 3]

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Also 192 IO-Pins pro FPGA?  Ist sicher machbar, ja, aber da dürftest
du dann auch gleich bei einem BGA als Gehäuse landen.  CPLD schafft
das nicht mehr, da hast du nicht genug Flipflops für die Register:
du brauchst ja mindestens je 8 Flipflops pro Kanal, um den PWM-
Vergleichswert zu speichern, das sind 1536 FFs, plus 8 FFs für den
eigentlichen Zähler.  Da hast du die Vergleichswerte aber noch nicht
einmal doppelt gepuffert.  Ein CPLD dieser Größe findest du nicht
mehr, für ein FPGA dagegen ist es fast schon lächerlich.

Neben dem BGA-Gehäuse kommt hinzu, dass ein FPGA seine Konfiguration
im RAM hält, es braucht noch einen externen Boot-(Flash-)ROM.  Ist
alles ein nicht ganz unbeträchtlicher Aufwand, ich würde persönlich
die Variante mit 64 Controllern vorziehen.  Für die brauchst du ja
nur noch LED-Vorwiderstände, die können aus einem ungenauen RC-
Oszillator laufen.

(Disclaimer: meine praktischen Erfahrungen mit programmierbarer Logik
sind nahe null, das ist nur das, was ich mir aus dem zusammenreime,
wie ich es bislang verstanden habe. ;-)

von Frank L. (franklink)


Lesenswert?

Hi Jörg,
willkommen im Club. Mir geht es da genauso.... und genau daran will ich 
ja arbeiten.

Immerhin habe ich jetzt schon soviel begriffen, CPLD geht nicht! FPGA 
mindestens 192 IOs. Gut sollte zu machen sein. BGA = neuer Begriff, muss 
ich mir mal anlesen. externes RAM / ROM für das FPGA Programm war mir 
klar. Bootloader, der das ganze dann für den FPGA bereitstellt muss ich 
mir noch ansehen. Sollte aber mit EEPROM und Controller oder SD-Card und 
Controller kein unüberwindliches Problem werden.

Insgesamt ist das aber eine schöne nette Aufgabe für die nächsten Wochen 
und hoffentlich nicht Monate.

Wer Lust hat kann sich beteiligen und mitwirken.

Mein Fortschritte und Gedanken werden ich mal in loser Folge hier posten 
oder eventl. auch mal einen Artikel starten.

Für weitere Ideen und Anregungen auch in Bezug auf ein Eval-Board wäre 
ich dankbar. Vielleicht kann der ein oder andere FPGA-Spezielist hierzu 
noch einen Kommentar abgeben.

Auch über eine Lösung mit eigene Controller und I2C werde ich 
nachdenken, die Lösung hat sogar Charme, weil sie einfacher erweiterbar 
wäre.

Gruß
Frank

von holger (Gast)


Lesenswert?

>Insgesamt ist das aber eine schöne nette Aufgabe für die nächsten Wochen
>und hoffentlich nicht Monate.

Die Hoffnung stirbt zuletzt;)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Frank Link schrieb:
> Vielleicht kann der ein oder andere FPGA-Spezielist hierzu
> noch einen Kommentar abgeben.

Soll ich dir den Thread nach "FPGA, VHDL & Co." verschieben?

von Frank L. (franklink)


Lesenswert?

jepp, gute Idee... Danke

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Insgesamt ist das aber eine schöne nette Aufgabe für die nächsten Wochen
Du brauchst nicht viel Schlaf, oder ;-)
> und hoffentlich nicht Monate.
Das wird vermutlich sogar noch länger dauern, denn wenn du bisher (noch) 
nichts mit dem Thema (CPLD/FPGA und VHDL) zu tun hattest, solltest du 
jetzt einfach mal ein komplettes FPGA-EVAL-Board kaufen. Der 
Wiederverkaufswert ist relativ stabil, sodass du die 150 Euronen für 
z.B. das Spartan-3 Board eher als Kaution betrachten mußt. Dann hast du 
aber auch einen USB-Programmer, der sonst allein mit 80 Euronen zu Buche 
schlagen wird. Ich würde dir explizit nicht empfehlen, mit den diversen 
Selbstbauprogrammer-Lösungen zu beginnen, denn zur erfolgreichen 
Inbetriebnahme brauchst du bei denen schon einiges Hintergrundwissen.

Also Einkaufsliste:
- Spartan-3E oder -3AN Board von Xilinx
  alternativ das Xilinx/Avnet Spartan 3A Board
  http://shop.trenz-electronic.de/catalog/default.php?cPath=1_47&osCsid=8de642ceee23a8259469c3632a94ea65
- das Buch VHDL-Synthese von Reichhardt/Schwarz
- Download: das Webpack von Xilinx und den Modelsim Simulator

Und dann kommt die Einarbeit mit dem Lauflicht & Co. So etwa im 
Spätsommer werden wir dann mal wieder an dein Projekt gehen... ;-)

BTW: BGA = Ball-Grid-Array = Gehäuse mit Lotkugeln zur Kontaktierung

von Frank L. (franklink)


Lesenswert?

Hallo Lothar,
das ist doch schonmal ein guter Tip. Danke Dir...

Den Rest werden wir sehen, ich habe in den letzten 30 Jahren soviele 
Programmier- und Logiksprachen kennengelernt und angewendet, da kommt es 
auf eine mehr oder weniger nicht mehr an. Ich hoffe darauf, dass die 
Lernkurve bei mir nicht zu flach ist.
Aber ich werde Euch schon noch mit Fragen löchern... :-))

Das Board und die Bücher werde ich mir gleich bestellen und dann mal 
starten.

Gruß
Frank

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
Noch kein Account? Hier anmelden.