Forum: Mikrocontroller und Digitale Elektronik AVR Einstieg


von Enrico L. (enla)


Lesenswert?

Hallo zusammen,

sicher sind die folgenden Fragen schon oft in dem einen oder anderem
Zusammenhang gestellt worden. Man möge mir daher verzeihen wenn ich
einen neuen Thread starte um nicht alle Infos aus Einzelteilen
zusammenpuzzlen zu müssen :)

Ich programmiere seit einigen Monaten intensiv PIC Mikrokontroller,
meist auch recht erfolgreich.
Was mich an den PICs stört, ist der, teils, recht hohe Preis und eine
gewisse Inkompatibilität/Inportabilität zwischen den Modellen. Mal ganz
abgesehen von den, z.T. recht umfangreichen und undurchsichtigen,
Erratas.

Daher habe ich mich entschlossen mein Augenmerk doch etwas mehr auf die
AVR-Familie zu richten.
Nicht zuletzt auch deshalb, weil die Unterstützung durch die Community
hier breiter ist (nur mein persöhnlicher Eindruck).

Langer Rede, kurzer Unsinn..

Ich hätte in diesem Zusammenhang gern gewusst, was Ihr so für
Experimentier,- Prototypboards und Software empfehlen könnt. Ziel soll
sein, einen möglichst breiten Bereich der AVR-Prozessoren (vom Tiny bis
zum "grösseren" Atmega) mit angemessenen Mitteln zu bedienen. Aber
auch die Programmierung via ISP etc. sollte komfortabel möglich sein.
Gibt es gute fertige Experimentierboards welche Ihr empfehlen könnt
(z.B. STK500 & Co.) oder sollte man sich diese lieber selbst bauen?
Gibt es evtl. fertige Schaltungen und Layout bewährter Eigenbauten ?

Softwareseitig möchte ich sowohl ASM (für kleine Projekte) als auch C
programmieren können. Da gibt es ja den freien GCC+WINAVR oder auch
ATMELs AVR Studio..kann ich mit letzterem auch C proggen ? Hat der
WinAVR ne IDE bei ? ....

Mir ist natürlich klar, dass einiges recht subjektiv ist ;)

Trotzdem wäre ich für Eure Vorschläge und Anregungen sehr dankbar !

Gruss EnLa

von Andreas (Gast)


Lesenswert?

Ich habe gerade erst angefangen, mich mit den AVRs zu beschäftigen. Habe
vor längerer Zeit in meiner Ausbildung auf 8085 gelernt und möchte mich
mit was neuerem beschäftigen, auch wenn ich es beruflich nicht
unbedingt brauche. Ich habe hier ein STK500 und bin auch recht
zufrieden damit. Was programmtechnisch inkompatible MCUs angeht, das
gibt es auch bei Atmel, schon wegen der unterschiedlich ausgestatteten
Prozessoren. Und die Datasheets und Errata sind wohl bei den neueren
Typen auch nicht so das gelbe vom Ei, siehe Thread zu diesem Thema hier
irgendwo im Forum. Mit dem AVR Studio kannst Du kein C verwenden, aber
es ist wohl möglich, einen externen C Compiler aufzurufen. Die
kommerziellen kosten 'ne Menge Holz, bleibt also noch GCC-AVR. Über
den findest Du hier ja viele Infos. WinAVR kenne ich nicht, aber so wie
es aussieht, ist es keine IDE.

Gruß,
Andreas

von Sebastian Eckert (Gast)


Lesenswert?

WinAVR ist ein Paket aus AVR-GCC und Zubehörprogrammen, unter anderem
auch einem geeigneten Editor mit Syntax-Highlighting und einem
Makefile-Generator. Leider beinhaltet es keinen Simulator, ansonsten
ist diese Zusammenstellung aber nützlich.

von Enrico L. (enla)


Lesenswert?

Hallo,

danke für Eure Antworten..

Ich habe heute intensiv das Forum und das INet durchstöbert und auch
nochmal in Ruhe die relevanten Artikel gelesen.
Da sind schon relativ viel wichtige Infos bei, wenn man die Zeit
aufbringt sich "durchzuwühlen" :)

