AVR - Mikrocontroller
eBook - ePub

AVR - Mikrocontroller

MegaAVR® - Entwicklung, Anwendung und Peripherie

  1. 444 Seiten
  2. German
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub

AVR - Mikrocontroller

MegaAVR® - Entwicklung, Anwendung und Peripherie

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

Zur Durchführung eines gemischten Hard- und Softwareprojektes mit Mikrocontrollern ist fundiertes Wissen über die Hardwareeinheiten des Controllers unabdingbar. Ebenso notwendig ist die Kenntnis von Sprachen auf zwei Ebenen - C für die große Struktur der Firmware und Assembler für zeit- oder resourcenkritische oder hardwarenahe Codeabschnitte. Das Buch stellt die notwendigen Grundlagen für erfahrene Entwickler bereit, um eigene Projekte mit Mikrocontrollern realisieren zu können. Als Grundlage dient der 8 bit-Mikrocontroller ATmega16 als typischer Vertreter der megaAVR® Mikrocontroller der Firma Atmel®.
Das Buch stellt Aufbau und Hardwarebaugruppen des ATmega16 stellvertretend für alle megaAVR®-Mikrocontroller und ihre Ansteuerung über Register detailliert vor und liefert Lösungsansätze für typische Problemstellungen aus dem Umfeld der Embedded-Entwicklung wie Messung von Zeit, Frequenz und Geschwindigkeit, Steuerungen, Ereignisbehandlung und asynchrone Programmierung sowie Kommunikation über SPI, TWI oder serielle Schnittstelle. Beispiele wie mikrosekundengenaue Stoppuhren, Fahrradtachometer oder Frequenzzähler illustrieren die Verfahren. Zu jedem Problem ist neben der Schaltung das vollständige Program in C oder - wenn sinnvoll - Assembler gezeigt. Neben Hard- und Softwareentwicklung wird auch die praktische Arbeit mit Atmel Studio® beleuchtet, wie das On-Chip-Debugging und ein Entwicklungszyklus (Editieren, Compilern und Linken, Flashen). Darüber hinaus werden im Rahmen von Projekten wie DDS-Synthese oder Analog-Datenlogger typische Peripheriebausteine (Echtzeituhren RTC, Digital-Analog-Wandler DAC, serielle EEPROMs) vorgestellt.

Häufig gestellte Fragen

Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja, du hast Zugang zu AVR - Mikrocontroller von Ingo Klöckl im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Computer Science & Computer Science General. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Jahr
2015
ISBN
9783110409413

1 Einführung, AVR®-Hardware

Dieses Buch behandelt die Entwicklung elektronischer Schaltungen, denen ein Mikrocontroller (MCU) aus der megaAVR®-Familie, einer Reihe von 8bit-MCUs der Firma Atmel®, zugrundeliegt, und zwar der Typ ATmega16. Diese Wahl richtete sich nach folgenden Überlegungen:
Der ATmega16 ist ein typischer Vertreter der „mittelgroßen“ 8 bit-AVR-MCUs.
Er ist einfach und günstig zu beschaffen und auch im DIL-Gehäuse erhältlich, sodaß er einfach für Testaufbauten auf Breadboards verwendet werden kann.
Er verfügt über die Hardware-Baugruppen der megaAVR-Reihe, insbesondere über serielle Schnittstellen wie USART, SPI und TWI sowie Analog-Digital- Wandler.
Er ist der kleinste Typ, der eine JTAG-Schnittstelle zum On-Chip-Debugging aufweist.
Er verfügt über so viele Portpins, daß Testschaltungen nur selten komplett umgebaut werden müssen, wenn Sie rasch zwischen Projekten wechseln wollen. Aufgrund der Pinanzahl müssen wir nicht auf komplizierte Weise „übriggebliebene“ Einzelpins zu Pseudo-8 bit-Ports zusammenfügen, um Peripherie anzusteuern, da wir für jedes Beispiel einen oder zwei komplette 8 bit-Ports zur Verfügung haben.
Das Buch stellt weder eine Einführung in die Programmierung allgemein, noch in die C- oder Assemblerprogrammierung dar, sondern soll erfahrenen Programmierern als kompakter Einstieg in die Welt der AVR-Mikrocontroller dienen. Vorkenntnisse in C und einer Assemblersprache sind daher ebenso wie elektronische Grundlagen und Kenntnisse von Prozessorarchitekturen hilfreich. In diesem Kapitel werden zunächst der innere Aufbau und die elektrischen Eigenschaften des ATmega16 behandelt. Das nächste Kapitel befaßt sich mit der Programmierung der MCU in C und Assembler im allgemeinen. Die einzelnen Baugruppen werden in den nachfolgenden Kapiteln beschrieben.
image
Atmel®, AVR®, AVR Studio®, megaAVR®, tinyAVR®, XMEGA®sind eingetragene Marken oder Warenzeichen der Atmel Corporation oder ihrer Tochtergesellschaften. SPI™ ist ein Warenzeichen von Motorola. Weitere, evt. nicht gekennzeichnete Marken, Produktnamen, Servicenamen oder Warenzeichen sind Eigentum der jeweiligen Inhaber. Aus dem Fehlen einer Kennzeichnung bei diesen und anderen Begriffen kann keine freie Verwendbarkeit abgeleitet werden.
image
Einige Abbildungen, speziell die Timingdiagramme, können unter http://www.degruyter.com/view/ product/449202 zur besseren Lesbarkeit als Graphikdateien in hoher Auflösung heruntergeladen werden.
image
Sie können mit dem hier vermittelten Wissen leicht auf andere megaAVR-Typen umsteigen, die auf Ihr Projekt besser passen. Sie müssen jedoch zuvor das Datenblatt des ins Auge gefaßten Typs konsultieren, um das richtige Pinlayout und die Aufteilung der I/O-Register zu erfahren. Im großen und ganzen sind die Kontrollregister und -bits zwar ähnlich, aber nicht bitgleich.
Der Umstieg auf die kleinen Typen der tinyAVR-Reihe ist nicht so ohne weiteres möglich, da diese nur über eingeschränkte Hardwareunterstützung für Funktionen wie ADC, synchrone serielle Schnittstellen oder TWI verfügen. Meist besitzen sie eine Multifunktions-Baugruppe zur Datenübertragung, mit deren Hilfe Sie softwaregestützt die notwendigen Protokolle implementieren können. Ebenfalls nicht beschrieben sind Funktionen derXMEGA-Typen wie USB- oder CAN-Bus-Unterstützung.
image
Alle Informationen in diesem Buch wurden mit größter Sorgfalt zusammengetragen und überprüft. Dennoch sind Fehler nicht auszuschliessen, und die Übernahme oder Benutzung von Quellcode und Verfahren erfolgen ohne Gewähr und auf eigene Verantwortung.

