Použití PWM v aplikacích vysoké úrovně
Důležité
Toto je dokumentace k Azure Sphere (starší verze). Azure Sphere (starší verze) se vyřazuje 27. září 2027 a uživatelé musí do této doby migrovat do Azure Sphere (integrované). K zobrazení dokumentace k Azure Sphere (integrované) použijte selektor verzí umístěný nad obsahem.
Toto téma popisuje, jak přistupovat k modulátorům pulzní šířky zařízení (PWM) pro použití v aplikacích vysoké úrovně Azure Sphere.
Modulace šířky impulsu se dosahuje různou zátěžovým cyklem (poměrem času na volno) impulsovaného digitálního signálu. Modulátory s šířkou impulsu se používají v široké škále aplikací, jako je digitální ovládání motoru, komunikace a digitální-analogová konverze.
Pokud chcete ve svých aplikacích Azure Sphere používat PWM, musíte zahrnout požadované soubory hlaviček a Pwm
možnosti a zadat kontroler kanálů PWM, ke kterým bude vaše aplikace přistupovat.
Ukázka PWM_HighLevelApp ukazuje, jak používat PWM v jednoduché aplikaci pro převod digitálního na analogovém převodu na zařízení MT3620.
Požadavky PWM
Aplikace, které používají PWM, musí obsahovat příslušný hlavičkový soubor a přidat nastavení PWM do manifestu aplikace.
Všechny aplikace musí nastavit cílový hardware a zahrnout odpovídající soubor hlavičky definice hardwaru.
Soubory hlaviček
#include <applibs/pwm.h>
#include "path-to-your-target-hardware.h"
Nahraďte "path-to-your-target-hardware.h" cestou k souboru hlaviček vašeho hardwaru.
Nastavení manifestu aplikace
Nastavení PWM v manifestu aplikace obsahuje seznam kontrolerů PWM, ke kterým aplikace přistupuje. Pokud chcete tato nastavení nakonfigurovat, přidejte Pwm
do manifestu aplikace funkci a pak do této funkce přidejte každý kontroler PWM. Manifest aplikace Azure Sphere obsahuje další podrobnosti.
V kódu použijte konstanty definované pro váš hardware k identifikaci řadičů PWM. Kompilátor tyto hodnoty při sestavování aplikace přeloží na nezpracované hodnoty.
Tady je například výňatek z manifestu aplikace pro aplikaci, která cílí na referenční vývojovou desku MT3620 (RDB).
"Pwm": [ "$MT3620_RDB_LED_PWM_CONTROLLER2" ]
Následující výňatek ukazuje, jak určit stejný kontroler PWM v aplikaci, která cílí na Úvodní sadu Avnet MT3620:
"Pwm": [ "$AVNET_MT3620_SK_PWM_CONTROLLER2" ]
Přístup k PWM
Aplikace vysoké úrovně Azure Sphere mají přístup k PWM voláním rozhraní API PWM v applibs.
Otevření kontroleru PWM
Pokud chcete otevřít kontroler PWM pro přístup, zavolejte PWM_Open a předejte jako parametr ID kontroleru, který se má otevřít. Pokud je volání úspěšné, vrátí se popisovač souboru. V opačném případě se vrátí hodnota -1.
Nastavení stavu kanálu PWM
Pokud chcete nastavit nebo aktualizovat stav kanálu PWM, zavolejte PWM_Apply. Do PWM_Apply předáte následující parametry:
Popisovač souboru vrácený PWM_Open
Kanál PWM, který se má aktualizovat; tato hodnota je závislá na platformě.
Období, pracovní cyklus a polarita, které se vztahují na kanál
Jestli chcete kanál povolit nebo zakázat
Poznámka:
Minimální a maximální limity pro období a pracovní cyklus jsou závislé na zařízení. Například na jádru MT3620 vysoké úrovně běží PWM s pevnou základní frekvencí 2 MHz s 16bitovým on/off porovnávacích registrů. Tím se stanoví rozlišení 500 ns v průběhu cla a účinné maximální období přibližně 32,77 ms. Podrobnosti najdete v datovém listu konkrétního zařízení.
Podpora pro MT3620
Podporované funkce PWM pro MT3620 jsou uvedeny ve stavu podpory MT3620. Uživatelská příručka vývojové desky MT3620 popisuje funkce připnutí a připnutí.
MT3620 má 12 PWM kanálů, PWM0 - PWM11. Jsou uspořádané do 3 skupin 4 kanálů. Každá skupina je přidružena k kontroleru PWM (PWM-CONTROLLER-0, PWM-CONTROLLER-1, PWM-CONTROLLER-2). PWM kanály a GPIO špendlíky GPIO0 až GPIO11 mapují na stejné kolíky na MT3260. Pokud vaše aplikace používá kontroler PWM, jsou všechny kolíky přidružené k danému kontroleru přiděleny pro použití jako výstupy PWM. Nelze je použít pro žádný jiný typ periferního zařízení.