Forum: Mikrocontroller und Digitale Elektronik Einsteigerfrage: PIC oder AVR? Evtl. Bausatzempfehlung


von Guardian666 (Gast)


Lesenswert?

Hallo zusammen,

durch einen Lehrgang bei der Arbeit in Digitaltechnik habe ich an dieser 
Sache Blut geleckt und möchte mich da gerne etwas eingehender mit 
beschäftigen. Damit ich mir nicht jedes logische Gatter, FlipFlop etc. 
einzeln kaufen muss würde ich gerne auf selbst Programmierte 
zurückgreifen, habe gesehen das es zwei unterschiedliche Systeme gibgt, 
PIC oder AVR, welches könntet ihr empfehlen? Und vor allem, welches ist 
am besten kompatibel zu Linux?

Danke schonmal!

von Falk B. (falk)


Lesenswert?

@ Guardian666 (Gast)

>durch einen Lehrgang bei der Arbeit in Digitaltechnik habe ich an dieser
>Sache Blut geleckt und möchte mich da gerne etwas eingehender mit
>beschäftigen. Damit ich mir nicht jedes logische Gatter, FlipFlop etc.
>einzeln kaufen muss würde ich gerne auf selbst Programmierte
>zurückgreifen, habe gesehen das es zwei unterschiedliche Systeme gibgt,
>PIC oder AVR, welches könntet ihr empfehlen? Und vor allem, welches ist
>am besten kompatibel zu Linux?

Dir schwirren noch ne Menge neuer Begriffe planlos im Kopf rum.

Gatter, FlipFlops etc. sind einfache Logikbausteine. Einfach, aber recht 
schnell.

Ein PIC oder AVR ist ein Mikrocontroller. Die sind zwar auch 
digital, aber nicht direkt mit Gattern und FlipFlops vergleichbar. Damit 
kann man recht komplexe Dinge machen, dafür sind sie bei einfachen 
Logikfunktionen wesenlich langsamer als Gatter.

Und kompatibel zu Linux sind beide praktisch gar nicht. Das einzige was 
ggf. für Linux verfügbar ist, ist die Software zur Programmierung der 
ICs. Bei AVR sieht das recht gut aus, bei PIC weiss ich nicht.

Mein Tip. Nimm nen AVR. Der ist besser (tm) und diese Seite enthält 
tonnenweise Informationen darüber. Bei PIC sieht es eher mager aus.

http://www.mikrocontroller.net/articles/AVR

MfG
Falk

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

> Und kompatibel zu Linux sind beide praktisch gar nicht. Das einzige was
> ggf. für Linux verfügbar ist, ist die Software zur Programmierung der
> ICs. Bei AVR sieht das recht gut aus, bei PIC weiss ich nicht.
>
> Mein Tip. Nimm nen AVR. Der ist besser (tm) und diese Seite enthält
> tonnenweise Informationen darüber. Bei PIC sieht es eher mager aus.

