Hallo zusammen, ich muss sagen, mein Versuch, mich in die Welt von CPLDs einzuarbeiten ist ziemlich am Anfang stecken geblieben. Als erstes habe ich nach tutorials gegoogelt und dabei schon einige Interessante gefunden, die allerdings alle unvollständig waren. also der aktuelle Stand der Dinge: - Ich weiß, was CPLDs sind, was sie können, was sie nicht können,... - Ich werde ein 5V ISP CPLD von xilinx benutzen (http://www.reichelt.de/?ACTION=3;ARTICLE=40154;PROVID=2402) - Ich habe das Xilinx Webpack (5GB Programmierspam) heruntergeladen Dafür würde ich jetzt gerne ein Programmier-Experimentierboard mit Schnittstelle zum PC bauen, um die ersten Versuche mit Taster und LEDs zu starten und die Datenübertragung zu testen. Nur leider habe ich keine Ahnung, wie die ISP Verbindung zum PC hergestellt wird und was ich dazu brauche. Ich möchte mir ehrlich gesagt kein fertiges Board für 200 EUR vom großen C kaufen, sondern lieber selbst etwas basteln. Erkennt das Programm den Chip dann selbst? Das WebPack ist irgendwie für Einsteiger schonmal deutlich zu komplex :-/ Die Tutorials von xilinx beschränken sich darauf, mir zu erzählen, wie ich die 100 verschiedenen Möglichkeiten der Software nutze, so ein Ding zu programmieren. Das entspricht nicht so ganz meinen aktuellen Anforderungen... Was ich bisher gefunden habe: http://www.holger-klabunde.de/projects/Xilinx.htm Das scheint ein JTAG adapter zu sein (also kein ISP). Den Unterschied kenne ich nicht wirklich. Nur ISP soll toller sein. Keine Ahnung, ob ich mich an dieser Schaltung orientieren kann. http://www.unmuth.de/pdf/CPLD_tut_hardware.pdf hier jetzt ISP - dafür aber für den 9536 und unvollständig. So fehlt z.B. die Teileliste. Ansonsten gefällt mir das schon recht gut. Meint ihr, damit kann man wirklich mit dem Webpack arbeiten? Sollte ich vielleicht für den Anfang auf den 9536er umsteigen, um nicht so viel ändern zu müssen? Wie man mit so einer Platine dann das "Brennen" durchführt, lassen die Autoren außen vor. Mir fehlt halt einfach ein "Baue diese Platine und klicke auf jenen Programmbutton"-Tutorial, das mich mal zu dem Punkt führt, wo die erste LED blinkt. Kennt da jemand was für diese Hardware und diese Software?
Und warum kaufst Du Dir nicht das Bord von Pollin? Bestellummer ist "810 068" und Brenner ist auch schon dabei.
Schon gesehen? http://www.buecherbillig.de/isbn-3772340261/Experimente_mit_Programmierbarer_Logik._Schaltungen_mit_VHDL.html
Hi, ich habe auch mit dem CPLD angefangen, habe mir damal einen Parallelport Programmer nachgebaut. Ich glaube der war von ulrich Radig. http://www.ulrichradig.de/home/index.php/cpld/basekit_xilinx_cplds Dann stand ich vor genau dem gleichen problem wie du, so viele Knöpfe und so viel was zu beachten gilt. Dann habe ich mir ein Tutorial runtergeladen, das war von einer hochschule was sehr detailiert war. Finde es auf anhieb nicht, aber das hier schaut auch nicht schlecht aus: http://www.eng.ucy.ac.cy/theocharides/Courses/ECE408/hw1.pdf Hoffe ich konnte dir helfen :-)
@ Armin (Gast) >- Ich weiß, was CPLDs sind, was sie können, was sie nicht können,... Wirklich? >- Ich werde ein 5V ISP CPLD von xilinx benutzen >(http://www.reichelt.de/?ACTION=3;ARTICLE=40154;PROVID=2402) Kann man machen, wenn gleich die 3,3V Typen deutlich billiger sind. >- Ich habe das Xilinx Webpack (5GB Programmierspam) heruntergeladen Selber Schuld. Hättest dir die genügsamen Version 6.3 runterladen sollen. http://www.mikrocontroller.net/articles/Programmierbare_Logik >Nur leider habe ich keine Ahnung, wie die ISP Verbindung zum PC >hergestellt wird Über den Parallelport. > und was ich dazu brauche. Ein einfaches Kabel ala http://www.geocities.com/jacquesmartini/digital/schematic/Parallel_Cable_III.png >Ich möchte mir ehrlich gesagt >kein fertiges Board für 200 EUR vom großen C kaufen, sondern lieber >selbst etwas basteln. Was aber mal fix zu vielen (Anfänger)problemen führen kann. >Erkennt das Programm den Chip dann selbst? Wenn die Hardware OK ist, dann ja. > Das WebPack ist irgendwie für >Einsteiger schonmal deutlich zu komplex :-/ Naja, geht so. Zumindest die alten Versionen. >Das scheint ein JTAG adapter zu sein (also kein ISP). Bei den CPLDs gibt es nur JTAG, damit gilt JTAG = ISP. >http://www.unmuth.de/pdf/CPLD_tut_hardware.pdf Das ist die Schaltung des origonalen Parallel-Cable-III von Xilinx. Würde ich aber nicht empfehlen, das Ding hat bekannte Macken. Lieber dem Link oben folgen. >vielleicht für den Anfang auf den 9536er umsteigen, um nicht so viel >ändern zu müssen? Wozu? Die gibt es im identischen Gehäuse. >Wie man mit so einer Platine dann das "Brennen" durchführt, lassen die >Autoren außen vor. Kabel anstecken, Strom einschalten, Programm starten, paar mal clicken, fertig. >Mir fehlt halt einfach ein "Baue diese Platine und klicke auf jenen >Programmbutton"-Tutorial, das mich mal zu dem Punkt führt, wo die erste >LED blinkt. Also idiotensicher. Naja . . . . MFG Falk
Falk Brunner schrieb: > Selber Schuld. Hättest dir die genügsamen Version 6.3 runterladen > sollen. Nützt einem aber nichts, wenn man kein Windows hat. Läuft das Ding eigentlich unter Wine?
Zu Beginn gleich alles selbst bauen kann ich nur empfehlen wenn du schon Erfahrung in anderen Bereichen hast(z.b. µC board etc) Ansonsten hat das eine nicht viel mit dem anderen zu tun. Wenn du vhdl lernen willst bzw allgemein eine Schaltung beschreiben willst, dann brauchst du dafür genau 0 Kenntnisse was den Boardentwurf angeht. Es hilft dir auch nichts, das du das board selbst entworfen hast, wenn es nachher um die Implementierung der Logik im Chip geht. Deswegen würde ich mir wirklich 3 mal überlegen gleich komplett bei 0 zu beginnen. Einfache boards gibts für sehr wenig Geld(siehe pollin beispiel), möglicherweise kostet einen der Selbstentwurf sogar tw mehr.
> Das scheint ein JTAG adapter zu sein (also kein ISP). Den Unterschied > kenne ich nicht wirklich. ISP heisst ja erst mal nur so viel wie "Im System Programmierbar" und der Begriff wird meistens bei Mikrocontrollern etc. verwendet. Über das "wie" dieser Programmiermöglichkeit macht der Begriff "ISP" überhaupt keine Aussage. Bei den AVRs wird meistens über MOSI, MISO und SCK seriell programmiert, in einigen (seltenen) Fällen aber auch parallel. Bei anderen Mikrocontrollern irgendwie anders, ich meine bei Texas z.B. über nur einen Pin etc. JTAG hingegen meint eine bestimmte, genormte Schnittstelle. JTAG ist eine spezielle, serielle Schnittstelle bei der mehrere Bausteine unterschiedlicher Hersteller in einer Kette hintereinander geschaltet werden können. Ursprünglich (vor Jahrzehnten) war JTAG nicht zum Programmieren gedacht, sondern nur zum Testen von Bauteilen. Aber recht bald konnt man über JTAG auch bestimmte Bauteile programmieren, z.B. CPLDs etc. Wenn Du ein CPLD im System programmierst (ISP), machst Du das praktisch immer über die JTAG-Schnittstelle. Es gibt übrigens auch AVRs mit JTAG-Schnittstelle. Die können dann auch über die JTAG-Schnittstelle programmiert werden, zusätzlich zur seriellen Möglichkeit (MOSI, MISO, SCK) und parallelen Möglichkeit. Also: JTAG ist eine genormte Schnittstelle, und ISP bedeutet "Im System programmierbar".
Hallo Armin, ich diesen Parallelport-Programmer (-> Anhang) gebaut, der passt als SMD ohne Probleme in da Gehäuse des LPT-Steckers. Aus der Schaltung gespeist kann er mit 5V oder 3,3V laufen. Wie schon von anderen empfohlen, solltest du gleich die XL-Serie mit 3,3V verwenden. Die ist deutlich preiswerter, und hat 5V-tolerante Eingänge. Für die ersten Schritte habe ich mir eine kleine Testplatine entworfen. Da sind außer dem XC9536XL (bzw. XC9572XL im gleichen Gehäuse) nur noch ein Spannungsregler für 3,3V sowie ein Quarzoszillator mit 32,768 kHz drauf, und alle Pins werden auf Stiftleisten geführt, um sie mit meinen Testmodulen verbinden zu können. Damit, und mit dem Webpack habe ich meine ersten "Gehversuche" mit CPLD unternommen. Probiere für den Anfang erst mal was ganz einfaches, wie mit 2-3 Eingänge logisch verknüpfen (wie z.B. and, or, xor) und das dann auf ein paar Ausgängen ausgeben.
Hallo zusammen, ich würde gerne diese Thread-Leiche wieder auferstehen lassen, mit folgender Frage: Kennt ihr einen preiswerten USB<->LPT Adapter, den man mit der Schaltung, die oben von Michael L. genannt wurde, zum Programmieren von CPLDs enutzen kann? Funktioniert ein einfacher USB<->"Druckerport"-Adapter? Danke und Gruß Thomas
Ein USB-Drucker-Adapter funktioniert auf keinen Fall. Der einzige Adapter, der gehen könnte ist die Selbstbau-Lösung von Henrik Haftmann: http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/
ok, danke für den tipp. ich habe noch eine frage zu meinem projekt: was ich realisieren möchte, ist relativ simpel: ein drehencoder soll durch einen GAL oder CPLD bestimmte "werte" am ausgang ausgeben. wir reden hier von max 10 einstellungsmöglichkeiten, die einen AD-wandler steuern sollen (sampleraten einstellung). ich bin mir nicht sicher, ob ich mich jetzt voll in die materie der CPLD via VHDL programmierung stürzen soll, nur um diesen kleinen baustein zu programmieren. gibt es da eine andere möglichkeit? eine einfachere? aus einzelelementen würd ich die logik sehr ungern bauen... danke nochmal
@Thomas P. (thomas47058) >möglichkeit? eine einfachere? aus einzelelementen würd ich die logik >sehr ungern bauen... Nimm einen kleinen Mikrocontroller, selbst der langweilt sich dabei zu Tode. Ein CPLD erst recht. MFG Falk
> ok, danke für den tipp. Noch ein Tipp: kauf dir einen billigen Digilent-Programmer http://shop.trenz-electronic.de/catalog/product_info.php?cPath=30&products_id=589 oder so einen Xilinx-USB-Programmer-Nachbau in der Bucht...
hallo lothar, der Digilent Programmers liest sich gut. allerdings geht die beschreibung immer ziemlich restriktiv anmutend auf "Digilent programmable logic boards" und "Digilent embedded control boards" ein. kann ich denn damit auch generell alle AVRs und CPLDs programmieren? etwas hoffnung macht da der punkt "Can program devices that have a JTAG voltage of 1.8V or greater". die variante aus der bucht kostet schon 70 euro inkl. versand. lohnt sich für meine vorhaben nicht... danke&gruß!
Thomas P. schrieb: > kann ich denn damit auch generell alle AVRs und CPLDs programmieren? Nein. Es steht zwar überall JTAG drauf, aber es ist so wie auf Autos zwar "Auto" steht, aber trotzdem jedes spezielle Felgen und Reifen braucht... Das ginge nur, wenn du entsprechende JTAG-Testvektoren erstellen könntest und die dann mit einem passenden Player abspielen würdest...
Bastel-Tips: Für CPLD's http://www.youtube.com/watch?v=lYMaUudZQsc&feature=related @Armin http://www.miniprobe.com/pld/3p_inv/3p_invA/3PINVA.HTML Referenz-Design mit “trick“ 2 Clocks {1..1/2} als PWM 3 Pasen-Motor ######################################################################## ## Frage:@Forum Hast einer mal versucht den AVR als JTAG-Iterface einzusetzen, und damit den XC9536 direkt zu proggen. (via “*.JED“ File) ??? In der C’t Zeitschrift war mal sone APP drin, via SD CARD wurde das Design in den CPLD mit Hilfe des Atmega 32 geladen. Kennt einer das Projekt noch.? /"\ \ / X / \ Gruss Holger
@Armin Hier ist was für dein XC9536 Project. 1) JTAG .Infos 2) XC9536 oder XC9572 mini Platine (Home-Brew) Beitrag "JTAG INTERFACE APP MCU" Gruss Holger.
@Armin Der Prof. hat einen Design Award gewonnen, in JAPAN. Hier prüfe ich noch die Pinne nach. Nicht einfach alles nehmen, immer nachprüfen. Da darf kein Fehler drin sein. Hier sind genug Threads, bei denen das Ding heiss geworden ist. Und da ist es dann exitus mit dem Homebrew CPLD. ################################################################# Man kann da noch den VCC I/0 Pin 32 modulieren. So eine art DAC. Interesant sind auch die 3 R-C Kopplungen (analog-Trigger)da drin. Hier die Beschaltung, der Dedizierten Pinne. 2 Clock-Domains + Power UP (Boot-Up)Resistor Nets. Clock:[5][6][] General-Set/Reset... General Tristate Pins.. /"\ \ / X / \ Gruss Holger
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.