Mehrkanal-PWM-Synchronisierung über PWM-Gruppen hinweg
Lernen, wie man das hochauflösende PWM-Modul von dsPIC33C MP-Geräten verwendet, Labor 5: Codebeispiel für dsPIC33CK- und dsPIC33CH-Geräte, Einführung in die Grundkonfiguration des hochauflösenden PWM-Moduls unter Verwendung von drei PWM-Generatorkanälen, die drei mehrphasige PWM-Wellenformen erzeugen
Bitte prüfen Sie stets die aktuellsten Datenblätter auf den jeweiligen Produktwebsites:
Nachdem das Gerät programmiert und die MCU gestartet wurde, erzeugen die PWM-Generatoren Nr. 1, Nr. 2 und Nr. 3 drei komplementäre Paare von 200-kHz-PWM-Wellenformen mit einem Arbeitszyklus von 30 % an den Anschlüssen PWM1H/PWM1L, PWM2H/PWM2L und PWM3H/ PWM3L-Ausgänge bzw. Diese drei komplementären Paare von PWM-Wellenformen sind zueinander phasengleich.
Durch Drücken der integrierten Drucktaste USER auf dem Digital Power Development Board wird das Dreiphasensystem in ein Dreiphasen-PWM-System mit einer Phasenwinkeltrennung von 120 Grad geändert, wobei das Paar PWM2H/PWM2L um 120 Grad vorverlegt wird Der Wert von PWM1H/PWM1L und PWM3H/PWM3L wird um 120 Grad von PWM2H/PWM2L vorgezogen. Das System wird mit dem USER-Schalter von In-Phase-PWMs auf Mehrphasen-PWMs umgeschaltet.
Weitere Informationen zum Initialisierungsprozess und zur Codestruktur finden Sie im Abschnitt FIRMWARE-QUICK-START-ANLEITUNG weiter unten.
Dieses Codebeispiel baut auf früheren Codebeispielen auf und zeigt, wie Sie mit Microchip Code Configurator (MCC) Gerätetaktdomänen einrichten. Obwohl MCC auch Konfigurationstools für das hochauflösende PWM-Modul unterstützt, basiert die PWM-Konfiguration in diesem Beispiel auf generischen Peripherietreibern, um Benutzern ein besseres Verständnis der Peripheriearchitektur und der Schlüsselaspekte bestimmter Konfigurationen und Betriebsmodi zu ermöglichen. In jedem PWM-Beispielcodeprojekt befindet sich das PWM-Konfigurationsverfahren in der Benutzerdatei pwm.c, wo jedes Registerbit, das zum Erreichen/Aktivieren der spezifischen Funktion oder des spezifischen Modus von Interesse erforderlich ist, gesetzt und seine Funktion mit Kommentaren beschrieben wird. Sobald Benutzer mit der Architektur, den Funktionen und Fähigkeiten vertraut sind, können beide Konfigurationsoptionen (generische Peripheriebibliothek oder MCC) verwendet werden.
Das Projekt enthält vier Unterverzeichnisse
Auf der Festplatte befinden sich main.c/h im MPLAB X-Projektverzeichnis. Alle anderen Benutzerdateien, inkl. Peripherietreiber befinden sich im Unterverzeichnis „ sources “. Von MCC generierte Dateien befinden sich immer in einem eigenen Unterverzeichnis mcc_generated-files
Die PWM-Peripherietreiberdateien p33c_pwm.c/h stellen Datenstrukturen bereit, die die Special Function Register (SFR)-Sätze der PWM-Generatoren und des PWM-Basismoduls darstellen. Diese „virtuellen“ PWM-Objekte werden zum Laden, Lesen und Ändern von PWM-Generatorkonfigurationen verwendet, ohne dass hartcodierte Anweisungen erforderlich sind, was die Migration des Codes von einem Peripheriegerät zu einem anderen oder sogar zwischen Geräten erschweren würde. Um PWM-Konfigurationen zu vereinfachen, in In diesen Beispielen wird jedes Register auf einen bekannten Standardzustand zurückgesetzt, bevor die gewünschte Benutzerkonfiguration festgelegt wird. Somit werden nur die Registereinstellungen angezeigt, die für bestimmte Merkmale/Funktionen wirklich wichtig sind.
Um mehr über den generischen PWM-Treiber, seine unterstützten Funktionen und beabsichtigten Anwendungsfälle zu erfahren, lesen Sie bitte die Kommentare in p33c_pwm.c.
Dieser Code wurde geschrieben, um automatisch zu starten und die gewünschte Funktion auszuführen. Bitte lesen Sie die Demo-Anweisungen oben in der Datei main.c, um mehr über das Codebeispiel, Testpunkte, erwartete Signale und den Betrieb im Demo-Modus zu erfahren.
© 2020, Microchip Technology Inc.