Du meinst sicher die Entwicklungstools - es gibt ein gcc-Target fuer AVR 
und diverse Tools bis hin zu IDEs (wer's braucht), die "Kompatibilitaet" 
ist bei den AVR also hervorragend. Von PICs wuerd ich an Deiner Stelle 
besser die Finger lassen... aber Du kannst es sicher auch mal probieren, 
hab ne Zeit auch mit dem Gedanken gespielt aber die Teile sind mitunter 
recht verkorkst wegen alten Architekturkonzepten und um die AVRs gibt es 
eine riesige Community, z.B. hier.

Gruss,
Michael

von Mike (Gast)


Lesenswert?

> Mein Tip. Nimm nen AVR. Der ist besser (tm) und diese Seite enthält
> tonnenweise Informationen darüber. Bei PIC sieht es eher mager aus.

Nun besser würde ich nicht unbedingt sagen. Vom Funktionsumfang sind 
beide Familien ziemlich gleichwertig.

Allerdings sind AVRs deutlich einsteigerfreundlicher und die 
Hochsprachenunterstützung ist besser. Assemblerprogrammierung auf PICs 
ist ein ziemlicher Krampf (diverse Eigenheiten wie z.B. ein stark 
begrenzter Stack).

von krys_derHardcoder (Gast)


Lesenswert?

Also für Digitaltechnik  würde ich sagen du bist mit avrs falsch.

Also Gatter (47XX er) sind im kleinen masstab ok zum experimentieren.

Programierbar hab ich biser mit den ALtera Stratix boards geschafft sehr 
genial die Teile, kann man mehr als einen ARM emulieren,
Nur etwas zu teuer , Ca 800 euro hat mein Prof gesagt, deshalb werden 
die bei uns an der Fh benutzt bis die dinger zusammenfallen.
(Wie meins vorletzte Woche unter mir gestorben ist :.-(

Mit dem dingern kannst du mit vhdl digitale schaltungen kombinatorisch 
in sequentiell zusammenbauen. also quasi wie ein Programm
, und das schön schnell ,bis ca 400 mhz ?

Keine Sorge haben meine Komilitonen im 2, Auch viele noch verwechselt 
;-)
Mein Nachbar hat ne ALU gebastelt und gedacht er schreibe ein assembler 
programm.

Sach mal im FPGA verzeichniss

von krys_derHardcoder (Gast)


Lesenswert?

meinet schau mal ins FPG verzeiniss , das sind die dinger nämlich

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Naja FPGAs sind noch ma ne andere Baustelle... da wuerd ich auch gern ma 
was machen. Wie sieht es da eigentlich mit Entwicklungsumgebungen fuer 
Linux aus und wo bekommt man ein gutes Entwicklerkit her?

von Guardian666 (Gast)


Lesenswert?

Ah ja genau, ich meinte die Entwicklungsumgeben unter Linux.
Okay, g mit Gattern etc. war ich dann wohl etwas auf dem falschen 
dampfer, wenn ich das jetzt richtig verstanden habe sind AVRs und PICs 
mikroprozessoren auf denen ich quasi kleine Programme laden kann, z.B. 
eine temperatur gesteuerte Lüftersteuerung?
Trotzdem eine Sache mit der ich mich beschäftigen will, gibt es da was 
gutes einsteigerfreundliches?

von Peter D. (peda)


Lesenswert?

krys_derHardcoder wrote:
> Also für Digitaltechnik  würde ich sagen du bist mit avrs falsch.
>
> Also Gatter (47XX er) sind im kleinen masstab ok zum experimentieren.

Nö.

Man kann natürlich auch digitale Logikschaltungen mit MCs programmieren.
Sie sind nur nicht ganz so schnell wie TTL-ICs, etwa 200kHz sind zu 
schaffen.

Oftmals braucht man auch nicht die volle Geschwindigkeit.
Alle Steuerungen mit mechanischen Kontakten als Eingänge lassen sich 
prima mit MCs realisieren. Und die nötige Entprellung paßt auch mit 
rein.

Statt nem Schaltkreisgrab nimmt man nen ATtiny13 oder ATtiny24 und kann 
damit beliebige Logik mit 6 oder 12 Inputs/Outputs realisieren.

Außerdem gibts ja viele ältere Logic-ICs nicht mehr und wenn da mal 
einer kaputt geht, kann man ihn oft durch nen MC ersetzen.

Ich hab z.B. mal nen PA7024 (sehr exotischer CPLD, wird nicht mehr 
hergestellt) durch nen ATtiny26 ersetzt.


Peter

von Guardian666 (Gast)


Lesenswert?

Guten Morgen,

ich habe nochmal ne Frage. Habe mich nochmal ein bisschen eingelesen im 
Internet in das Thema, und bin dabei unter anderem auf das hier 
gestoßen:
http://www.myavr.de/shop/article.php?artDataID=41
Scheint mir für den Einstieg ganz geeignet zu sein, meine Frage ist 
jetzt nur, kann ich die damit Programmierten AVRs NUR mit dem Board 
einsetzen? Oder kann ich mit dem Board auch AVRs für beliebige 
Anwendungen Programmieren und danach in die Zielschaltung einbauen?

von Falk B. (falk)


Lesenswert?

@  Guardian666 (Gast)

>Scheint mir für den Einstieg ganz geeignet zu sein, meine Frage ist
>jetzt nur, kann ich die damit Programmierten AVRs NUR mit dem Board
>einsetzen? Oder kann ich mit dem Board auch AVRs für beliebige
>Anwendungen Programmieren und danach in die Zielschaltung einbauen?

Logischerweis kannst du deinen AVR dann in beliebigen, eigenen 
Schaltungen verwenden. Sinnvollerweise musst du den dann nicht mal 
umstecken, sondern kannst ihn in deiner Anwendung programmieren. ISP

MfG
Falk

von Peter D. (peda)


Lesenswert?

Guardian666 wrote:

> Oder kann ich mit dem Board auch AVRs für beliebige
> Anwendungen Programmieren und danach in die Zielschaltung einbauen?

Es geht sogar noch viel besser, Du kannst den AVR direkt in der 
Zielschaltung reprogrammieren.

Dazu muß man nur einmalig nen Bootloader reinbrennen (Codesammlung).

Kostet Dich auf der Zielschaltung genau einen IO-Pin und als Hardware 
ein D-Sub-9 Weibchen mit nem 4,7k Widerstand an die COM oder USB-RS232 
Adapter.


Peter

von Guardian666 (Gast)


Lesenswert?

Cool danke, das hört sich ja schonmal gut an.
Kann man damit alle Arten von AVRs Programmieren? So ganz blicke ich 
immer noch nicht durch ;)

von Peter D. (peda)


Lesenswert?

Guardian666 wrote:
> Kann man damit alle Arten von AVRs Programmieren?

Alle, die den SPM-Befehl haben.

Die, die es nicht können, sind als "Mature Devices (not for use in new 
designs)" auf der Atmel Webseite markiert.


