Der 32-bit-Prozessor-Core ARM Cortex-M3 ermöglicht seinen Lizenznehmern (den MCU-Herstellern) mehr Leistung, bessere Datenanbindungsmöglichkeiten und eine höhere Energieeffizienz zu geringeren Kosten. Um die Entwicklung von Motorsteuerungen zu rationalisieren, beinhaltet Toshiba‘s TMPM370 eine programmierbare Motor-Treiber-Technologie (PMD) und eine Vektor-Engine (VE), die wesentliche FOC-Funktionen in Hardware ausführt. Das Auslagern der Antriebssteuerung auf diese Hardwarefunktionen gibt den ARM-Core frei für andere Funktionen innerhalb des Embedded-Designs.
Der PMD-Block enthält einen 3-Phasen-PWM-Generator, einen Totzeit-Controller, Schutzschaltkreise und ein Timing-Netzwerk. Zusammen mit diesen Funktionen ermöglicht die Vektor-Engine eine effiziente Antriebssteuerung, indem sie als Coprozessor fungiert und die Haupt-CPU entlastet. Innerhalb des VE-Blocks verwalten ein Scheduler für die Event- und Prioritätssteuerung, ein Rechen-Core und Decoder, eine Operationseinheit, eine MAC-Einheit und Vektorsteuerungsmodule die Verarbeitung des 3-Phasen-Stromeingangs vom A/D-Wandler der MCU und führen den FOC-Algorithmus aus.
Arbeitet die MCU mit 80 MHz, beträgt die Gesamtverarbeitungszeit des VE-Blocks nur 7,5 µs. Dies ist schneller als bei den meisten MCUs, die mit der gleichen Frequenz getaktet werden, die Vektorfunktion aber in Software ausführen. Die Tabelle zeigt die Anzahl erforderlicher Taktzyklen für eine komplette FOC-Schleife. Die Anzahl der Zyklen verringert sich erheblich, sobald die Verarbeitung durch die Vektor-Engine unterstützt wird:
FOC-Aufgabe | Ausführung in SW | Ausführung in SW plus Vektor-Engine |
---|---|---|
Steuerung Geschwindigkeit/Strom | 603 Taktzyklen | 603 Taktzyklen |
Positionsabschätzung | 403 Taktzyklen | 403 Taktzyklen |
Vektor-Transformation | 897 Taktzyklen | Hardware |
A/D-Datenverarbeitung | 195 Taktzyklen | Hardware |
Steuerung PMW-Ausgang | Hardware | |
CPU-Verarbeitungszeit | 2098 Taktzyklen | 1006 Taktzyklen |
Das Auslagern der FOC-Berechnungen (Field Oriented Control) auf Hardware erhöht die Leistungsfähigkeit und stellt mehr CPU-Zyklen für applikationsspezifische Aufgaben bereit.
Zusammen verwalten der 2-Kanal-PMD-Block und die einkanalige Vektor-Engine alle Funktionen, die zur Ansteuerung eines Motors erforderlich sind, einschließlich der 3-Phasen-PWM-Signalgenerierung bei 16 bit Auflösung, Drehzahlregelung und Positionsschätzung. Dazu ist nur eine einzige Registereinstellung erforderlich. Die MCU enthält einen 12-bit-A/D-Wandler mit 2 µs Wandlungsdauer, was eine schnelle PWM-synchronisierte A/D-Wandlung ermöglicht. Bild 2 stellt diese Funktionsblöcke zur Antriebssteuerung innerhalb der TMPM370-Bausteine dar. Ein integrierter Komparator erkennt zudem Zustände, in denen ein Notstopp erforderlich ist.
Neben dem Hosting der FOC-Algorithmen muss eine für Antriebssteuerungen taugliche MCU auch noch andere Leistungsmerkmale bieten, um die Entwicklungsarbeit zu vereinfachen. Dazu zählt Unterstützung hinsichtlich einer Eigenüberwachung, damit vorgeschriebene Sicherheitsstandards wie IEC 60730 einhalten werden können. Auch eine Versorgungsspannung von 5 statt 3,3 V wird bei der Motoransteuerung aus Gründen der Kompatibilität von vielen Entwickern bevorzugt.
Eigenüberwachungsfunktionen in MCUs sind sehr hilfreich, da das System damit Fehlerzustände sicher handhaben kann. Dazu zählt z.B. das Erkennen festgefahrener Fehler in der CPU und im Speicher, was durch Software einfach implementiert werden kann. Das Erkennen anormaler Taktaktivität ist eine weitere nützliche Technik, um einen korrekten Betrieb des Prozessors zu verifizieren. Die Implementierung in Form von Software ist allerdings zeitaufwändig und erfordert erhebliche CPU-Ressourcen. Um die Taktüberwachung zu vereinfachen, enthält Toshibas Oscillation-Frequency-Detector (OFD) in den TMPM370- und TMPM380-Serien Hardware-Schaltkreise, die ein Reset-Signal für die MCU erzeugen, falls die gemessene Taktfrequenz einen bestimmten Wert übersteigt.