Sdílet prostřednictvím


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í.