Peter

von Falk B. (falk)


Lesenswert?

@ Guardian666 (Gast)

>Cool danke, das hört sich ja schonmal gut an.
>Kann man damit alle Arten von AVRs Programmieren?

Ja, aber mit ISP, nicht mit dem Bootloader. Der ist zwar ganz nett, 
braucht man aber nicht unbedingt.

@ Peter Dannegger (peda)

>Alle, die den SPM-Befehl haben.

Peter, mach doch mal nicht die Anfänger mit deinem Bootloader irre. Das 
kommt erst im dritten Semester.

MfG
Falk

von Peter D. (peda)


Lesenswert?

Falk Brunner wrote:

> Peter, mach doch mal nicht die Anfänger mit deinem Bootloader irre. Das
> kommt erst im dritten Semester.

Und?

Man muß nicht alles erst verstehen, ehe man es verwenden darf.

Ich hab mir ja extra Mühe gegeben, ihn schön generisch und narrensicher 
zu machen.

Im Gegensatz zu anderen Bootloadern habe ich auch keine Nachricht, daß 
er an irgendeinem AVR-Derivat gescheitert wäre.


Peter

von Falk B. (falk)


Lesenswert?

@ Peter Dannegger (peda)

>Man muß nicht alles erst verstehen, ehe man es verwenden darf.

Sicher, aber für Anfänger tut es ISP problemlos!

>Ich hab mir ja extra Mühe gegeben, ihn schön generisch und narrensicher
>zu machen.

Das sind zwei Dinge, die sich meist ausschliessen. Wo man viel 
einstellen kann, kann man auch viel falsch einstellen.

MfG
Falk

von Peter D. (peda)


Lesenswert?

Falk Brunner wrote:
> Ja, aber mit ISP, nicht mit dem Bootloader. Der ist zwar ganz nett,
> braucht man aber nicht unbedingt.

Kommt drauf an, wie man ISP macht.

Bei echtem LPT-Anschluß ist die Chance wohl 50% und bei USB-LPT 0%, daß 
es funktioniert.

Nur beim STK500 und ähnlichen Lösungen mit eigenem MC ist sie 100%.


Peter

von Falk B. (falk)


Lesenswert?

@ Peter Dannegger (peda)

>Kommt drauf an, wie man ISP macht.

>Bei echtem LPT-Anschluß ist die Chance wohl 50% und bei USB-LPT 0%, daß
>es funktioniert.

Ich rede nicht von Bastellösungen, sondern von einem richtigen 
ISP-Adapter.

MfG
Falk

von Peter D. (peda)


Lesenswert?

Falk Brunner wrote:

> Das sind zwei Dinge, die sich meist ausschliessen. Wo man viel
> einstellen kann, kann man auch viel falsch einstellen.

Da muß man sich aber wirklich schon sehr große Mühe geben, es 
absichtlich falsch zu machen.
Versuche bitte mal, hier noch was falsch zu machen:

http://www.mikrocontroller.net/attachment/29691/fboot18.zip


Peter

von Falk B. (falk)


Lesenswert?

@ Peter Dannegger (peda)

>Da muß man sich aber wirklich schon sehr große Mühe geben, es
>absichtlich falsch zu machen.
>Versuche bitte mal, hier noch was falsch zu machen:

Es geht nicht um mich, sondern Anfänger. Und die belastet man nicht 
grundlos mit irgendwelchen Dingen. du tust ja gerade so, als ob der/dein 
Bootloader der Stein der Weisen ist. Was hast du gegen ISP? Das geht 
gut. Ausserdem hat dein Bootloader ein Henne-Ei Problem.

