Schnelle Signalverarbeitung Vorteile und Einsatzmöglichkeiten von Mikrocontrollern mit DSP-Funktion
Digitale Signalverarbeitung ist allgegenwärtig, auch wenn sie häufig nebenbei geschieht. Funktionen, die in klassischen Designs durch analoge Schaltungen realisiert wurden, sind nun in Software auf einer MCU oder einem DSP abgebildet, sei es um Platz und Kosten zu sparen oder um Nachteile der analogen Realisierung zu vermeiden. MCUs mit integrierter DSP-Einheit wie die MB91470-Serie von Fujitsu bieten hier Vorteile.
Anbieter zum Thema
Viele der heute verwendeten Filter und Algorithmen wären nicht oder nur mit unvertretbarem Aufwand rein analog zu realisieren. Gerade jene Anwendungen, bei denen die Signalverarbeitung nicht die zentrale Aufgabe ist, stellen den Entwickler vor die Frage: Mikrocontroller, DSP, oder gar beides? Steuerungen und Bediengeräte sind eine klassische Domäne der MCUs, während digitale Filter und Regelungen häufig auf DSPs realisiert werden.
Immer häufiger ist jedoch keine so klare Einordnung möglich: Auch eine Steuereinheit muss evtl. auf digitale Filter zurückgreifen, um Systemzustände auszuwerten oder schnelle Regelschleifen auszuführen. Gerade im Bereich der Motorsteuerungen ist dies häufig der Fall, weshalb Fujitsu seine auf Motor-/Antriebssteuerungen ausgerichteten 32-Bit-MCUs der MB91470/480-Serie mit leistungsfähiger Peripherie ausgestattet: dem „µDSP“, der eine MAC-(Multiply-Accumulate-)Einheit darstellt.

