32-Bit-Mikrocontroller zum günstigen Preis

Einstieg in die ARM-Welt #####

11. Mai 2007, 11:31 Uhr | Daniel Hübner
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Autor:

ist Field Application Engineer beim Distributor Atlantik Elektronik

Telefon 089/89 50 51 09
www.atlantikelektronik.com

Verwandter Artikel:

Dieser Einzelbefehl hat aber noch einen anderen wichtigen Vorteil: Normalerweise sind Bitmanipulationen mit Lese/Modifizier/Schreib-Zugriffen anfällig für Interrupts, die zwischenzeitlich eintreten und Daten an genau den falschen Stellen im Speicher ändern können. Nach Rückkehr aus der Interruptroutine könnte der Schreibbefehl dann falsche Daten speichern. »Bit-Banding « wird jedoch »atomar« ausgeführt, er wird also auf jeden Fall zu Ende geführt, bevor die Interruptroutine startet.

Viele Applikationen, die derzeit eine Domäne der 8- und 16-Bit-Controller sind, beispielsweise Motorsteuerungen, fordern genau vorhersagbares, deterministisches Verhalten. Der Cortex-M3 ist beispielsweise darauf optimiert, zum Beispiel mit dem in die Architektur integrierten »Nested Vectored Interrupt Controller« (NVIC), der Verzögerungen in der Interrupt-Ausführung stark verringert.

Bild_02__tm.jpg
Bild 2. Prinzip des Tail-Chaining

Mithilfe des Hardware-Interrupts sichert die Hardware die Statusregister beim Start der Interruptroutine. Beim »Tail- Chaining« überprüft der Cortex-M3, ob noch Interrupts anstehen, bevor er die Routine mit Rückschreiben der Statusregister beendet. Dies verhindert Pop-and- Push-Operationen (Bild 2). Aus diesem Grund benötigt die MCU nicht mehr als sechs Zyklen, um zu einem noch ausstehenden Interrupt zu wechseln.

Die »Stellaris«-Familie von Luminary Micro ist für den universellen Einsatz für ein breites Spektrum von Applikation konzipiert, bei denen es auf einfache Integration und Handling sowie hohe Rechenleistung bei niedrigen Preisen ankommt. Deshalb sind auch viele Standardschnittstellen integriert, beispielsweise UART, SPI, I2C sowie ausreichend On-Chip- Flash und -SRAM (Bild 3). Für eine Applikation eignet sich die Stellaris-Familie aber besonders: Im Bereich Motorsteuerungen punkten diese Controller durch spezielle PWM-Module. Diese sind in der Lage, mit 16 Bit aufzulösen, Halb- und Vollbrücken mit Totzeitgenerierung und Not-Aus anzusteuern und die On-Chip-ADCs (Analog/Digital-Wandler) zu speziellen Ereignissen zu triggern und zu synchronisieren, was das Handling mit Inkrementalgebern stark vereinfacht. Kommt es auf dabei zusätzlich auf hohe Auflösungen und komfortable Ansteuerung an, leistet die bei einigen Typen integrierte Quadratur-Encoderschnittstelle gut Dienste.

Bild_03__tm_04.jpg
Bild 3. Blockdiagramm des »Stellaris«-Mikrocontrollers

  1. Einstieg in die ARM-Welt #####
  2. Autor:

Jetzt kostenfreie Newsletter bestellen!