ARM7-Controller mit umfangreichen Schnittstellen und Analogkomponenten 32-bit-Prozessor zum Sparpreis

Bei der neuen ARM-Mikrocontroller-Baureihe von Atmel war das oberste Ziel eine hohe Systemintegration auf extrem kleiner Fläche: So haben die Chip-Entwickler um den weit verbreiteten ARM7TDMI-Kern Flash-Speicher, SRAM, einen System-Controller mit umfangreichen Peripherie-Funktionen sowie zahlreiche Schnittstellen und sogar einen Spannungsregler gruppiert.

ARM7-Controller mit umfangreichen Schnittstellen und Analogkomponenten

Bei der neuen ARM-Mikrocontroller-Baureihe von Atmel war das oberste Ziel eine hohe Systemintegration auf extrem kleiner Fläche: So haben die Chip-Entwickler um den weit verbreiteten ARM7TDMI-Kern Flash-Speicher, SRAM, einen System-Controller mit umfangreichen Peripherie-Funktionen sowie zahlreiche Schnittstellen und sogar einen Spannungsregler gruppiert.

Die neue ARM-Controller-Familie AT91SAM7S von Atmel basiert auf dem 32-bit-RISC-Prozessorkern ARM7TDMI der britischen Prozessorschmiede ARM Ltd. Bild 1 zeigt den Baustein AT91SAM7S64 und gibt einen guten Überblick über den Funktionsumfang der Controller-Familie, deren Mitglieder sich lediglich in der Kapazität ihrer Flash-Speicher und SRAM-Blöcke unterscheiden.

Flotte Schnittstellen

Der AT91SAM7S umfasst eine Reihe von Hochgeschwindigkeits-Kommunikations-Controllern, die in Verbindung mit dem DMA-Controller einen automatischen Datentransfer im Hintergrund ermöglichen, ohne dass Datenübertragungen aufgrund von Prozessor-Interrupts unterbrochen werden müssten.

Der integrierte USB-Controller entspricht dem Standard USB 2.0 Full-Speed (bis 12 Mbit/s) und unterstützt die meisten verfügbaren USB-Stacks (HID, CDC, Massenspeicher). Der dazu passende Transceiver ist ebenfalls auf dem Chip integriert. Die integrierte USART lässt sich sowohl synchron als auch asynchron betreiben, umfasst Hardware-Unterstützung für IrDA- und ISO7816-Anschlüsse und bietet eine vollständige Modem-Handshake-Funktion.

Externe SPI-Periphiegeräte wie DataFlash (von Atmel) lassen sich beim Anschluss an den SPI-Controller des AT91SAM7S im Hochgeschwindigkeitsmodus betreiben. Dies stellt eine kostengünstige Möglichkeit zur Erweiterung des Datenspeichers dar, ohne dass externe Standard-Flash-Speicher mit einer relativ hohen Anzahl von Pins eingesetzt werden müssen. Der SPI-Controller arbeitet sowohl als Master wie auch als Slave und verfügt über vier externe Chip-Select-Leitungen (CS). Dadurch ist bei Anschluss mehrerer Geräte keine externe „Glue Logic“ mehr erforderlich. Durch die optimierte Integration von peripheren Geräten können SPI und USART mit Datenübertragungsraten von bis zu 55 Mbit/s im synchronen Betrieb arbeiten.

Als weitere serielle Schnittstel-len wurden ein „Two Wire Interface“ (TWI) bis 400 kbit/s, ein „Synchronous Serial“ Controller (SSC), der auch I2S unterstützt, sowie eine UART-Debug-Schnittstelle integriert, die auch als zusätzliche UART-Systemschnittstelle benutzt werden kann.

Takterzeugung und –verteilung

Die hohen Betriebsfrequenzen und die Vielzahl von Peripheriegeräten heutiger Mikrocontroller machen die Taktverteilung zu einer anspruchsvollen Aufgabe. Ein typisches Taktsignal für einen Mikrocontroller mit eingebautem Flash-Speicher kann mit Taktfrequenzen von einigen wenigen hundert Hertz bis hin zu etwa 55 MHz arbeiten. USB andererseits benötigt genau 48 MHz, und ein „Real Time Timer“ (RTT) braucht ein Taktsignal, mit dem Sekunden gezählt werden können (z.B. 32 kHz). Andere ICs auf der Systemplatine wie Hochfrequenz-Transceiver benötigen unter Umständen weitere Taktfrequenzen.

Die einfachste Lösung besteht darin, für jede Takt-Domäne (System, USB, RTT) einen eigenen externen Quarz-Oszillator einzusetzen. Diese Lösung hat jedoch einige Nachteile: Sie ist teuer und hat darüber hinaus erhebliche Nachteile im Hinblick auf Leiterplattengröße, Komplexität der Schaltung, EMV-Verhalten und die entsprechenden Produktionsprüfungen.

Bei der Familie AT91SAM7S hat Atmel nun ein neues Takterzeugungsmodul eingeführt, das Flexibilität mit einer Senkung der Gesamtsystemkosten bietet. Wie in Bild 2 gezeigt, kommt die AT91SAM7S-Familie mit nur zwei Taktquellen aus: Bei einer handelt es sich um einen externen Quarz-Oszillator (3 bis 20 MHz) und bei der anderen um einen internen RC-Oszillator (22 bis 42 kHz). Der auf eine niedrige Leistungsaufnahme ausgelegte Quarz-Oszillator ist für beliebige Quarze im Bereich von 3 bis 20 MHz geeignet. Unabhängige Taktteiler und PLL-Schaltungen erlauben eine Feineinstellung sowohl der System- als auch der USB-Taktfrequenz. Damit lässt sich der ARM7TDMI mit seinen Peripheriegeräten bei seiner maximalen Taktfrequenz betreiben (55 MHz). Alternativ kann der Quarz-Oszillator auch überbrückt werden, wenn ein externes Taktsignal zur Verfügung steht (bis 55 MHz).

Bei defektem Hauptsystemtaktgeber springt der eingebaute RC-Oszillator ein. Er taktet die CPU auch ohne externe Komponenten mit einer niedrigeren Taktfrequenz und gewährleistet einen zuverlässigen Betrieb. Gleichzeitig versorgt der integrierte RC-Oszillator den Echtzeit-Timer (der zur Zeitmessung verwendet werden kann) sowie den Reset-Controller und den Watchdog-Timer (WT).