次の方法で共有


リアルタイム対応アプリケーションで PVM を使用する

重要

これは Azure Sphere (レガシ) のドキュメントです。 Azure Sphere (レガシ) は 2027 年 9 月 27 日に 再提供されておりユーザーは現時点で Azure Sphere (統合) に移行する必要があります。 TOC の上にある Version セレクターを使用して、Azure Sphere (統合) のドキュメントを表示します。

Azure Sphere では、パルス幅変調がサポートされています。 パルス幅変調は、パルス デジタル信号のデューティ サイクル (オフタイムに対するオンタイムの比率) を変えることで実現されます。 パルス幅変調器 (PWM) は、デジタル モーターの制御、通信、デジタルからアナログへの変換など、幅広いアプリケーションで使用されます。

このトピックでは、リアルタイム対応アプリケーション (RTApp) で PWM を使用する方法について説明します。 高度なアプリケーションでの PWM の使用の詳細については、高度なアプリケーションでの PWM の使用に関する記事を参照してください。

Note

Azure Sphere OS では起動時に周辺機器がリセットされません。 アプリケーションでは、起動時または再起動後に周辺機器が既知の良好な状態であることを確認する必要があります。

リアルタイム コアの PWM のための MT3620 サポート

このセクションでは、Azure Sphere が MT3620 で実行されている場合にのみ適用される PWM オプションについて説明します。

MT3620 でサポートされている PWM 機能は、「MT3620 のサポートの状態」に一覧表示されています。 「MT3620 開発ボードのユーザー ガイド」は、ピンのレイアウトと機能について説明します。

MT3620 には、PWM0 から PWM11 で識別される 12 個の PWM チャネルがあります。 これらは、それぞれ 4 つのチャネルから成る 3 つのグループに分類されます。 各グループは、PWM コントローラー (PWM-CONTROLLER-0、PWM-CONTROLLER-1、PWM-CONTROLLER-2) に関連付けられています。 PWM チャネルと GPIO ピン GPIO0 から GPIO11 は、MT3620 上の同じピンにマップされます。 アプリケーションで PWM コントローラーを使用する場合、そのコントローラーに関連付けられているすべてのピンが PWM 出力として使用するために割り当てられます。 これらのいずれも GPIO に使用することはできません。

MT3620 に関するレジスタ ベース アドレス、割り込み番号、クロック レート、サンプリング周波数などの詳細については、 MT3620 データシート および MT3620 M4 ユーザー マニュアルを参照してください。質問が残っている場合は、 Azure.Sphere@avnet.com電子メールで Avnet に詳細を要求できます。

PWM ハードウェアは、32 KHz、2 MHz (XTAL/13)、または 26 MHz (XTAL) の 3 つのクロック周波数のいずれかを使用するように構成できます。 リアルタイム (RT) コアでは、リアルタイム アプリケーション (RTApp) で、ベースとして使用するクロックを選択できます。 ユーザー定義の基本周波数はサポートされていません。 ただし、アプリケーションでは、選択した基本周波数から派生した信号周波数を生成できます。 例については、Azure Sphere ギャラリーのを参照してください。

アプリケーション マニフェストの設定

RTApp で PWM を使用するには、アプリケーション マニフェストに Pwm 機能を追加し、アプリケーションで使用する PWM コントローラーを指定します。 たとえば、次の行では、RTApp で使用するために PWM コントローラー 0 を指定しています。これは、MT3620 参照開発ボード (RDB) を対象にしています。

"Capabilities": {
   "Pwm": [ "PWM-CONTROLLER-0" ] }

Azure Sphere アプリケーション マニフェスト には、アプリケーション マニフェストの詳細が含まれています。

PWM サンプル アプリケーション

GitHub の CodethinkLabs リポジトリには、MT3620 でサポートされている周辺機器を Azure Sphere リアルタイム対応アプリケーションで使用する方法を示す多数のサンプル アプリケーションが含まれています。 具体的には、 PWM_RTApp_MT3620_BareMetal サンプルでは、PWM 周辺機器をリアルタイム対応アプリケーションに組み込む方法を示します。

PWMAudio プロジェクトは、リアルタイム コアを使用して PWM (パルス幅変調) オーディオを生成する方法を示しています。 このプロジェクトは、 Azure Sphere ギャラリー、管理されていないスクリプト、ユーティリティ、および関数のコレクションの一部です。