Arm-Prozessoren-Familie Lösungen für spezifische Applikationen

Arm-Prozessoren-Familie Lösungen für spezifische Applikationen

Seit Jahren finden die ARM Prozessoren (ARM steht für Advanced RISC Machines) immer weitere Verbreitung und decken ein breites Spektrum an Anwendungsbereichen ab. Art of Technology verfügt über große Erfahrung im Einsatz der verschiedenen ARM-Prozessoren für unterschiedlichste Anwendungen. Nachfolgend werden die verschiedenen Familien ARM7, ARM9, ARM11, ARM Cortex-M3, ARM Cortex-A8/A9 sowie der ARM Cortex-R mit ihren Vor- und Nachteilen kurz vorgestellt.
Der bei weitem bekannteste Vertreter der ARM Prozessor-Familie ist sicherlich der ARM7. Er ist heute das Zugpferd der Embedded Industrie und dürfte den Platz des altehrwürdigen Motorola 68HC11 als der Mikrokontroller für alle Einsatzbereiche eingenommen haben. Anders als Motorola beim 68HC11 stellt ARM die Prozessoren nicht selber her, sondern lizenziert das Design an Chiphersteller. Diese fügen dann die Peripherie (Timer, UARTs, ADCs, DACs, Bus Interfaces, etc.) hinzu, integrieren die CPU zusammen mit der Peripherie und dem Speicher (Flash und RAM) auf einem Chip und stellen so Lösungen für spezifische Applikationen bereit. Die weite Verbreitung des ARM7 hat dazu geführt, dass heute für jeden erdenklichen Einsatzzweck ein passender Mikrokontroller mit ARM-CPU verfügbar ist. Der Haupteinsatzbereich der ARM7-basierten Mikrokontroller ist Low-Power- und Low-Cost-Elektronik, in welcher der Mikrokontroller hauptsächlich dazu dient, die umgebende Elektronik zu steuern und zu kontrollieren. Jedoch bietet der ARM7 als 32bit Mikrokontroller mit ‚luxuriöser‘ Speicherausstattung eine erhebliche Vereinfachung und damit eine Beschleunigung der Software-Entwicklung im Vergleich zu 16 oder gar 8bit Mikrokontrollern.

Beschleunigung der Software-Entwicklung

Die modernen ARM7 Mikrokontroller haben alle sehr ausgefeilte Power-Management-Systeme, mit denen gezielt einzelne Teile des Mikrokontrollers abgeschaltet werden, die für die aktuelle Funktion nicht gebraucht werden. Hinzu kommt die Möglichkeit, den Mikrokontroller ganz schlafen zu legen und ihn mittels eines externen Signals wieder zu wecken. Dadurch wird es möglich, kleine und leichte mobile Geräte zu entwickeln, die trotzdem eine lange Batterielebensdauer aufweisen. Die Auswahl an integrierter Peripherie in ARM7 Bausteinen ist sehr üppig. Es gibt kaum einen Anwendungsfall, für den es nicht den richtigen Mikrokontroller mit der richtigen Peripherie gibt. Neben dem obligaten RAM (üblicherweise zwischen 2 und 128kByte) und Flash (üblicherweise zwischen 8 und 512kByte) haben alle Mikrokontroller einen Timer/Counter und einen Reset Controller direkt integriert. An Schnittstellen sind I2C, SPI und UART (fast) immer vorhanden. Ein integrierter USB Controller gehört inzwischen bei vielen Herstellern ebenfalls zum guten Ton. Für die etwas spezielleren Kommunikationsanwendungen, in denen RS-232, RS-485 und USB nicht ausreicht, gibt es einige Mikrokontroller, die ein CAN Bus-Interface oder einen Ethernet-Controller integriert haben. Hinzu kommen PWM Generatoren, LCD Controller und Encryption/Decryption Beschleuniger (AES, 3DES).
Der ARM9 stellt eine Weiterentwicklung des ARM7 dar. Aufgrund der integrierten Memory-Management-Unit (MMU) und der durch strukturelle Anpassungen bis zu 1GHz erhöhten Taktrate wird der ARM9 heute fast ausschließlich als Prozessor für Systeme mit einem ‚großen‘ Betriebsystem (Android, Linux, Windows-CE) eingesetzt. Entsprechend ist der übliche Anwendungsfall der ARM9 Prozessoren hauptsächlich im ‚high performance‘ Bereich anzusiedeln. Übliche Anwendungen sind Systeme, die eine komplexe Bedienoberfläche verwenden, Daten über TCP/IP basierte Protokolle austauschen oder multimediale Daten (Audio, Video) verarbeiten. Speziell letzteres ist mit dem Aufkommen von Smartphones immer weiter verbreitet, weswegen es bereits ARM9 Varianten gibt, die auf dem Chip einen DSP Core integriert haben (z.B. die Integra Familie von Texas Instruments). Wegen der höheren Anforderungen an den Speicher sind üblicherweise RAM und Flash nicht auf dem Chip integriert, sondern als externe Bausteine angeschlossen.

ARM11 – die Weiterentwicklung von ARM9

