Hallo, nachdem ich letztens eine Versuchsreihe für Schüler (zum Thema Digitalelektronik) etwas modernisiert habe, ist mir in den Sinn gekommen, dass es neben dem bisherigen Steckbrett-"Gebastel" mit 74er-ICs möglicherweise recht attraktiv sein könnte, das Ganze um eine Computer-Komponente zu erweitern. Sprich: die Schüler sollen ein CPLD programmieren. Da ich bisher keine praktische Erfahrung damit habe, mir aber auch gerne neue Themen anschaue, habe ich mich etwas umgesehen und bin bei Lattice gelandet. Das ispLEVER Classic gibt es umsonst und die CPLDs sind recht günstig. Ich habe schon ein wenig "Trockenübungen" gemacht und bin positiv überrascht, wie einfach es geht, zumindest simple Designs zu erstellen und zu simulieren. Das würde ich auch den Schülern mit etwas Betreuung zumuten. Jetzt geht es aber darum, das Design auf das CPLD zu bringen. Ausgewählt habe ich für die Versuche den Lattice LC4032V, der ist günstig und scheint noch gut erhältlich. Über den JTAG-Adapter mache ich mir aber noch etwas Sorgen. Es gibt das Original vom ispDownload-Adaper, das wäre mir für den Zweck aber schon fast zu teuer. Diverse Clones aus China rangieren da schon deutlich günstiger und scheinen volle Funktionalität zu gewähren: http://www.ebay.de/itm/USB-ISP-Download-Cable-Jtag-SPI-Programmer-for-LATTICE-FPGA-CPLD-/281641339929?hash=item419321. Dauert aber mal wieder mit dem Versand. Dann gibt es aber auch die Möglichkeit, mit OpenOCD einen Altera USB Blaster zu betreiben. Der ist als Clone ja wirklich unschlagbar billig, aber funktioniert der auch mit den in ispLEVER Classic erstellten Dateien? Man sieht: ich habe noch kaum Ahnung von dieser Thematik. Hat von euch jemand diesen Weg schon durchschritten und kann mir dahingehend etwas Unterstützung bei der Auswahl eines JTAG-Adapters geben? MfG, Stephan
Die JTAG-Programmer aller Hersteller sind idR sehr teuer, alternativen sind nur die China-Clone. Von denen ist aber nur der für Altera wirklich billig (4-5 Euro, die anderen: ca. 20-25 Euro). Bei allen CPLDs gilt: sie sind alle EEPROM-basiert, d.h. nicht beliebig oft reprogramierbar. Bei Xilinx' XL9500er sind es 10000 Zyklen, bei Altera MAXen nur 100 und bei "Deinen" Lattice CPLDs glaube 1000 Zyklen. Hört sich erstmal (bis auf Alteras CPLDs) viel an, für Unterricht/Hobby imho zu wenig. Alternative: nimm ein kleines FPGA von Altera (z.B. EP2C5), die gibt's ab 20 Euro, sind mit Programmer ca. 25 Euro. Billiger geht's kaum. Von Lattice gibt's auch sehr billige FPGA-Boards inkl. Onboard-Programmer, schreib doch einfacch mal Lattice an.
Ich spiele auch mit dem Gedanken mir Lattice anzusehen. Dieses Board: http://de.rs-online.com/web/p/entwicklungskits-programmierbare-logik/7434788/ scheint mir ein guter Einstieg zu sein. Wenn ich das richtig verstehe ist es auch möglich den Onboard Programmer für seine eigenen Chips anzuzapfen.
Hallo, der Tip war gut, für die 4000er-Reihe gibt es das http://de.rs-online.com/web/p/entwicklungskits-programmierbare-logik/7434797 LC4256ZE-B-EVN Dev-Kit. Da ich hier aber auch nicht sicher bin, wie sich das Board nachher mit der Entwicklungsumgebung und meinem CPLD verträgt, habe ich Lattice eine Anfrage gestellt. Die wissen das bestimmt ;-) Aber für 30€ wäre das jedenfalls ein gutes Angebot. Die relativ geringen Schreibzyklen sind mir bekannt, aber ich habe mal nachgerechnet: wir bekommen zu dieser Versuchsreihe wenn es hochkommt etwa 10-15 Besuche im Jahr. Das heißt, inklusive Spielereien, denen ich mal ein paar zusätzliche Programmierungen gebe, haben wir nicht mehr als 50 Zyklen im Jahr pro CPLD. Das sollte einige Zeit reichen, selbst bei den geringen 1000 bei diesem Typ ;-) Mit ein wenig Lagerhaltung sehe ich da kein Problem, zumal die knapp 2€ für das IC auch nicht wehtun. Dankeschön euch beiden! MfG
:
Bearbeitet durch User
Wenn es nicht unbedingt ein CPLD sein muss wäre eventuell ein ähnliches Board mit FPGA besser geeignet. Von Lattice gibt es da eins mit MachXO3 (LCMXO3LF-6900C-S-EVN). Hätte den großen Vorteil das da neben ein paar LEDs noch Schalter drauf sind. Etwas preiswerter ist es auch noch.
Es muss nicht zwangsweise ein CPLD sein, immerhin kommt nachher maximal ein Dutzend Logikgatter da rein, das letztlich quasistatisch betrieben wird. Da mir aber das ganze Drumherum der LC4000-Familie gefällt (und das alles gut bei RS verfügbar ist), würde ich das erstmal mit denen versuchen. Zumal sich für kombinatorische Schaltungen ein CPLD doch anbietet, oder nicht? MfG
:
Bearbeitet durch User
hp-freund schrieb: > Wenn ich das richtig verstehe ist es auch möglich den Onboard Programmer > für seine eigenen Chips anzuzapfen. Nein, bei vielen Lattice-Boards sind Onboard-Programmer drauf, die lassen sich aber idR nicht zum Programmieren fremder Chips verwenden (es sei denn, die JTAG DI/DO Leitungen werden von Hand getrennt und geeignet verschaltet). Die rausgeführten JTAG-Pins dienen nur für ext. Programmer, dazu müssen aber Onboard einige Widerstände entfernt werden.
Stephan S. schrieb: > Über den JTAG-Adapter mache ich mir aber noch etwas Sorgen. Richtig. Früher konnte man das direkt, ohne weitere ICs (höchstens für Angsthasen die dachten sich ohne Treiber den PC kaputtzumachen) vom LPT Parallelport des Rechners aus machen. Heute können Computer angeblich 1000 x mal mehr, aber nicht mal mehr das. Also braucht man etwas mit USB Interface. Die Frage ist dann nicht so sehr, welcher Chip dranpasst, es passt dank JTAG jeder, sondern eher, welche Software nötig ist. Denn je nach Software klappt das entweder aus der Lattice Programmierumgebung heraus, oder man muss den Prozess unterbrechen und auf ein externes Tool wechseln. Ähnlich ist es mit der Programmierung von Atmel AVRs aus dem Studio heraus ja auch. Gegen tun also auch die chinesischen, bequem sind nur die, die mit der Lattice Software kompatibel sind. Da du auch noch eine alte Programmierumgebung verwendest, muss man bei der Beschreibung ganz genau aufpassen.
Sigi schrieb: > Nein, bei vielen Lattice-Boards sind Onboard-Programmer > drauf, die lassen sich aber idR nicht zum Programmieren > fremder Chips verwenden (es sei denn, die JTAG DI/DO > Leitungen werden von Hand getrennt und geeignet > verschaltet). Ganau so dachte ich mir das ;-) Beim LC4256ZE-B-EVN würde ich einfach R3, R4, R7 und R9 entfernen und die 4 Pins vom FT2232H direkt an 4 Pins in der Prototype Area legen. Dann ein kleines Adapterkabel das zurück auf den zu bestückenden JTAG-Header bzw. auf die externe Platine führt.
hp-freund schrieb: > Beim LC4256ZE-B-EVN würde ich einfach R3, R4, R7 und R9 entfernen und > die 4 Pins vom FT2232H direkt an 4 Pins in der Prototype Area legen. > Dann ein kleines Adapterkabel das zurück auf den zu bestückenden > JTAG-Header bzw. auf die externe Platine führt. Genau, erfordert nur ein wenig Lötarbeit. Bei einigen Boards (hab so eins) ist lieder nur ein Umschalter zwischen Extern- und Onboard-Programmer.
Passend dazu habe ich ein Foto des LC4256ZE-B-EVN gefunden: http://1.bp.blogspot.com/-Kl83yAEjhpc/VC7Kq1czcCI/AAAAAAAAAr8/MqBb7Jipo7k/s1600/IMG_20141003_120509.jpg Das wäre ja kein großes Ding, die Widerstände zu entfernen. Michael, ich denke, genau da liegt der Punkt, den ich nicht ganz nachvollziehen kann. Zumal die meisten doch mit einem FT2232H laufen. Verstehe ich richtig: JTAG-Adapter sind nicht unbedingt 1:1 austauschbar, weil sie unterschiedliche Firmware haben? Ich dachte bisher immer, JTAG sei ein standardisiertes Protokoll. OK, es wäre ja zu schön, wenn ich den Lattice-CPLD mit meinem aktuellen MSP-FET von TI beschreiben könnte ;-) MfG
:
Bearbeitet durch User
Stephan S. schrieb: > Ich dachte > bisher immer, JTAG sei ein standardisiertes Protokoll Das schon, aber nicht die Ansteuerung per USB und der PC-seitigen Treiber. Da hat halt jeder Hersteller sein eigenen Ansatz.
Ich schmeiß mal den Xilinx CoolRunner II CPLD in den Ring. Vorteil: Xilinx hat einen freien Source-Code, der aus jedem Microcontroller mit 4 GPIO-Pins einen Programmer macht. Man muss lediglich eine Hand trivialer Funktionen implementieren (setPin, readPin, delay). D.h. in zwei Stunden arbeit programmiert jeder billige Arduino den CPLD. Noch billiger geht es via Bitbanging über die Handshake Leitungen eines günstigen 3.3V USB/UART Adapters. Die Xilinx CPLDs haben auch einen Programmiermode, der nicht in das interne EEProm, sondern ins interne SRAM schreibt. Damit sind die begrenzen Programmiercycles auch kein Problem mehr. Nachteil: Die Chips sind nicht 5V kompatibel. DangerousPrototypes hat ein schönes Breakout-Board mit vielen Beispielen und Tutorials für den Chip gemacht: http://dangerousprototypes.com/docs/CoolRunner-II_CPLD_breakout_board Kaufen kann man das auch bei einigen deutschen Distributoren für 16€. Achja, da es sich an Schüler richtet kann zum Einstieg erzählen, das der Coolrunner der Modchip für die XBox 360 ist. Das sollte neugierig machen.
Hallo, Danke auch für diesen Vorschlag, das Board werde ich mir auch auf die Liste setzen. Die Programmierumgebung für die Coolrunner II ist aber ganz schön riesig :o MfG
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.