
ADC -Trigger mit PWM -Generator

Lernen, wie PWM und ADC von DSPIC33C -MP -Geräten, LAB 7: CODE -Beispiel für DSPIC33CK- und DSPIC33CH -Geräte verwendet werden, die eine grundlegende Konfiguration von PWM -Generatoren zeigen, die ADC -Eingaben auslösen. In der ADC Interrupt Service Routine (ISR) wird ein Teststift umgeschaltet, damit der Benutzer Auslöser -Antwortverzögerungen beobachten kann. Außerdem werden die frühe Interrupt -Generierung, das alternative Arbeitsregister mit Compiler -Attributen und die Funktion zur Optimierung der Stichprobenzeiteinstellungen verwendet, um die Trigger -Antwortzeit anzupassen.
Bitte überprüfen Sie immer die neuesten Datenblätter auf den jeweiligen Produktwebsites:

Nachdem das Gerät programmiert wurde und die MCU startet, löst PWM1H den dedizierten ADC -Core 0 aus. Nach etwa 277 ns Trigger -Antwortverzögerung wechselt der ADC -Core O ISR -Test -Pin -Indikator TP55 -Umschaltungen Siehe Screencaption unten. Die Auslöser -Antwortverzögerung ist optimiert, da der frühe Interrupt -Generator von ADC Core 0 aktiviert ist.
Durch das Drücken des On-Board- Druckknopfbenutzers auf der Digital Power Development Board löst der PWM2H den dedizierten ADC-Kern 1 aus. Nach etwa 265 Ns-Trigger-Antwortverzögerung wechselt der ADC Core 1 ISR-Test-Pin-Indikator TP53-Umschusses siehe Bildschirmaufnahme unten. Die Auslöser -Antwortverzögerung wird weiter reduziert, da der ADC Core 1 ISR das Kontextattribut des Compilers verwendet hat, um den ISR mit alternativem Registersatz zu verbinden.
Durch erneutes Drücken des On-Board-Push-Taste -Benutzers löst der PWM3H den gemeinsam genutzten ADC-Core 6 aus. Nach etwa 335 Ns wechselt der ADC Core 6 ISR-Test-Pin-Indikator TP50 Umschaltungen Siehe Bildschirmaufnahme unten. Die Konfiguration der gemeinsam genutzten ADC ist mit dem dedizierten ADC Core 1 gleich, mit Ausnahme der gemeinsam genutzten ADC -Stichprobenzeit auf 8 Tadcore. Im Gegensatz zu den vorherigen dedizierten ADC -Kernen verfügt Shared ADC Core 6 befindet keinen dedizierten analogen Pin. Dies erforderte die Verlängerung der Abtastzeit, um sicherzustellen, dass der ADC vor der Umwandlung das Eingangssignal ordnungsgemäß an einen analogen Pin herstellt und ordnungsgemäß probiert. Diese Stichprobenzeit fügt jedoch eine Auslöser -Antwortverzögerung hinzu.
Weitere Informationen zum Initialisierungsprozess und zur Codestruktur finden Sie im Abschnitt Firmware Quick-Start-Handbuch .

In diesem Code -Beispiel wird auf früheren Codebeispielen erstellt, die zeigen, wie Microchip -Code -Konfigurator (MCC) verwendet wird, um Geräte -Takt -Domänen einzurichten. Obwohl MCC auch Konfigurationstools für das PWM- und ADC -Modul unterstützt, baut die PWM- und ADC -Konfiguration in diesem Beispiel auf generischen peripheren Treibern auf, um den Benutzern dabei zu helfen, die periphere Architektur und wichtige Aspekte spezifischer Konfigurationen und Betriebsmodi besser zu verstehen. In jedem PWM- und ADC -Beispielcodeprojekt befindet sich die PWM- und ADC -Konfigurationsverfahren in der Benutzerdatei PWM.C und ADC.C, wobei jedes Registerbit, das zur Erzielung/Aktivierung der spezifischen Funktion oder des Interessensmodus erforderlich ist, festgelegt und mit Kommentaren beschrieben wird. Sobald Benutzer mit der Architektur, Funktionen und Funktionen vertraut sind, können beide Konfigurationsoptionen (generische Peripherie -Bibliothek 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. Periphere Treiber befinden sich in den Sub-Directory -Quellen . Die von MCC generierten Dateien befinden sich immer in ihrem eigenen Unterabschluss mcc_generated-Dateien
Die PWM- und ADC Peripheral Treiber -Dateien P33C_PWM.C/H und P33C_ADC.C/H bieten Datenstrukturen, die die Sätze für Special Function Register (SFR) von PWM- und ADC -Instanz darstellen, sowie das PWM- und ADC -Basismodul bereit. Diese "virtuellen" PWM- und ADC-Objekte werden verwendet, um PWM- und ADC-Konfigurationen zu laden, zu lesen und zu ändern, ohne fest codierte Anweisungen erforderlich zu machen, wodurch der Code schwierig wäre, von einem Peripherie zu einem anderen oder sogar über Geräte hinweg zu migrieren. Um die PWM- und ADC -Konfigurationen zu vereinfachen, wird in diesen Beispielen jedes Register auf einen bekannten Standardzustand zurückgesetzt, bevor die interessierende Benutzerkonfiguration festgelegt wird. Somit wird nur die Registereinstellung angezeigt, die wirklich für eine bestimmte Funktion/Funktion von Bedeutung ist.
Um mehr über den generischen PWM- und ADC -Treiber, die unterstützten Funktionen und die beabsichtigten Anwendungsfälle zu erfahren
Dieser Code wurde geschrieben, um die Funktion des Interesses automatisch zu starten und auszuführen. Bitte lesen Sie die Demo -Anweisungen auf der Datei main.c, um mehr über das Codebeispiel, die Testerpunkte, den erwarteten Signale und den Demo -Modus zu erfahren.
© 2020, Microchip Technology Inc.