Der ARM11 ist eine Weiterentwicklung des ARM9 um noch höhere Taktraten bei kleinerem Stromverbrauch zu ermöglichen. Dabei wurden erste Single Instruction Multiple Data (SIMD) Instruktionen (ähnlich MMX und SSE) eingeführt, um die damals aufkommenden Multimedia Applikationen besser zu unterstützen. Des Weiteren wurde die Cache Struktur des ARM9 vereinfacht und beschleunigt. Im Zuge einer Neuorientierung des Prozessorportfolios, welches ARM vertreibt, wurden verschiedene Klassen von Anwendungen identifiziert, die jeweils unterschiedliche Anforderungen an den Prozessor aufweisen. Diese sind zum Teil so unterschiedlich, dass sie nicht unter einen Hut zu bekommen sind. Deshalb hat sich ARM dazu entschlossen, zukünftig drei Klassen von Prozessoren anzubieten:


eine kostenoptimierte Embedded Prozessor Linie (Cortex-M), die in der Regel ohne oder mit einem

kleinen Real-Time-OS läuft.

eine High Performance Application Processor Linie (Cortex -A) für anspruchsvolle Systeme, die ein

High-End-Betriebssystem wie Linux, Symbian, Android oder Windows CE einsetzen.

eine Realtime Prozessor Linie (Cortex R) für echtzeit- und sicherheitskritische Applikationen mit

erhöhtem Rechenleistungsbedarf z.B. im Fahrzeugbereich.

ARM Cortex-M3

Im Zuge der Verjüngungskur des doch schon etwas in die Jahre gekommenen – ARM7 Designs hat sich ARM entschlossen, auch gleich ein paar nicht-technische Probleme anzugehen. So wurden die Spezifikationen verfeinert und erweitert, wobei einige Systemteile exakt spezifiziert wurden, die vorher den Herstellern überlassen wurden, z.B eine einheitliche Memory Map oder der ‚Systick‘ Timer und das Power Management. Dies ermöglicht es, bis zu einem gewissen Grad, Software, die für die Prozessoren eines Herstellers geschrieben wurde, mit überschaubarem Aufwand auf Prozessoren eines anderen Herstellers zu portieren. Die Hauptvorteile des Cortex-M3 gegenüber dem ARM7 sind die höhere Rechenleistung pro mW und das verbesserte Stromsparsystem, die generell zu niedrigerer Leistungsaufnahme führten. Durch die Kompatibilität des Cortex-M3 Cores zum ARM7 ist es möglich, dass die gesamte Peripherie unmodifiziert weiterverwendet werden kann. Jedoch haben viele Hersteller die Gunst der Stunde genutzt und die Peripherie überarbeitet, um den gestiegenen Bedürfnissen ihrer Kunden Rechnung zu tragen. Besonders die höhere Taktrate und Rechenleistung ermöglichen es nun, auch mit größeren Datenmengen umzugehen. So ist es möglich, die verfügbare Datenrate eines 100MBit/s Ethernet vollständig auszunutzen und sogar die Verwendung von High Speed USB macht jetzt Sinn. Der Cortex-A8 und sein Multi-Core Bruder der Cortex-A9 sind die Nachfolger der ARM9 und ARM11 Familien und sind v.a. auf hohe Rechenleistung und für Aufgaben im Multimediabereich ausgelegt. Neu sind eine Multi Issue Superscalare Pipeline, die eine höhere Rechenleistung pro MHz als die ARM9 und ARM11 erlauben und die Erweiterung der SIMD Instruktionen des ARM11 für Multimedia Anwendungen. Dadurch erreichen der Cortex-A8 und mehr noch der Cortex-A9 Leistungsdaten, die früher Desktopprozessoren vorbehalten waren. Und dies bei einem Leistungsverbrauch, der immer noch ein paar wenige Watt beträgt.

ARM Cortex-R

Die Prozessoren der Cortex-A Familie liefern zwar eine hohe Rechenleistung, haben aber bedingt durch ihre Architektur (Multi Issue Pipeline, Caches, usw.) kein exakt definierbares Laufzeitverhalten. Dies ist bei Anwendungen, die hohe Echtzeitanforderungen haben problematisch, da eine niedrige Reaktionszeit auf Interrupts nicht garantiert werden kann. Die Prozessoren der Cortex-R Familie bieten daher eine ähnliche Rechenleistung wie die der Cortex-A Familie, haben jedoch wegen ihrer anders strukturierten Pipeline- und Memory Architektur eine vorhersagbare Reaktionszeit. Somit bilden sie ein Zwischenglied zwischen den Cortex-A und Cortex-M Familien. Diese Prozessoren werden zumeist in Steuersystemen eingesetzt, die eine hohe Datenrate aufweisen und eine niedrige Reaktionszeit erfordern, wie z.B. in Festplatten oder Motormanagementsystemen für Verbrennungsmotoren.

Zusammenfassung

Die verschiedenen ARM Prozessorfamilien decken ein breites Spektrum an Anwendungsbereichen ab. Jeder dieser Prozessoren hat sein Einsatzgebiet, für das er ausgelegt wurde und in dem er seine volle Leistungsfähigkeit entfalten kann. Art of Technology verfügt über eine große Erfahrung im Einsatz der diversen ARM Prozessoren für verschiedenste Anwendungen vom Consumer Produkt über Systeme mit Datenverschlüsselung bis hin zu implantierbaren Anwendungen im humanmedizinischen Bereich und kann den Kunden bestmögliche Lösungen für ihre Aufgabenstellungen anbieten.

Art of Technology AG
www.aotag.ch

Das könnte Sie auch Interessieren