CODICO IMPULSE 01/2008

STELLARIS® EINE NEUE MCU-FAMILIE STELLT SICH BEI CODICO VOR!

Die ARM7-Architektur gibt es nun seit mehr als 10 Jahren und es sind Milliarden von CPUs / MCUs mit ARM7-Core weltweit im Einsatz. Trotz dieser beeindruckenden Erfolgsbilanz ist die Entwicklung im Bereich der MCU-Cores nicht stehen geblieben und es gibt entscheidende Gründe dafür, warum ein Generationswechsel, speziell im Bereich der MCUs für Echtzeitanwendungen, ansteht. Der ARM® Cortex™-M3 wurde entwickelt, um die Nachfolge der ARM7-Architektur anzutreten.

ARM® Cortex™-M3
Der ARM® Cortex™-M3 ist ein leistungsstarker 32Bit Low-Cost Prozessorkern, der darauf ausgelegt ist, in Systemen mit wenig Speicher, reduzierter Pinanzahl und niedriger Leistungsaufnahme eingesetzt zu werden und dabei hervorragende Rechenleistung und extrem niedrige Interruptverzögerung aufweist. Der ARM® Cortex™-M3 ist der kleinste von ARM® entworfene Prozessorkern, mit nur 33.000 Logikzellen. Dieses Design verringert die Chipfläche und ermöglicht damit die Verwendung von kleinen Bauteilgehäusen oder die Nutzung preiswerter 0,35µ bzw. 0,25µ Fertigungs-prozesse. Selbst mit diesen kleinen Prozessorkerngrößen ermöglicht der ARM® Cortex™-M3 ein hohes Maß an Performance. Mit 1,2 Dhrystone MIPS pro MHz erreicht er eine Leistung, die besser ist, als die vieler größerer 32Bit Prozessoren.

Im Gegensatz zur ARM7-Architektur, bei der man den Prozessor entweder nur im ARM® Mode oder im Thumb-Mode betreiben konnte, arbeitet der ARM® Cortex™-M3 mit dem Thumb-2 Befehlssatz. Der Thumb-Befehlssatz ist eine innovative ARM Technologie zur Reduzierung der erforderlichen Codegröße und damit des benötigten Speicherbedarfs bzw. der Systemkosten. Die Thumb-Technologie verbindet 16Bit Befehle mit der ARM 32Bit RISC Architektur. Die Verwendung dieser 16Bit Befehle verringert wesentlich die Größe des Benutzercodes. Der Thumb-2 Befehlssatz ist binär kompatibel mit bereits bestehenden Thumb-Implementierungen und unterstützt zusätzlich Hardware implementierte Divisions- und 1-Takt Multiplikationsbefehle. Diese DSP-typischen Performance-eigenschaften sind normalerweise nicht bei Mikrokontrollern zu finden. Die Befehle werden mit 32Bit ARM Befehlen erweitert. Dadurch ist es möglich einen kompakten Befehlssatz zusammenzustellen, der effizient von Hochsprachen unterstützt wird. Dies ist ein wichtiges Argument für die Verwendung von 32Bit Architekturen.

Mit Thumb-2 lassen sich Codedichten erreichen, die normalerweise nur von 8Bit Mikrokontrollern erreicht werden, allerdings nur bei voller 32Bit Performance. Abbildung 1 verdeutlicht dies mit den Ergebnissen des EEMBC Benchmark.



Viele Mikrokontrolleranwendungen müssen Service Interrupts in einer bestimmten Zeit ausführen. Diese Zeit war beim ARM7 nur in sehr weiten Grenzen vorhersagbar, weil der eigentliche Interrupt-Kontroller nicht Bestandteil des Cores war und somit bei einem Interrupt zunächst der externe Interrupt-Kontroller abgefragt werden musste. Beim Cortex™-M3 ist der Interrupt-Kontroller nun Bestandteil des Cores. Es lassen sich bis zu 256 Interrupts definieren und priorisieren. Damit ist eine präzise Voraussage der Zeit möglich, die benötigt wird, um in die Interrupt Service Routine zu ver-zweigen. Diese beträgt immer 12 Taktzyklen. Zusätzlich wurde die Funktion des „Tail-Chaining" implementiert, welche es erlaubt, bei Anstehen mehrerer Interrupts diese nacheinander auszuführen, ohne die Interrupt Service Routine verlassen zu müssen. Der Interrupt wird im Rahmen des Tail-Chaining innerhalb von 6 Taktzyklen ausgeführt.