Der µDSP besitzt eigenen Programm- und Datenspeicher und kann daher auch längere Berechnungen als Coprozessor unabhängig vom Hauptprozessor (CPU) durchführen. Dies erlaubt der CPU, weiterhin schnell auf Interrupts reagieren zu können, wie es gerade bei industriellen Regelaufgaben häufig der Fall ist, ohne die Laufzeiten der Filter zu verändern. Die Struktur des µDSP (Bild 1) ist auf die hierfür typischen Multiplikations-/Additionsbefehle optimiert, die er bei vollem Prozessortakt (bis zu 80 MHz) in nur einem Zyklus ausführt. Ein 72-Bit-breiter Akkumulator summiert dabei die Werte, deren Zahlenformat zwischen verschiedenen 32-Bit-Festkommaformaten ausgewählt werden kann. Speziell für digitale Filter bietet der µDSP außerdem eine Funktion, um ohne Zutun der CPU die Eingangsvariablen zwischen den Filterstufen zu transferieren.
Die Ansteuerung eines modernen 3-Phasenantriebs ist ein typisches Beispiel für eine Anwendung, bei der zahlreiche (Teil-)Aufgaben in festen Zeitabständen abzuarbeiten sind, die letztlich durch die Anforderungen an das System vorgegeben werden. Oft kommt hierbei eine vektor- oder feldorientierte Regelung zum Einsatz.
Moderne Antriebe brauchen (Rechen-)Leistung
Diese besteht neben den typischen Koordinaten-Transformationen aus mehreren kaskadierten Regelschleifen: Zwei Stromregler bilden den innersten Regelkreis und kontrollieren die feld- und drehmomentbildenden Komponenten des Statorstroms. Dieser Regelkreis wird häufig mit der vollen PWM-Frequenz getaktet, die mehrere 10 kHz betragen kann. Der Sollwert für den inneren Regelkreis wird von einem Geschwindigkeitsregler vorgegeben, der über den Strom das geforderte Drehmoment und somit die Beschleunigung steuert. Diesem wiederum ist bei vielen Anwendungen ein Positionsregler vorgeschaltet. Somit sind bereits vier Regelprozesse zu beherrschen, zusätzlich zu den trigonometrischen Transformationen der Vektorregelung und der Applikation selbst.
Betrachtet man die zeitlichen Abläufe einer solchen Regelung, so lassen sich einige der Teilaufgaben parallelisieren. So beträgt z.B. die Zeit zwischen der Abtastung der Ist-Stromwerte und der nächstmöglichen Aktualisierung der PWM-Register mit den neuen Sollwerten typischerweise eine PWM-Periode. Durch die parallele Berechnung von CPU und µDSP können nun zusätzliche Funktionen implementiert werden, ohne die effektive CPU-Last zu erhöhen. So benötigt die Ausführung eines PID-Algorithmus durch die MAC-Einheit weniger als 1 µs, weshalb der µDSP zwischen zwei PWM-Aktualisierungen noch weitere Aufgaben wie das Filtern von Eingangssignalen übernehmen kann. Zusammen mit den flexiblen Timern der MCU lassen sich dadurch dynamische Drehstromantriebe realisieren, mit der MB91480-Serie sogar für zwei Motoren.
In vielen Anwendungen müssen analoge Messwerte ausgewertet werden, die evtl. verrauscht oder mit anderen Störungen behaftet sind. Diese Störungen werden häufig mit analogen Tiefpassfiltern reduziert, doch ist dies auch auf digitaler Ebene möglich. Analoge Antialiasing-Filter sind zwar prinzipbedingt für nahezu jede A/D-Wandlung notwendig, doch auch hier kann digitale Filterung die Anforderungen an die analogen Vorfilter reduzieren, indem Oversampling zum Einsatz kommt.
Rechenleistung spart Bauteile
Dabei wird mit einer vielfach höheren Abtastfrequenz gearbeitet, als nach dem Nyquist-Kriterium (minimale Samplingrate größer als doppelte höchste Signalfrequenz) zum Erreichen der geforderten Bandbreite nötig wäre. Durch die hohe Abtastfrequenz kann im Analogteil ein einfacherer Filter mit geringerer Flankensteilheit verwendet werden, während die Begrenzung auf den gewünschten Frequenzbereich zusammen mit der Reduktion der Samplingrate digital und somit ohne zusätzlichen Schaltungsaufwand stattfindet.

Die wohl am häufigsten eingesetzten Filter sind entweder FIR- (Finite Impulse Response) oder IIR-Filter (Infinite Impulse Response). FIR-Filter (Bild 2) besitzen keine Rückführung des Ausgangs auf den Eingang (nicht rekursive Filter) und sind daher stets stabil. Ein endlich langes Eingangssignal erzeugt also auch ein endlich langes Ausgangssignal. IIR-Filter können sich dagegen aufschwingen und instabil werden, benötigen aber meist weniger Filterstufen zum Erreichen eines bestimmtes Verhaltens. Da der µDSP die Filterberechnung unabhängig durchführt, kann meist ein einfach zu handhabender FIR-Filter verwendet werden, ohne die CPU-Last zu erhöhen.

Ein einfacher und bekannter FIR-Filter ist der „Gleitender-Mittelwert“-Filter. Dieser wird gerne als einfacher Tiefpass-Filter zum Glätten von Messwerten eingesetzt. Dabei sind alle Filterkoeffizienten gleich und werden so normiert, dass ihre Summe und somit die Gleichspannungsverstärkung des Filters gleich eins wird. Der µDSP des MB91470 kann einen solchen Filter mit 64 Stufen in rund 1,2 µs berechnen. Damit kann die volle Samplingrate der beiden 12-Bit-A/D-Wandler des MB91F479 genutzt werden. Ebenso können in der gleichen Zeit auch mehrere kürzere Filter berechnet werden.
*Christian Harders ist Application Engineer Industrial bei Fujitsu Microelectronics Europe, Langen.
(ID:258489)