Die Serie XMC1300 ist speziell für Motorsteuerungen optimiert. Mit den Timer-Einheiten CCU4/CCU8 und der Positions-Schnittstelle POSIF können Position und Geschwindigkeit eines Motors auf einfache Weise ermittelt werden. Der Math-Koprozessor kann darüber hinaus Vektor-Rotation (PARK-Transformation) mit 24-bit-Auflösung ausführen, womit sich leistungsfähige Algorithmen für die feldorientierte Motorreglung implementieren lassen (Bild 3).
Die Capture/Compare-Einheit CCU4 kann man beispielsweise zur Puls-Generierung oder mit Hilfe der Dither-Funktion zur Stabilisierung von langsamen Regelschleifen verwenden. In Kombination mit dem programmierbaren POSIF-Block kann auch ein Inkrementalgeber ausgewertet werden. Für verschiedene Anwendungsfälle kann mit dem POSIF die Genauigkeit verbessert und die Software vereinfacht werden, da die entsprechenden Daten gleichzeitig erfasst werden können. Ein Tiefpass-Filter unterdrückt das Rauschen und Störimpulse vom Hall-Sensor bzw. Drehgeber, die zu falschen Positions- und/oder Geschwindigkeitsangaben führen könnten.
Mit der CCU8 und dem zusätzlichen Compare-Kanal besteht zudem die Möglichkeit, für steigende und fallende Flanken unterschiedliche Totzeiten zu definieren und asymmetrische PWM-Signale zu erzeugen. Zu typischen Anwendungen, die davon profitieren, zählen 3-Phasen-Umrichter für Antriebe, 3-Level-Wechselrichter für Solarmodule oder Halbbrücken-Wandler.
Der 64-MHz-Math-Koprozessor besteht aus einem 32-bit-Teiler und einem 24-bit-Cordic für trigonometrische Berechnungen. Sowohl die Teiler- als auch die Cordic-Einheit können parallel zur Cortex-M0-CPU arbeiten. Die Math-Einheit erhöht die Rechenleistung für Echtzeit-Aufgaben signifikant.
Effiziente Entwicklungsunterstützung
Allen modernen Anwendungen gemein ist, dass die Software-Komplexität zunimmt. Um die Peripherie auch optimal nutzen zu können, sind oftmals komplexe Algorithmen erforderlich. Also ist eine effiziente Software-Entwicklungsumgebung gefragt. Von einer modernen Entwicklungsumgebung werden neben leistungsstarken Compilern, Debuggern oder Flash-Programmern auch Tools zur Steigerung der Design-Produktivität gefordert. Idealerweise wird eine automatische Code-Generierung mit vordefinierten und getesteten Software-Komponenten (Apps) unterstützt. Damit lassen sich die benötigten Ressourcen automatisch und fehlerfrei auf dem Chip zuwiesen.
DAVE ist eine kostenlose, Eclipse-basierte Software-Entwicklungsplattform für die XMC1000- und auch die XMC4000-Familie (Bild 4). Sie beinhaltet einen Satz an kostenlosen Entwicklungs-Werkzeugen und unterstützt die automatische Code-Generierung mittels vordefinierter und getesteter Software-Komponenten - den sogenannten DAVE Apps. Im Gegensatz zum herkömmlichen Ansatz mit Bibliotheken und Programmbeispielen sind die DAVE Apps abstrakter und erlauben die einfache grafische Kombination mehrerer DAVE Apps. Damit können die Hardware-Ressourcen automatisch und fehlerfrei auf dem Chip abgebildet werden. Zusammen mit DAVE stehen zahlreiche Apps zum Herunterladen zur Verfügung. Sie unterstützen u.a. Ethernet-, TCP/IP-, File-System- und Datenintegritäts- sowie Verschlüsselungs-Lösungen. Weitere verfügbare Apps umfassen die PWM-Generierung, verschiedene Zähler- und Timer-Anwendungsfälle, Taktkonfigurierung, Interrupt Handling oder DMA-Konfigurierung (Direct Memory Access). Zusätzliche Apps werden kontinuierlich ergänzt und decken einen weiten Applikationsbereich ab - einschließlich der kostenlosen Unterstützung von Echtzeit-Betriebssystemen und des CMSIS RTOS API (Application Programming Interface).
Da DAVE eine offene Plattform darstellt, ist eine einfache Erweiterung und Adaptierung möglich: Neben kostenlosem Compiler, Linker, Debugger und Flash Loader stehen Plug-ins für kommerzielle Tool-Anbieter zur Verfügung. So können Anwender mit ihrer vertrauten Design-Umgebung (IDE) arbeiten und die Vorzüge der automatischen Code-Generierung von DAVE ohne Einschränkungen nutzen.