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?
:
Verschoben durch User
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.
TokyoDrift schrieb: > Da habe ich vorgestern oder so extra ein VHDL "Programm" dafür > geschrieben. Ich habe so einen Port-Expander schon mal vor längerer Zeit gemacht: http://www.lothar-miller.de/s9y/categories/49-RS232-IO Geht auch ganz gut... ;-)
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!
Nur mal als kleine Anmerkung: Evertool Light kann aber nicht zur Programmierung von CPLDs verwendet werden. Das ist nur für AVRs.
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?
Rene K. schrieb: > dachte JTAG sei JTAG... Ja, so wie Auto Auto ist. > nur halt Pegel andere Pegelanpassungen. Nur halt einmal mit allradgetriebenen groben Stollenreifen und großer Bodenfreiheit oder das andere Mal mit Slicks und beengten Sitzverhältnissen... > Also bleibt im Grunde nur ein BytBlaster II/ MV Nachbau!? Für das Geld baust du den niemals selber: http://cgi.ebay.de/USB-Blaster-programmer-JTAG-cable-for-Altera-CPLD-FPGA-/260694889373?pt=LH_DefaultDomain_0&hash=item3cb2a0539d
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 JTAG MAX7000B 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.
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.