dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

ARM Cortex-M3 Mikrocontroller - Einstieg und Praxis

Ralf Jesse

 

Verlag mitp Verlags GmbH & Co. KG, 2014

ISBN 9783826696015 , 576 Seiten

Format PDF, ePUB, OL

Kopierschutz frei

Geräte

3,99 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.


 

Einleitung


Bitte lesen Sie diese Einleitung – sie ist wichtig und hilft Ihnen bei der Entscheidung, ob dieses Buch das bietet, was Sie erwarten!

Einführende Bemerkungen


Dieses Buch beschreibt den Einsatz und die Programmierung von ARM-Cortex-M3-Mikrocontrollern am Beispiel des ATMEL AT91SAM3S4B, einem Mitglied der ATMEL-SAM3S-Familie. Dies bedeutet für Sie als Leser, dass die Beispielprojekte unverändert auf AT91SAM3S4B und auf leistungsstärkeren Varianten dieses Mikrocontrollers getestet wurden und dort nutzbar sind. Cortex-M3-Mikrocontroller werden aber nicht nur von ATMEL, sondern auch von vielen anderen Herstellern hergestellt: Zu diesen Herstellern zählen beispielsweise die Firmen NXP Semiconductors (LPC13xx, LPC17xx, LPC18xx), Texas Instruments (C2000-, Tiva- oder Hercules-Familie) oder STMicroelectronics mit ihren sehr beliebten und weitverbreiteten STM32-Mikrocontrollern.

Hinweis

Die Mikrocontroller der verschiedenen Hersteller unterscheiden sich teilweise erheblich voneinander, sodass die Beispielprojekte zu diesem Buch auf den Mikrocontrollern anderer Hersteller erst nach Modifikationen funktionieren werden! Um den Portierungsaufwand für die Projekte so gering wie möglich und überschaubar zu halten, habe ich die Software für die verwendeten Peripheriegeräte in eigenständige Dateien ausgelagert.

Die Mikrocontroller unterscheiden sich unter anderem in der Ausstattung mit Peripheriekomponenten: So verfügt beispielsweise der hier eingesetzte AT91SAM3S4B über zwei USARTs, zwei UARTs und über jeweils einen DAC bzw. ADC. Andere Hersteller können hier andere Schwerpunkte gesetzt haben und beispielsweise CAN-Controller integriert haben. Dies bedeutet, dass es nicht möglich ist, in einem Buch auf alle denkbaren Varianten einzugehen. Um beim Beispiel »USART« zu bleiben: Jeder der genannten (und auch weiterer) Hersteller ist in der Wahl des integrierten USART frei. Da hier ebenfalls eine schwer überschaubare Vielfalt existiert, werden sich die USARTs der Hersteller in der Zahl und in der Programmierung der verschiedenen Register mit großer Sicherheit voneinander unterscheiden. Eine 1:1-Umsetzung der Beispiele ist aus einem weiteren Grund nicht möglich: Verwendet ATMEL zur Programmierung von GPIO-Ports beispielsweise ein Register mit dem Namen »PIO_OER« (PIO Output Enable Register), so könnte das Register mit einer entsprechenden Funktion bei NXP »PINSEL« (Abkürzung für Pin Select Register) heißen. Auf jeden Fall wird sich aber die Adresse, unter der die betrachtete Komponente im adressierbaren Speicherraum angesprochen wird, unterscheiden. Das PIOA_OER-Register des AT91SAM3S4B wird beispielsweise unter der Adresse 0x400E0E10U angesprochen: Bei einem Mikrocontroller von NXP, STMicroelectronics oder Texas Instruments wird die vergleichbare Komponente mit Sicherheit unter einer anderen Adresse angesprochen werden.

Aufgrund der Vielfalt der Hersteller und den sehr großen jeweiligen Produktpaletten ist es gar nicht möglich, das ultimative und für alle Anwendungen im gleichen Maße nutzbare »ARM-Cortex-M3«-Buch zu schreiben! Um ihre Produkte für Anwender interessant und möglichst einfach nutzbar zu machen, stellt jeder Hersteller umfangreiche Software-Bibliotheken im Quelltext zur Verfügung, die kostenlos auch in kommerziellen Produkten genutzt werden können.

Hinweis

Damit dieses Buch aber auch für Anwender der Mikrocontroller anderer Hersteller interessant ist, habe ich großen Wert darauf gelegt, Sie in der Nutzung des Datenblatts zur AT91SAM3S-Familie zu trainieren: Die Datenblätter unterscheiden sich in ihrem Aufbau nur sehr geringfügig. Während ATMEL die gesamte Familie mitsamt einer ausführlichen Registerbeschreibung und Darlegung der physischen Daten in einem einzigen Dokument zusammenfasst, werden Sie bei STMicroelectronics im Regelfall drei Einzeldokumente finden (ein Datenblatt mit den physischen Daten, ein Referenz-Handbuch und ein Programmierhandbuch): In ihrem Informationsgehalt entsprechen diese drei Dokumente aber dem einen Datasheet von ATMEL!

Zielgruppe und Voraussetzungen


