Použití PWM v aplikacích podporujících v reálném čase
Azure Sphere podporuje modulaci šířky impulsů. Modulace šířky impulsů se dosahuje proměnlivým cyklem zatížení (poměrem času zapnutí a doby mimo provoz) pulzního digitálního signálu. Modulátory šířky impulsů (PWM) se používají v široké škále aplikací, jako je digitální řízení motoru, komunikace a digitální převod na analogové.
Toto téma popisuje, jak používat PWM v aplikacích s podporou v reálném čase (RTApp). Informace o používání PWM v aplikacích vysoké úrovně najdete v tématu Použití PWM v aplikacích vysoké úrovně.
Poznámka
Operační systém Azure Sphere nerestartuje periferní zařízení při spuštění. Vaše aplikace by měly zajistit, aby periferní zařízení byla při spuštění nebo po restartování ve známém funkčním stavu.
Podpora MT3620 pro PWM na jádrech v reálném čase
Tato část popisuje možnosti PWM, které platí pouze při spuštění Azure Sphere na MT3620.
Funkce PWM, které mt3620 podporuje, jsou uvedené ve stavu podpory MT3620. Uživatelská příručka vývojové desky MT3620 popisuje rozložení připínáčku a funkce připnutí.
MT3620 má 12 kanálů PWM, které jsou identifikovány PWM0-PWM11. Jsou uspořádané do 3 skupin po 4 kanálech. Každá skupina je přidružena k kontroleru PWM (PWM-CONTROLLER-0, PWM-CONTROLLER-1, PWM-CONTROLLER-2). Kanály PWM a GPIO připíná GPIO0 až GPIO11 na stejné špendlíky na MT3620. Pokud vaše aplikace používá kontroler PWM, jsou všechny kolíky přidružené k ho kontroleru přiděleny pro použití jako výstupy PWM. Žádné z nich nelze použít pro GPIO.
Základní adresy registru, čísla přerušení, frekvence hodin, vzorkovací frekvence a další podrobnosti o MT3620 najdete v datovém listu MT3620 a uživatelské příručce MT3620 M4; pokud otázky přetrvávají, můžete si vyžádat podrobnosti od avnetu Azure.Sphere@avnet.come-mailem .
Hardware PWM lze nakonfigurovat tak, aby používal jednu ze tří taktovacích frekvencí: 32 KHz, 2 MHz (XTAL/13) nebo 26 MHz (XTAL). U jader v reálném čase (RT) může aplikace v reálném čase (RTApp) vybrat, které hodiny se mají použít jako základ. Uživatelem definované základní frekvence nejsou podporovány. Vaše aplikace však může generovat frekvence signálu, které jsou odvozeny z vybrané základní frekvence. Příklad najdete v ukázkové aplikaci PWMAudio v galerii Azure Sphere.
Nastavení manifestu aplikace
Pokud chcete použít PWM v aplikaci RTApp, přidejte Pwm
funkci do manifestu aplikace a zadejte kontrolery PWM, které se budou v aplikaci používat. Například následující řádek určuje kontroler PWM 0 pro použití v aplikaci RTApp, která cílí na mt3620 referenční vývojovou desku (RDB):
"Capabilities": {
"Pwm": [ "PWM-CONTROLLER-0" ] }
Manifest aplikace Azure Sphere obsahuje další podrobnosti o manifestu aplikace.
Ukázkové aplikace PWM
Úložiště CodethinkLabs na GitHubu obsahuje řadu ukázkových aplikací, které ukazují, jak používat periferní zařízení podporovaná pro MT3620 v aplikacích Azure Sphere podporujících real-time. Konkrétně PWM_RTApp_MT3620_BareMetal ukázka ukazuje, jak začlenit periferní zařízení PWM do aplikace podporující v reálném čase.
Projekt PWMAudio ukazuje, jak pomocí jader v reálném čase generovat zvuk PWM (Pulse Width Modulation). Tento projekt je součástí galerie Azure Sphere, kolekce neudržovaných skriptů, nástrojů a funkcí.