Um eine einfache Migration von anderen MCUs zu ermöglichen, wählte Silicon Labs den ARM-Cortex-M3 als Prozessor-Core für die Precision32-Familie (Bild 2). Dieser Prozessor-Core ist schnell zu einem De-facto-Standard bei 32-bit-MCU-Architekturen geworden. Verschiedene MCU- und Software-Tool-Anbieter sorgen für eine weite Verbreitung des Core im Embedded-Markt, womit Entwicklern zahlreiche Auswahlmöglichkeiten zur Verfügung stehen. Software-Anbieter unterstützen den Core mit herkömmlichen Entwicklungs-Tools wie C- und C++-Compilern sowie Echtzeit-Betriebssystemen. Die Standardisierung bei den ARM-Cores macht die Code-Portierung von einer 32-bit-MCU auf eine andere viel einfacher. Der entscheidende Faktor bei der MCU-Auswahl ist daher immer weniger der CPU-Core, sondern vielmehr die Peripherie und die innovativen Möglichkeiten, wie MCU-Anbieter Fragen zum System-Design lösen.
Eine flexible Schaltmatrix ist einfacher zu verstehen als viele der -Ad-hoc-I/O-Remapping-Schemata der MCU-Anbieter. Um die Anwendung weiter zu vereinfachen, bietet Silicon Labs ein kostenloses Software-Tool, das die Konfiguration vereinfacht. Das AppBuilder-Tool (Bild 3) bietet eine grafische Benutzeroberfläche, über die Entwickler Funktionen mittels Drag & Drop den jeweiligen Pins zuweisen. Sobald die Konfiguration abgeschlossen ist, generiert das Tool den Boot-Code, der zum Laden dieser Konfiguration in die MCU erforderlich ist. Das Tool arbeitet mit herkömmlichen IDEs von Keil und IAR sowie der beliebten Eclipse-Entwicklungsumgebung, die Silicon Labs übernommen und für den Support seiner Precision32-Produkte optimiert hat.
Das AppBuilder-Tool geht noch weiter und bietet Entwicklern die schnelle grafische Auswahl des Peripherie-Mix, der Peripherie-Eigenschaften, die Einstellung der Taktmodi und die Anpassung des Pinouts - und das alles, ohne auf das Datenblatt zugreifen zu müssen. Der IDE-Support geht in Sachen MCU-Support sogar noch weiter und unterstützt alle Mitglieder der Precision32-MCU-Familie. Das Precision32-Dashboard bietet die neueste Dokumentation, Code-Beispiele und Software in einem, was das Suchen von Register-Standorten und Treiber-Quellcode in Datenblättern und Applikationsschriften erübrigt.
Der Support für die Peripherie wird durch die Einbeziehung des CMSIS-konformen Codes ergänzt (Cortex Microcontroller Software Interface Standard). CMSIS bietet eine Schnittstelle für gängige Peripherie, die eine Wiederverwendung von Peripherietreibern und eine einfache Portierung von anderen ARM-basierten Cores ermöglicht. Darauf aufbauend hat Silicon Labs Middleware implementiert, die das Schreiben von Code für Multitasking und Datentransfers vereinfacht. Damit steht Unterstützung für komplexe Systeme bereit, die z.B. USB-Support benötigen. Es gibt zahlreiche Konfigurationsoptionen und Anwendungsmodelle für USB, dazu umfangreiche Middleware-Funktionen, die diese Implementierung vereinfachen.
Angesichts der Vielzahl von Anwendungen, die heute USB-Unterstützung erfordern (von Sportuhren bis hin zu Datenloggern), müssen Entwickler schnell über USB Bescheid wissen. Diese Bibliothek hilft ihnen dabei. Um z.B. USB-zu-UART-Datentransfers zu ermöglichen, müssen einfach nur die Eigenschaften wie der USB-Transfertyp, die Datengröße und der synchrone oder asynchrone UART-Betrieb spezifiziert werden. Die Bibliothek bietet eine Reihe von USB-Class-Treibern, einschließlich Audio-, Bedienerschnittstellen-, Massenspeicher- und DFU-Bibliotheken für eine einfache Entwicklungsarbeit.USB ohne externenTaktgenerator.
Zusammen mit der Strategie, eine 32-bit-MCU-Familie anzubieten, mit der sich die kosten-, zeit- und platzbeschränkten Forderungen heutiger Systeme erfüllen lassen, wurde die USB-Hardware für maximale Ausnutzung entwickelt - und das mit einer minimalen Anzahl externer Bauteile. Viele integrierte (On-Chip-) USB-Controller sind unvollständig und erfordern Komponenten wie externe Taktgeneratoren. Der USB-Controller der Precision32-MCUs verfügt über seinen eigenen integrierten Präzisions-Oszillator auf der Basis einer neuartigen Takt-Recovery-Technik, die 0,25 % Toleranz ohne externen Quarz erzielt. Der Rest der MCU kann diesen Oszillator ebenfalls verwenden oder auch einen separaten - womit mehr Flexibilität bei der Taktversorgung in stromsparenden Betriebsmodi bereitsteht - der auf einem kostengünstigen 32-kHz-Quarz basiert oder im Open-Loop-Modus betrieben wird. Dieser neue Ansatz ermöglicht den Betrieb von Preci-sion32-MCUs ohne teure externe Quarze.
Auf ähnliche Weise erübrigt der integrierte Spannungsregler der Precision32-MCUs einen externen Regler. Die MCU kann direkt an einer 5-V-Versorgung und damit über USB oder eine separate ungeregelte Quelle betrieben werden. Der Regler kann auch eine Ausgangsschiene mit einer programmierbaren Ausgangsspannung ansteuern, womit die MCU weitere Bausteine mit Strom versorgen kann - dazu ist weiterhin kein externer Regler erforderlich. Alternativ kann dieser Ausgang als Konstantstromquelle dienen, um die Hintergrundbeleuchtung eines LED-Displays zu versorgen.
Ähnliche Sorgfalt wurde bei der Implementierung anderer analoger und digitaler Peripherie getroffen. So bietet der A/D-Wandler 12 bit Auflösung. Sämtliche analoge Peripherie der Precision32-MCUs wurde getestet und über den Temperatur- sowie Spannungsbereich spezifiziert. Viele andere 32-bit-MCU-Anbieter testen ihre Analogperipherie nicht während der Fertigung, was zu Fehlern im Feld führen kann. Funktionieren die Analogschaltkreise nicht oder werden unterhalb von 2,4 V betrieben, wird die MCU für Anwendungen mit AA/AAA-Alkalibatterien unpraktikabel. Die Analogperipherie der Preci-sion32-MCUs ist so zuverlässig, dass sie eigenständige Analogbauteile ersetzen kann.
Die Konfigurierbarkeit erstreckt sich auch auf die Analogperipherie, womit sich die Leistungsfähigkeit verschiedener Anwendungen mit ein und demselben Baustein optimieren lässt. Die MCUs verfügen über zwei A/D-Wandler mit mehreren Betriebsmodi und erzielen eine Abtastrate bis zu 2 MS/s. Um den I/O-Overhead für den Prozessor-Core zu verringern, unterstützt der A/D-Wandler ein programmierbares Auto-Scan-System, das zyklisch alle Kanäle abfragt und die Eingangsdaten eines jeden Kanals liest. Burst-Mode-Support ermöglicht das automatische Abtasten und die Durchschnittsbildung aus 64 Abtastungen.
Die Analogkomparatoren bieten vier verschiedene Modi, einschließlich eines Stromsparmodus (400 nA) und eines Hochleistungsmodus (150 ns Reaktionszeit), sowie einen integrierten 6-bit-D/A-Wandler, um 64 Vergleichsstufen bereitzustellen. Die zwei 10-bit-D/A-Wandler verfügen über einen Ringpuffer, um einen 12-bit-Modus zu ermöglichen.
Ein stromsparender Betrieb ist in Embedded-Anwendungen ein wichtiger Aspekt. Mit dem heutigen Schwerpunkt auf Energieeinsparung und alternative Energien müssen Entwickler den Energieverbrauch im Auge behalten. Viele Architekturen bieten stromsparende Sleep-Modi, um Energie einzusparen, wenn sich der Prozessor im Sleep-Zustand befindet. Die Precision32-MCUs adressieren die Energie- aufnahme jedoch nicht nur im Sleep-, sondern auch im Betriebsmodus.
Die Precision32-MCUs verringern die Stromaufnahme und bieten eine Reihe von Sleep-Modi, die zusammen mit Schaltkreistopologien für eine niedrige Betriebsstrom- aufnahme eine hohe Energieeffizienz für diese Klasse von MCUs ermöglichen. Die Bausteine basieren auf Silicon Labs’ patentierten Low-Power-Design-Technologien, mit denen sich Strom-einsparungen in jedem Block des MCU-Designs ergeben (Bild 4). Im Gegensatz zu anderen 32-bit-MCUs führt dies insgesamt zu 33 % weniger Betriebsstrom (20 mA bei 80 MHz oder 0,25 mA/MHz) und zu einem 100-fach geringeren Sleep-Strom (0,35 µA mit aktiver Echtzeituhr).
Da der steigende Kosten- und Leistungsdruck bei der Entwicklung von Embedded-Systemen die OEMs und Systementwickler dazu ermutigt, sich auf die am häufigsten unterstützten Prozessorarchitekturen zu konzentrieren, sorgt diese Art der Standardisierung für Neuerungen beim MCU-Design. Dazu zählen der Fokus auf Konfigurierbarkeit, einfache Anwendung und geringe Systemkosten.
Der Autor:
M.Sc. Shahram Tadayon |
---|
ist MCU Product Marketing Manager für Silicon Laboratories’ Embedded-Mixed- Signal-Geschäft. Tadayon kam 2002 als Product Marketing Manager für die ISO- modem-Reihe zu Silicon Labs. Er war auch als Product Marketing Manager für die AM/FM-Empfänger des Unternehmens verantwortlich. Zuvor hielt er Positionen bei Hewlett-Packard im Schaltkreisdesign inne. Er hält einen Mas-ter- und Bachelor-Abschluss in Elektrotechnik vom Massachusetts Institute of Technology (MIT). |
E-Mail: Shahram.Tadayon@silabs.com