Udostępnij za pośrednictwem


Korzystanie z programu PWM w aplikacjach wysokiego poziomu

Ważne

Jest to dokumentacja usługi Azure Sphere (starsza wersja). Usługa Azure Sphere (starsza wersja) zostanie wycofana 27 września 2027 r., a użytkownicy muszą przeprowadzić migrację do usługi Azure Sphere (zintegrowanej) do tej pory. Użyj selektora wersji znajdującego się powyżej spisu treści, aby wyświetlić dokumentację usługi Azure Sphere (zintegrowaną).

W tym temacie opisano sposób uzyskiwania dostępu do modulatorów o szerokości impulsów (PWM) urządzeń do użytku w aplikacjach wysokiego poziomu usługi Azure Sphere.

Modulacja szerokości impulsu jest osiągana przez zmianę cyklu pracy (stosunek czasu na czas wolny) pulsowanego sygnału cyfrowego. Modulatory o szerokości impulsu są używane w wielu zastosowaniach, takich jak sterowanie silnikiem cyfrowym, komunikacja i konwersja cyfrowo-analogowa.

Aby używać programu PWM w aplikacjach usługi Azure Sphere, należy uwzględnić wymagane pliki nagłówkowe i Pwm możliwości oraz określić kontroler kanałów PWM, do których aplikacja będzie uzyskiwać dostęp.

W przykładzie PWM_HighLevelApp pokazano, jak używać programu PWM w prostej aplikacji konwersji cyfrowej do analogii na urządzeniu MT3620.

Wymagania dotyczące programu PWM

Aplikacje korzystające z programu PWM muszą zawierać odpowiedni plik nagłówka i dodać ustawienia programu PWM do manifestu aplikacji.

Wszystkie aplikacje muszą ustawić sprzęt docelowy i dołączyć odpowiedni plik nagłówka definicji sprzętu.

Pliki nagłówkowe

 #include <applibs/pwm.h>
 #include "path-to-your-target-hardware.h"

Zastąp ciąg "path-to-your-target-hardware.h" ścieżką do pliku nagłówka dla sprzętu.

Ustawienia manifestu aplikacji

Ustawienie programu PWM w manifeście aplikacji zawiera listę kontrolerów PROGRAMU PWM, do których uzyskuje się dostęp przez aplikację. Aby skonfigurować te ustawienia, dodaj Pwm możliwość do manifestu aplikacji, a następnie dodaj każdy kontroler PWM do możliwości. Manifest aplikacji usługi Azure Sphere zawiera więcej szczegółów.

W kodzie użyj stałych zdefiniowanych dla sprzętu, aby zidentyfikować kontrolery PWM. Kompilator przełoży te wartości na nieprzetworzone wartości podczas kompilowania aplikacji.

Na przykład poniżej przedstawiono fragment manifestu aplikacji przeznaczonego dla aplikacji przeznaczonej dla tablicy deweloperskiej referencyjnej MT3620 (RDB).

 "Pwm": [ "$MT3620_RDB_LED_PWM_CONTROLLER2" ]

Poniższy fragment przedstawia sposób określania tego samego kontrolera PWM w aplikacji przeznaczonej dla zestawu startowego Avnet MT3620:

  "Pwm": [ "$AVNET_MT3620_SK_PWM_CONTROLLER2" ]

Dostęp do programu PWM

Aplikacje wysokiego poziomu usługi Azure Sphere mogą uzyskiwać dostęp do programu PWM przez wywołanie interfejsów API programu PWM dla biblioteki Applibs.

Otwieranie kontrolera PWM

Aby otworzyć kontroler PWM w celu uzyskania dostępu, wywołaj PWM_Open i przekaż jako parametr identyfikator kontrolera do otwarcia. Deskryptor plików zostanie zwrócony, jeśli wywołanie zakończy się pomyślnie. W przeciwnym razie zostanie zwrócona wartość -1.

Ustawianie stanu kanału PROGRAMU PWM

Aby ustawić lub zaktualizować stan kanału PROGRAMU PWM, wywołaj PWM_Apply. Należy przekazać następujące parametry do PWM_Apply:

  • Deskryptor plików zwrócony przez PWM_Open

  • Kanał programu PWM do aktualizacji; ta wartość jest zależna od platformy

  • Okres, cykl dyżurny i polarność, które mają być stosowane do kanału

  • Czy włączyć lub wyłączyć kanał

Uwaga

Minimalne i maksymalne limity dla okresu i cyklu pracy są zależne od urządzenia. Na przykład na rdzeniu wysokiego poziomu MT3620 maszyny PWM działają ze stałą częstotliwością podstawową 2 MHz z 16-bitowym włączonym/wyłączonym rejestrami porównawczymi. Nakłada to rozdzielczość cyklu celnego wynoszącą 500 ns oraz skuteczny maksymalny okres wynoszący około 32,77 ms. Aby uzyskać szczegółowe informacje, zapoznaj się z arkuszem danych określonego urządzenia.

Obsługa mt3620

Obsługiwane funkcje programu PWM dla maszyny MT3620 są wymienione w obszarze Stan pomocy technicznej mt3620. Podręcznik użytkownika tablicy deweloperów MT3620 opisuje układ pinezki i funkcje przypinania.

Mt3620 ma 12 kanałów PWM, PWM0 - PWM11. Są one zorganizowane w 3 grupy 4 kanałów. Każda grupa jest skojarzona z kontrolerem PWM (PWM-CONTROLLER-0, PWM-CONTROLLER-1, PWM-CONTROLLER-2). Kanały PWM i gpIO wyprowadza GPIO0 do GPIO11 mapuje się na te same wyprowadzenia na MT3260. Jeśli aplikacja używa kontrolera PWM, wszystkie wyprowadzenia skojarzone z tym kontrolerem są przydzielane do użycia jako dane wyjściowe programu PWM. Nie można ich używać dla żadnego innego typu urządzenia peryferyjnego.