So wie es aussieht, werd ich mich wohl hardwareseitig ebenfalls für das
STK500 entscheiden. Es unterstützt die meisten Midrange AVRs und scheint
recht flexibel nutzbar zu sein. Programmierung ist ebenfalls problemlos
damit möglich. Auch unterstützt das Board mit den erhältlichen Adaptern
zusätzlich die grösseren AVRs.
Und nen kleinen Tiny kann man ja zur Not auf dem SteckerBoard
aufbauen.
Als ISP-Programmer habe ich später den USBisp im Auge. Er lässt sich
mit geringen finanziellen Mitteln realisieren und sollte eigentlich
recht schnell sein.
Gibt es zu diesem Gerät schon Erfahrungen und Anmerkungen?

Softwareseitig scheint mir AVR-Studio ( für ASM und Simulator ) sowie
für den C-Part WinAVR gut geeignet - vor allem frei verfügbar. Ein
passender Editor, bei welchem die Tools frei konfigurierbar sind,
sollte dann auch nicht mehr das Problem sein ( der mitgelieferte tut es
ja vorerst auch).

Für weitere Vorschläge oder Anmerkungen bin ich desweiteren dankbar :)

PS:
beim Stöbern durch div. Datasheets sind mir noch zwei Vorteile
gegenüber den PICs aufgefallen (nein, ich hab NICHT explizit danach
gesucht)..
1: SPI und TWI(I2C) lässt sich beim AVR getrennt nutzen!?.. beim PIC
ist dies nicht möglich
2: der AVR sollte bei ähnlicher Taktung wesentlich schneller sein als
sein Konkurent..AVR 1-4 Takte/Instruction (im Schnitt 2 Takte !?), PIC
benötigt für jeden Befehl 4 Takte - sind max. 10 MIPS bei 40MHz (wenn
ih mich nicht irre)

Gruß Enrico

von Sebastian Eckert (Gast)


Lesenswert?

Ja, das AVR Studio ist wohl für die Assemblerprogrammierung der
Standard, und zudem als IDE recht gut. Auch der Simulator ist
qualitativ dem PIC-Simulator vom MPLAB nicht unterlegen.
Die Beobachtung mit den Taktzyklen stimmt. Rein technisch gesehen führt
der AVR bei gleichem Takt mehr Befehle aus als ein PIC. Allerdings habe
ich noch keinen AVR über 20 MHZ gesehen, so daß sich das vielleicht
etwas relativiert. Auf jeden Fall ist er aber nicht langsamer als ein
PIC.

von Thomas K. (thkais)


Lesenswert?

zu 2: Die meisten Befehle werden in einem Takt abgearbeitet, einige
(z.B. Sprungbefehle) brauchen 2 Takte. Der Schnitt liegt irgendwo
zwischen 1 und 2, eher zur 1 hin. Insofern ist der AVR schon recht
schnell...

von Tobias M. (twam) Flattr this


Lesenswert?

Wenn du dir ein STK500 kaufst, kannst du mit dem auch ISP programmieren.
Da muss kein Extra-Adapter her. :)

von Thorsten (Gast)


Lesenswert?

Ich würde vom STK500 abraten, da es doch recht teuer und nicht sehr
flexibel ist. Du hast mehrere Tasten und LEDs, und weiter? D. h.
zusätzliche Hardware mußt du eh extern aufbauen und dann kannst du auch
gleich noch deinen AVR, 1 Quarz und zwei Kondensatoren mit dazu packen.
Also ich würde dir empfehlen, für die 100 Euro lieber ein paar
Lochrasterplatinen, AVRs und die Teile für den genannten USPisp zu
kaufen. Für 100 Euro kannst du da ne Menge kaufen...

Der einzige richtige Vorteil des STK500 ist seine Möglichkeit der
Paralellprogrammierung, mit der AVRs wiederbelebt werden können dessen
Fuses so verstellt sind, daß sie auf ISP nicht mehr reagieren. Wenn man
allerdings aufpasst, kann da nichts passieren. Mir selbst ist dies noch
nie passiert und war anfangs schon sehr unbeholfen.

