|
|
EFM32
EFM32 sind Energie freundliche (sparende) Mikrocontroller von Energy Micro.
Sie basieren auf ARM Cortex M0+, M3 und M4 Kernen. [Bearbeiten] EFM32 Gecko Microcontroller FamilieEFM32 = Energy Friendly Microcontroller 32Bit vom Norwegischem Chiphersteller Energy Micro. Im Juni 2013, hat Silicon Labs angekündet Energy Micro aufzukaufen. [1] [2] Die 32Bit Mikrocontroller von Energy Micro basieren auf ARM Cortex und sind vor allem für stromsparende Anwendungen wie:
Was bedeutet das in Zahlen?
Energy Micro behauptet, daß Benchmark-Messungen zusammen mit den führenden, stromsparenden MCUs am Markt ergaben,:
Die Produkte werden auch Gecko genannt, analog zu den Reptilien, die nur 10% der Energie von gleichgroßen Säugetieren verbrauchen. [Bearbeiten] ERM32 FamilienDatenblätter zu allen EFM32 [Bearbeiten] Cortex M0+Zero Gecko erhältlich ab Q3/2013
nicht alle haben :
[Bearbeiten] Cortex M3EFM32 Cortex M3 Reference Manual Tiny Gecko - Reference Manual Tiny Gecko
nicht alle haben :
Gecko - Reference Manual Gecko
nicht alle haben :
Leopard Gecko - Reference Manual Leopard Gecko
nicht alle haben :
Giant Gecko - Reference Manual Giant Gecko
nicht alle haben :
[Bearbeiten] Cortex M4
nicht alle haben :
[Bearbeiten] EFREFR steht für Energy Friendly Radios. Was soviel bedeutet wie energiesparende Funk Controller. Diese Funk Controller sind noch nicht erhältlich, erscheinen voraussichtlich im Q4 2013. http://www.energymicro.com/draco/4 Es gibt bereits eine Broschüre dazu. [Bearbeiten] EFM32 FeaturesDie Farben bedeuten die Verfügbarkeit einer Funktion im den verschiedenen Energiemodie (EM=Energy Mode), die auch unten dargestellt sind. Das heißt im Energy Mode EM0 (aktiver Modus)sind alle Funktionen aktiv. Im Energy Mode EM2 (Deep Sleep Modus) sind alle Funktionen bis auf die grün markierten Funktionen aktiv. [Bearbeiten] Geringer Stromverbrauch im AktivmodusEFM32-MCUs wurden so entwickelt, dass sie den Stromverbrauch im Aktivmodus erheblich senken. Bei 32 MHz und 3 V verbraucht die MCU nur 150 µA/MHz bei der Code-Ausführung aus dem internen Flash-Speicher. Der Stromverbrauch bleibt über die Temperatur, VDD und auch über die verschiedenen Flash und RAM Varianten stabil (siehe Datenblätter). [Bearbeiten] Effiziente CPU (ARM Cortex)Die EFM32-Gecko-MCUs basieren auf ARMs 32-Bit-Cortex-M3-Prozessor-Core. Die Cortex-M3-Architektur wurde für Anwendungen mit geringer Stromaufnahme und schnellem Ansprechverhalten entwickelt. Sie bietet eine wesentlich effizientere Datenverarbeitung als 8- und 16-Bit-CPUs. Die Tasks werden daher mit weniger Taktzyklen ausgeführt, was die Verweildauer im Aktivmodus erheblich reduziert. ARM Cortex M3 bietet 1.25DMIPS/MHz, d.h. er benötigt nur ca. 1/4 der Taktzyklen eines MSP430 und verbraucht somit weniger Energie. Zusammen mit dem geringen Stromverbrauch im Aktivmodus von 150µA/MHz verbaucht der EFM32 daher signifkant weniger Energie. [Bearbeiten] Schnelle Wake-up-ZeitEFM32-MCUs minimieren die ineffiziente Wake-up-Zeitdauer von den Deep-Sleep-Modi in den Aktivmodus. Diese Zeitperiode lässt sich nicht vernachlässigen, da Strom sparende Systeme ständig zwischen aktiven und Sleep-Modi hin- und herschalten. EFM32-MCUs verringern die Wake-up-Zeit aus dem Deep Sleep auf 2 µs und gewährleisten damit, dass so wenig Energie wie möglich vor der eigentlichen Task-Verarbeitung durch die CPU verbraucht wird. [Bearbeiten] Niedriger Standby-StromverbrauchEFM32-MCUs kombinieren eine Ultra-Low-Power-Technologie mit einem ausgereiften Power Management und verringern so den Energieverbrauch im Standby-Modus, während gleichzeitig grundlegende Funktionen ausgeführt werden können. Der Deep-Sleep-Modus ermöglicht einen RAM- und CPU-Erhalt, bietet Power-on-Reset und Brown-out-Erkennung, einen Echtzeit-Zähler und verbraucht nur 900 nA Strom. Im Shutoff-Modus sinkt die Stromaufnahme auf nur 20 nA. [Bearbeiten] Eigenständiger PeripheriebetriebNeben dem niedrigsten Energieverbrauch im Aktiv- und Sleep-Modus, kann die EFM32-Peripherie im Stromsparmodus arbeiten, ohne dabei die CPU zu nutzen. Mithilfe autonomer Peripherie kann eine Anwendung den Energieverbrauch verringern, während weiterhin wichtige Aufgaben ausgeführt werden. Beispiele:
[Bearbeiten] PRS - Peripherie-ReflexsystemDas Peripherie-Reflexsystem der EFM32-MCUs ermöglicht die direkte Verbindung einer Peripherie an eine andere, ohne dabei die CPU mit einzubinden. Damit kann eine Peripherie-Einheit Signale erzeugen, die eine andere Einheit verarbeitet und darauf reagiert – während die CPU im Sleep-Modus verweilt. Application Note zum PRS [Bearbeiten] Optimierte Low Power ModiEFM32-MCUs bieten fünf effiziente Energieverbrauchsmodi, die dem Entwickler Flexibilität bei der Optimierung seines Systems hinsichtlich höchster Leistungsfähigkeit und längster Batterielebensdauer bieten. Es gibt eine umfassende University Program Dokumentation über die Energy Modes.
[Bearbeiten] Äußerst effiziente PeripherieEFM32-MCUs bieten Peripherie, die einen Betrieb mit niedriger Stromaufnahme unterstützt. Damit erhöht sich die Batterielebensdauer im Gegensatz zu anderen 8-, 16- und 32-Bit-Lösungen um das Vierfache. Die Peripherie umfasst unter anderem:
[Bearbeiten] Low Energy Sense InterfaceDas sogenannte "Low Energy Sensor Interface", LESENSE, ermöglicht eine autonome Überwachung von bis zu 16 externen Sensoren im Deep Sleep Mode (EM2). Da LESENSE Funktionen unabhängig von der CPU des EFM32 übernimmt, können Regelalgorithmen mit einem Stromverbrauch von Mikroampere realisiert werden. Über LESENSE können verschiedenste analoge Sensoren wie kapazitive, induktive oder ohmsche Sensoren überwacht werden. Anwendungsbeispiele für LESENSE sind zum Beispiel die Unterstützung für "Touch-Pad"- oder "Touch-Slider"-Funktionen oder Rotationssensoren für Gas- und Wasserzähler. Beispiele sind im Simplicity Studio enthalten (Schaltungskonzepte und Software). [Bearbeiten] Software Tools[Bearbeiten] Simplicity StudioEin auf QT basierende Software-Konsole, die sofortigen Zugriff auf alle Tools, Dokumentation, Software und andere Ressourcen bietet, die für die Entwicklung von Systemen mit EFM32 erforderlich sind – von Datenblättern und Manuals bis zu Code-Gernatoren und Quellcode für fast jede Application Note. Die Icon-basierte Simplicity-Studio-Konsole konfiguriert sich automatisch, nachdem die Target-MCU aus einem Drop-Down-Menü ausgewählt wurde. Die Konsole stellt dem Entwickler dann nur die Entwicklungsoptionen zur Verfügung, die für seine gewählte MCU zur Verfügung stehen. Über eine einfache Add-/Remove-Funktion lässt sich die Konsole anschließend weiter konfigurieren. Der Anwender bleibt ständig auf dem neuesten Wissensstand bleibt: Sobald Änderungen in der eigenen Entwicklungsumgebung durchgeführt werden. Der Anwender wird benachrichtigt, wenn z.B. neue Software-Versionen, Dokumentation, Firmware-Updates etc. eintreffen und hat über ein Protokoll (Change-Log) Zugriff auf alle Änderungen. Simplicity Studio enthält folgende Dokumentation und Software, die bei online Zugriff aktualisiert werden:
Das Simplicity Studio vereint Energy Micros kostenlose Tools:
[Bearbeiten] DownloadSimplicity Studio steht kostenlos als Download zur Verfügung. - Download Simplicity Studio für Windows - Forum und Download BETA Simplicity Studio für Mac - Forum und Download BETA Simplicity Studio für Linux [Bearbeiten] AEM - Überwachung des EnergieverbrauchsAuf allen Starter Kits von Enerrgy Micro ist der Advanced Energy Monitor (AEM), ein Überwachungssystem für den Energieverbrauch, integriert. Damit lässt sich der Stromverbrauch des Mikrocontroller auf dem STK oder noch viel besser der des Prototypen-Systems in Echtzeit messen. [Bearbeiten] energyAware ProfilerDie zum AEM passende PC Software heisst energyAware Profiler. Mit Hilfe des Profiler können "Energy Bugs" identifiziert und beseitigt werden. Die Strommessung über das AEM wird mit dem Program Counter, der über die Debugging Schnittstelle übermittelt wird, korrelliert. Diese SW ermöglicht es, daß ein Klick in der dargestellten Stromkurve direkt zur korresspondierenden C-Code-Zeile führt. In einem weiteren Fenster werden die Information aufkummuliert und als Energieverbrauch pro SW-Funktion dargestellt. [Bearbeiten] ARM Cortex Development ToolsEs gibt viele ARM Cortex Development Tools (IDE,Compiler) welche verwendet werden können. [Bearbeiten] EclipseIm Simplicity Studio gibt es eine Application Note, die die Konfiguration von Eclipse und Gnu Tools beschreibt. Diese ist auch Online als pdf verfügbar Es gibt eine University Program Anleitung für die Installation, (insbesondere unter Ubuntu) als pdf oder im Simplicity Studio. [Bearbeiten] LibrariesDie EFM32-API hat zwei Schichten: Die unterste Schicht, genannt CMSIS ist eine direkte Zuordnung zu den Registern der Peripherals. CMSIS steht für Cortex Microcontroller Software Interface Standard und ist ein herstellerunabhängiger Standard von ARM. Basierend auf dem CMSIS-Standard hat Energy Micro hat eine Bibliothek für die Peripheriefunktionen, namens Emlib erstellt. Emlib bietet ein höheres Maß an Abstraktion und eine einfache Anwendungsschnittstelle. Ein Entwickler kann zwischen CMSIS und Emlib wählen oder sogar auf beiden Ebenen entwickeln. Die Emlib ist Teil des Simplicity Studios über das auch auf die API-Dokumentation zugegriffen werden kann. Updates dieser Bibliothek werden auch über das Studio publiziert (wie z.B. Erweiterungen oder Bug Fixes). Die Namenskonvention der Bilibiothek ist sehr stark an das Reference Manual des EFM32 angelehnt. Beispiel: /* Start ADC Single Conversion */ ADC0->CMD = ADC_CMD_Singletstart; Die Beispiele und der Referenzcode der Application Notes basieren auf der Emlib. Für jede Peripheriefunktion gibt es eine Application Note mit mindestens einem Softwarebeispiel. Somit wird der Umgang mit der Bilbiothek und der API schnell ersichtlich. [Bearbeiten] MiddlewareUnter Middleware versteht man vorgeschriebene USB, TCP/IP, CAN, File System Bibliotheken, welche benutzt (meist nicht kostenlos) werden können. Dadurch sinkt der Programmieraufwand. Folgende Middleware ist im Simplicity Studio enthalten:
In Application Notes ist folgende Software enthalten:
In Beispielen (siehe Examples im Simplicity Studio) ist folgende Software enthalten: USB:
[Bearbeiten] RTOSEchtzeitbetriebssysteme (Real Time Operation System) gibt es von verschiedenen Anbietern. Diese können im Prinzip vorhersagen, wann zum Beispiel ein LED ausgeschaltet werden soll (Delay 500ms) in dieser Zeit wird nicht gewartet, sondern ein anderer Thread (Prozess) wird ausgeführt. So wird das Programm in einzelne Threads unterteilt. Bei den EFM32 uC ist dies insbesondere interessant, da wenn nichts läuft (alle Threads warten, sind nicht aktiv) der uC in einen seiner Schlaf Moden gesetzt werden kann und somit noch weniger Energie verbraucht. Besonders hervorzuheben sind die frei verfügbaren RTOS: Im Simplicity Studio sind folgene RTOS-Varianten enthalten, bzw. folgende Beispiele verfügbar:
In den Beispielen (Examples) im Simplicity Studio findet man:
[Bearbeiten] Hardware Tools[Bearbeiten] Debugger/ProgrammerDie EFM32 uC können nur über SWD programmiert werden. Daher können nur Debugger/Programmer welche SWD unterstützen verwendet werden. Die EFM32 Starter Kits sowie die Development Kits enthalten bereits einen J-Link auf dem Board.
[Bearbeiten] Starter KitsEnergy Micros Starter Kits haben 3 wesentliche Funktionen: 1) Evaluierung (Zugriff auf alle pins, Display, Taster, Touch-Slider, LEDs, ...) 2) Software Debugger (inkl. J-Link von Segger und Debugging-Schnittstelle) - man spart sich einen Extra-Debugger 3) Energy Debuggung - auf allen STKs ist das AEM integriert (s.u.) Es gibt zurzeit folgende Starter Kits:
[Bearbeiten] Development KitsEnergy Micros DVKs sind die Deluxe-Variante von Entwicklungsboards:
Es gibt zurzeit folgende Development Kits:
[Bearbeiten] Evaluation BoardsEs gibt noch 3 verschiedene Olimex Boards mit EFM32 Mikrocontroller.
[Bearbeiten] Erhältlich
[Bearbeiten] Energy Harvesting KitVon Würth Electronics gibt es ein Energy Harvesting Kit. Dieses beinhaltet ein Giant Gecko Starter Kit sowie ein Board welches einfach an das Starter Kit angesteckt wird. Auf diesem sind mehreren Energiequellen (Solarzelle, Peltier Element,Piezo Element, Induktiv Generator) vorhanden, mit welchen der uC Betrieben werden kann. [Bearbeiten] Training[Bearbeiten] Lizard LabsZugeschnittenes Online-Training von Energy Micro: Lizard Labs - Videos & Präsentationen sind für Themen wie Tools, SW-Bibliothek, Programmierung,Vertiefung spezieller Peripheriefunktionen, etc. verfügbar. [Bearbeiten] Online Webinare[Bearbeiten] University ProgramEnergymicro bietet für interessierte Universitäten ein umfangreiches Lernpaket um den Umgang mit Mikrocontrollern zu erlernen. Es beinhaltet einerseits Kursunterlagen auf Englisch mit entsprechenden Code Beispielen, sowie 10 EFM32 Giant Gecko Starter Kits für USD 399 plus Versand. Die Kursunterlagen enthalten viele Grundlegende Informationen über uC und können daher auch für die Programmierung anderer uC hilfreich sein. Die University Program Dokumente und Code Beispiele sind ebenfalls im Simplicity Studio enthalten. [Bearbeiten] BezugsquellenDie uC selbst sowie die Starter Kits und Development Kits findet man bei: Die Olimex Evaluation Boards sowie die Olimex Programmer/Debugger gibt bei: [Bearbeiten] Weblinks, Foren, Communities[Bearbeiten] Energy Micro
[Bearbeiten] Andere
|