PWM グループ間のマルチチャネル PWM 同期
dsPIC33C MP デバイスの高解像度 PWM モジュールの使用方法の学習、ラボ 5: 3 つの多相 PWM 波形を生成する 3 つの PWM ジェネレータ チャネルを使用した高解像度 PWM モジュールの基本構成を紹介する dsPIC33CK および dsPIC33CH デバイスのコード例
常に各製品 Web サイトで最新のデータシートを確認してください。
デバイスがプログラムされ、MCU が起動すると、PWM ジェネレータ #1、#2、#3 は、PWM1H/PWM1L、PWM2H/PWM2L、および PWM3H/ で 200 kHz および 30% デューティ サイクルの PWM 波形の 3 つの相補ペアを生成します。それぞれPWM3L出力。これら 3 つの相補的な PWM 波形ペアは、互いに同相です。
デジタル電源開発ボードのオンボード押しボタンUSER を押すと、3 同相システムが 120 度の位相角分離を持つ 3 相 PWM システムに変更され、PWM2H/PWM2L ペアが 120 度進みます。 PWM1H/PWM1L および PWM3H/PWM3L からの角度は、PWM2H/PWM2L から 120 度進みます。システムは、USER スイッチで同相 PWM から多相 PWM に切り替えられます。
初期化プロセスとコード構造の詳細については、以下の「ファームウェア クイックスタート ガイド」セクションを参照してください。
このコード例は、Microchip Code Configurator (MCC) を使用してデバイスのクロック ドメインをセットアップする方法を示す前のコード例に基づいて構築されています。 MCC は高解像度 PWM モジュールの構成ツールもサポートしていますが、この例の PWM 構成は汎用のペリフェラル ドライバに基づいて構築されており、ユーザーがペリフェラル アーキテクチャと、特定の構成および動作モードの主要な側面をよりよく理解できるようにします。各 PWM サンプル コード プロジェクトでは、PWM 設定手順はユーザー ファイル pwm.c にあり、対象となる特定の機能またはモードを実現/有効にするために必要な各レジスタ ビットが設定され、その機能がコメントで説明されています。ユーザーがアーキテクチャ、機能、機能に慣れると、両方の構成オプション (汎用ペリフェラル ライブラリまたは MCC) を使用できるようになります。
プロジェクトには 4 つのサブディレクトリが含まれています
ハード ドライブ上の、main.c/h は MPLAB X プロジェクト ディレクトリにあります。他のすべてのユーザー ファイル。周辺機器ドライバーは、サブディレクトリsourcesにあります。 MCC によって生成されたファイルは、常に独自のサブディレクトリmcc_generated-filesに配置されます。
PWM ペリフェラル ドライバ ファイル p33c_pwm.c/h は、PWM ジェネレータの特殊機能レジスタ (SFR) セットと PWM ベース モジュールを表すデータ構造を提供します。これらの「仮想」PWM オブジェクトは、ハードコーディングされた命令を必要とせずに、PWM ジェネレータ構成をロード、読み取り、変更するために使用されます。これにより、コードをあるペリフェラルから別のペリフェラルに、さらにはデバイス間で移行することが困難になります。PWM 構成を簡素化するには、これらの例では、対象のユーザー構成が設定される前に、各レジスタが既知のデフォルト状態にリセットされます。したがって、特定の機能にとって実際に重要なレジスタ設定のみが示されています。
汎用 PWM ドライバー、そのサポートされている機能、および意図された使用例の詳細については、p33c_pwm.c 内のコメントをお読みください。
このコードは、自動的に起動して対象の機能を実行するように書かれています。コード例、テスト ポイント、予想される信号、デモ モードの動作の詳細については、ファイル main.c の先頭にあるデモの手順をお読みください。
© 2020、マイクロチップ テクノロジー株式会社