Ich habe hier zwei verschiedene CLPDs- einen EPM7032 von Altera und
einen ATF1500 von Atmel.
Jetzt stellt sich mir die Frage: Was kann ich damit machen? Hätte schon
sehr große Lust mich in diese "Logik" Welt einzuarbeiten. Vielleicht
sind solche CLPD ja eine sehr gute Ergänzung zu einem 8Bit µC.
Jedoch weiß ich nicht wo und womit ich da anfangen kann um irgendein
ein kleines Projekt auf die Beine zu stellen.
Das fängt bei der Beschaltung an und hört dann beim Brennen des Chips
auf.
Jemand ein paar gute Ansätze, schöne Vorschläge für mich parat?
CPLDs sind schon sehr klein. Da kann man nicht viel machen. Ein gutes
Beispiel für die Unterschiede µC/CPLD (FPGA) wäre eine Uhr, vielleicht
noch PWM-Generator. Allgemein ist bei programmierbarer Logik das
Kosten/Nutzen-Verhältnis sehr schlecht, da sehr aufwändig. Logik kommt
daher nur dort zum Einsatz, wo Geschwindigkeit oder Zuverlässigkeit
gefragt ist.
Danke schonmal für die gute Erklärung.
Das heißt im Grunde, abgesehen von der Geschwindigkeit, wäre ich mit
einem µC immer besser beraten. Da umfangreicher und einfacher zu
verarbeiten.
Ein schönes Einsatzgebiet stelle ich mir auch als I/O Porterweiterung
für einen µC vor. Soetwas dürfte ja damit ja durchaus Möglichkeit sein.
Jetzt stellt sich mir die Frage der Programmierung: Werden dafür
spezielle Programmer benötigt? Bei meinen zwei obig aufgeführten
Modellen ist von einer ISP Programmierung die Rede. Da stellt sich mir
die Frage, ob gerade der Atmel Derivat sich ebenfalls mit der regulären
µC Hardware beschreiben lässt?
Rubelus schrieb:> Ein schönes Einsatzgebiet stelle ich mir auch als I/O Porterweiterung> für einen µC vor. Soetwas dürfte ja damit ja durchaus Möglichkeit sein.Beitrag "Re: Arbeiten mit RS 232"
Da habe ich vorgestern oder so extra ein VHDL "Programm" dafür
geschrieben. Evtl wäre es sinnvoll das UART mit SPI zu ersetzen wenn du
das ganze mit einem µc steuern willst.
Rubelus schrieb:> Jetzt stellt sich mir die Frage der Programmierung: Werden dafür> spezielle Programmer benötigt? Bei meinen zwei obig aufgeführten> Modellen ist von einer ISP Programmierung die Rede. Da stellt sich mir> die Frage, ob gerade der Atmel Derivat sich ebenfalls mit der regulären> µC Hardware beschreiben lässt?
Also wie es bei Atmel ist weiß ich nun wirklich nicht, aber
normalerweise haben die Dinger eben ein entsprechendes JTAG Interface.
Rubelus schrieb:> Jetzt stellt sich mir die Frage der Programmierung: Werden dafür> spezielle Programmer benötigt? Bei meinen zwei obig aufgeführten> Modellen ist von einer ISP Programmierung die Rede. Da stellt sich mir> die Frage, ob gerade der Atmel Derivat sich ebenfalls mit der regulären> µC Hardware beschreiben lässt?
Den riesen Überblick in sachen CPLD habe ich jetzt nicht. Meine
Erkundungstour in Sachen CPLD hatte folgendermaßen ausgesehen:
* Xilinx IDE installiert
* Kleines Board mit Xilinx XL95xx fertig gekauft
* Günstigen Programmer für Parallelport gekauft, der dann auch mit der
ISE von Xilinx kompatibel ist.
Ich wollt mich auch nicht in Basteleien verstricken und war auch alles
nicht arg teuer.
PS: Ich wollte dich jetzt nicht abschrecken. Für mich war der kurze
Ausflug Richtung CPLD sehr lehrreich. Dadurch kann man schon viel
leichter die Möglichkeiten die eine solche Technologie bietet sowie den
Aufwand der erforderlich ist besser abschätzen.
Am Spannendsten war die Erkenntnis das Logikprogrammierung eine
grundsätzlich andere Denkweise erfordert.
ATF15xx ist im Prinzip baugleich zu Altera EPM70xx (wobei "02" dem 32er
entspricht, "04" dem 64er).
Beschaltung ist nicht schlimm - Spanungsregler, Abblockkondensatoren,
ggf. Quarzoszilllator.
Programmieren kann man über den Parallelport, wenn man noch einen hat,
mit einem "ByteBlaster MV" Kabel, was da drin ist, ist in einer Appnote
von Altera zu finden (die alte Version, es gibt auch eine ohne
Schaltplan). Quartus II WebEdition ist zwar eigentlich überdimensioniert
dafür, sollte aber mit diesem Typ noch gehen. Atmels WinCUPL ginge auch,
ist aber technisch älter.
Porterweiterung als Beispiel wird überigens von Atmel beschrieben:
http://www.atmel.com/dyn/resources/prod_documents/doc3635.pdf
ByteBlaster MV Schaltplan findet man über Google als pdf.
Wie schon von meinen Vorrednern richtig angedeutet, 32 Makrozellen sind
nicht viel. Ein Mikrocontroller kann viel komplexere Vorgänge ausführen
als Logik in einem CPLD. Aber für relativ kleine Algorithmen, und Dinge,
die man notfalls mit Gattern aufbauen könnte, ist ein CPLD unschlagbar
schnell. Klassische Anwendungen wären beispielsweise neben Adreßdecodern
/ -vergleichern in Mikroprozessorsystemen ("Glue Logic") auch
programmierbare Teiler, Decoder zur Ansteuerung von 7-, 14- oder
16-Segment-Anzeigen.. und schließlich die Ansteuerung controllerloser
Grafik-LCDs, dafür werden aber 32 Makrozellen wahrscheinlich zu wenig
sein.
Sebastian E. schrieb:> Programmieren kann man über den Parallelport, wenn man noch einen hat,> mit einem "ByteBlaster MV" Kabel, was da drin ist, ist in einer Appnote> von Altera zu finden
Nuja, hab zwar noch einen Rechner mit Paralelport - dieser ist jedoch
nicht mehr gaaaanz so aktuell :D Entweder dürfte es dann auf eine I/O
Karte auslaufen (Mittlerweile besitzt mein aktueller Rechner ja nichtmal
mehr eine RS232 :/) oder... oh ich sehe gerade ich habe noch einen zIgel
mit 1xLPT / 2xRS232 in µITX. Ich schau mir mal den Bauplan an.
Alternativ baue ich mir auf jeden Fall mal den EvertoolLight nach. Die
Teile, bis auf den Quarz, habe ich eh schon alle da. Und Reichelt führt
ja mittlerweile diesen uminösen 7,3Mhz Quarz.
Sebastian E. schrieb:> Decoder zur Ansteuerung von 7-, 14- oder> 16-Segment-Anzeigen..
Oh, das hört sich auf jeden Fall auch interessant an. Na da bin ich ja
mal gespannt.
Vielen Dank euch!
Ah danke, gut zu wissen... dachte JTAG sei JTAG... nur halt Pegel andere
Pegelanpassungen. Also bleibt im Grunde nur ein BytBlaster II/ MV
Nachbau!?
Einen RS232 "ByteBlaster" sucht man bestimmt vergebens oder?
Lothar Miller schrieb:> Für das Geld baust du den niemals selber:> Ebay-Artikel Nr. 260694889373
Danke für den Link zu dem USB Adapter. Ich werde erstmal nach folgendem
Schaltplan ein einfaches LPT Kabel bauen... ich denke sogar das ich nen
HC244 noch irgendwo in ner Kramkiste rumfliegen habe, wenn nicht kostet
der mich gerade mal zwanzig Pfennig. Für den Anfang dürfte das erstmal
reichen...
viel mehr wird mich wahrscheinlich die Einarbeitung in Quartas kosten..
der erste Blick ist ja.. hmm... "erschlagend".
Vorsicht !!!
EPM7032 ohne Zusatz "S" lässt sich nicht über JTAG programmieren !
Aber auch bei den "S" Typen funktioniert das nur wenn da nicht schon die
JTAG pins in normale I/O's umprogrammiert wurden. Das ist bei den
kleinen CPLD nicht ungewöhnlich, das alle Pins als I/O gebraucht werden.
Sonst braucht du ein käufliches Programmiergerät.
Der Hinweis von h-g-l ist nicht unbegründet. Allerdings sind auch die
Typen mit dem Zusatz "A" oder "AE" JTAG/ISP-programmierbar. Wenn aber
tatsächlich nach dem 7032 kein Buchstabe kommt, dann lohnt es sich, wenn
überhaupt, nur mit den ATF1500 anzufangen. Programmiergeräte für die
EPM70xx ohne Zusatz "A", "AE" oder "S" sind für den Heimanwender
unbezahlbar. Bei den Dingern müssen wir sogar in der Firma passen.
Siehe auch hier:
Beitrag "EPM7032 Programmer"
Ernestus Pastell schrieb:> Allgemein ist bei programmierbarer Logik das> Kosten/Nutzen-Verhältnis sehr schlecht, da sehr aufwändig. Logik kommt> daher nur dort zum Einsatz, wo Geschwindigkeit oder Zuverlässigkeit> gefragt ist.
Würde ich nicht sagen. Kommt aber natürlich immer auf die Anwendung
drauf an. Aber gerade bei hardwarenahen Sachen, für die man ja auch
schonmal Microcontroller verwendet, ist z.B. der VHDL-Code durchaus
vergleichbar in der Länge und Komplexität mit entsprechenden C-Code,
manchmal finde ich, sogar einfacher zu lesen. Hier in diesem Thread
findest du ein Beispiel von mir:
C:
Beitrag "Re: 2 Incrementalgeber koppeln"VHDL:
Beitrag "Re: 2 Incrementalgeber koppeln"
> Die E Und AE gibts meines Wissens aber erst ab EPM128 ...
In der Firma habe ich schon EPM7064A in der Hand gehabt, aus laufender
Produktion, TQFP44-Gehäuse. Die werden mit dem normalen ByteBlaster MV
programmiert. Könnte sein, daß es auch 32er davon gibt.
Bevor wir weiter vermuten .. hab ich mal bei Altera nach geguckt ;
MAX7000 Serie 5V
EPM7XXX ohne Buchstabe kein JTAG
EPM7XXX E ab 128 kein JTAG
EPM7XXX S alle JTAG (7032 und 7064 kein boundary Scan)
JTAG Pins sind als I/O umprogrammierbar, kann aber nur mit
Programmiergerät wieder rückgängig gemacht werden. Also aufpassen, das
dieses Bit nicht im Bitstream gesetzt ist.
MAX7000A Serie 3,3 V
EPM7XXX AE alle JTAGMAX7000B Serie 2,5 V
EPM7XXX BE alle JTAG
Wie das mit den JTAG pins als I/O bei der A und B Serie ist hab ich auf
die schnelle nicht gefunden.
Bei den EPM7032S,EPM7064S und EPM70128S hab ich das aus eigener
Erfahrung mal lernen müssen. Habe mir darauf ein quasi leeres design
erstellt bei dem das JTAG enable Bit gesetzt ist und über einen DATAIO
Programmer die Dinger wieder umgeschossen.