Der USBisp ist meiner Meinung nach eine gute Wahl, denn es hat sich
gezeigt, daß die billigen Programmierdongles für den Paralellport in
Kombination mit Ponyprog doch oft Schwierigkeiten verursachen.

Viel Erfolg!

Thorsten

von TravelRec. (Gast)


Lesenswert?

Najaa, das ist ja so: Das STK hat zudem noch etliche Expanderports, an
die man externe Schaltungen anschließen kann, während der Prozi auf dem
STK sitzt; man hat verschiedene Clock-Generatoren, die man u.A. auch per
Software einstellen kann, dann hat man eine per Software veränderliche
Prozessor- und ARef-Spannung und noch etliche andere kleine Features.
Eigenlich ist das STK ein komplettes kleines Entwicklungssystem für die
Westentasche, das noch dazu voll in AVR-Studio integriert ist und
geupdatet werden kann, wenn´s neue Prozis gibt. Ich würde den Wert des
STK500 nicht unterschätzen. BTW: Man spart sich ´nen Haufen Lötarbeit
und etliche Lochrasterplatinen, wenn man grundlegende Funktionen erst
mal auf dem STK ausführt und an einem angeschlossenen Breadboard
durchspielt, bevor man überhaupt das Eisen nimmt und drauflosbruzzelt.
Und Inkompatibilitäts-Ärger erspart man sich auch...

von Enrico L. (enla)


Lesenswert?

Moin zusammen,

vielen Dank für Eure Meinungen und Infos.

@Tobias
Du hast schon recht, mit dem STK500 kann ich das auch paralell und ISP
programmieren. Der USBisp war auch eher für spätere, bereits auf
Lochraster oder realer Platine befindliche, Schaltungen gedacht.

@Thorsten
Klar, teuer ist es wohl..
Was mir am STK500 gut gefällt, ist die Paralellprogrammierung (wie Du
schon sagst) und die, auf Steckerleisten ausgeführten, Portpins. Da
kann  man schön einzelne Hardwaremodule für erstellen und relativ
flexibel (z.B. mit  Flachkabel) auch für andere OnFly-Schaltungen
(Lochraster, Steckbrett ö.ä.) nutzen.
So lässt sich mit der Zeit ein Baukasten (soft,- und hardwareseitig)
erstellen, bei dem man schnell das ein oder andere zusammengesteckt und
getestet/realisiert hat. Auch kann man, ohne löten zu müssen, mal eben
die gängisten AVRs damit zum laufen bekommen. Wie ich mich kenne,
ersticke ich sonst unter einem "Berg" verschiedener
Lochrasteraufbauten :D
( das war quasi meine Motivation zum STK500 hin )
Sicher, muss man halt entscheiden ob das den Preis rechtfertigt.

Hat schon wer den USBisp am laufen? Wie sind die Erfahrungen dazu?

Wie debuggt Ihr eure C-Programme, wenn nötig? Einfach nur Debugausgaben
via Serial auf Console (geht ja, bei zeitkritisch, auch nicht immer) ?

PS: ich finde es super, daß es dieses Forum gibt.."da werden Sie
geholfen" :)


Gruß Enrico

von Peter Dannegger (Gast)


Lesenswert?

"... das noch dazu voll in AVR-Studio integriert ist und
geupdatet werden kann, wenn´s neue Prozis gibt."

Sehe ich auch so, es ist ein rundum sorglos Paket.

Man macht sich auf seinem Gerät den 6- oder 10-poligen Pfosten ran und
schon kann man bequem per SPI programmieren.

Und es geht auch ordentlich flott und auch über einen
USB-RS232-Adapter.



Peter

von Enrico L. (enla)


Lesenswert?

Ooop's da hab ich wohl zu lang getippselt (mit Pause) und nicht
aktualisiert.

TravelRec war schneller :D ..und Agree

Wobei die prinzipielle Arbeitsweise natürlich jeder für sich selbst
entscheiden muss.

LG Enrico

von Enrico L. (enla)


Lesenswert?

"Und es geht auch ordentlich flott und auch über einen
USB-RS232-Adapter."

Ist nicht USBisp genau das? Oder gehts noch einfacher?

Enrico

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.