Megosztás a következőn keresztül:


PWM-ek használata magas szintű alkalmazásokban

Ez a témakör azt ismerteti, hogyan érheti el az eszköz impulzusszélességű modulátorait (PWM-eket) az Azure Sphere magas szintű alkalmazásokban való használatához.

Az impulzusszélesség-moduláció a pulzáló digitális jel vámciklusának (az idő és a kikapcsolt idő arányának) módosításával érhető el. A impulzusszélességű modulátorok számos alkalmazásban használhatók, például a digitális motorvezérlésben, a kommunikációban és a digitális-analóg átalakításban.

Ha PWM-eket szeretne használni az Azure Sphere-alkalmazásokban, meg kell adnia a szükséges fejlécfájlokat és Pwm képességeket, és meg kell adnia az alkalmazás által elérni kívánt PWM-csatornák vezérlőit.

A PWM_HighLevelApp minta bemutatja, hogyan használható a PWM egy egyszerű digitális-analóg konverziós alkalmazásban egy MT3620 eszközön.

PWM-követelmények

A PWM-eket használó alkalmazásoknak tartalmazniuk kell a megfelelő fejlécfájlt, és hozzá kell adniuk a PWM-beállításokat az alkalmazásjegyzékhez.

Minden alkalmazásnak be kell állítania a célhardverét , és tartalmaznia kell a megfelelő hardverdefiníció fejlécfájlját.

Fejlécfájlok

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

Cserélje le a "path-to-your-target-hardware.h" kifejezést a hardver fejlécfájljának elérési útjára.

Alkalmazásjegyzék beállításai

Az alkalmazás jegyzékfájljában található PWM-beállítás felsorolja az alkalmazás által elért PWM-vezérlőket. A beállítások konfigurálásához adja hozzá a Pwm képességet az alkalmazásjegyzékhez, majd adja hozzá az összes PWM-vezérlőt a képességhez. Az Azure Sphere-alkalmazásjegyzék további részleteket tartalmaz.

A kódban használja a hardverhez definiált állandókat a PWM-vezérlők azonosításához. A fordító ezeket az értékeket nyers értékekre fordítja le az alkalmazás létrehozásakor.

Íme például egy részlet egy MT3620 referenciafejlesztői táblát (RDB) megcélzó alkalmazás jegyzékfájljából.

 "Pwm": [ "$MT3620_RDB_LED_PWM_CONTROLLER2" ]

Az alábbi részlet bemutatja, hogyan adhatja meg ugyanazt a PWM-vezérlőt egy olyan alkalmazásban, amely az Avnet MT3620 Starter Kitet célozza:

  "Pwm": [ "$AVNET_MT3620_SK_PWM_CONTROLLER2" ]

PWM-hozzáférés

Az Azure Sphere magas szintű alkalmazásai applibs PWM API-k meghívásával férhetnek hozzá a PWM-hez.

PWM-vezérlő megnyitása

Egy PWM-vezérlő megnyitásához hívja meg a PWM_Open , és adja meg paraméterként a megnyitni kívánt vezérlő azonosítóját. Ha a hívás sikeres, a rendszer fájlleírót ad vissza. Ellenkező esetben a rendszer -1 értéket ad vissza.

PWM-csatorna állapotának beállítása

A PWM-csatorna állapotának beállításához vagy frissítéséhez hívja meg a PWM_Apply. A következő paramétereket adhatja át a PWM_Apply:

  • A PWM_Open által visszaadott fájlleíró

  • A frissíteni kívánt PWM-csatorna; ez az érték platformfüggetlen

  • A csatornára alkalmazandó időszak, vámciklus és polaritás

  • A csatorna engedélyezése vagy letiltása

Megjegyzés

Az időszakra és a vámciklusra vonatkozó minimális és maximális korlátok az eszköztől függenek. Az MT3620 magas szintű magján például a PWM-ek rögzített, 2 MHz-es alapfrekvencián futnak, 16 bites be- és kikapcsolt összehasonlító regiszterekkel. Ez 500 ns vámciklus-feloldási műveletet és körülbelül 32,77 ms tényleges maximális időtartamot ír elő. A részletekért tekintse meg az adott eszköz adatlapját.

MT3620-támogatás

Az MT3620 támogatott PWM-funkciói az MT3620 támogatási állapotában találhatók. Az MT3620 fejlesztői fal felhasználói útmutatója ismerteti a pin-kód elrendezését és a rögzítési függvényeket.

Az MT3620 12 PWM csatornával rendelkezik, PWM0 - PWM11. Ezek 4 csatornából álló 3 csoportba vannak rendezve. Minden csoport egy PWM-vezérlőhöz (PWM-CONTROLLER-0, PWM-CONTROLLER-1, PWM-CONTROLLER-2) van társítva. A PWM-csatornák és a GPIO a GPIO0-t a GPIO11-en keresztül ugyanazon tűkre rögzíti az MT3260-on. Ha az alkalmazás PWM-vezérlőt használ, akkor a vezérlőhöz társított összes gombostű PWM-kimenetként lesz lefoglalva. Más perifériatípusokhoz nem használhatók.