在支援即時的應用程式中使用 PWM
Azure 球體支援 Pulse Width Modulation。 脈衝寬度調製是透過各種負載迴圈 (脈衝數位訊號的上線與休假) 比例來達成。 脈衝寬度調製器 (PWM) 用於數位運動控制、通訊和數位對類比轉換等各種應用程式。
本主題說明如何在支援 PWM 的即時應用程式 (RTApp) 。 如需在高階應用程式中使用 PWM 的相關資訊,請參閱 在高階應用程式中使用 PWM。
注意
Azure 球體 OS 不會在啟動時重設周邊設備。 您的應用程式應確保周邊裝置在啟動時或重新開機之後處於已知良好狀態。
即時核心上的 PWM 支援 MT3620
本節說明只有在 MT3620 上執行 Azure 球體時才適用的 PWM 選項。
MT3620 支援的 PWM 功能列在 MT3620 支援狀態中。 MT3620 開發面板使用者指南說明釘選版面配置和釘選功能。
MT3620 有 12 個 PWM 通道,由 PWM0-PWM11 識別。 它們分成 3 個群組的 4 個頻道。 每個群組都與 PWM 控制器 (PWM-CONTROLLER-0、PWM-CONTROLLER-1、PWM-CONTROLLER-2) 相關聯。 PWM 通道和 GPIO 會透過 GPIO11 將 GPIO0 釘選到 MT3620 上的相同圖釘。 如果您的應用程式使用 PWM 控制器,所有與該控制器相關聯的圖釘都會配置為 PWM 輸出使用。 這些都無法用於 GPIO。
如需註冊基本位址、中斷號碼、時脈速率、取樣頻率,以及 MT3620 的其他詳細資料,請參閱 MT3620 資料工作表 和 MT3620 M4 使用者手冊;如果問題仍然存在,您可以透過電子郵件要求 Avnet 的 Azure.Sphere@avnet.com 詳細資料。
PWM 硬體可設定為使用三個時鐘頻率的其中之一:32 KHz、2 MHz (XTAL/13) 或 26 MHz (XTAL) 。 在 RT) 核心的即時 (上,即時應用程式 (RTApp) 可以選取要用來做為基座的時鐘。 不支援使用者定義的基礎頻率。 不過,您的應用程式可以產生訊號頻率,並衍生自選取的基本頻率。 例如,請參閱Azure 球體圖庫中的PWMAudio 範例應用。
應用程式資訊清單設定
若要在 RTApp 中使用 PWM,您可以將該 Pwm
功能新增至應用程式資訊清單,並指定應用程式中將使用的 PWM 控制器。 例如,下列行指定 PWM 控制器 0 用於針對 MT3620 參考開發面板 (RDB) 的 RTApp:
"Capabilities": {
"Pwm": [ "PWM-CONTROLLER-0" ] }
Azure 球體應用程式資訊清單 具有更多有關應用程式資訊清單的詳細資料。
PWM 範例應用程式
GitHub 上的 CodethinkLabs 存放庫包含一些範例應用程式,示範如何在 Azure 球體即時應用程式中使用 MT3620 支援的周邊設備。 具體來說, PWM_RTApp_MT3620_BareMetal 範例示範如何在支援即時的應用程式中整合 PWM 周邊設備。
PWMAudio 專案示範如何使用即時核心來產生 PWM (Pulse Width Modulation) 音訊。 此專案是 Azure 球體圖庫的一部分,它是未相關腳本、公用程式和函數的集合。