MfG
Falk

von Peter D. (peda)


Lesenswert?

Falk Brunner wrote:

> Es geht nicht um mich, sondern Anfänger. Und die belastet man nicht
> grundlos mit irgendwelchen Dingen.

Ist überhaut nicht grundlos.

Der Grund, daß ich den Bootloader entwickelt habe war, damit ich es 
einfacher und schneller habe.
Und da dachte ich, daß andere es auch gerne schneller und einfacher 
hätten.
Niemand muß ihn benutzen, es ist jedem freigestellt.
Daher verstehe ich nicht, warum Du ihn anderen absichtlich ausreden 
willst. Was hast Du denn davon?


> du tust ja gerade so, als ob der/dein
> Bootloader der Stein der Weisen ist.

Laß das doch besser jeden selbst einschätzen, für micht erleichtert er 
jedenfalls die Arbeit erheblich.


> Was hast du gegen ISP? Das geht
> gut.

Gut ist immer der Feind des Besseren.
Ich wars halt irgendwann leid, immer das AVRstudio starten zu müssen und 
umständlich mit der Maus umherzuklicken.


> Ausserdem hat dein Bootloader ein Henne-Ei Problem.

Damit kann ich leben, daß ich bei nem jungfräulichen AVR erstmal das 
STK500 und AVRStudio anschmeißen muß, ist ja nur einmal.

Und ich muß in der Zielschaltung nicht nen 6-Pin Stecker an bestimmte 
Pins anlegen, sondern kann nen 2-Pin Stecker an nem beliebigen IO 
vorsehen und kann auch den Resetpin als IO benutzen.

Ich hab auch viele Geräte, die eh die RS-232 nach außen führen, da kann 
dann der Kunde selber ein Update machen, ohne spezielle Hardware und 
ohne das Gerät zu öffnen.


Peter

von Torsten S. (tse)


Lesenswert?

Peter Dannegger wrote:
[...]

Neun mal "ich".

Der OP hatte um Hilfe bei einer Entscheidung Pic vs. AVR gebeten. Ob ein 
AVR nun via ISP oder Bootloader programmiert wird interessiert ihn mit 
Sicherheit herzlich wenig.

Torsten

von Falk B. (falk)


Lesenswert?

@  Torsten S. (tse)

>Neun mal "ich".

STRIKE!

SCNR
Falk

von Peter D. (peda)


Lesenswert?

Torsten S. wrote:

>Neun mal "ich".

Ja klar.
Wenn ich meine Meinung äußere, dann muß ich "ich" schreiben, "du" wäre 
da völlig falsch. Das schreibt mir die deutsche Sprache nunmal so vor.


> Ob ein
> AVR nun via ISP oder Bootloader programmiert wird interessiert ihn mit
> Sicherheit herzlich wenig.

Irrtum Deinerseits, es hat ihn sehr wohl interessiert:

Guardian666 wrote:
> Cool danke, das hört sich ja schonmal gut an.
> Kann man damit alle Arten von AVRs Programmieren? So ganz blicke ich
> immer noch nicht durch ;)


Nur fand ich Falks Reaktion darauf, es ihm ausreden zu wollen, 
unpassend.
Er witterte sofort irgendwelche ominösen Probleme damit.

Wenn er ihn dagegen einfach mal selber ausprobiert hätte und dann 
Probleme genannt hätte, dann könnte ich ihn ja wenigstens noch 
verstehen.


Peter

von Meister E. (edson)


Lesenswert?

>Der OP hatte um Hilfe bei einer Entscheidung Pic vs. AVR gebeten.

Ok, also der Vollständigkeit halber:

Es gibt für PICs (auch ausserhalb dieses Forums) jede Menge günstiger 
Einstiegsmöglichkeiten. Brenner für ICSP und freie BurnIn-Software gibts 
zuhauf. -> siehe z.B. www.sprut.de

Man kann auch Debugger wie z.B. den ICD2 als Nachbau beziehen um Geld zu 
sparen, das Original ist ebenfalls bezahlbar.

Die Leistungs-Bandbreite ist bei PICs sehr gross; Und auch wenn die 
Typen der einzelnen Familien in ihrer Programmierung manchmal starke 
Unterschiede in der Handhabung aufweisen (btw. dafür gibts 
Datenblätter), ist es in fast allen Fällen möglich innerhalb der 8-bit 
Familie (10F, 12F, 16F, 18F) schnell umzusteigen.

Gruss,
Edson

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
Noch kein Account? Hier anmelden.