Freigeben über


Verwenden von PWMs in Echtzeitfähigen Anwendungen

Wichtig

Dies ist die Dokumentation zu Azure Sphere (Legacy). Azure Sphere (Legacy) wird am 27. September 2027 eingestellt, und Benutzer müssen bis zu diesem Zeitpunkt zu Azure Sphere (integriert) migrieren. Verwenden Sie die Versionsauswahl oberhalb des Inhaltsverzeichniss, um die Dokumentation zu Azure Sphere (Integriert) anzuzeigen.

Azure Sphere unterstützt PWM (Pulse-Width Modulation, Pulsweitenmodulation). Pulsweitenmodulation wird erreicht, indem das Tastverhältnis (Verhältnis zwischen aktiver und passiver Zeit) eines gepulsten digitalen Signals variiert wird. Pulsweitenmodulatoren (Pulse-Width Modulators, PWMs) werden in einer Vielzahl von Anwendungen eingesetzt, z. B. für digitale Motorsteuerung, Kommunikation und Digital-Analog-Konvertierung.

In diesem Thema wird beschrieben, wie PWMs in Echtzeitanwendungen (RTApp) verwendet werden. Informationen zur Verwendung von PWMs in allgemeinen Anwendungen finden Sie unter Verwenden von PWMs in allgemeinen Anwendungen.

Hinweis

Das Azure Sphere-Betriebssystem setzt Peripheriegeräte beim Starten nicht zurück. Ihre Anwendungen sollten sicherstellen, dass Peripheriegeräte beim Start oder nach dem Neustart in einem bekannten Zustand sind.

MT3620-Unterstützung für PWM in den Echtzeitkernen

In diesem Abschnitt werden die PWM-Optionen beschrieben, die nur gelten, wenn Azure Sphere auf dem MT3620-Gerät ausgeführt wird.

Die von MT3620 unterstützten PWM-Features sind unter Status der MT3620-Unterstützung aufgeführt. Das Pin-Layout und die Pin-Funktionen werden im MT3620-Entwicklungsboard-Benutzerhandbuch beschrieben.

MT3620 verfügt über 12 PWM-Kanäle (PWM0 bis PWM11). Sie sind in drei Gruppen mit jeweils vier Kanälen organisiert. Jede Gruppe ist einem PWM-Controller zugeordnet (PWM-CONTROLLER-0, PWM-CONTROLLER-1, PWM-CONTROLLER-2). Die PWM-Kanäle und GPIO-Pins GPIO0 bis GPIO11 entsprechen denselben Pins auf dem MT3620. Wenn Ihre Anwendung einen PWM-Controller verwendet, werden alle Pins, die diesem Controller zugeordnet sind, für die Verwendung als PWM-Ausgaben zugeordnet. Keiner von ihnen kann für GPIO verwendet werden.

Informationen zum Registrieren von Basisadressen, Unterbrechungsnummern, Taktfrequenz, Samplinghäufigkeit und weiteren Details zum MT3620 finden Sie im MT3620 Datenblatt und im MT3620 M4 User Manual. Wenn Fragen bestehen, können Sie Details von Avnet per E-Mail Azure.Sphere@avnet.comanfordern.

Die PWM-Hardware kann für die Verwendung einer von drei Taktfrequenzen konfiguriert werden: 32 KHz, 2 MHz (XTAL/13) oder 26 MHz (XTAL). Auf den Rt-Kernen (Real-Time) kann eine Echtzeitanwendung (RTApp) auswählen, welche Uhr als Basis verwendet werden soll. Benutzerdefinierte Basisfrequenzen werden nicht unterstützt. Ihre Anwendung kann jedoch Signalfrequenzen generieren, die von der ausgewählten Basisfrequenz abgeleitet werden. Ein Beispiel finden Sie in der Beispielanwendung PWMAudio im Azure Sphere-Katalog.

Einstellungen für das Anwendungsmanifest

Um ein PWM in einer RTApp zu verwenden, fügen Sie die Pwm Funktion zum Anwendungsmanifest hinzu und geben die PWM-Controller an, die in der Anwendung verwendet werden. Die folgende Zeile gibt beispielsweise den PWM-Controller 0 für die Verwendung in einer RTApp für das MT3620-Referenzentwicklungsboard (Reference Development Board, RDB) an:

"Capabilities": {
   "Pwm": [ "PWM-CONTROLLER-0" ] }

Das Azure Sphere-Anwendungsmanifest enthält weitere Details zum Anwendungsmanifest .

Die PWM-Beispielanwendungen

Das CodethinkLabs-Repository auf GitHub enthält Beispielanwendungen, die die Verwendung unterstützter MT3620-Peripheriegeräte in Azure Sphere-Echtzeitanwendungen veranschaulichen. Im PWM_RTApp_MT3620_BareMetal Beispiel wird insbesondere veranschaulicht, wie ein PWM-Peripheriegerät in eine Echtzeit-fähige Anwendung integriert wird.

Das PWMAudio-Projekt veranschaulicht, wie die Echtzeitkerne zum Generieren von PWM -Audio (Pulse Width Modulation) verwendet werden. Dieses Projekt ist Teil des Azure Sphere Gallery, einer Sammlung nicht verwalteter Skripts, Dienstprogramme und Funktionen.