Stellaris® - die MCU-Familie von LUMINARY MICRO
LUMINARY MICRO wurde vor 4 Jahren unter finanzieller Beteiligung von ARM® gegründet und war der erste Anbieter, welcher den Cortex™-M3 in seinen Produkten einsetzte. Die Beteiligung von ARM® an LUMINARY MICRO ist einmalig und stellt ein weitgehendes Commitment dar. Für die Produktentwicklung ebenfalls sehr vorteilhaft ist die Tatsache, dass einer der Architekten des Cortex™-M3 Cores heute bei LUMINARY MICRO im MCU Systemdesign arbeitet. Beide Faktoren werden als Garanten für den zukünftigen Erfolg von LUMINARY MICRO gesehen.


  Abbildung 2 zeigt das Block-Diagramm der Stellaris Familie.



Die LUMINARY MICRO Stellaris Familie besteht zur Zeit aus 104 Familienmitgliedern. Sie unterscheiden sich durch ihre Gehäuse-bauform, Pin-Anzahl, Flash- und RAM-Speicher sowie Art und Anzahl der implementierten Peripheriefunktionen. Neben bis zu 3 CAN Schnittstellen können auf einer MCU noch I2C Schnittstellen, Ethernet MAC und PHY und diverse analoge Schnittstellen sowie Motion Control Funktionen implementiert sein. Die für eine bestimmte Applikation geeignete Stellaris MCU läßt sich einfach und schnell mit dem Web-Tool unter www.luminarymicro.com/products/
product_selector_guide.html aussuchen.

LUMINARY MICRO stellt für alle Peripherie-funktionen kostenlose und lizenzfreie „Driver Library´s" zur Verfügung. Damit kann schnell und reibungslos die Einbindung der verwendeten Funktionen in die Gesamtentwicklung erfolgen.

Eine weitere wesentliche Eigenschaft der Stellaris Familie ist der „Single Cycle" Flash-Speicher-Zugriff und das bis hinauf zur momentan maximalen Taktfrequenz von 50MHz. Für Befehls- und Datenspeicherzugriffe müssen somit keine „Wait States" eingelegt werden.

Zu allen Produktfamilien sind preiswerte Evaluation Kits erhältlich.

Abbildung 3 zeigt das Ethernet und CAN Evaluation Kit, welches aus zwei Platinen (CAN Host und Slave), den benötigten Kabeln und der Software besteht.



Die Stellaris Familie wird im Bereich der Entwicklungswerkzeuge von allen führenden Herstellern unterstützt. Die Evaluation Kits können wahlweise mit Keil, IAR oder GNU Code Sourcery Tools ausgeliefert werden. In den nächsten Monaten ist die Erweiterung der Familie um Varianten mit USB-Schnittstellen geplant.

Zusammenfassung
Die ARM® Cortex™-M3 Implementation in der Stellaris Familie von LUMINARY MICRO stellt eine wirtschaftliche, leistungsstarke und durch die ARM Architektur zukunftssichere Entwicklung dar, mit einem breitem Spektrum an Entwicklungswerkzeugen und dem Potential 8Bit und 16Bit Mikrokontroller aus einigen ihrer angestammten Einsatzfelder zu verdrängen. Versehen mit den verschiedensten Schnittstellen und Analogfunktionen eignet sich die Stellaris Familie ganz besonders für industrielle Steuerungen und Motion Control Anwendungen wie sie heute in energieeffizienten Antrieben benötigt werden (z.B. Brushless DC Motorsteuerungen etc.).

CODICO freut sich auf eine erfolgreiche Zusammenarbeit mit LUMINARY MICRO und ist zuversichtlich, hier einen weiteren verlässlichen Partner im Bereich ARM basierter Mikrokontroller gefunden zu haben.

Gerne stehe ich Ihnen für Ihre Anfragen zur Verfügung!

Werner Reis, Tel: +49 8141 357 264




CODICO GmbH • Zwingenstraße 6-8 • A-2380 Perchtoldsdorf

Tel: +43 1 86 305-0 • Fax: +43 1 86 305-5000 • e-mail: office@codico.com • www.codico.com