AVR: Unterschied zwischen den Versionen

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(30 dazwischenliegende Versionen von 17 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Die AVR-[[Mikrocontroller]] von [http://www.atmel.com Atmel] sind wegen ihrer übersichtlichen internen Struktur, der [[ISP | In-System-Programmierbarkeit]], und der Vielzahl von kostenlosen Programmen zur Softwareentwicklung (Assembler, Compiler) beliebt. Diese Eigenschaften und der Umstand, dass viele Typen in einfach handhabbaren DIL-Gehäusen (DIP) verfügbar sind, machen den AVR zum idealen Mikrocontroller für Anfänger.  
Die AVR-[[Mikrocontroller]] von [https://www.microchip.com/ Atmel (jetzt Microchip Technology Inc.)] sind wegen ihrer übersichtlichen internen Struktur, der [[ISP | In-System-Programmierbarkeit]], und der Vielzahl von kostenlosen Programmen zur Softwareentwicklung (Assembler, Compiler) beliebt. Diese Eigenschaften und der Umstand, dass viele Typen in einfach handhabbaren DIL-Gehäusen (DIP) verfügbar sind, machen den AVR zum idealen Mikrocontroller für Anfänger.  


Über die Bedeutung des Namens "AVR" gibt es verschiedene Ansichten; manche meinen er sei eine Abkürzung für '''A'''dvanced '''V'''irtual [[RISC|'''R'''ISC]], andere vermuten dass der Name aus den Anfangsbuchstaben der Namen der Entwickler ('''A'''lf Egin Bogen und '''V'''egard Wollan '''R'''ISC) zusammengesetzt wurde. Laut Atmel ist der Name bedeutungslos.
Über die Bedeutung des Namens "AVR" gibt es verschiedene Ansichten; manche meinen er sei eine Abkürzung für '''A'''dvanced '''V'''irtual [[RISC|'''R'''ISC]], andere vermuten dass der Name aus den Anfangsbuchstaben der Namen der Entwickler ('''A'''lf Egil Bogen und '''V'''egard Wollan '''R'''ISC) zusammengesetzt wurde. Laut Atmel ist der Name bedeutungslos.


==Architektur==
==Architektur==
Zeile 23: Zeile 23:
== Software ==
== Software ==
* [[AVR-Studio]]: Kostenlose Enwicklungsumgebung mit Simulator
* [[AVR-Studio]]: Kostenlose Enwicklungsumgebung mit Simulator
* [http://www.atmel.com/tools/atmelstudio.aspx Atmel Studio 6]: Kostenlose Enwicklungsumgebung mit Simulator
* [http://www.microchip.com/avr-support/atmel-studio-7 Atmel Studio 7]: Kostenlose Enwicklungsumgebung mit Simulator
* [http://sourceforge.net/projects/kontrollerlab/ KontrollerLab]: Kostenlose Entwicklungsumgebung für KDE
* [http://sourceforge.net/projects/kontrollerlab/ KontrollerLab]: Kostenlose Entwicklungsumgebung für KDE
* [http://corpsman.de/index.php?doc=projekte/klab Klab]: Kostenlose Entwicklungsumgebung für KDE/GTK2/Win32 (als FPC/Lazarus Quellcode verfügbar, Nachbau von KontrollerLab)
* [http://corpsman.de/index.php?doc=projekte/klab Klab] [https://github.com/PascalCorpsman/mini_projects/tree/main/miniprojects/KLab Source]: Kostenlose Entwicklungsumgebung für KDE/GTK2/Win32 (als FPC/Lazarus Quellcode verfügbar, Nachbau von KontrollerLab)
* [http://www.microsoft.com/germany/Express/product/visualcplusplusexpress.aspx Microsoft Visual C++ Express]: Kostenlose Enwicklungsumgebung (Win),über makefile
* [http://www.microsoft.com/germany/Express/product/visualcplusplusexpress.aspx Microsoft Visual C++ Express]: Kostenlose Enwicklungsumgebung (Win),über makefile
* [http://netbeans.org Netbeans]: Plugin-basierte, kostenlose Entwicklungsumgebung (Windows, Mac, Linux, und Solaris). [http://mattzz.dyndns.org/wiki/bin/view/Projects/ArduinoAndNetbeans  Hier] findet sich ein Howto für das Setup von AVR (z.B. für Arduino)
* [http://netbeans.org Netbeans]: Plugin-basierte, kostenlose Entwicklungsumgebung (Windows, Mac, Linux, und Solaris). [http://mattzz.dyndns.org/wiki/bin/view/Projects/ArduinoAndNetbeans  Hier] findet sich ein Howto für das Setup von AVR (z.B. für Arduino)
Zeile 39: Zeile 39:
* [http://amforth.sourceforge.net/ amforth]:  interaktiver und erweiterbarer Kommandointerpreter für AVR unter GNU Lizenz (Open Source)
* [http://amforth.sourceforge.net/ amforth]:  interaktiver und erweiterbarer Kommandointerpreter für AVR unter GNU Lizenz (Open Source)
* [[SJC]]: Experimenteller Java-Compiler unter GPL mit AVR-Unterstützung
* [[SJC]]: Experimenteller Java-Compiler unter GPL mit AVR-Unterstützung
* [http://www.atnel.pl/mkAVRCalculator_build_57en.rar mkAvrCalculator]: User friendly fuse bits calculator and GUI for avrdude
* [http://gcbasic.sourceforge.net/Typesetter/index.php/Home Great Cow BASIC Compiler]: Open Source Basic Compiler für AVR und PIC Controller. Verfügbar für Windows, Linux und Apple


== Programmiergeräte ==
== Programmiergeräte ==
Zeile 68: Zeile 68:
* [http://nibo.nicai-systems.de Roboterbausatz NIBO 2] – autonomer Roboter mit einem ATmega128 und einem ATmega88 / [http://nibobee.nicai-systems.de Roboterbausatz NIBObee] – Roboter für Einsteiger mit ATmega16 und integriertem USB-Programmer
* [http://nibo.nicai-systems.de Roboterbausatz NIBO 2] – autonomer Roboter mit einem ATmega128 und einem ATmega88 / [http://nibobee.nicai-systems.de Roboterbausatz NIBObee] – Roboter für Einsteiger mit ATmega16 und integriertem USB-Programmer
* [http://www.nerdkits.com Nerdkit – Starterkit inkl. Doku]
* [http://www.nerdkits.com Nerdkit – Starterkit inkl. Doku]
* [http://www.bob3.org BOB3] - Board mit ATmega88 zum Einstieg in die Programmierung, mit [http://www.progbob.org ausführlichem Online-Tutorial], speziell für Schüler
* [http://arduino.cc/ Arduino] – Ein modulares System mit verschiedenen Entwicklungsboards (insbesondere auch eins mit ATmega1280, dem mit den vielen dünnen Beinchen), das aufgrund der Nutzung einer JAVA-IDE und "Wiring" besonders einfach zu nutzen ist. Es gibt verschiedene Clones unter Namen wie Freeduino, Seeeduino etc., auch den Lilypad zum Einnähen in Kleidung und Verschaltung mittels leitender Fäden. Die neueren Versionen können über einen standardmäßig mit ausgelieferten Bootloader ohne sonstige Hardware direkt über USB bespielt werden.
* [http://arduino.cc/ Arduino] – Ein modulares System mit verschiedenen Entwicklungsboards (insbesondere auch eins mit ATmega1280, dem mit den vielen dünnen Beinchen), das aufgrund der Nutzung einer JAVA-IDE und "Wiring" besonders einfach zu nutzen ist. Es gibt verschiedene Clones unter Namen wie Freeduino, Seeeduino etc., auch den Lilypad zum Einnähen in Kleidung und Verschaltung mittels leitender Fäden. Die neueren Versionen können über einen standardmäßig mit ausgelieferten Bootloader ohne sonstige Hardware direkt über USB bespielt werden.
* [[Modulares Board]]
* [[Modulares Board]]
Zeile 98: Zeile 99:
* [http://volkszaehler.org/ Ein tolles Smartmeter mit kompletter Middleware!]
* [http://volkszaehler.org/ Ein tolles Smartmeter mit kompletter Middleware!]
* [http://youtu.be/FoUycAYQEzM Snake auf einer LED Matrix]
* [http://youtu.be/FoUycAYQEzM Snake auf einer LED Matrix]
* [[AVR_Transistortester]] - Universeller Bauteiletester


== Tutorials ==
== Tutorials ==
Zeile 105: Zeile 107:
* http://www.avr-asm-tutorial.net
* http://www.avr-asm-tutorial.net
* http://www.electronicsplanet.ch/mikrocontroller/avr-tutorial-c/avr-tutorial-c.htm Kurzanleitung zum Einrichten des STK500 und dem AVR Studio 4
* http://www.electronicsplanet.ch/mikrocontroller/avr-tutorial-c/avr-tutorial-c.htm Kurzanleitung zum Einrichten des STK500 und dem AVR Studio 4
* [http://www.weigu.lu/a weigu.lu/a]: Gratis Assembler Kurs (pdf). Mehrere hundert Seiten mit vielen neuen Grafiken. Besonders zum Selbststudium geeignet. Es existiert auch ein [http://www.weigu.lu/b/mices2 Entwicklungsboard] zum Kurs.
* https://www.weigu.lu/tutorials/avr_assembler/index.html: Gratis Assembler Kurs (pdf). Mehrere hundert Seiten mit vielen neuen Grafiken. Besonders zum Selbststudium geeignet. Es existiert auch ein [http://www.weigu.lu/b/mices2 Entwicklungsboard] zum Kurs.
* http://www.avr-modelleisenbahn.de/controller/index.htm Datenbuch ATmega8 und Xmega384 mit Beispielen in Assembler (alles deutsch).
* http://www.modelleisenbahn-steuern.de/controller/index.htm Datenbuch ATmega8 und Xmega384 mit Beispielen in Assembler (alles deutsch).
* http://www.tu-chemnitz.de/~heha/hs/ATmegaX8.chm/ = Datenblatt ATmega48/88/168/328 in deutsch, auch als CHM-Datei herunterladbar und damit offline lesbar


Size is essentially the most functions to think about in relation to getting the company noosa. Best dimension is essential when your toes will often enlarge through temperature when you facilitate. Within the shoe, sufficient room needs to be there. At the conclusion of the actual footwear, any thumb's size is advised to ensure the promoting your foot perfectly. For you to wiggle the toes and fingers with plenty of room should be presently there.
== Literatur ==
nike outlet online http://www.lindseyhardee.com
vans scarpe sito ufficiale http://websitetrafficmagnet.com
* I.Klöckl AVR - Mikrocontroller. MegaAVR® - Entwicklung, Anwendung und Peripherie ISBN 978-3-11-040768-6 (De Gruyter 2015) [http://www.degruyter.com/view/product/449202 Verlags-Webseite]
scarpe vans online http://websitetrafficmagnet.com
* C.Kühnel Programmieren der AVR RISC Mikrocontroller mit BASCOM-AVR ISBN 3898119378 (2000) ISBN 3907857046 (2.Aufl.2004) ISBN 978-3-907857-14-4 (3. überarbeitete und erweiterte Auflage 2010)
hogan outlet http://ontario-drug-rehab.com
* R.Mittermayr AVR-RISC: Embedded Software selbst entwickeln Franzis 2008 ISBN 3772341071
scarpe vans bambino http://www.retrievefiles.net
* F.Schäffer AVR: Hardware und C-Programmierung in der Praxis Elektor 2008 ISBN 3895762008 [http://www.blafusel.de/books/avr.html Webseite des Autors, Codebeispiele und Leseprobe]
new balance 577 http://www.newbalancerunningmall.com
* G.Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie...Oldenbourg 4.Aufl.2008  ISBN 3486587900 ISBN 3486580167 (2006) ISBN 3486577174 (2005) [http://www.oldenbourg-wissenschaftsverlag.de/olb/de/1.c.1495224.de Verlags-Webseite mit Buchauszügen]
hogan outlet 2015 http://teensmeanbusiness.com
* M.Schwabl-Schmidt Programmiertechniken für AVR-Mikrocontroller Elektor 2008 ISBN 3895761761 [http://www.schwabl-schmidt.de/index.php/buecher Webseite des Autors]
nike air up http://www.sneakers-newfashion.com
* M.Schwabl-Schmidt Systemprogrammierung für AVR-Mikrocontroller Elektor 2009 ISBN 3895762180
discount nike http://www.sneakers-newfashion.com
* W.Trampert Messen,Steuern und Regeln mit AVR Mikrocontrollern Franzis 2004 ISBN 3772342981
nike outlet online http://www.lindseyhardee.com
* W.Trampert AVR-RISC Mikrocontroller Franzis ISBN 3772354769 (2003) ISBN 3772354742 (2002) ISBN 3772354750 (2000)
cheap nike free http://www.sneakers-newfashion.com
* P.Urbanek Embedded Systems: Ein umfassendes Grundlagenwerk ... (2007) ISBN 3981123018 [http://www.ulb.tu-darmstadt.de/tocs/188146911.pdf Inhaltsverzeichnis]
new balance original http://www.greatlakeslab.org
* S./F.Volpe AVR-Mikrocontroller-Praxis Elektor 2001 ISBN 3895760633
vans scarpe http://www.scarpe-serravalle.com
* R.Walter AVR-Mikrocontroller-Lehrbuch 3. Auflage Denkholz 2009 ISBN 9783981189445 [http://www.rowalt.de/mc/avr/avrbuch/index.htm Webseite des Autors, Buch-Download in geringer Auflösung]
vans donna scarpe http://www.retrievefiles.net
new balance kids shoes http://www.newbalancerunningmall.com
scarpe vans uomo http://www.timmorrislaw.com
nike outlet online http://www.viljin.com
outlet hogan http://www.empiredigitaldesigns.com
ladies ugg boots http://www.wealthmonitorblog.com
outlet hogan http://www.littlehandsbigideas.com
hogan outlet rebel online http://ontario-drug-rehab.com
nike sportschuhe http://www.sneakers-newfashion.com
new balance ml574 http://www.greatlakeslab.org
hogan scarpe http://phantasmagorium.org
nike air max outlet http://www.viljin.com
vans donna scarpe http://www.retrievefiles.net
nike outlet online
vans scarpe sito ufficiale http://websitetrafficmagnet.com
hogan outlet rebel online http://ontario-drug-rehab.com
scarpe vans http://buildchickencoopz.com
 
http://www.littlehandsbigideas.com


== Tipps & Hinweise ==
== Tipps & Hinweise ==
Zeile 156: Zeile 140:
== Weblinks ==
== Weblinks ==


* [http://revision3.com/systm/avr101 AVR101] – systm Videocast von Revision3 Internet Television (engl.).
Verweise (Links) auf externe Informationen und Projekte finden sich in der '''[[Linksammlung#AVR|Linksammlung]]'''.
 
Weitere Verweise (Links) auf externe Informationen und Projekte finden sich in der '''[[Linksammlung#AVR|Linksammlung]]'''.


=== Anmerkungen ===
=== Anmerkungen ===

Aktuelle Version vom 3. März 2024, 06:49 Uhr

Die AVR-Mikrocontroller von Atmel (jetzt Microchip Technology Inc.) sind wegen ihrer übersichtlichen internen Struktur, der In-System-Programmierbarkeit, und der Vielzahl von kostenlosen Programmen zur Softwareentwicklung (Assembler, Compiler) beliebt. Diese Eigenschaften und der Umstand, dass viele Typen in einfach handhabbaren DIL-Gehäusen (DIP) verfügbar sind, machen den AVR zum idealen Mikrocontroller für Anfänger.

Über die Bedeutung des Namens "AVR" gibt es verschiedene Ansichten; manche meinen er sei eine Abkürzung für Advanced Virtual RISC, andere vermuten dass der Name aus den Anfangsbuchstaben der Namen der Entwickler (Alf Egil Bogen und Vegard Wollan RISC) zusammengesetzt wurde. Laut Atmel ist der Name bedeutungslos.

Architektur

Die Architektur ist eine 8-Bit-Harvard-Architektur, das heißt, es gibt getrennte Busse zum Programmspeicher (Flash-ROM, dieser ist 16 bit breit) und Schreib-Lese-Speicher (RAM). Programmcode kann ausschließlich aus dem Programmspeicher ausgeführt werden. Weiterhin sind die Adressräume unabhängig (d.h. beide Speicher besitzen eigene Adressbereiche, die sich wertemäßig überschneiden können). Bei der Programmierung in Assembler und einigen C-Compilern bedeutet dies, dass sich Konstanten aus dem ROM nicht mit dem gleichen Code laden lassen wie Daten aus dem RAM. Abgesehen davon ist der Aufbau des Controllers recht übersichtlich und birgt wenige Fallstricke.

  • 32 größtenteils gleichwertige Register
  • davon 1–3 16-bit-Zeigerregister (paarweise)
  • ca. 110 Befehle, die meist 1–2 Taktzyklen dauern
  • Taktfrequenz bis 32 MHz
  • Betriebsspannung von 1,8 – 5,5 V
  • Speicher
  • Peripherie: AD-Wandler 10 bit, 8- und 16-Bit-Timer mit PWM, SPI, I²C (TWI), UART, Analog-Komparator, Watchdog
  • 64kB Externer SRAM (ATmega128, ATmega64, ATmega8515/162); (Bei den XMEGAs bis zu 16 MB (128 Mbit) externer SDRAM)
  • JTAG bei den größeren ATmegas
  • debugWire bei den neueren AVRs

Software

  • AVR-Studio: Kostenlose Enwicklungsumgebung mit Simulator
  • Atmel Studio 7: Kostenlose Enwicklungsumgebung mit Simulator
  • KontrollerLab: Kostenlose Entwicklungsumgebung für KDE
  • Klab Source: Kostenlose Entwicklungsumgebung für KDE/GTK2/Win32 (als FPC/Lazarus Quellcode verfügbar, Nachbau von KontrollerLab)
  • Microsoft Visual C++ Express: Kostenlose Enwicklungsumgebung (Win),über makefile
  • Netbeans: Plugin-basierte, kostenlose Entwicklungsumgebung (Windows, Mac, Linux, und Solaris). Hier findet sich ein Howto für das Setup von AVR (z.B. für Arduino)
  • AVR Eclipse: Plugin-basierte kostenlose Entwicklungsumgebung (Win, Linux, Mac)
  • Code::Blocks: Freie Entwicklungsumgebung (Win, Linux, Mac), die auch für AVR-Projekte Unterstützung anbietet
  • AVR-GCC: freier und kostenloser C-Compiler
  • Mikropascal mit einer eingeschränkten kostenlosen Testversion
  • LunaAVR: Kostenlose, objektbasierte Basic/Pascal-ähnliche Programmiersprache und Entwicklungsumgebung mit Compiler/Assembler und Disassembler (Win, Linux, Mac). http://avr.myluna.de
  • AVRA: freier und kostenloser AVR-Assembler
  • Bascom AVR beliebter Basic-Compiler
  • AVRCo Pascal Compiler
  • AVR-Ada: freier und kostenloser Ada-Compiler mit einigen Treibern und (sehr) knapper Laufzeitbibliothek (RTS)
  • amforth: interaktiver und erweiterbarer Kommandointerpreter für AVR unter GNU Lizenz (Open Source)
  • SJC: Experimenteller Java-Compiler unter GPL mit AVR-Unterstützung
  • Great Cow BASIC Compiler: Open Source Basic Compiler für AVR und PIC Controller. Verfügbar für Windows, Linux und Apple

Programmiergeräte

Siehe Hauptartikel AVR In System Programmer.

Boards & Starterkits

Siehe dazu auch die Artikel in der Kategorie AVR-Boards und den Artikel zur AVR Programmierung.

Projekte

Siehe dazu auch die Artikel in der Kategorie AVR-Projekte.

Tutorials

Literatur

  • I.Klöckl AVR - Mikrocontroller. MegaAVR® - Entwicklung, Anwendung und Peripherie ISBN 978-3-11-040768-6 (De Gruyter 2015) Verlags-Webseite
  • C.Kühnel Programmieren der AVR RISC Mikrocontroller mit BASCOM-AVR ISBN 3898119378 (2000) ISBN 3907857046 (2.Aufl.2004) ISBN 978-3-907857-14-4 (3. überarbeitete und erweiterte Auflage 2010)
  • R.Mittermayr AVR-RISC: Embedded Software selbst entwickeln Franzis 2008 ISBN 3772341071
  • F.Schäffer AVR: Hardware und C-Programmierung in der Praxis Elektor 2008 ISBN 3895762008 Webseite des Autors, Codebeispiele und Leseprobe
  • G.Schmitt Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie...Oldenbourg 4.Aufl.2008 ISBN 3486587900 ISBN 3486580167 (2006) ISBN 3486577174 (2005) Verlags-Webseite mit Buchauszügen
  • M.Schwabl-Schmidt Programmiertechniken für AVR-Mikrocontroller Elektor 2008 ISBN 3895761761 Webseite des Autors
  • M.Schwabl-Schmidt Systemprogrammierung für AVR-Mikrocontroller Elektor 2009 ISBN 3895762180
  • W.Trampert Messen,Steuern und Regeln mit AVR Mikrocontrollern Franzis 2004 ISBN 3772342981
  • W.Trampert AVR-RISC Mikrocontroller Franzis ISBN 3772354769 (2003) ISBN 3772354742 (2002) ISBN 3772354750 (2000)
  • P.Urbanek Embedded Systems: Ein umfassendes Grundlagenwerk ... (2007) ISBN 3981123018 Inhaltsverzeichnis
  • S./F.Volpe AVR-Mikrocontroller-Praxis Elektor 2001 ISBN 3895760633
  • R.Walter AVR-Mikrocontroller-Lehrbuch 3. Auflage Denkholz 2009 ISBN 9783981189445 Webseite des Autors, Buch-Download in geringer Auflösung

Tipps & Hinweise

Weblinks

Verweise (Links) auf externe Informationen und Projekte finden sich in der Linksammlung.

Anmerkungen

Es gibt nur wenige Typen mit D/A-Wandler (z.B. AT90PWM2); hierfür benutze man PWM oder externe Bausteine.

Die Takterzeugung ist bei AVRs recht einfach gehalten. So gibt es bei den meisten Modellen keine internen PLLs um „krumme“ Prozessor- oder Peripherietaktfrequenzen zu erzeugen, noch ist der Peripherie-Takt vom Prozessortakt abkoppelbar. Einige AVR verfügen über eine PLL, um damit z.B. einen Timer mit Frequenzen über der Systemfrequenz zu takten oder höhere Systemfrequenz aus niederfrequenteren Taktquellen zu erzeugen (vgl. u.a. Datenblätter ATtiny85 und ATtiny861). Die Baudrate serieller Schnittstellen lässt sich nicht gebrochen einstellen, so dass gegebenenfalls ein zur Baudrate passender Quarz oder Resonator zu verwenden ist.

Für die serielle Programmierung des Flash-Speichers sind 4 Datenleitungen erforderlich und die Taktversorgung muss sicher gestellt sein. Es ist darauf zu achten, dass bei Einstellung der Taktquelle (Fuses) auch die vorhandene Taktquelle ausgewählt wird. Für die Hochvolt-Programmierung (so genannt wegen 12 V am RESET-Anschluss) werden je nach Chip nur 3 Signalleitungen (kleinere ATtinys) oder sehr viele Leitungen benötigt (ATmegas und große ATtinys). Einige Modelle verfügen über eine Debugwire-Schnittstelle, für die im Betrieb zwei Leitungen ausreichen.

Nicht zu verwechseln ist die 8-bit-AVR-Serie mit AVR32. Letztere ist eine 32-bit-Architektur mit recht viel Ähnlichkeit zu Controllern auf Basis eines ARM-Cores. Controller der ATxmega-Serie verfügen über mehr Funktionen als die "traditionellen" AVR (z.B. DMA- und Eventsystem, 12Bit A-D-Wandler). ATxmega sind jedoch für 3,3V-Betrieb ausgelegt und ausschließlich in SMD-Bauform erhältlich.