Używanie aplikacji PWM w aplikacjach z obsługą czasu rzeczywistego
Usługa Azure Sphere obsługuje modulację szerokości impulsów. Modulację szerokości impulsu uzyskuje się poprzez zróżnicowanie cyklu pracy (stosunek czasu do czasu wolnego) pulsowanego sygnału cyfrowego. Modulatory szerokości impulsu (PWM) są używane w wielu różnych aplikacjach, takich jak cyfrowe sterowanie silnikiem, komunikacja i konwersja cyfrowo-analogowa.
W tym temacie opisano, jak używać aplikacji PWM w aplikacjach obsługujnych w czasie rzeczywistym (RTApp). Aby uzyskać informacje na temat używania aplikacji PWM w aplikacjach wysokiego poziomu, zobacz Korzystanie z aplikacji PWM w aplikacjach wysokiego poziomu.
Uwaga
System operacyjny Azure Sphere nie resetuje urządzeń peryferyjnych podczas uruchamiania. Twoje aplikacje powinny mieć pewność, że urządzenia peryferyjne są w dobrze znanym stanie podczas uruchamiania lub po ponownym uruchomieniu.
Obsługa usługi PWM na platformie MT3620 w rdzeniach w czasie rzeczywistym
W tej sekcji opisano opcje aplikacji PWM, które mają zastosowanie tylko w przypadku uruchamiania usługi Azure Sphere na mt3620.
Funkcje programu PWM obsługiwane przez mt3620 są wymienione w stanie pomocy technicznej MT3620. Podręcznik użytkownika tablicy deweloperów MT3620 opisuje funkcje układu pinezki i przypinania.
Mt3620 ma 12 kanałów PWM oznaczonych przez pwm0-PWM11. Są one zorganizowane w 3 grupy po 4 kanały. Każda grupa jest skojarzona z kontrolerem programu PWM (PWM-CONTROLLER-0, PWM-CONTROLLER-1, PWM-CONTROLLER-2). Kanały pwm i gpio przypina gpio0 przez GPIO11 map do tych samych pinezki na MT3620. Jeśli aplikacja korzysta z kontrolera programu PWM, wszystkie pinezki skojarzone z tym kontrolerem są przydzielane do użytku jako wyjścia programu PWM. Żadna z nich nie może być używana dla obiektu GPIO.
Aby uzyskać informacje na temat rejestrowania adresów podstawowych, numerów przerwań, częstotliwości zegara, częstotliwości próbkowania i innych szczegółów dotyczących MT3620, zobacz arkusz danych MT3620 i podręcznik użytkownika MT3620 M4. jeśli pytania pozostaną, możesz poprosić o szczegółowe informacje w avnet, wysyłając Azure.Sphere@avnet.comwiadomość e-mail .
Sprzęt PWM można skonfigurować do używania jednej z trzech częstotliwości zegara: 32 KHz, 2 MHz (XTAL/13) lub 26 MHz (XTAL). Na rdzeniach czasu rzeczywistego (RT) aplikacja w czasie rzeczywistym (RTApp) może wybrać zegar, który ma być używany jako podstawa. Częstotliwości bazowe zdefiniowane przez użytkownika nie są obsługiwane. Aplikacja może jednak generować częstotliwości sygnału pochodzące z wybranej częstotliwości bazowej. Na przykład zobacz przykładową aplikację PWMAudio w Galerii Azure Sphere.
Ustawienia manifestu aplikacji
Aby użyć aplikacji PWM w aplikacji RTApp, dodaj funkcję Pwm
do manifestu aplikacji i określ kontrolery aplikacji PWM, które będą używane w aplikacji. Na przykład w poniższym wierszu określono kontroler programu PWM 0 do użycia w funkcji RTApp, który jest przeznaczony dla tablicy deweloperskiej odwołania MT3620 (RDB)::
"Capabilities": {
"Pwm": [ "PWM-CONTROLLER-0" ] }
Manifest aplikacji Azure Sphere zawiera więcej szczegółów na temat manifestu aplikacji.
Przykładowe aplikacje PWM
Repozytorium CodethinkLabs w witrynie GitHub zawiera wiele przykładowych aplikacji, w których pokazano, jak używać obsługiwanych urządzeń peryferyjnych MT3620 w aplikacjach obsługujących środowisko Azure Sphere w czasie rzeczywistym. W szczególności próbka PWM_RTApp_MT3620_BareMetal pokazuje, jak włączyć urządzenie peryferyjne programu PWM w aplikacji z obsługą czasu rzeczywistego.
W projekcie PWMAudio pokazano, jak używać rdzeni w czasie rzeczywistym do generowania dźwięku programu PWM (Pulse Width Modulation). Ten projekt jest częścią Galerii Azure Sphere, kolekcji nieutrzymanych skryptów, narzędzi i funkcji.