Hallo, wäre nett wenn mir mal jemand die Unterschiede zwischen Prozessoren und programmierbarer Logik auflisten könnte (klar, der Proc holt sich sein Programm aus dem Speicher, CPLDs werden die Funktionen eingebrannt. darüber hinaus?). Vor allem interessiert mich, in welchen Fällen in der Industrie jeweils CPLDs, FPGAs und uCs eingesetzt werden. Also welche Aufgabenbereiche werden von den einzelnen Komponenten abgedeckt? Ist es für einen Einsteiger sinnvoll, hobbymäßig mit programmierbarer Logik zu experimentieren, oder sollte ich mir lieber ein uC-Board kaufen? Vielen Dank.
Mikrocontroller arbeiten alle Befehle sequentiell ab, in FPGAs/CPLDs können viele Funktionen parallel ablaufen. In der Industrie werden hauptsächlich Mikrocontroller eingesetzt. Für die meisten Anwendungen (einfache bis mittelkomplexe Steuerungen) reicht ein (günstiger) Mikrocontroller aus, wobei bei Anwendungen, bei denen in sehr kurzer Zeit sehr große Datenmengen verarbeitet werden müssen und bei denen sich die Fertigung von ASICs noch nicht lohnt, FPGAs eingesetzt werden. Zur Filterung von Datenströmen (besonders Audiodaten), die nur schlecht parallel verarbeitet werden können, werden DSPs eingesetzt. CPLDs werden eher als "Hilfslogik" für Mikrocontroller und -prozessoren eingesetzt. Für den Einstieg ist meiner Meinung nach ein Mikrocontroller (z.B AVR, ein ATMega8 reicht für den Anfang; das Board kann man sich selber bauen, wenn man den AVR im DIP-Gehäuse nimmt) am besten geeignet, da er wesentlich günstiger als ein brauchbares FPGA Board ist. Außerdem ist es dann nicht so ärgerlich, wenn man das Bauteil gegrillt hat (was schneller passiert, als man möchte). Von der Programmierung gesehen sind uCs (sequentiell) und FPGAs (parallel) sehr unterschiedlich. Bei uCs ist es vorteilhaft, wenn man schon Programme für den PC geschrieben hat, für FPGAs sollte man eher schon mit Digitaltechnik (TTL-Gatter) gearbeitet haben.
Hallo, besten Dank. Habe sowohl Ahnung von PC-Programmierung (Assembler, C) als auch Digitaltechnik, aber denke nach deinen Ausführungen auch, dass für den Einstieg zu Hause der uC am Besten ist. Hoffe ich bekomme so ein Board im Eigenbau hin, habe von analogem Schaltungsdesign wenig Ahnung und auch noch nicht gelötet.
Vom analogen her ist die gesamte AVR-Serie völlig unkritisch. Die AVRs sind da relativ anspruchslos und benötigen nur einen 100nF Kondensator zwischen VCC und GND (möglichst nah am Chip), einen 10k Widerstand (zwischen /RESET und VCC) und eine stabile Versorgungsspannung. Der ATMega8 benötigt für nicht timingkritische Aufgaben keinen Quarz. Als Programmieradapter ist ein STK200-kompatibler für den Parallelport relativ gut geeignet. Die "großen" uCs (z.B. ARM9 mit externem Businterface) und uPs sowie die FPGAs sind vom analogen her wesentlich kritischer. Für den Anfang in der programmierbaren Logik reicht aber auch schon ein CPLD (z.B. XC9536XL). Die Software zur AVR-Programmierung (WinAVR (Windows) und der AVR-GCC-Crosscompiler (Linux/MacOS)) und zur CPLD/FPGA-"Programmierung" (ein FPGA wird nicht programmiert, sondern konfiguriert!) (Xilinx ISE Webpack (Windows/Linux)) gibt es kostenlos. Die AVRs eignen sich sehr gut zum Einstieg in die Mikrocontrollerprogrammierung, da sich der AVR wesentlich besser als z.B. der x86 in Assembler programmieren lässt, er hochsprachenoptimiert ist und keine "Altlasten" mit sich herumschleppen muss. Lies dir zum Einstieg am besten die Artikel in der Artikelsammlung und das Datenblatt durch.
>In der Industrie werden hauptsächlich Mikrocontroller eingesetzt. Der Sinn dieser Aussage erschließt sich mir nicht. Wo werden denn dann sonst hauptsächlich FPGAs eingesetzt? Die Aussage ist aber auch qualitativ nicht sinnvoll, denn es wird (vor allem in der Industrie) das eingesettzt, was notwendig ist. Dort wo man FPGAs benötigt, werden sie eingesetzt. die sind nicht gegen CPUs auszutauschen, da das Band der Überlappung sehr schmal ist. Dein Satz hört sich aber so an, als seien das funktionsgleiche Bauelemente, wo man es sich aussuchen könnte, was man nimmt.
@Kritiker: Mit dieser Aussage meine ich die verbauten Mengen und die Anzahl der Anwendungen in denen sie verbaut werden.
@F01Qx Interessant. Woran liegen diese Unterschiede des Beschaltungsaufwandes? Dient der Kondensator beim kleinen AVR zur Spannungsstabilisierung?
@TechInfo und alle Interessierten: Hier was zum Reinlesen in die Materie, man sollte etwas Zeit mitbringen: http://www.progforum.com/showthread.php?t=5643 Rick
@seventh_son: Der Beschaltungsaufwand ist beim AVR gering, da er nur eine Versorgungsspannung benötigt und eine relativ geringe Taktfrequenz hat. Je höher die Taktfrequenzen sind, desto aufwändiger wird das Platinenlayout und die externe Beschaltung, weil die Stromversorgung sehr stabil sein muss, weil die Bauteile bei hohen Frequenzen (besonders FPGAs) während der Taktflanken eine sehr hohe Stromaufnahme haben (was über sehr viele Kondensatoren abgefangen werden muss, damit die Spannung nicht kurzzeitig zusammenbricht). Außerdem muss man bei der Verlegung der Signalpfade darauf achten, dass alle Signale eines Busses über gleich lange Leiterbahnen geführt werden, die bestimmte Abstände haben müssen. Auch beim AVR dient der kleine Kondensator zur Stabilisierung der Versorgungsspannung.
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.