1.1 Aufoau der AVR-MCU

Die wichtigste Referenz zur Hardware des ATmega16 ist das Datenblatt [1]. In [9] finden Sie eine ausführliche Beschreibung des Befehlssatzes auf Maschinenspracheebene. Der ATmega16 wird in den Gehäuseformen PDIP-40, TQFP-44 und QFN/MLF-44 geliefert, Abb. 1.1 zeigt das Pinlayout des für Experimente auf einem Breadboard besonders geeigneten PDIP-40-Gehäuses.
image
Abb. 1.1. Pin-Layout des ATmega16 im PDIP40-Gehäuse.

1.1.1 Prozessorregister

Die ATmega16-MCU verfügt wie alle 8 bit-MCUs von Atmel über 32 allgemein verwendbare 8bit-Register, die R0–R31 genannt werden. Die Registerpaare R27:R26, R29:R28 und R31:R30 (High-Byte/Low-Byte) können zu den drei 16 bit-Registern X, Y und Z kombiniert werden, die als Zeiger ins SRAM dienen, das Z-Register zusätzlich als Zeiger ins Flash-ROM. Zusätzlich zu diesen Registern gibt es den 13 bit-Programmzähler PC und den 10 bit-Stackpointer SP sowie das Statusregister SREG.
Die allgemeinen Register sind in weiten Bereichen gegeneinander austauschbar, eine wichtige Sonderstellung stellt jedoch die Gruppe der Register R16–R31 dar. Diese können im „immediate address mode“ benutzt werden, d. h. Sie können bei den Instruktionen ldi, andi, ori, subi, sbci, cpi, ser, sbr und cbr Konstanten angeben. Weiterhin arbeiten einige Instruktionen wie muls und mulsu nur mit Registern aus diesem Bereich.

1.1.2 Statusregister, Statusbits

Das Statusregister SREG enthält acht Bits oder Flags, die Informationen über die zuletzt ausgeführte Instruktion bzw. das Resultat der letzten arithmetischen oder logischen Operation speichern. Der Einfluß der verschiedenen Instruktionen ist in [9] detailliert dargestellt. Die einzelnen Bits können als Bedingung für Sprungbefehle genutzt werden; da sie bei allen ALU-Operationen aktualisiert werden, können Sie oft ohne explizite Vergleichsoperationen Entscheidungen über Programmverzweigungen aufgrund geeigneter Flags fällen lassen. Im einzelnen stehen folgende Flags zur Verfügung:
Das I-Flag ist das globale Interruptflag, mit dem Interrupts grundsätzlich erlaubt werden. Über dieses Flag hinaus müssen Sie jeden gewünschten Interrupt individuell über ein Bit im Kontrollregister der betreffenden Baugruppe aktivieren. Ist das I-Bit 0, werden keine der individuell aktivierte...

Inhaltsverzeichnis

  1. Cover
  2. Titel
  3. Impressum
  4. Dedication
  5. Table of Contents
  6. Vorworte
  7. 1 Einführung, AVR®-Hardware
  8. 2 AVR®-Programmierung unter AVR-GCC
  9. 3 Praktischer Einstieg mit Atmel Studio®
  10. 4 Digital-I/O
  11. 5 Timer/Counter
  12. 6 USART, Serielle Schnittstelle
  13. 7 TWI, TwoWire-Interface
  14. 8 SPI, Serial Peripheral Interface
  15. 9 Analog-I/O
  16. Literatur
  17. Stichwortverzeichnis