Dieses Buch wendet sich an Ingenieure, Studenten technischer Fachrichtungen und Hobby-Elektroniker, die sich erstmals mit der Programmierung von Mikrocontrollern befassen oder veraltete Kenntnisse auffrischen wollen. Dabei werden mindestens durchschnittliche Kenntnisse in der Programmierung in der Programmiersprache C vorausgesetzt: Dieses Buch ist, obwohl sämtliche Beispiele in C entwickelt wurden, kein Lehrbuch für diese Programmiersprache. Obwohl ich mich bemüht habe, die Beispiele in »verständlichem« C zu schreiben, und daher auf die »wildesten Tricks«, die in C möglich sind, verzichtet habe, ist dieses Buch definitiv nicht zum Erlernen von C geeignet!

Ebenfalls vorausgesetzt werden Basiskenntnisse der Elektrotechnik, wobei die Anforderungen hier aber wesentlich niedriger angesetzt sind (die Kenntnis des ohmschen Gesetzes und der kirchhoffschen Regeln reicht aus). Wer als Elektronik-Bastler weiß, dass man einen heißen Lötkolben nicht an seiner Spitze anfassen sollte, hat gute Chancen, dieses Buch sinnvoll zu nutzen. Die Dimensionierung einfacher Transistorschaltungen wird in den entsprechenden Kapiteln in dem Maße kurz erläutert, wie es zum Verständnis erforderlich ist. Auf weiterführende Literatur kann natürlich zugegriffen werden, erforderlich ist dies aber nicht.

Wenn Sie die höhere Mathematik mit Differenzial- und Integralrechnung inkl. Differenzialgleichungen verstehen: Herzlichen Glückwunsch! In diesem Buch reicht es aber aus, wenn Sie die vier Grundrechenarten beherrschen. In Kapitel 14 werden Sinus- und Exponentialfunktionen genutzt. Verständnis hierfür ist hilfreich, aber keine zwingende Voraussetzung.

Sie sollten aber mittlere bis gute Kenntnisse der englischen Sprache besitzen. Sehr häufig wird auf Datenblätter zu den verschiedenen eingesetzten Komponenten verwiesen, und diese Datenblätter sind fast ausschließlich in englischer Sprache verfügbar. Das Datenblatt zum in diesem Buch beschriebenen Mikrocontroller ATMEL AT91SAM3S4B ist beispielsweise nur in englischer Sprache verfügbar. In Ausnahmefällen existieren für ausgewählte Komponenten auch japanische oder chinesische Versionen der Datenblätter, andere Sprachen werden aber nicht auffindbar sein.

Technische Voraussetzungen


Auf die technischen Voraussetzungen soll an dieser Stelle nicht detailliert eingegangen werden, da diese in Kapitel 1 ausführlich beschrieben sind. Grob zusammengefasst benötigen Sie folgende Hard- und Software:

  • Zwingend erforderlich ist ein sogenanntes Evaluierungsboard mit dem ATMEL-AT91SAM3S4B-Mikrocontroller. Aus Kostengründen und aus Gründen der leichten Beschaffbarkeit habe ich mich für das Olimex-Board SAM3-P256 entschieden.

  • Es ist hilfreich, wenn Ihnen zumindest ein handelsübliches Messgerät zum Messen von Spannungen, Strömen und Widerständen zur Verfügung steht. Dies ist aber nicht zwingend erforderlich.

Hinweis

Wenn Sie bereits ein anderes Evaluierungsboard besitzen oder aus persönlichen Gründen einen Mikrocontroller eines anderen Herstellers einsetzen wollen oder müssen: Kein Problem! Allerdings müssen die Beispielprojekte in einem solchen Fall mit großer Sicherheit portiert werden. Wenn Sie diesen Hinweis nur beim »Überfliegen« dieser Einleitung in einer Buchhandlung gefunden haben, empfehle ich Ihnen dringend, den Unterpunkt e.1 dieses Kapitels ebenfalls zu lesen!

  • Ebenfalls hilfreich ist es, wenn Sie Zugriff auf ein digitales Speicheroszilloskop haben. Ob es sich hierbei um ein eigenständiges Gerät oder um eine Softwarelösung handelt, spielt keine Rolle. Die Verfügbarkeit eines solchen (in der Regel sehr teuren) Messgerätes ist aber auch nicht zwingend erforderlich: Dort, wo es wichtig ist, bietet das Buch Fotografien von Oszillogrammen.

  • Sehr zu empfehlen ist die Anschaffung eines sogenannten In-Circuit-Emulators (ICE). Eine solche Hardware unterstützt das Debuggen von Programmen erheblich. Es ist zwar ebenfalls möglich, Ausgaben der Programme über die serielle Schnittstelle in einem Terminal-Emulator (unter Windows z.B. putty oder TeraTerm) anzuzeigen: Auf Dauer ist dies aber unpraktisch und umständlich!

Weitere Empfehlungen und Hinweise


Um den größtmöglichen Nutzen aus diesem Buch ziehen zu können, sollten Sie zusätzliche Ausgaben von zunächst ungefähr 50 bis 150 Euro einkalkulieren. Die Höhe der Aufwendungen richtet sich nach Ihren besonderen Interessengebieten. Sie sind beispielsweise nicht dazu gezwungen, sämtliche Kapitel dieses Buches durchzuarbeiten: Welche Kapitel für Sie von Bedeutung sind und welche nicht, hängt von Ihren persönlichen Anforderungen ab. Um die Kosten so gering wie möglich zu halten, habe ich mich in den Beispielprojekten auf Komponenten beschränkt, deren Beschaffung mit weniger als 10 Euro zu Buche schlägt.

Ergänzende Literatur zu diesem Buch finden Sie in Form von...