Hallo Forum! Nachdem ich viel Forenbeiträge gelesen habe, die mir zwar einen Einblick ins Thema CPLD und FPGA gaben, eröffne ich hier einen auf meine Fragestellung zugeschärften Thread. Ich beschäftige mich zur Zeit mit dem Addieren von Encodersignalen. Dazu benutze ich eine Mikrocontrollerschaltung, welche aus drei ATtiny2313 aufgebaut ist. Zwei fungieren als Zähler einer als Addierer. Die Zähler setzen einen Ausgangspin, falls es vorwärts und einen anderen, falls es rückwärts geht. Der Addierer kriegt das mit und meldet dies an die Zähler, die dann die Ausgangspins per Interrupt zurücksetzen. Ferner teilt der Addierer die Encoder, d. h. er versetzt den Ausgang nur dann eins weiter, wenn er zwei aufeinanderfolgende Pulse in die gleiche Richtung registriert. So wird vermieden, dass zwei Pulse sehr schnell hintereinander den Addierer verlassen. Geschrieben habe ich das in Assembler und es funktioniert auch recht ordentlich. Wird die Encodereingangsrate sehr hoch, dann klappt das aber nicht mehr. Im Artikel Drehgeber - http://www.mikrocontroller.net/articles/Drehgeber las ich folgendes: "Besonders bei höheren Winkelgeschwindigkeiten und Auflösungen ist eine Auswertung in Software in einem Mikrocontroller irgendwann einmal technisch unmöglich. Dann muss ein Dekoder in Hardware her, heutzutage meist programmierbare Logik in Form eines CPLD oder FPGA. VHDL ist eine weit verbreitete Sprache zur Logikbeschreibung bzw. Synthese." Aha! Mit CPLDs und FPGAs kann ich schneller werden. Also begann ich mich auf dem Internet und auch bei microcontroller.net in das Thema CPLD und FPGA einzulesen. Bei der Gelegenheit: Ein herzliches Danke ans Forum und seine Macher! Ich stellte fest, dass die Einarbeitung sehr viel schmerzlicher wird als die Einarbeitung in AVR Assembler, da Anfängersets, bestehend aus Testboard, Software und am wichtigsten Schulungsunterlagen, wie sie für die AVRs erhältlich sind, nicht angeboten werden. Ich frage mich daher mit welcher Ausstattung ich beginnen soll. Eine Frage, die hier oft gestellt wird, wobei sich die Entwicklungsziele der Fragenden von meinen unterschieden. Bei den AVRs bin ich sehr schnell vom Testboard zu eigenen Layouts übergegangen und ich möchte das nun auch mit CLPDs oder FPGAs tun. Folglich ist die Verfügbarkeit ein wichtiges Kriterium. Bei meinen Recherchen fielen mir drei Produkte ins Auge: 1. Altera DE1 - http://www.terasic.com.tw/cgi-bin/page/archive.pl?No=83 Das wird in Foren gut besprochen. Ist mit viel mehr ausgestattet als ich brauche und wird daher schwieriger zu handhaben sein. Auf der anderen Seite erschließt die Ausstattung auch neue Interessenfelder. 2. Xilinx Spartan-3AN Starter Kit - http://shop.trenz-electronic.de/catalog/product_info.php?products_id=168 Das scheint ein Konkurrentz des DE1 zu sein mit ähnlichen Eigenschaften. 3. Xilinx CoolRunner-II CPLD Starter Kit - http://shop.trenz-electronic.de/catalog/product_info.php?products_id=478&language=de Das günstigste Board ist ein CLPD Board. Hat das bezüglich der Geschwindigkeit Vorteile? Kann mir jemand einen Tipp geben, mit welchem der genannten Produkte oder mit welchem Alternativprodukt ich einsteigen soll. Ich bin auch für Literaturhinweise dankbar, welche sich auf eine Entwicklungsumgebung mit einem Board fokusieren. Zukünftige Projekte wären beispielsweise ein 24 Bit breiter Encoder Zähler mit achtstelliger Siebensegmentanzeige - womöglich für drei Achsen - oder ahnliches. Ich hoffe ich habe einen Einblick gegeben, welche Projekte mir vorschweben. Viele Dinge auf den gefundenen Boards werde ich also erst mal nicht brauchen. Wichtig ist vor allem einen Einstieg zu erhalten und den Frust, der angesichts der schwierigen Materie unvermeidlich erscheint, zu minimieren. Man kann sich ja später ein weiteres Board zulegen. Danke an alle die sich den langen Text durchgelesen haben und mir womöglich antworten. Ziel war es Euch einen Einblick zu geben was mich umtreibt und wo ich mit meinen Kenntnissen stehe, nämlich am Anfang. Viele Grüße Reinhard
Für Encodergeschichten sind wohl die meisten FPGA-Board überdimensioniert, aber nach dem ersten Schritt will man mehr^2. Schau einfach mal mehrere Wochen lang bei EBay nach gebrauchten Boards, ab und zu ist ein günstiges dabei. Und in der Zwischenzeit: Lad die einfach mal die kostenlosen Webedition/Webpack-Versionen von Altera oder Xilinx runter und mach dich mit diesen vertraut. Damit bist du mehrere Wochen beschäftigt und findest dann je nach Geschmack eine erste Präferenz (und nicht ganz unwichtig!: Schau dich nach JTAG-Programmern um, Altera ist hier billig, bei Xilinx ein wenig teurer). Und: Xilinx CoolrunnerII ist ein CPLD, ggÜ FPGAs extrem klein. Nimm lieber gleich einen FPGA.
Vielen Dank Siggi, das werde ich tun. Gibt es für diese Entwicklungsumgebungen empfehlenswerte Tutorials? Das mit dem Programmer hatte ich auch schon im Forum gelesen. Falls die Xilinx Umgebung einfacher und weniger frustrierend ist, soll es an einigen Euros nicht scheitern. Viele Grüße Reinhard
Kaum einer der Hersteller hat ein wirklich gutes Tutorial. Für Xilinx: Schau mal nach "ISE in depth Tutorial" Für Altera: Am Besten das QuartusII-Manual (teilweise ausufernd, aber irgendwann muss man sich ja mal reinknienen) Aja, noch zu Altera: eigentlich mag ich Xilinx in Bezug auf VHDL mehr, aber wenn mal ein kleines SOC-System aufgesetzt werden soll, dann ist Altera definitiv besser!!!
Hallo Siggi, das verstehe ich nicht ganz. SoC heisst doch System on a Chip, oder? Eigentlich stelle ich mir das so vor: Ich entwickle etwas auf dem Board, kaufe mir dann einen Chip und verbaue diesen in main Layout. System on a Chip hört sich irgendwie gigantisch an. Ist das Raspberry nicht sowas? Ich suche was zum Einsteigen mit Bezug auf meine Encodergeschichten. Das Tutorial von Xilinx habe ich gerade geholt. Sieht gut aus. Danke. Altera Software ziehe ich gerade. Bei Xilinx weiß ich nicht was ich an Software herunterladen muss. Kannst Du helfen? Herzlichen Dank für die ultraprompte Antwort. Viele Grüße Reinhard
SOC: Jeder der Anbieter hat ein eigenen Prozessor inkl. Architekturkomponenten. Bei Altera ist es z.B. NiosII (neuerdings ARM), bei Xilinx MicroBlaze oder PPC405/440 (neuerdings ebenfalls ARM). Am Anfang sollte das aber nicht so interesant sein, VHDL ist hier wichtiger. Später, nach ein paar Monaten (??) willst du aber mal mehrere selbstgeschriebene Komponenten elegant konfigurieren bzw. steuern, und hier genau hilft dir ein Prozessor. Das ganze kann man dann als SOC bezeichnen (ist idR nichts hochtrabendes). Wenn du also nicht nur reinschnuppern möchtest, dann ist dieser Punkt für die Zukunft auf jeden Fall zu berücksichtigen.
Und was ich vergessen habe: Der Prozessor ist entweder in VHDL bzw. einer äquivalenten Beschreibung oder aber als Hardcore-Block im FPGA integriert.
Herzlichen Dank Siggi, Du machst mir Mut und den werde ich brauchen. Installiere gerade Quartus. VHDL scheint in der Tat wichtiger. Welche Xilinx Software soll ich probieren? Kannst Du mir den Link eintragen. Auf dre Xilinx Seite habe ich verwirrt aufgegeben. Habe XP als Betriebssystem. Viele Grüße Reinhard
Und einen wichtigen Punkt habe ich noch vergessen: Installiere dir von Xilinx die Version 6.3 (oder 9.x, X=?) und von Altera die Version 11.0 (evtl. SP1). Die sind erstens kleiner und ausserdem mehr als ausreichend für erste Schritte.
Sigi schrieb: > Und einen wichtigen Punkt habe ich noch vergessen: > Installiere dir von Xilinx die Version 6.3 (oder 9.x, X=?) > und von Altera die Version 11.0 (evtl. SP1). Die sind > erstens kleiner und ausserdem mehr als ausreichend für > erste Schritte. Hmm Xilinx ISE 6.3 kann er kaum gemeint haben. Die älteste Version die ich benutze wäre 8.4. Und die auch nur zum Map & Place von steinalten SpartanXL. Wenn es eine alte ISE-Version sein soll, würde ich die 10.1 empfehlen. Die ist auch bei kleinen FPGAs merklich schneller als die aktuellen 14er. Bei Quartus2 ist das nicht so dramatisch.
Danke für die Info. Das "Spartan-3E FPGA Starter Kit" gibt es in den USA gerade für 199$. Ist das auf meine Bedürfnisse zugeschnitten? Es verfügt neben dem FPGA auch einen CPLD. Momentan folge ich Siggis Tipp, d.h. ich lese ein wenig über VHDL schaue mir die Software an. Gruß Reinhard
199$ ?? Viel zu teuer. Warte mal 2, max 3 Monate und schau dir einmal die Woche in der Bucht die Angebote an. Gerade in der letzten Zeit waren ein paar sehr günstige und gute Boards dabei. "Dein" Spartan-Board gabs z.B. neu für 45Euro + 5Euro Versand!! Und bein S3E-Board sehr wichtig: da sitzt ein FX2-Stecker drauf, dafür muss z.B. ein Flachbandkabelstecker oder ein Breadboard mit Adapterstecker mitbestellt werden. Ich hab so ein Breadboard, damit lässt sich sehr gut arbeiten. (Beim S3E-Board soll es nicht gerade einfach sein, den DDR-Speicher anzusprechen, von daher dann fast schon eine unnütze Komponente!)
also wenn du dich bei Xilinx-FPGAs umschaust, dann vlt. doch mal nachsehen unter http://www.digilentinc.com Ein Nexys 2/3 oder Basys2 ist nicht wirklich teuer, man kann damit aber 'ne Menge anstellen. Das schoene an den Digilent boards ist, es gibt auch eine ganz gute Unterstuetzung fuer verschiedene Betriebssysteme (Win, Linux). Fuer einige Digilent boards gibt es auch noch als Alternative http://www.makestuff.eu/wordpress/software/fpgalink/ (funktioniert auch mit einem Raspberry Pi am USB-Port!). Und vom Digilent Support (via e-mail) war ich vor ein paar Jahren positiv ueberrascht, als ich das Atlys unter Linux ans Laufen bringen wollte... Und das, was ISE Webpack so alles unterstuetzt, reicht fuers Hobby allemal aus... (Toolchain, Simulator (evtl. GHDL anstatt ISIM)). Also wenn du in FPGA einsteigen willst, dann ist Digilent sicher eine passable Option (Boards gibts auch bei deutschen Versendern wie z.B. Trentz, Watterott, ...)
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.