88
© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-1 高速 PWM ( パート V) 50 セクション 50. 高速 PWM ( パート V) ハイライト 本セクションには下記の主要項目を記載しています。 50.1 はじめに ...................................................................................................................... 50-2 50.2 特長 ............................................................................................................................. 50-2 50.3 制御レジスタ .............................................................................................................. 50-3 50.4 アーキテクチャの概要 .............................................................................................. 50-30 50.5 モジュールの説明 ..................................................................................................... 50-33 50.6 PWM ジェネレータ ................................................................................................... 50-39 50.7 PWM トリガ ............................................................................................................. 50-50 50.8 PWM 割り込み .......................................................................................................... 50-56 50.9 PWM 動作モード ...................................................................................................... 50-57 50.10 PWM フォルトピン ................................................................................................... 50-60 50.11 その他の特殊な機能 .................................................................................................. 50-67 50.12 PWM 出力ピンの制御 ............................................................................................... 50-74 50.13 PWM デューティサイクルの即時更新 ...................................................................... 50-76 50.14 省電力モード ............................................................................................................ 50-77 50.15 個別タイムベースの外部制御 ................................................................................... 50-78 50.16 周波数分解能の拡張 .................................................................................................. 50-78 50.17 アプリケーション情報 .............................................................................................. 50-79 50.18 レジスタマップ ......................................................................................................... 50-86 50.19 関連アプリケーション ノート .................................................................................. 50-87 50.20 改訂履歴 .................................................................................................................... 50-88 注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ ナルの英語版をご参照願います。

セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

注意 : この日本語版文書は参考資料としてご利用ください。 新情報は必ずオリジナルの英語版をご参照願います。

セクション 50. 高速 PWM ( パート V)

高速

PWM

(パート

V)

50

ハイライト

本セクションには下記の主要項目を記載しています。

50.1 はじめに ...................................................................................................................... 50-250.2 特長 ............................................................................................................................. 50-250.3 制御レジスタ .............................................................................................................. 50-350.4 アーキテクチャの概要 .............................................................................................. 50-3050.5 モジュールの説明 ..................................................................................................... 50-3350.6 PWM ジェネレータ ................................................................................................... 50-3950.7 PWM トリガ ............................................................................................................. 50-5050.8 PWM 割り込み .......................................................................................................... 50-5650.9 PWM 動作モード ...................................................................................................... 50-5750.10 PWM フォルトピン ................................................................................................... 50-6050.11 その他の特殊な機能 .................................................................................................. 50-6750.12 PWM 出力ピンの制御 ............................................................................................... 50-7450.13 PWM デューティサイクルの即時更新 ...................................................................... 50-7650.14 省電力モード ............................................................................................................ 50-7750.15 個別タイムベースの外部制御 ................................................................................... 50-7850.16 周波数分解能の拡張 .................................................................................................. 50-7850.17 アプリケーション情報 .............................................................................................. 50-7950.18 レジスタマップ ......................................................................................................... 50-8650.19 関連アプリケーション ノート .................................................................................. 50-8750.20 改訂履歴 .................................................................................................................... 50-88

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-1

Page 2: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.1 はじめに

本セクションでは、 高速 PWM モジュールとその動作モードについて説明します。dsPIC33F デバイスファミリの高速 PWM モジュールは、多種の PWM モードをサポートし、電力変換アプリケーションに 適です。

高速 PWM モジュールを使用する一般的アプリケーションには下記が含まれます。

• AC/DC コンバータ

• 力率改善 (PFC) 回路

• インバータ

• DC/DC コンバータ

• バッテリ充電器

• デジタル照明

• 無停電電源 (UPS) • AC および DC モータ

50.2 特長

高速 PWM モジュールは以下の特長を備えます。

• 2 個のマスタ タイムベース モジュール

• 大 9 個の PWM ジェネレータ

• 各 PWM ジェネレータに 2 個の PWM 出力

• 各 PWM 出力で別々のタイムベースとデューティサイクル

• 分解能 1.04 ns のデューティサイクル、デッドタイム、位相シフト、周波数

• 8 個の PWM 出力で別々のフォルト入力と電流制限入力

• 冗長出力

• 完全独立出力

• センターアライン PWM モード

• 出力オーバーライド制御

• チョップモード ( 別名ゲート付きモード )• 特殊イベント トリガ

• 入力クロックのプリスケーラ

• PWM から A/D コンバータ (ADC) へのデュアルトリガ ( 毎 PWM 周期 )• PWMxL/PWMxH 出力ピンのスワップ

• PWM 周波数、デューティサイクル、位相シフトを別々に変更可能

• デッドタイム補償

• 拡張リーディング エッジ ブランキング (LEB) 機能

• 周波数分解能の拡張

• PWM キャプチャ機能

Note: センターアライン PWM モード時のデューティサイクル、デッドタイム、位相シフト、周波数の分解能は 8.32 ns です。

DS70579A_JP - p. 50-2 Preliminary © 2009 Microchip Technology Inc.

Page 3: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.3 制御レジスタ

以下では、高速 PWM モジュールの動作を制御する下記の各レジスタの機能について説明します。

• PTCON: PWM プライマリマスタ タイムベース制御レジスタ

- 高速 PWM モジュールの有効化 / 無効化

- A/D コンバータ (ADC) 用のプライマリ特殊イベントトリガの設定

- 即時周期更新の有効化 / 無効化

- マスタ タイムベースの同期ソースの選択 - 同期設定

• PTCON2: PWM プライマリマスタ クロック分周比選択レジスタ

- PWM プライマリマスタ タイムベース用クロック プリスケーラ

• PTPER: プライマリマスタ タイムベース周期レジスタ

- PWM プライマリマスタ タイムベース周期値

• SEVTCMP: PWM プライマリ特殊イベント コンペアレジスタ

- ADC モジュールのトリガに使用するコンペア値

• STCON: PWM セカンダリマスタ タイムベース制御レジスタ

- A/D コンバータ (ADC) 用のセカンダリ特殊イベントトリガの設定

- セカンダリマスタ タイムベースの即時周期更新の有効化 / 無効化

- セカンダリマスタ タイムベースの同期ソースの選択 - セカンダリマスタ タイムベースの同期設定

• STCON2: PWM セカンダリ クロック分周比選択レジスタ

- PWM セカンダリマリマスタ タイムベース用クロック プリスケーラ

• STPER: セカンダリマスタ タイムベース周期レジスタ

- セカンダリマスタ タイムベースの PWM 周期値

• SSEVTCMP: PWM セカンダリ特殊イベント コンペアレジスタ

- ADC モジュールのトリガに使用するセカンダリマスタ タイムベースのコンペア値

• CHOP: PWM チョップクロック ジェネレータ レジスタ

- PWM 出力の変調に使用するチョップ信号の有効化 / 無効化

- チョップ信号周期の定義

• MDC: PWM マスタ デューティサイクル レジスタ

- PWM マスタデューティサイクル値

• PWMCONx: PWM 制御レジスタ

- フォルト割り込み、電流制限割り込み、プライマリトリガ割り込みの有効化 / 無効化

- フォルト割り込み、電流制限割り込み、プライマリトリガ割り込みの割り込みステータス

- タイムベースのタイプ ( マスタタイムベースまたは独立タイムベース ) の選択

- デューティサイクルのタイプ ( マスタ デューティサイクルまたは独立デューティサイクル )の選択

- デッドタイム モードの制御

- センターアライン モードの有効化 / 無効化

- 外部 PWM リセット動作の制御

- デューティサイクル、位相オフセット、独立タイムベース周期の即時更新の有効化 / 無効化

• PDCx: PWM ジェネレータ デューティサイクル レジスタ

- 共通タイムベースを選択した場合の PWMxH/PWMxL 出力のデューティサイクル値

- 独立タイムベースを選択した場合の PWMxH 出力のデューティサイクル値

• PHASEx: PWM プライマリ位相シフトレジスタ

- マスタ タイムベースを選択した場合の PWMxH 出力の位相シフト値

- 独立タイムベースを選択した場合の PWMxH 出力の独立タイムベース周期

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-3

Page 4: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

• DTRx: PWM デッドタイム レジスタ

- 正のデッドタイムを選択した場合の PWMxH 出力のデッドタイム値

- 負のデッドタイムを選択した場合の PWMxL 出力のデッドタイム値

• ALTDTRx: PWM 代替デッドタイム レジスタ

- 正のデッドタイムを選択した場合の PWMxL 出力のデッドタイム値

- 負のデッドタイムを選択した場合の PWMxH 出力のデッドタイム値

• SDCx: PWM セカンダリ デューティサイクル レジスタ

- 独立タイムベースを選択した場合の PWMxL 出力のデューティサイクル値

• SPHASEx: PWM セカンダリ位相シフトレジスタ

- マスタ タイムベースを選択した場合の PWMxL 出力の位相シフト

- 独立タイムベースを選択した場合の PWMxL 出力の独立タイムベース周期値

• TRGCONx: PWM トリガ制御レジスタ

- PWMx トリガ ポストスケーラ開始イベントの有効化

- 初のトリガを生成する前にスキップする PWM サイクル数の指定

- プライマリ PWM トリガイベントとセカンダリ PWM トリガイベントの組み合わせ使用の有効化 / 無効化

• IOCONx: PWM I/O 制御レジスタ

- PWM ピン制御機能の有効化 / 無効化 (PWM または GPIO によるピン制御 )- PWMxH および PWMxL 出力の極性の制御

- 下記のモードを選択した場合の PWMxH および PWMxL 出力の制御 : • 相補モード

• プッシュプル モード

• 完全独立モード

• FCLCONx: PWM フォルト / 電流制限制御レジスタ

- 電流制限制御信号ソースとデッドタイム補償制御信号ソースの選択

- 電流制限の極性の選択

- 電流制限モードの有効化 / 無効化

- フォルト制御信号ソースの選択

- フォルト極性の設定

- フォルトモードの有効化 / 無効化

• TRIGx: PWM プライマリ トリガコンペア値レジスタ

- プライマリ PWM トリガ生成用のコンペア値

• STRIGx: PWM セカンダリ トリガコンペア値レジスタ

- セカンダリ PWM トリガ生成用のコンペア値

• LEBCONx: リーディング エッジ ブランキング制御レジスタ

- リーディング エッジ ブランキング用 PWM 出力の立ち上がり / 立ち下がりエッジの選択

- フォルトおよび電流制限入力のリーディング エッジ ブランキングの有効化 / 無効化

- 選択したブランキング信号(PWMxH、PWMxL、またはBLANKSEL<3:0> (AUXCONx<11:8>)ビットが指定する他の信号 ) の HIGH または LOW 時のフォルト入力および電流制限信号のブランキングの状態の指定

• LEBDLYx: リーディング エッジ ブランキング遅延レジスタ

- 選択したフォルト入力と電流制限信号のブランキング時間の指定

• AUXCONx: PWM 補助制御レジスタ

- 高分解能 PWM 周期およびデューティサイクルの有効化 / 無効化 ( 無効化によりシステム消費電力を低減 )

- 電流制限信号とフォルト入力の状態ブランキング信号の選択

• PWMCAPx: プライマリ PWM タイムベース キャプチャ レジスタ

- 電流制限入力でリーディング エッジを検出して電流制限信号に対するリーディング エッジ ブランキング処理を完了した時にキャプチャした独立タイムベース値

DS70579A_JP - p. 50-4 Preliminary © 2009 Microchip Technology Inc.

Page 5: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

レジスタ 50-1: PTCON: PWM プライマリマスタ タイムベース制御レジスタ

R/W-0 U-0 R/W-0 HS/HC-0 R/W-0 R/W-0 R/W-0 R/W-0

PTEN — PTSIDL SESTAT SEIEN EIPU(1) SYNCPOL(1) SYNCOEN(1)

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

SYNCEN(1) SYNCSRC<2:0>(1) SEVTPS<3:0>(1)

bit 7 bit 0

凡例 : HC = ハードウェアでクリア HS = ハードウェアでセット

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15 PTEN: PWM モジュール イネーブルビット 1 = PWM モジュールを有効にする0 = PWM モジュールを無効にする

bit 14 未実装 :「0」として読み出し bit 13 PTSIDL: アイドルモード時 PWM タイムベース停止ビット

1 = CPU アイドルモード時に PWM タイムベースは停止する0 = CPU アイドルモード時も PWM タイムベースは動作する

bit 12 SESTAT: 特殊イベント割り込みステータスビット

1 = 特殊イベント割り込みは保留中0 = 特殊イベント割り込みは保留中ではない

bit 11 SEIEN: 特殊イベント割り込みイネーブルビット

1 = 特殊イベント割り込みを有効にする0 = 特殊イベント割り込みを無効にする

bit 10 EIPU: 即時周期更新イネーブルビット (1)

1 = アクティブな周期レジスタを即時更新する0 = アクティブな周期レジスタを PWM サイクル境界で更新する

bit 9 SYNCPOL: 同期入出力極性ビット (1)

1 = SYNCIx/SYNCO の極性を反転する ( アクティブ LOW にする )0 = SYNCIx/SYNCO をアクティブ HIGH にする

bit 8 SYNCOEN: プライマリ タイムベース同期イネーブルビット (1)

1 = SYNCO 出力を有効にする0 = SYNCO 出力を無効にする

bit 7 SYNCEN: 外部タイムベース同期イネーブルビット (1)

1 = プライマリ タイムベースの外部同期を有効にする0 = プライマリ タイムベースの外部同期を無効にする

bit 6-4 SYNCSRC<2:0>: 同期ソース選択ビット (1)

011 = SYNCI4010 = SYNCI3001 = SYNCI2000 = SYNCI1

bit 3-0 SEVTPS<3:0>: PWM 特殊イベントトリガ出力ポストスケーラ選択ビット (1)

1111 = 1:16 ポストスケーラ ; コンペア一致イベント 16 回毎に特殊イベントトリガを生成する•••0001 = 1:2 ポストスケーラ ; コンペア一致イベント 2 回毎に特殊イベントトリガを生成する0000 = 1:1 ポストスケーラ ; コンペア一致イベントで毎回特殊イベントトリガを生成する

Note 1: PTEN = 1 の時にこれらのビットを変更しないでください。また、SYNCIx 機能を使用する場合、ユーザアプリケーションは外部同期入力信号の予測周期よりも少し長い周期値を周期レジスタに書き込む必要があります。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-5

Page 6: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

レジスタ 50-2: PTCON2: PWM プライマリマスタ クロック分周比選択レジスタ

U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

— — — — — — — —bit 15 bit 8

U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0

— — — — — PCLKDIV<2:0>(1)

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-3 未実装 :「0」として読み出し

bit 2-0 PCLKDIV<2:0>: PWM 入力クロック プリスケーラ ( 分周比 ) 選択ビット (1)

111 = 予約済み

110 = 64 分周、 大 PWM タイミング分解能101 = 32 分周、 大 PWM タイミング分解能100 = 16 分周、 大 PWM タイミング分解能011 = 8 分周、 大 PWM タイミング分解能010 = 4 分周、 大 PWM タイミング分解能001 = 2 分周、 大 PWM タイミング分解能000 = 1 分周、 大 PWM タイミング分解能 ( 起動時の既定値 )

Note 1: PTEN = 1の時にこれらのビットを変更しないでください。動作中にクロック選択を変更すると、予測不能な結果が生じます。

レジスタ 50-3: PTPER: プライマリマスタ タイムベース周期レジスタ

R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1

PTPER<15:8>

bit 15 bit 8

R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-0 R/W-0 R/W-0

PTPER<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-0 PTPER<15:0>: プライマリマスタ タイムベース (PMTMR) 周期値ビット

Note: PWM タイムベースの 小値は 0x0010、 大値は 0xFFFB です。

DS70579A_JP - p. 50-6 Preliminary © 2009 Microchip Technology Inc.

Page 7: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

レジスタ 50-4: SEVTCMP: PWM プライマリ特殊イベント コンペアレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

SEVTCMP<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 U-0

SEVTCMP<7:3> — — —

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-3 SEVTCMP<15:3>: 特殊イベント コンペアカウント値ビット

bit 2-0 未実装 :「0」として読み出し

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-7

Page 8: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

レジスタ 50-5: STCON: PWM セカンダリマスタ タイムベース制御レジスタ

U-0 U-0 U-0 HS/HC-0 R/W-0 R/W-0 R/W-0 R/W-0— — — SESTAT SEIEN EIPU(1) SYNCPOL SYNCOEN

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0SYNCEN SYNCSRC<2:0> SEVTPS<3:0>

bit 7 bit 0

凡例 : HC = ハードウェアでクリ

アHS = ハードウェアでセット

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-13 未実装 :「0」として読み出し

bit 12 SESTAT: 特殊イベント割り込みステータスビット

1 = セカンダリ特殊イベント割り込みは保留中0 = セカンダリ特殊イベント割り込みは保留中ではない

bit 11 SEIEN: 特殊イベント割り込みイネーブルビット

1 = セカンダリ特殊イベント割り込みを有効にする0 = セカンダリ特殊イベント割り込みを無効にする

bit 10 EIPU: 即時周期更新イネーブルビット (1)

1 = アクティブなセカンダリ周期レジスタを即時更新する0 = アクティブなセカンダリ周期レジスタを PWM サイクル境界で更新する

bit 9 SYNCPOL: 入出力同期極性ビット

1 = SYNCIN の立ち下がりエッジで SMTMR をリセットする (SYNCO2 出力はアクティブ LOW)0 = SYNCIN の立ち上がりエッジで SMTMR をリセットする (SYNCO2 出力はアクティブ HIGH)

bit 8 SYNCOEN: セカンダリマスタ タイムベース同期イネーブルビット

1 = SYNCO2 出力を有効にする0 = SYNCO2 出力を無効にする

bit 7 SYNCEN: 外部セカンダリマスタ タイムベース同期イネーブルビット

1 = セカンダリ タイムベースの外部同期を有効にする0 = セカンダリ タイムベースの外部同期を無効にする

bit 6-4 SYNCSRC<2:0>: セカンダリ タイムベース同期ソース選択ビット

011 = SYNCI4010 = SYNCI3001 = SYNCI2000 = SYNCI1

bit 3-0 SEVTPS<3:0>: PWM セカンダリ特殊イベントトリガ出力ポストスケーラ選択ビット

1111 = 1:16 にポストスケールする

•••0001 = 1:2 にポストスケールする0000 = 1:1 にポストスケールする

Note 1: このビットは、セカンダリマスタ タイムベース周期のみに適用します。

DS70579A_JP - p. 50-8 Preliminary © 2009 Microchip Technology Inc.

Page 9: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

レジスタ 50-6: STCON2: PWM セカンダリ クロック分周比選択レジスタ

U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

— — — — — — — —bit 15 bit 8

U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0

— — — — — PCLKDIV<2:0>(1)

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-3 未実装 :「0」として読み出し

bit 2-0 PCLKDIV<2:0>: PWM 入力クロック プリスケーラ ( 分周比 ) 選択ビット (1)

111 = 予約済み

110 = 64 分周、 大 PWM タイミング分解能101 = 32 分周、 大 PWM タイミング分解能100 = 16 分周、 大 PWM タイミング分解能011 = 8 分周、 大 PWM タイミング分解能010 = 4 分周、 大 PWM タイミング分解能001 = 2 分周、 大 PWM タイミング分解能000 = 1 分周、 大 PWM タイミング分解能 ( 起動時の既定値 )

Note 1: PTEN = 1の時にこれらのビットを変更しないでください。動作中にクロック選択を変更すると、予測不能な結果が生じます。

レジスタ 50-7: STPER: セカンダリマスタ タイムベース周期レジスタ (1)

R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1

PTPER<15:8>

bit 15 bit 8

R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-0 R/W-0 R/W-0

PTPER<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-0 STPER<15:0>: セカンダリマスタ タイムベース (PMTMR) 周期値ビット

Note 1: PWM タイムベースの 小値は 0x0010、 大値は 0xFFFB です。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-9

Page 10: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

レジスタ 50-8: SSEVTCMP: PWM セカンダリ特殊イベント コンペアレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

SSEVTCMP<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 U-0

SSEVTCMP<7:3> — — —

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-3 SSEVTCMP<15:3>: 特殊イベント コンペアカウント値ビット

bit 2-0 未実装 :「0」として読み出し

レジスタ 50-9: CHOP: PWM チョップクロック ジェネレータ レジスタ

R/W-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0

CHPCLKEN — — — — — CHOP<9:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 U-0

CHOP<7:3> — — —

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15 CHPCLKEN: チョップクロック ジェネレータ イネーブルビット

1 = チョップクロック ジェネレータを有効にする0 = チョップクロック ジェネレータを無効にする

bit 14-10 未実装 :「0」として読み出し

bit 9-3 CHOP<9:3>: チョップクロック分周比ビット

値の 小分解能は 8.32 ns です。チョップクロック信号の周波数は下式により求まります。

チョップ周波数 = 1/(16.64 * (CHOP<9:3>+ 1) * プライマリマスタ PWM 入力クロック /PCLKDIV<2:0>)

DS70579A_JP - p. 50-10 Preliminary © 2009 Microchip Technology Inc.

Page 11: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

レジスタ 50-10: MDC: PWM マスタ デューティサイクル レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

MDC<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

MDC<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-0 MDC<15:0>: マスタ PWM デューティサイクル値ビット

Note 1: PWM 出力で生成可能な 小パルス幅に対応する値は 0x0008、 大パルス幅に対応する値は -0x0008 です。

2: デューティサイクルが PWM 周期の 0% または 100% に近付く (0 ~ 40 ns、動作モードによって異なる )に従って、PWM デューティサイクルの分解能は 1 LSB から 3 LSB に増加します。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-11

Page 12: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

レジスタ 50-11: PWMCONx: PWM 制御レジスタ

HS/HC-0 HS/HC-0 HS/HC-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

FLTSTAT(1) CLSTAT(1) TRGSTAT FLTIEN CLIEN TRGIEN ITB(2) MDCS(2)

bit 15 bit 8

R/W-0 R/W-0 R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0

DTC<1:0>(3) DTCP(3) — MTBS CAM(2,4) XPRES(5) IUE

bit 7 bit 0

凡例 : HC = ハードウェアでクリア HS = ハードウェアでセット

R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15 FLTSTAT: フォルト割り込みステータスビット (1)

1 = フォルト割り込みは保留中0 = フォルト割り込みは保留中ではないこのビットは FLTIEN を「0」に設定する事によりクリアされます。

bit 14 CLSTAT: 電流制限割り込みステータスビット (1)

1 = 電流制限割り込みは保留中0 = 電流制限割り込みは保留中ではないこのビットは CLIEN を「0」に設定する事によりクリアされます。

bit 13 TRGSTAT: トリガ割り込みステータスビット

1 = トリガ割り込みは保留中0 = トリガ割り込みは保留中ではないこのビットは TRGIEN を「0」に設定する事によりクリアされます。

bit 12 FLTIEN: フォルト割り込みイネーブルビット

1 = フォルト割り込みを有効にする0 = フォルト割り込みを無効にする (FLTSTAT ビットはクリアされる )

bit 11 CLIEN: 電流制限割り込みイネーブルビット

1 = 電流制限割り込みを有効にする0 = 電流制限割り込みを無効にする (CLSTAT ビットはクリアされる )

bit 10 TRGIEN: トリガ割り込みイネーブルビット

1 = トリガイベントは割り込み要求を生成する0 = トリガイベント割り込みを無効にする (TRGSTAT ビットはクリアされる )

bit 9 ITB: 独立タイムベース モードビット (2)

1 = PHASEx/SPHASEx レジスタがこの PWM ジェネレータのタイムベース周期を提供する0 = PTPER レジスタがこの PWM ジェネレータのタイミングを提供する

bit 8 MDCS: マスタ デューティサイクル レジスタ選択ビット (2)

1 = MDC レジスタがこの PWM ジェネレータのデューティサイクル情報を提供する0 = PDCxレジスタとSDCxレジスタがこのPWMジェネレータのデューティサイクル情報を提供する

Note 1: ソフトウェアは、これらの割り込みステータスビットと、割り込みコントローラ内の対応する IFS ビットをクリアする必要があります。

2: センターアライン モードを使用する場合、独立タイムベース モードを有効 (ITB = 1) にする必要があります。ITB = 0の場合、CAM ビットは無視されます。

3: DTCPDTC<1:0> = 11以外の場合、DTCP ビットは効果を持ちません ( 無視されます )。4: これらのビットは、PWM モジュールを有効 (PTEN = 1) にした後に変更しないでください。

5: 外部周期リセットモードで動作する場合、FCLCONx レジスタの CLMOD ビットは「0」である事が必要です。

DS70579A_JP - p. 50-12 Preliminary © 2009 Microchip Technology Inc.

Page 13: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

bit 7-6 DTC<1:0>: デッドタイム制御ビット (3)

11 = デッドタイム補償モード

10 = デットタイム機能を無効にする01 = 相補出力モードに負のデッドタイムを適用する00 = 全ての出力モードに正のデッドタイムを適用する

bit 5 DTCP: デッドタイム補償極性ビット (3)

「1」にセットした場合 :DTCMPx = 0の場合、PWMxL を短縮し、PWMxH を延長するDTCMPx = 1の場合、PWMxH を短縮し、PWMxL を延長する

「0」にクリアした場合 :DTCMPx = 0の場合、PWMxH を短縮し、PWMxL を延長するDTCMPx = 1の場合、PWMxL を短縮し、PWMxH を延長する

bit 4 未実装 :「0」として読み出し

bit 3 MTBS: マスタ タイムベース選択ビット

1 = PWM ジェネレータは同期用と PWM 生成ロジックのクロック源として、セカンダリマスタ タイムベースを使用する ( セカンダリ タイムベースが利用可能な場合 )

0 = PWM ジェネレータは同期用と PWM 生成ロジックのクロック源としてプライマリマスタ タイムベースを使用する

bit 2 CAM: センターアライン モード イネーブルビット (2,4)

1 = センターアライン モードを有効にする0 = エッジアライン モードを有効にする

bit 1 XPRES: 外部 PWM リセット制御ビット (5)

1 = 独立タイムベース モードで動作している場合、電流制限ソースがこの PWM ジェネレータのタイムベースをリセットする

0 = 外部ピンは PWM タイムベースに影響しない

bit 0 IUE: 即時更新イネーブルビット

1 = アクティブな MDC/PDCx/SDCx レジスタを即時更新する0 = アクティブな PDCx レジスタを PWM タイムベースに同期して更新する

レジスタ 50-11: PWMCONx: PWM 制御レジスタ ( 続き )

Note 1: ソフトウェアは、これらの割り込みステータスビットと、割り込みコントローラ内の対応する IFS ビットをクリアする必要があります。

2: センターアライン モードを使用する場合、独立タイムベース モードを有効 (ITB = 1) にする必要があります。ITB = 0の場合、CAM ビットは無視されます。

3: DTCPDTC<1:0> = 11以外の場合、DTCP ビットは効果を持ちません ( 無視されます )。4: これらのビットは、PWM モジュールを有効 (PTEN = 1) にした後に変更しないでください。

5: 外部周期リセットモードで動作する場合、FCLCONx レジスタの CLMOD ビットは「0」である事が必要です。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-13

Page 14: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

レジスタ 50-12: PDCx: PWM ジェネレータ デューティサイクル レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

PDCx<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

PDCx<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-0 PDCx<15:0>: PWM ジェネレータ # デューティサイクル値ビット

Note 1: 独立 PWM モードの場合、PDCx レジスタは PWMxH のみのデューティサイクルを制御します。相補、冗長、プッシュプル PWM モードの場合、PDCx レジスタは PWMxH と PWMxL の両方のデューティサイクルを制御します。

2: PWM 出力で生成可能な 小パルス幅に対応する値は 0x0008、 大パルス幅に対応する値は -0x0008 です。

3: デューティサイクルが PWM 周期の 0% または 100% に近付く (0 ~ 40 ns、動作モードによって異なる )に従って、PWM デューティサイクルの分解能は 1 LSB から 3 LSB に増加します。

レジスタ 50-13: SDCx: PWM セカンダリ デューティサイクル レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

SDCx<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

SDCx<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-0 SDCx<15:0>: PWMxL 出力ピン セカンダリ デューティサイクル ビット

Note 1: SDCx レジスタは独立 PWM モード時にのみ使用します。独立 PWM モードで使用する場合、SDCx レジスタは PWMxL のデューティサイクルを制御します。

2: PWM 出力で生成可能な 小パルス幅に対応する値は 0x0008、 大パルス幅に対応する値は -0x0008 です。

3: デューティサイクルが PWM 周期の 0% または 100% に近付く (0 ~ 40 ns、動作モードによって異なる )に従って、PWM デューティサイクルの分解能は 1 LSB から 3 LSB に増加します。

DS70579A_JP - p. 50-14 Preliminary © 2009 Microchip Technology Inc.

Page 15: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

レジスタ 50-14: PHASEx: PWM プライマリ位相シフトレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

PHASEx<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

PHASEx<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-0 PHASEx<15:0>: PWM ジェネレータ PWM 位相シフト値 / 独立タイムベース周期ビット

Note 1: ITB (PWMCONx<9>) = 0の場合、動作モードに基づいて下記を適用します。

• 相補、冗長、プッシュプル出力モード (PMOD<1:0> (IOCON<11:10>) = 00、01、10) の場合、PHASEx<15:0> の値を PWMxH および PWMxL 出力の位相シフト値に使用します。

• 完全独立出力モード (PMOD<1:0> (IOCONx<11:10>) = 11) の場合、PHASEx<15:0> の値を PWMxLのみの位相シフト値に使用します。

2: ITB (PWMCONx<9>) = 1の場合、動作モードに基づいて下記を適用します。 • 相補、冗長、プッシュプル出力モード (PMOD<1:0> (IOCONx<11:10>) = 00、01、10) の場合、

PHASEx<15:0> の値を PWMxH および PWMxL の独立タイムベース周期値に使用します。

• 完全独立出力モード (PMOD<1:0> (IOCONx<11:10>) = 11)の場合、 PHASEx<15:0>の値をPWMxHのみの独立タイムベース周期値に使用します。

• PWM 出力で生成可能な 小パルス幅に対応する値は 0x0008、 大パルス幅に対応する値は -0x0008です。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-15

Page 16: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

レジスタ 50-15: SPHASEx: PWM セカンダリ位相シフトレジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

SPHASEx<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

SPHASEx<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-0 SPHASEx<15:0>: PWMxL 出力ピン セカンダリ位相オフセットビット ( 独立 PWM モード時にのみ使用 )

Note 1: ITB (PWMCONx<9>) = 0の場合、動作モードに基づいて下記を適用します。

• 相補、冗長、プッシュプル出力モード (PMOD<1:0> (IOCON<11:10>) = 00、01、10) の場合、SPHASEx<15:0> の値を使用しません。

• 完全独立出力モード (PMOD<1:0> (IOCON<11:10>) = 11) の場合、PHASEx<15:0> の値を PWMxL のみの位相シフト値に使用します。

2: ITB (PWMCONx<9>) = 1の場合、動作モードに基づいて下記を適用します。

• 相補、冗長、プッシュプル出力モード (PMOD<1:0> (IOCON<11:10>) = 00、01、10) の場合、SPHASEx<15:0> の値を使用しません。

• 完全独立出力モード (PMOD<1:0> (IOCON<11:10>) = 11) の場合、PHASEx<15:0> の値を PWMxL のみの独立タイムベース周期値に使用します。

• PWM 出力で生成可能な 小パルス幅に対応する値は 0x0008、 大パルス幅に対応する値は -0x0008です。

DS70579A_JP - p. 50-16 Preliminary © 2009 Microchip Technology Inc.

Page 17: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

レジスタ 50-16: DTRx: PWM デッドタイム レジスタ

U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

— — DTRx<13:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

DTRx<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-14 未実装 :「0」として読み出し

bit 13-0 DTRx<13:0>: PWMx デッドタイム ユニット用符号なし 14 ビット デッドタイム値ビット

レジスタ 50-17: ALTDTRx: PWM 代替デッドタイム レジスタ U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

— — ALTDTRx<13:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

ALTDTRx<7:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-14 未実装 :「0」として読み出し

bit 13-0 ALTDTRx<13:0>: PWMx デッドタイム ユニット用符号なし 14 ビット デッドタイム値ビット

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-17

Page 18: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

レジスタ 50-18: TRGCONx: PWM トリガ制御レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 U-0 U-0TRGDIV<3:0> — — — —

bit 15 bit 8

R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0DTM(1) — TRGSTRT<5:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-12 TRGDIV<3:0>: トリガ # 出力分周比ビット

1111 = トリガイベント 16 回毎にトリガを出力する

1110 = トリガイベント 15 回毎にトリガを出力する1101 = トリガイベント 14 回毎にトリガを出力する1100 = トリガイベント 13 回毎にトリガを出力する1011 = トリガイベント 12 回毎にトリガを出力する1010 = トリガイベント 11 回毎にトリガを出力する1001 = トリガイベント 10 回毎にトリガを出力する1000 = トリガイベント 9 回毎にトリガを出力する0111 = トリガイベント 8 回毎にトリガを出力する0110 = トリガイベント 7 回毎にトリガを出力する0101 = トリガイベント 6 回毎にトリガを出力する0100 = トリガイベント 5 回毎にトリガを出力する0011 = トリガイベント 4 回毎にトリガを出力する0010 = トリガイベント 3 回毎にトリガを出力する0001 = トリガイベント 2 回毎にトリガを出力する0000 = トリガイベントで毎回トリガを出力する

bit 11-8 未実装 :「0」として読み出し

bit 7 DTM: デュアルトリガ モードビット (1)

1 = セカンダリ トリガイベントをプライマリ トリガイベントに組み合わせてPWMトリガを生成する0 = セカンダリ トリガイベントをプライマリ トリガイベントに組み合わせないで、別々に PWM トリ

ガを生成する

bit 6 未実装 :「0」として読み出し

bit 5-0 TRGSTRT<5:0>: トリガ ポストスケーラ開始イネーブル選択ビット

111111 = モジュールを有効にした後、63 PWMサイクル待機してから 初のトリガイベントを生成する

•••000010 = モジュールを有効にした後、2 PWMサイクル待機してから 初のトリガイベントを生成する000001 = モジュールを有効にした後、1 PWMサイクル待機してから 初のトリガイベントを生成する000000 = モジュールを有効にした後、待機せずに 初のトリガイベントを生成する

Note 1: セカンダリ PWM ジェネレータは、PWM トリガ割り込みを生成できません。

DS70579A_JP - p. 50-18 Preliminary © 2009 Microchip Technology Inc.

Page 19: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

レジスタ 50-19: IOCONx: PWM I/O 制御レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

PENH PENL POLH POLL PMOD<1:0>(1) OVRENH OVRENL

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

OVRDAT<1:0> FLTDAT<1:0> CLDAT<1:0> SWAP OSYNC

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15 PENH: PWMxH 出力ピン所有権ビット

1 = PWM モジュールが PWMxH ピンを制御する0 = GPIO モジュールが PWMxH ピンを制御する

bit 14 PENL: PWMxL 出力ピン所有権ビット

1 = PWM モジュールが PWMxL ピンを制御する0 = GPIO モジュールが PWMxL ピンを制御する

bit 13 POLH: PWMxH 出力ピン極性ビット

1 = PWMxH ピンはアクティブ LOW0 = PWMxH ピンはアクティブ HIGH

bit 12 POLL: PWMxL 出力ピン極性ビット

1 = PWMxL ピンはアクティブ LOW0 = PWMxL ピンはアクティブ HIGH

bit 11-10 PMOD<1:0>: PWM# I/O ピン モードビット (1)

11 = PWM I/O ピンペアは完全独立出力モード10 = PWM I/O ピンペアはプッシュプル出力モード01 = PWM I/O ピンペアは冗長出力モード

00 = PWM I/O ピンペアは相補出力モード

bit 9 OVRENH: PWMxH ピン オーバーライド イネーブルビット

1 = OVRDAT<1> のデータを PWMxH ピンに出力する0 = PWM ジェネレータのデータを PWMxH ピンに出力する

bit 8 OVRENL: PWMxL ピン オーバーライド イネーブルビット

1 = OVRDAT<0> のデータを PWMxL ピンに出力する0 = PWM ジェネレータのデータを PWMxL ピンに出力する

bit 7-6 OVRDAT<1:0>: オーバーライド有効時 PWMxH/PWMxL ピン データビット

OVERENH = 1の場合、OVRDAT<1> のデータを PWMxH に出力するOVERENL = 1の場合、OVRDAT<0> のデータを PWMxL に出力する

bit 5-4 FLTDAT<1:0>: FLTMOD 有効時 PWMxH/PWMxL ピン データビット

IFLTMOD (FCLCONx<15>) = 0の場合 : 通常フォルトモード :フォルトがアクティブ時、FLTDAT<1> のデータを PWMxH に出力するフォルトがアクティブ時、FLTDAT<0> のデータを PWMxL に出力する

IFLTMOD (FCLCONx<15>) = 1の場合 : 独立フォルトモード :電流制限がアクティブ時、FLTDAT<1> のデータを PWMxH に出力するフォルトがアクティブ時、FLTDAT<0> のデータを PWMxL に出力する

Note 1: これらのビットは、PWM モジュールを有効 (PTEN = 1) にした後に変更しないでください。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-19

Page 20: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

bit 3-2 CLDAT<1:0>: FLTMOD 有効時 PWMxH/PWMxL ピン データビット

IFLTMOD (FCLCONx<15>) = 0の場合 : 通常フォルトモード :電流制限がアクティブ時、CLTDAT<1> のデータを PWMxH に出力する電流制限がアクティブ時、CLTDAT<0> のデータを PWMxL に出力する

IFLTMOD (FCLCONx<15>) = 1の場合 : 独立フォルトモード :CLDAT<1:0> ビットは無視される

bit 1 SWAP: PWMxH/PWMxL ピンスワップ ビット

1 = PWMxH 出力信号を PWMxL ピンに接続し、PWMxL 出力信号を PWMxH ピンに接続する0 = PWMxH 出力と PWMxL 出力を既定値のピンに割り当てる

bit 0 OSYNC: 出力オーバーライド同期ビット

1 = OVRDAT<1:0> ビットによる出力オーバーライドは PWM タイムベースに同期する0 = OVRDAT<1:0> ビットによる出力オーバーライドは次の CPU クロック境界で発生する

レジスタ 50-19: IOCONx: PWM I/O 制御レジスタ ( 続き )

Note 1: これらのビットは、PWM モジュールを有効 (PTEN = 1) にした後に変更しないでください。

DS70579A_JP - p. 50-20 Preliminary © 2009 Microchip Technology Inc.

Page 21: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

レジスタ 50-20: TRIGx: PWM プライマリ トリガコンペア値レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

TRGCMP<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 U-0

TRGCMP<7:3> — — —

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-3 TRGCMP<15:3>: トリガコンペア値ビット

プライマリ PWM がローカル タイムベースで動作している場合、このレジスタは ADC モジュールをトリガ可能なコンペア値を格納します。

bit 2-0 未実装 :「0」として読み出し

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-21

Page 22: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

レジスタ 50-21: FCLCONx: PWM フォルト / 電流制限制御レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

IFLTMOD CLSRC<4:0>(2,4) CLPOL(1) CLMOD

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

FLTSRC<4:0>(2,4) FLTPOL(1) FLTMOD<1:0>

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15 IFLTMOD: 独立フォルトモード イネーブルビット

1 = 独立フォルトモード : 電流制限入力は FLTDAT<1> を PWMxH 出力に割り当て、フォルト入力はFLTDAT<0> を PWMxL 出力に割り当てます。CLDAT<1:0> ビットはオーバーライド機能に使用しません。

0 = 通常フォルトモード: 電流制限モードはCLDAT<1:0>ビットをPWMxH出力とPWMxL出力に割り当てます。PWMフォルトモードはFLTDAT<1:0>をPWMxH出力とPWMxL出力に割り当てます。

Note 1: PTEN = 1の時にこれらのビットを変更しないでください。動作中にクロック選択を変更すると、予測不能な結果が生じます。

2: 独立フォルトモードが有効 (IFLTMOD = 1) な時にフォルト 1 を電流制限モード (CLSRC<4:0> = 01000)用に使用する場合、フォルト 1 が PWMxL と PWMxH の両方の出力を無効にする事を防ぐために、フォルト制御ソース選択ビット (FLTSRC<4:0>) を未使用フォルトソースに設定する必要があります。

3: 独立フォルトモードが有効 (IFLTMOD = 1) な時にフォルト 1 をフォルトモード (FLTSRC<4:0> = 01000)用に使用する場合、電流制限ソースが PWMxH と PWMxL の両方の出力を無効にする事を防ぐために、電流制限制御ソース選択ビット (CLSRC<4:0>) を未使用電流制限ソースに設定する必要があります。

4: 利用可能なフォルトピンの数については、各デバイスのデータシートを参照してください。

DS70579A_JP - p. 50-22 Preliminary © 2009 Microchip Technology Inc.

Page 23: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

bit 14-10 CLSRC<4:0>: PWM ジェネレータ # 電流制限制御信号ソース選択ビット (2、4) これらのビットは、デッドタイム補償入力信号 (DTCMPx) のソースも指定します。

11111 = 予約済み

11110 = フォルト 2311101 = フォルト 2211100 = フォルト 2111011 = フォルト 2011010 = フォルト 1911001 = フォルト 1811000 = フォルト 1710111 = フォルト 1610110 = フォルト 1510101 = フォルト 1410100 = フォルト 1310011 = フォルト 1210010 = フォルト 1110001 = フォルト 1010000 = フォルト 901111 = フォルト 801110 = フォルト 701101 = フォルト 601100 = フォルト 501011 = フォルト 401010 = フォルト 301001 = フォルト 201000 = フォルト 100111 = 予約済み00110 = 予約済み00101 = 予約済み00100 = 予約済み00011 = アナログ コンパレータ 400010 = アナログ コンパレータ 300001 = アナログ コンパレータ 200000 = アナログ コンパレータ 1

bit 9 CLPOL: PWM ジェネレータ # 電流制限極性ビット (1)

1 = 選択した電流制限ソースはアクティブ LOW0 = 選択した電流制限ソースはアクティブ HIGH

bit 8 CLMOD: PWM ジェネレータ # 電流制限モード イネーブルビット

1 = 電流制限モードを有効にする0 = 電流制限モードを無効にする

レジスタ 50-21: FCLCONx: PWM フォルト / 電流制限制御レジスタ ( 続き )

Note 1: PTEN = 1の時にこれらのビットを変更しないでください。動作中にクロック選択を変更すると、予測不能な結果が生じます。

2: 独立フォルトモードが有効 (IFLTMOD = 1) な時にフォルト 1 を電流制限モード (CLSRC<4:0> = 01000)用に使用する場合、フォルト 1 が PWMxL と PWMxH の両方の出力を無効にする事を防ぐために、フォルト制御ソース選択ビット (FLTSRC<4:0>) を未使用フォルトソースに設定する必要があります。

3: 独立フォルトモードが有効 (IFLTMOD = 1) な時にフォルト 1 をフォルトモード (FLTSRC<4:0> = 01000)用に使用する場合、電流制限ソースが PWMxH と PWMxL の両方の出力を無効にする事を防ぐために、電流制限制御ソース選択ビット (CLSRC<4:0>) を未使用電流制限ソースに設定する必要があります。

4: 利用可能なフォルトピンの数については、各デバイスのデータシートを参照してください。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-23

Page 24: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

bit 7-3 FLTSRC<4:0>: PWM ジェネレータ # フォルト制御信号ソース選択ビット (2、4)

11111 = 予約済み

11110 = フォルト 2311101 = フォルト 2211100 = フォルト 2111011 = フォルト 2011010 = フォルト 1911001 = フォルト 1811000 = フォルト 1710111 = フォルト 1610110 = フォルト 1510101 = フォルト 1410100 = フォルト 1310011 = フォルト 1210010 = フォルト 1110001 = フォルト 1010000 = フォルト 901111 = フォルト 801110 = フォルト 701101 = フォルト 601100 = フォルト 501011 = フォルト 401010 = フォルト 301001 = フォルト 201000 = フォルト 100111 = 予約済み00110 = 予約済み00101 = 予約済み00100 = 予約済み00011 = アナログ コンパレータ 400010 = アナログ コンパレータ 300001 = アナログ コンパレータ 200000 = アナログ コンパレータ 1

bit 2 FLTPOL: PWM ジェネレータ # フォルト極性ビット (1)

1 = 選択したフォルトソースはアクティブ LOW0 = 選択したフォルトソースはアクティブ HIGH

bit 1-0 FLTMOD<1:0>: PWM ジェネレータ # フォルトモード ビット

11 = フォルト入力を無効にする

10 = 予約済み01 = 選択したフォルトソースはPWMxHピンとPWMxLピンをFLTDAT値の状態にする(サイクルバイ

サイクル )00 = 選択したフォルトソースは PWMxH ピンと PWMxL ピンを FLTDAT 値の状態にする ( ラッチ )

レジスタ 50-21: FCLCONx: PWM フォルト / 電流制限制御レジスタ ( 続き )

Note 1: PTEN = 1の時にこれらのビットを変更しないでください。動作中にクロック選択を変更すると、予測不能な結果が生じます。

2: 独立フォルトモードが有効 (IFLTMOD = 1) な時にフォルト 1 を電流制限モード (CLSRC<4:0> = 01000)用に使用する場合、フォルト 1 が PWMxL と PWMxH の両方の出力を無効にする事を防ぐために、フォルト制御ソース選択ビット (FLTSRC<4:0>) を未使用フォルトソースに設定する必要があります。

3: 独立フォルトモードが有効 (IFLTMOD = 1) な時にフォルト 1 をフォルトモード (FLTSRC<4:0> = 01000)用に使用する場合、電流制限ソースが PWMxH と PWMxL の両方の出力を無効にする事を防ぐために、電流制限制御ソース選択ビット (CLSRC<4:0>) を未使用電流制限ソースに設定する必要があります。

4: 利用可能なフォルトピンの数については、各デバイスのデータシートを参照してください。

DS70579A_JP - p. 50-24 Preliminary © 2009 Microchip Technology Inc.

Page 25: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

レジスタ 50-22: STRIGx: PWM セカンダリ トリガコンペア値レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

STRGCMP<15:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 U-0

STRGCMP<7:3> — — —

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-3 STRGCMP<15:3>: セカンダリトリガ制御値ビット

セカンダリ PWM がローカル タイムベースで動作している場合、このレジスタは ADC モジュールをトリガ可能なコンペア値を格納します。

bit 2-0 未実装 :「0」として読み出し

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-25

Page 26: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

レジスタ 50-23: LEBCONx: リーディング エッジ ブランキング制御レジスタ

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0PHR PHF PLR PLF FLTLEBEN CLLEBEN — —

bit 15 bit 8

U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0— — BCH BCL BPHH BPHL BPLH BPLL

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15 PHR: PWMxH 立ち上がりエッジトリガ イネーブルビット1 = PWMxH の立ち上がりエッジでリーディング エッジ ブランキング カウンタをトリガする0 = リーディング エッジ ブランキングは PWMxH の立ち上がりエッジを無視する

bit 14 PHF: PWMxH 立ち下がりエッジトリガ イネーブルビット1 = PWMxH の立ち下がりエッジでリーディング エッジ ブランキング カウンタをトリガする0 = リーディング エッジ ブランキングは PWMxH の立ち下がりエッジを無視する

bit 13 PLR: PWMxL 立ち上がりエッジトリガ イネーブルビット1 = PWMxL の立ち上がりエッジでリーディング エッジ ブランキング カウンタをトリガする0 = リーディング エッジ ブランキングは PWMxL の立ち上がりエッジを無視する

bit 12 PLF: PWMxL 立ち下がりエッジトリガ イネーブルビット1 = PWMxL の立ち下がりエッジでリーディング エッジ ブランキング カウンタをトリガする0 = リーディング エッジ ブランキングは PWMxL の立ち下がりエッジを無視する

bit 11 FLTLEBEN: フォルト入力リーディング エッジ ブランキング イネーブルビット1 = 選択したフォルト入力にリーディング エッジ ブランキングを適用する0 = 選択したフォルト入力にリーディング エッジ ブランキングを適用しない

bit 10 CLLEBEN: 電流制限入力リーディング エッジ ブランキング イネーブルビット1 = 選択した電流制限入力にリーディング エッジ ブランキングを適用する0 = 選択した電流制限入力にリーディング エッジ ブランキングを適用しない

bit 9-6 未実装 :「0」として読み出し

bit 5 BCH: 選択ブランキング信号 HIGH 時ブランキング イネーブルビット (1)

1 = 選択したブランキング信号がHIGHの時に、(電流制限信号またはフォルト入力信号あるいはその両方 ) の状態をブランキングする

0 = 選択したブランキング信号が HIGH の時にブランキングしない

bit 4 BCL: 選択ブランキング信号 LOW 時ブランキング イネーブルビット (1)

1 = 選択したブランキング信号が LOW の時に、( 電流制限信号またはフォルト入力信号あるいはその両方 ) の状態をブランキングする

0 = 選択したブランキング信号が LOW の時にブランキングしない

bit 3 BPHH: PWMxH HIGH 時ブランキング イネーブルビット1 = PWMxH出力がHIGHの時に、(電流制限信号またはフォルト入力信号あるいはその両方)の状態を

ブランキングする0 = PWMxH 出力が HIGH の時にブランキングしない

bit 2 BPHL: PWMxH LOW 時ブランキング イネーブルビット1 = PWMxH出力がLOWの時に、(電流制限信号またはフォルト入力信号あるいはその両方 )の状態を

ブランキングする0 = PWMxH 出力が LOW の時にブランキングしない

bit 1 BPLH: PWMxL HIGH 時ブランキング イネーブルビット1 = PWMxL出力がHIGHの時に、(電流制限信号またはフォルト入力信号あるいはその両方 )の状態を

ブランキングする0 = PWMxL 出力が HIGH の時にブランキングしない

bit 0 BPLL: PWMxL LOW 時ブランキング イネーブルビット1 = PWMxL出力がLOWの時に、(電流制限信号またはフォルト入力信号あるいはその両方 )の状態を

ブランキングする0 = PWMxL 出力が LOW の時にブランキングしない

Note 1: ブランキング信号は AUXCONx レジスタの BLANKSEL ビットで選択します。

DS70579A_JP - p. 50-26 Preliminary © 2009 Microchip Technology Inc.

Page 27: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

レジスタ 50-24: LEBDLYx: リーディング エッジ ブランキング遅延レジスタ

U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0

— — — — LEB<11:8>

bit 15 bit 8

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 U-0

LEB<7:3> — — —

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-12 未実装 :「0」として読み出し

bit 11-3 LEB<11:3>: 電流制限 / フォルト入力リーディング エッジ ブランキング遅延ビット

値の 小分解能は 8.4 ns です。

bit 2-0 未実装 :「0」として読み出し

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-27

Page 28: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

レジスタ 50-25: AUXCONx: PWM 補助制御レジスタ

R/W-0 R/W-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0

HRPDIS HRDDIS — — BLANKSEL<3:0>

bit 15 bit 8

U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

— — CHOPSEL<3:0> CHOPHEN CHOPLEN

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15 HRPDIS: 高分解能 PWM 周期ディセーブル ビット

1 = 消費電力を低減するために高分解能 PWM 周期を無効にする0 = 高分解能 PWM 周期を有効にする

bit 14 HRDDIS: 高分解能 PWM デューティサイクル ディセーブル ビット

1 = 消費電力を低減するために高分解能 PWM デューティサイクルを無効にする0 = 高分解能 PWM デューティサイクルを有効にする

bit 13-12 未実装 :「0」として読み出し

bit 11-8 BLANKSEL<3:0>: PWM 状態ブランキング ソース選択ビット

選択した状態ブランキング信号は、電流制限信号またはフォルト信号あるいはその両方をブロックします (LEBCONx レジスタの BCH および BCL ビットで有効にした場合 )1001 = PWM9H を状態ブランキング ソースとして選択する1000 = PWM8H を状態ブランキング ソースとして選択する0111 = PWM7H を状態ブランキング ソースとして選択する0110 = PWM6H を状態ブランキング ソースとして選択する0101 = PWM5H を状態ブランキング ソースとして選択する0100 = PWM4H を状態ブランキング ソースとして選択する0011 = PWM3H を状態ブランキング ソースとして選択する0010 = PWM2H を状態ブランキング ソースとして選択する0001 = PWM1H を状態ブランキング ソースとして選択する

0000 = 状態ブランキングしない

bit 7-6 未実装 :「0」として読み出し

bit 5-2 CHOPSEL<3:0>: PWM チョップクロック源選択ビット

選択した信号で選択した PWM 出力を有効化 / 無効 ( チョップ ) にします。1001 = PWM9H をチョップクロック源として選択する1000 = PWM8H をチョップクロック源として選択する0111 = PWM7H をチョップクロック源として選択する0110 = PWM6H をチョップクロック源として選択する0101 = PWM5H をチョップクロック源として選択する0100 = PWM4H をチョップクロック源として選択する0011 = PWM3H をチョップクロック源として選択する0010 = PWM2H をチョップクロック源として選択する0001 = PWM1H をチョップクロック源として選択する

0000 = チョップクロック ジェネレータをチョップクロック源として選択する

bit 1 CHOPHEN: PWMxH 出力チョップ イネーブルビット

1 = PWMxH のチョップ機能を有効にする

0 = PWMxH のチョップ機能を無効にする

bit 0 CHOPLEN: PWMxL 出力チョップ イネーブルビット

1 = PWMxL のチョップ機能を有効にする0 = PWMxL のチョップ機能を無効にする

DS70579A_JP - p. 50-28 Preliminary © 2009 Microchip Technology Inc.

Page 29: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

レジスタ 50-26: PWMCAPx: プライマリ PWM タイムベース キャプチャ レジスタ

R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0

PWMCAP<15:8>

bit 15 bit 8

R-0 R-0 R-0 R-0 R-0 U-0 U-0 U-0

PWMCAP<7:3> — — —

bit 7 bit 0

凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

-n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

bit 15-3 PWMCAP<15:3>: PWM タイムベース値キャプチャビット

このレジスタの値は、電流制限入力でリーディング エッジを検出した時にキャプチャした PWM タイムベース値を示します。

bit 2-0 未実装 :「0」として読み出し

Note 1: ITB (PWMCONx<9>) = 0の場合、動作モードに基づいて下記を適用します。

• 相補、冗長、プッシュプル出力モード (PMOD<1:0> (IOCON<11:10>) = 00、01、10) の場合、PHASEx<15:0> の値を PWMxH および PWMxL 出力の位相シフト値に使用します。

• 完全独立出力モード (PMOD<1:0> (IOCON<11:10>) = 11) の場合、PHASEx<15:0> の値を PWMxH のみの位相シフト値に使用します。

2: ITB (PWMCONx<9>) = 1の場合、動作モードに基づいて下記を適用します。

• 相補、冗長、プッシュプル出力モード (PMOD<1:0> (IOCON<11:10>) = 00、01、10) の場合、PHASEx<15:0> の値を PWMxH と PWMxL の独立タイムベース周期値に使用します。

• 完全独立出力モード (PMOD<1:0> (IOCON<11:10>) = 11) の場合、 PHASEx<15:0> の値を PWMxH のみの独立タイムベース周期値に使用します。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-29

Page 30: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.4 アーキテクチャの概要

図 50-1 に、高速 PWM モジュールのアーキテクチャの概要と、CPU および他の周辺モジュールとの接続を示します。

図 50-1: 高速 PWM モジュールのアーキテクチャの概要

CPU

Master Time Base

PWMGenerator 1

PWMGenerator 2

PWMGenerator 8

PWMGenerator 9

SYNCI1/2/3/4

SYNCO

PWM1H

PWM1L

PWM1Interrupt

PWM2H

PWM2L

PWM2Interrupt

PWM8H

PWM8L

PWM8Interrupt

PWM9H

PWM9L

PWM9Interrupt

SynchronizationSignal

Data Bus

ADC ModuleFault and

Fault, Current-Limit

SynchronizationSignal

SynchronizationSignal

SynchronizationSignal

Primary Trigger

Secondary Trigger

Special Event Trigger

Current Limit

and Dead-Time Compensation

Fault, Current-Limitand Dead-Time Compensation

Fault, Current-Limitand Dead-Time Compensation

PWM3 through PWM7

Secondary SpecialEvent Trigger

DS70579A_JP - p. 50-30 Preliminary © 2009 Microchip Technology Inc.

Page 31: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

高速 PWM モジュールは 大 9 個の PWM ジェネレータを内蔵し、各 PWM ジェネレータは 2 個の PWM 出力 (PWMxH と PWMxL) を備えます。2 個のマスタ タイムベース ジェネレータは、各種 PWM 出力を同期するための共通タイムベースとして同期信号を供給します。各ジェネレータは、いずれかのマスタ タイムベースに同期して動作する事も、マスタ タイムベースとは無関係に動作する事もできます。個々の PWM 出力はデバイスの出力ピンから取り出せます。入力フォルト信号と電流制限信号を有効にするとシステムの状態を監視でき、障害検出時に PWM 出力を既知の安全な状態に設定してシステムを保護できます。

各 PWM は ADC モジュール用のトリガを生成できます。これにより、PWM 周期中の特定タイミングで ADC モジュールにアナログ信号をサンプリングさせる事ができます。加えて、高速PWM モジュールは、2 つのマスタ タイムベースのいずれかに基づいて、ADC モジュール向けに特殊イベントトリガを生成する事もできます。

高速 PWM モジュールは、外部信号に同期して動作する事も、外部デバイスに対する同期ソースとして動作する事もできます。入力ピン SYNCI1、SYNCI2、SYNCI3、SYNCI4 ピンにより、高速 PWM モジュールを外部信号に同期させる事ができます。出力ピン SYNCO により、外部デバイスへ同期信号を供給できます。

高速 PWM モジュールは、下記を要求する電力変換アプリケーションに幅広く使用できます。

• 高い動作周波数と優れた分解能

• デューティサイクル、周期、デッドタイム等の PWM パラメータの動的制御

• 各 PWM の個別制御

• 全 PWM の同期制御

• 各 PWM ジェネレータに対する個別のリソース割り当て

• フォルト処理能力

• CPU 負荷のスタッガリングによる複数制御ループの実行

高速 PWM モジュールが備える各機能の詳細を後続のセクションで説明します。図 50-2 に、高速 PWM モジュール内の各種レジスタ間の相互接続を示します。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-31

Page 32: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

図 50-2: 高速 PWM モジュール レジスタ間の相互接続図

MUX

PTMRx

PDCx

PWMCONx TRGCONx

PTCON, PTCON2

IOCONx

DTRx

PWMxL

PWMxH

FLTx or

PWM1L

PWM1H

FCLCONx

MDC

PHASEx

LEBCONx

MUX

STMRx

SDCx

SPHASEx ALTDTRx

PWMCAPx

User Override Logic

Current-Limit

PWM Output Mode Control Logic

Logic

Pin Control Logic

Fault and Current-Limit

Logic

PWM Generator 1

FLTx orPWM Generator 2 – PWM Generator 9

InterruptLogic

ADC Trigger

Module Control and Timing

Master Duty Cycle Register

Sync

hron

izat

ion

Syn

chro

niza

tion

Mas

ter P

erio

dM

aste

r Per

iod

Mas

ter D

uty

Cyc

leM

aste

r Dut

y C

ycle

Secondary PWM

SYNCI2SYNCI1

SYNCO1SEVTCMP

Comparator Special Event TriggerSpecial Event

Postscaler

PTPER

PMTMR Primary Master Time Base

Primary Master Time Base Counter

Special Event Compare Trigger

Comparator

Clock Prescaler

Comparator

Comparator

Comparator

16-B

it D

ata

Bus

Dead-Time

TRIGx Fault Override Logic

Override Logic

SYNCO2SSEVTCMP

Comparator SecondarySecondary SpecialEvent Postscaler

STPER

SMTMR Secondary Master Time Base

Secondary Master Time Base Counter

Secondary Special Event

Comparator

Clock Prescaler

DTCMPx

SYNCI4SYNCI3

SYNCI2SYNCI1 SYNCI4SYNCI3

Special Event

Compare Trigger

Trigger

AnalogComparator

AnalogComparator

DTCMPx

DS70579A_JP - p. 50-32 Preliminary © 2009 Microchip Technology Inc.

Page 33: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.5 モジュールの説明

50.5.1 PWM クロックの選択

システム クロックとは別の PWM モジュール用クロックを生成するには、補助クロック ジェネレータを使用する必要があります。補助クロック (ACLK) は、プライマリ オシレータ クロック(POSCCLK) または内部 FRC クロック (FRCCLK) に補助 PLL を併用して生成できます。補助PLL の逓倍比は 16 倍で固定されています。

必要な補助クロック周波数を得るために、補助クロック制御 (ACLKCON) レジスタでリファレンス クロック、補助 PLL の有効化 / 無効化、ポストスケーラ比を選択します。式 50-1 に、リファレンス クロック入力周波数と補助クロック (ACLK) 周波数の関係を示します。

式 50-1:

例 50-1: PWM クロックのセットアップ

デバイスがプライマリ PLL モードで動作している場合、PWM モジュール用補助クロックをシステムクロックから生成できます。式 50-2 に、プライマリ PLL クロック (PLLCLK) 周波数と補助クロック (ACLK) 周波数の関係を示します。

式 50-2:

ACLK = (REFCLK * M)/N

REFCLK = 内部 FRC クロック周波数 (7.37 MHz) ( クロック源に内部 FRC を選択した場合 ) REFCLK = プライマリ オシレータ クロック周波数 (POSCCLK) ( クロック源にプライマリ

M = 16 (ENAPLL (ACLKCON<15>) ビットをセットして補助 PLL を有効にした場合 )M = 1 ( 補助 PLL を無効にした場合 )N = ポストスケーラ比 (補助クロック制御 (ACLKCON<2:0>) レジスタの補助ポストスケーラ

(APSTSCLR<2:0>) ビットで選択 )

オシレータを選択した場合 )

Note: PWM への入力クロックの公称周波数は 120 MHz である事が必要です。動作レンジの詳細は、各デバイス データシートの「電気的特性」を参照してください。

/* Setup for the PWM clock to use the FRC as the REFCLK *//* ((FRC * 16) / APSTSCLR) = (7.37 * 16) / 1 = 117.9 MHz */ACLKCONbits.FRCSEL = 1;/* FRC is input to Auxiliary PLL */ACLKCONbits.SELACLK = 1;/* Auxiliary Oscillator provides the clock source */ACLKCONbits.APSTSCLR = 7;/* Divide Auxiliary clock by 1 */ACLKCONbits.ENAPLL = 1;/* Enable Auxiliary PLL */while(ACLKCONbits.APLLCK != 1); /* Wait for Auxiliary PLL to Lock */

ACLK = (PLLCLK)/N

N = ポストスケーラ比 ( 補助クロック制御 (ACLKCON<2:0>) レジスタの補助ポストスケーラ (APSTSCLR<2:0>) ビットで選択 )

Note: プライマリPLLを補助クロックのクロック源として使用する場合、プライマリPLLの動作クロックを 30 MHz 以下に設定する必要があります。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-33

Page 34: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

例 50-2: 補助 PLL 併用プライマリ オシレータを使用する PWM クロックのセットアップ

補助クロック ジェネレータの設定に関する詳細は、セクション 47.「オシレータ ( パート V)」を参照してください。

50.5.2 タイムベース

PWM ジェネレータ内の各 PWM 出力は、2 個のマスタ タイムベースのいずれか、または独立タイムベースを使用できます。PWM モジュールは 1 個のプライマリマスタ タイムベース(PMTMR) を備え、各 PWM ジェネレータはこのタイムベースを共有できます。プライマリマスタ タイムベースの制御には PTCON レジスタを使用します。PERIOD レジスタは、プライマリマスタ タイムベース タイマ / カウンタの PWM 周期を定義します。プライマリマスタ カウンタ / タイマは PMTMR と呼ばれます。プライマリマスタ タイムベース (PMTMR) は、主として個々のローカル タイムベース カウンタを同期するために使用します。PWM ジェネレータが独立タイムベース モードで動作する場合、PMTMR は無視されます。マスタ タイムベースは特殊イベント ADC トリガと割り込みも生成します。PWM 制御 (PWMCONx<3>) レジスタのマスタ タイムベース選択 (MTBS) ビットをクリアした場合、対応する PWM ジェネレータはプライマリマスタ タイムベースを使用します。

セカンダリマスタ タイムベース (SMTMR) も、主として個々のローカル タイムベース カウンタを同期するために使用できます。PWM ジェネレータが独立タイムベース モードで動作する場合、SMTMR は無視されます。セカンダリ タイムベースは特殊イベント ADC トリガと割り込みも生成します。PWMCONx レジスタの MTBS ビットをセットした場合、対応する PWMジェネレータはセカンダリマスタ タイムベースを使用します。

高速 PWM モジュールの入力クロックには 1:1 ~ 1:64 のプリスケーラ ( 分周比 ) オプションを選択できます (PWM クロック分周比選択 (PTCON2<2:0> レジスタの PWM プライマリ入力クロック プリスケーラ ( 分周比 ) 選択 (PCLKDIV<2:0>) ビットで選択 )。このプリスケーラ値はPWM 分解能にも影響し、高速 PWM モジュールの消費電力を削減するために利用できます。PWM クロック制御ロジック ブロックにはプリスケーラを通過したクロックが供給されます。クロックレートを 大にした時のデューティサイクルと周期の分解能は 1.04 ns です。

例 :

• プリスケーラ値に 1:2 を選択すると、PWM のデューティサイクルと周期の分解能を 2.08 nsに設定できます。これにより、高速 PWM モジュールの消費電力は 速動作時の約 50% に減少します。

• プリスケーラ値に 1:4 を選択すると、PWM のデューティサイクルと周期の分解能を 4.16 nsに設定できます。これにより、高速 PWM モジュールの消費電力は 速動作時の約 25% に減少します。

高速 PWM モジュールは、標準的なエッジアラインまたはセンターアラインのタイムベースで動作できます。

50.5.3 標準的なエッジアライン PWM 標準的なエッジアライン PWM 波形を図 50-3 に示します。エッジアライン PWM 波形を生成する場合、タイマまたはカウンタ回路は、ゼロから指定された 大値 ( 周期 ) まで上りカウントします。このタイマ値は、別のレジスタに格納されたデューティサイクル値と常時比較されます。タイマ値またはカウンタ値がデューティサイクル値以下である時、PWM 出力信号はアサートされます。タイマ値がデューティサイクル値を超えた時、PWM 信号はネゲートされます。タイマ値が周期値以上に達するとタイマはリセットし、上記の動作を繰り返します。

/* Setup for the PWM clock to use the Primary Oscillator as the REFCLK *//*((FRC * 16) / APSTSCLR) = (8 * 16) / 1 = 120 MHz */ACLKCONbits.ARCSEL = 1; /* Primary Oscillator is the Clock Source */ACLKCONbits.FRCSEL = 0; /* Input clock source is determined by ASRCSEL bit setting */ACLKCONbits.SELACLK = 1; /* Auxiliary Oscillator provides the clock source */ACLKCONbits.APSTSCLR = 7; /* Divide Auxiliary clock by 1 */ACLKCONbits.ENAPLL = 1; /* Enable Auxiliary PLL */while(ACLKCONbits.APLLCK != 1);/* Wait for Auxiliary PLL to Lock */

DS70579A_JP - p. 50-34 Preliminary © 2009 Microchip Technology Inc.

Page 35: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

図 50-3: 標準的なエッジアライン PWM モード

50.5.4 センターアライン PWM モード センターアライン PWM 波形を図 50-4 に示します。このモードでは、リファレンス ポイントを中心にして PWM 信号を生成します。すなわち、PWM 信号の前半はリファレンス ポイントの前で発生し、後半はリファレンス ポイントの後で発生します。PWM 制御 (PWMCONx<2>)レジスタのセンターアライン モード イネーブル (CAM) ビットをセットすると、センターアライン モードが有効になります。

センターアライン モードで動作している時の実効 PWM 周期は、PHASEx レジスタで指定した値の 2 倍です。これは、デューティサイクル中に PWM ジェネレータ内の独立タイムベース カウンタが上りカウントした後に下りカウントするためです。上り /下りで計2回のカウントシーケンスが発生するため、実効 PWM サイクル周期は 2 倍となります。このモードは主にモータアプリケーションで使用します。

図 50-4: センターアライン PWM モード

例 50-3: エッジアラインまたはセンターアラインの選択

Period

PWM1H

TON TOFF

Inductor charges during TON;TON versus Period controls power flow

Period

Duty Cycle

0

Period

TimerValue

Timer Resets

PWMxH

Value

Duty Cycle Match

New Duty Cycle

Note: センターアライン モードを使用する場合、独立タイムベース モードを有効 (ITB =1) にする必要があります。ITB = 0の場合、CAM ビットは無視されます。

PHASEX

2 x Period

Period

0

PDC1

PDC2

PWM1H

PWM2H

Local Time Base Value

/* Select Edge-Aligned or Center-Aligned PWM Time Base *//* Choose one of the modes given below */

PWMCON1bits.CAM = 0; // For Edge-Aligned Mode

PWMCON1bits.CAM = 1; // For Center-Aligned Mode

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-35

Page 36: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.5.5 マスタ タイムベース

図 50-5 に、マスタ タイムベースにおける PWM 機能を示します。

図 50-5: マスタ タイムベースのブロック図

マスタ タイムベースの一般的な機能には下記が含まれます。

• 全ての PWM ジェネレータ用に共通の参照タイムベースを生成する

• 特殊イベント ADC トリガと割り込みを生成する

• 外部同期信号 (SYNCI1/SYNCI2/SYNCI3/SYNCI4) との同期をサポートする

• SYNCO 信号による外部デバイスの同期をサポートする

PWM ジェネレータのマスタ タイムベースは、タイムベース周期 (PTPER/STPER) レジスタに16 ビット値を書き込む事により設定します。マスタ タイムベース モードでは、PHASEx および SPHASEx レジスタが PWM 出力間の位相シフトを指定します。PWM タイマ(PMTMR/SMTMR) 用のクロックは、システムクロックから供給します。

50.5.6 タイムベースの同期 マスタ タイムベースは、マスタ タイムベース同期信号 (SYNCI1/SYNCI2/SYNCI3/SYNCI4) を介して外部信号と同期できます。同期ソース (SYNCI1/SYNCI2/SYNCI3/SYNCI4) は、プライマリまたはセカンダリ マスタ タイムベース制御 (PTCON<6:4> または STCON<6:4>) レジスタの同期ソース選択 (SYNCSRC<2:0>) ビットで選択できます。同期パルスのどちらのエッジ ( 立ち上がりまたは立ち下がり ) でタイマ (PMTMR/SMTMR) をリセットするかは、PWM タイムベース制御 (PTCON<9>/STCON<9>) レジスタの同期入力極性 (SYNCPOL) ビットで選択します。外部同期機能は、マスタ タイムベース制御 (PTCON<7>/STCON<7>) レジスタの外部タイムベース同期イネーブル (SYNCEN) ビットで有効化 / 無効化できます。マスタ タイムベースがパルスを確実に検出できるようにするために、外部同期信号 (SYNCI1/SYNCI2/SYNCI3/SYNCI4) のパルス幅を 200 ns より大きくする必要があります。

同期出力信号 (SYNCO) を使用して、外部デバイスをマスタ タイムベースに同期させる事もできます。SYNCO 信号は、周期レジスタ (PTPER/STPER) 一致によって PMTMR/SMTMR レジスタがリセットされた時に生成されます。SYNCO 信号の極性は、PTCON/STCON レジスタのSYNCPOL ビットで指定します。SYNCO 信号は、PTCON/STCON レジスタのプライマリまたはセカンダリ タイムベース同期イネーブル (SYNCOEN、PTCON<8>/STCON<8>) ビットで有効化 / 無効化できます。複数の電源コントローラを使用する場合、同期する事によってビート周波数が発生しないという利点が得られます。

MUX

SYNCSRC

PMTMR/

SEVTCMP/

1:1

1:16

PTPER/

SEVTPS

Reset

SYNCENSYNCI1

SYNCI2

SYNCOEN

SYNCO

Edge Detector

SYNCPOL

Special EventTrigger to ADC

Synchronization Signal

PWM Clock

STPER

SMTMR

SSEVTCMP

SYNCI3

SYNCI4

DS70579A_JP - p. 50-36 Preliminary © 2009 Microchip Technology Inc.

Page 37: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

例 50-4: プライマリマスタ タイムベースを外部信号に同期する

例 50-5: 外部デバイスをプライマリマスタ タイムベースに同期する

50.5.7 特殊イベントトリガ

高速 PWM モジュールは 2 つの特殊イベントトリガを備え、これらを使用して A/D 変換を 2 つの PWM マスタ タイムベースのいずれかに同期させる事ができます。A/D サンプリング / 変換は、PWM 周期内の任意のタイミングで発生するようにプログラミングできます。

特殊イベントトリガを使用する事により、ユーザ アプリケーションは A/D 変換結果を収集してからデューティサイクル値を更新するまでの遅延時間を 小限に抑える事ができます。特殊イベントトリガは、選択したマスタ タイムベースに基づきます。マスタ特殊イベントトリガ値は、PWM 特殊イベント コンペア (SEVTCMP/SSEVTCMP) レジスタに書き込まれます。加えて、PWM タイムベース制御 (PTCON<3:0>/STCON<3:0>) レジスタの PWM 特殊イベントトリガ出力ポストスケーラ選択 (SEVTPS) ビットが特殊イベントトリガ動作を制御します。ADC モジュールへのトリガを生成するために、PTPER/STPER レジスタの値が SEVTCMP/SSEVTCMPレジスタの値と比較されます。マスタ特殊イベントトリガは、1:1 ~ 1:16 の分周比を選択可能なポストスケーラを備えます。ポストスケーラは PTCON/STCON レジスタの SEVTPS 制御ビットで設定します。

特殊イベントトリガ パルスは、常に下記のタイミングで生成されます。

• 一致が発生した時 ( 特殊イベント割り込みイネーブル (SEIEN) ビットの状態は関係ありません )

• SEVTCMP/SSEVTCMPレジスタのコンペア値が [0 ~PTPER/STPERレジスタの 大値 ] の範囲内である場合

特殊イベントトリガ出力ポストスケーラは、下記のイベントでクリアされます。

• 全てのデバイスリセット時

• PTEN = 0の時

例 50-6: プライマリ ADC 特殊イベントトリガの設定

/* Synchronizing primary master time base with external signal */

PTCONbits.SYNCSRC = 0;// Select SYNC1 input as synchronizing sourcePTCONbits.SYNCPOL = 0;// Rising edge of SYNC1 resets the PWM TimerPTCONbits.SYNCEN = 1;// Enable external synchronization

/* Synchronizing external device with primary master time base */

PTCONbits.SYNCPOL = 0; // SYNCO output is active-highPTCONbits.SYNCOEN = 1; // Enable SYNCO output

/* ADC Special Event Trigger configuration */

SEVTCMP = 1248; // Special Event Trigger value set at 25%// of period value (4999)

PTCONbits.SEVTPS = 0; // Special Event Trigger output postscaler// set to 1:1 selection

PTCONbits.SEIEN = 1; // Special event interrupt is enabled

while (PTCONbits.SESTAT == 1);// Wait for special event interrupt status change

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-37

Page 38: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.5.8 独立 PWM タイムベース

各 PWM ジェネレータは、独自の PWM タイムベースを 2 個備えています。図 50-6 に、独立タイムベースにおけるPWMの機能を示します。各PWMジェネレータが備える 2個のタイムベースにより、高速 PWM モジュールは互いに位相シフトしたタイミング、または全く独立したタイミングで PWM 出力を生成できます。各 PWM タイマ (TMRx と STRMx) のタイムベース値は、PWM 信号を生成するためにデューティサイクル レジスタの値と比較されます。

図 50-6: 独立タイムベースのブロック図

各 PWM ジェネレータは下記のモードで動作します。

• プライマリ (PWMxH)およびセカンダリ (PWMxL)出力の両方に共通のタイムベースを使用する

この場合、両方の PWM 出力 (PWMxH と PWMxL) のタイムベース周期に PWM プライマリ位相シフト (PHASEx) レジスタの値を使用します。

• プライマリ (PWMxH)およびセカンダリ (PWMxL)出力のそれぞれに専用のタイムベースを使用する

この場合、PWMxH 出力専用のタイムベースに PHASEx レジスタの値を使用し、PWMxL 出力専用のタイムベースに PWM セカンダリ位相シフト (SPHASEx) レジスタの値を使用します。

独立タイムベース モードでは、PHASEx および SPHASEx レジスタが 2 つの PWMx 出力(PWMxH と PWMxL) のタイムベース周期値を別々に指定します。

PTMRx

PTPER

Equality Comparator

CLK

>

Reset

16

16

MUX

PHASEx

ITBx0 1

15 0 15 0

15 0

STMRx

STPER

Equality Comparator

CLK

>

Reset

16

16

MUX

SPHASEx

ITBx0 1

15 0 15 0

15 0

ITB = 1: PWMxH のみを制御 ITB = 1: PWMxL のみを制御ITB = 0: PWMxH と PWMxH を制御 ITB = 0: 適用せず

Note: ユーザ アプリケーションで PTMRx および STMRx 値を読み出す事はできません。

DS70579A_JP - p. 50-38 Preliminary © 2009 Microchip Technology Inc.

Page 39: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.6 PWM ジェネレータ

以下では、PWM ジェネレータの機能について説明します。

50.6.1 PWM 周期

PWM 周期値は、PWM パルスのスイッチング周波数を定義します。PWM 周期値は、マスタ タイムベース周期 (PTPER/STPER レジスタ ) を使用して制御するか、あるいは各プライマリおよびセカンダリPWM出力で独立タイムベース周期 (PHASEx/SPHASExレジスタ )を使用して制御できます。PWM ジェネレータが独立タイムベース モードではない (PWMCONx レジスタの ITB = 0) 場合、各出力のタイムベース カウンタはプライマリまたはセカンダリ マスタ タイムベース カウンタのいずれかに同期します。一方、PWMCONx レジスタの制御ビット ITB = 1の場合、これらのローカル タイムベース カウンタはマスタ タイムベース カウンタとは無関係に動作します。

高速 PWM モジュールが独立タイムベース モードで動作する場合、PWM 周期値は下記の 2 つの方法で制御できます。

• 完全独立出力モード以外では、PHASEx レジスタが PWM 出力信号 (PWMxH と PWMxL) のPWM 周期を制御します。

• 完全独立出力モードでは、PHASEx レジスタが PWMxH 出力信号の PWM 周期を制御し、SPHASEx レジスタが PWMxL 出力信号の PWM 周期を制御します。

各種 PWM モードとそれらの機能の詳細は、セクション 50.9「PWM 動作モード」を参照してください。

高速 PWM モジュールがマスタ タイムベース モードで動作する場合、PTPER/STPER レジスタは PMTMR/SMTMR タイマのカウント周期を指定する 16 ビット値を保持します。高速 PWMモジュールが独立タイムベース モードで動作する場合、 PHASEx および SPHASEx レジスタはそれぞれ PTMRx および STMRx タイマのカウント周期を指定する 16 ビット値を保持します。ユーザ アプリケーションは、タイマ周期をいつでも更新できます。PWM タイムベース周期(PTPER/STPER) レジスタの値は、式 50-3 を使用して計算できます。

式 50-3: 周期、PHASEx、SPHASEx レジスタ値の計算

式 50-3 に基づき、マスタ タイムベース (PTPER/STPER レジスタ ) または独立タイムベース(PHASExとSPHASExレジスタ)で動作する時にレジスタに格納される値を例50-7に示します。

例 50-7: PWM タイムベース周期の計算

PWM周期の 高分解能は1.04 nsです。PWMクロック分周比選択(PTCON2<2:0>/STCON2<2:0>)レジスタの PWM 入力クロック プリスケーラ ( 分周比 ) 選択 (PCLKDIV<2:0>) ビットは、PWMクロックの分周比を指定します。タイマ / カウンタを有効化 / 無効化するには、PWM クロック分周比選択 (PTCON<15>) レジスタの PWM モジュール イネーブル (PTEN) ビットをセット /クリアします。PMTMR および SMTMR タイマも、PTEN ビットを使用してクリアできます。

Desired PWM Period = PWM Frequency

PTPER, STPER, PHASEx, SPHASEx =

1

7.37 MHz 1.04 ns * PWM Input Clock Prescaler

REFCLK Desired PWM Period *

PTPER 10μs1.04ns 2×------------------------- 4808 0x12C8= = =

PWM Frequency = 100 kHzPWM Input Clock Prescaler = 1:2REFCLK = FRC = 7.37 MHz

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-39

Page 40: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

PWM クロック分周比選択 (PTCON<10>/STCON<10>) レジスタの即時周期更新イネーブル(EIPU) ビットをセットした場合、アクティブなマスタ周期レジスタ ( 内部のシャドー レジスタ ) は PWM サイクルの終了を待たずに即座に更新されます。EIPU ビットは PMTMR/SMTMRマスタ タイムベースに影響します。

例 50-8: クロック プリスケーラの選択

例 50-9: PWM タイムベース周期の選択

例 50-10: PWM タイムベース周期の初期化

50.6.2 PWM デューティサイクル制御

デューティサイクルは、PWM 出力がアクティブ状態を維持する時間の長さを決定します。各デューティサイクル レジスタでは、16 ビットのデューティサイクル値を定義できます。PWM制御 (PWMCONx<0>) レジスタの即時更新イネーブル (IUE) ビットをセットした場合、デューティサイクル値は PWM サイクルに同期せずに即座に更新されます。IUE ビットを「0」にクリアした場合、アクティブなレジスタは次の PWM サイクルの開始時に更新されます。

マスタ デューティサイクル (MDC) レジスタを使用すると、複数の PWM ジェネレータで 1 つのデューティサイクル レジスタを共有できます。MDC レジスタは、マスタ タイムベース モードにおいて重要な役割を持ちます。

加えて、各 PWM ジェネレータはプライマリ デューティサイクル (PDCx) レジスタとセカンダリ デューティサイクル (SDCx)レジスタを備え、これらを使用して各PWM出力に別々のデューティサイクルを設定できます。

50.6.2.1 マスタ デューティサイクル (MDC)マスタ タイムベース ジェネレータがマスタ デューティサイクルを制御します。PWM 制御(PWMCONx<8>) レジスタのマスタ デューティサイクル レジスタ選択 (MDCS) ビットは、PWMxH 出力と PWMxL 出力を、両方とも PWM マスタ デューティサイクル (MDC) レジスタで制御するのか、それとも PWM プライマリ デューティサイクル (PDCx) レジスタと PWM セカンダリ デューティサイクル (SDCx) レジスタを使用して別々に制御するのかを指定します。

MDC レジスタは、複数の PWM ジェネレータによる共通デューティサイクル レジスタの共有を可能にします。これにより、複数デューティサイクル レジスタの更新に要する CPU オーバーヘッドを軽減できます。

50.6.2.2 プライマリ デューティサイクル (PDCx)PWM 制御 (PWMCONx<9>) レジスタの独立タイムベース モード (ITB) ビットを「1」にセットした場合、プライマリ デューティサイクルは独立タイムベースにより制御されます。PDCx レジスタは、プライマリ PWM 出力 (PWMxH) 信号のデューティサイクル値を設定する入力レジスタです。

/* Select PWM time base input clock prescaler *//* Choose divide ratio of 1:2 */

PTCON2bits.PCLKDIV = 1;

/* Select time base period control *//* Choose one of these options */

PWMCON1bits.ITB = 0; // PTPER provides the PWM time period value

PWMCON1bits.ITB = 1; // PHASEx/SPHASEx provides the PWM time period value

/* Choose PWM time period based on FRC input clock *//* PWM frequency is 100 kHz *//* Choose one of the following options */

PTPER = 4808;

PHASEx = 4808;

SPHASEx = 4808;

DS70579A_JP - p. 50-40 Preliminary © 2009 Microchip Technology Inc.

Page 41: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

図 50-7: プライマリ デューティサイクルのコンペア

50.6.2.3 セカンダリ デューティサイクル (SDCx)ITB ビットを「1」にセットした場合、セカンダリ デューティサイクルは独立タイムベースにより制御されます。SDCx レジスタは、セカンダリ PWM 出力 (PWMxL) 信号のデューティサイクル値を設定する入力レジスタです。

図 50-8: セカンダリ デューティサイクルのコンペア

PDCx Register

PMTMR or PTMRx

Compare Logic PWMx Signal

015

15

MUX

MDC Register

MDCS Select0 1

Clk

15

0

0

<=

Note: 独立出力モードでは、PDCx は PWMxH のみに影響します。

SDCx Register

STMRx

Compare Logic PWMx Signal

015

15

MUX

MDC Register

MDCS Select0 1

Clk

15

0

0

<=

Note: 独立出力モードでは、SDCx は PWMxL のみに影響します。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-41

Page 42: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

デューティサイクルは式 50-4 を使用して計算できます。

式 50-4: MDC、PDCx、SDCx の計算

MDC、PDCx、SDCx レジスタに書き込むマスタ デューティサイクル、プライマリ デューティサイクル、セカンダリ デューティサイクルの値は、式 50-4 に基づいて計算します。

50.6.2.4 デューティサイクルの分解能

PWM クロックでプリスケーラを 大に設定にした場合、PWM のデューティサイクルおよび周期のビット分解能は、1LSB あたり 1.04 ns です。PWM デューティサイクル ビット分解能は式 50-5 を使用して計算できます。

式 50-5: ビット分解能の計算

表 50-1 に、デューティサイクル ビット分解能と PWM 周波数 ( 高 PWM クロック周波数時 )の関係を示します。

高クロック周波数におけるクロック周期は 1.04 ns です。これ以外の PWM クロック プリスケーラ設定では、PWM 分解能は低下します ( 粗くなります )。

Desired PWM = PWM Frequency

1

7.37 MHz 1.04 ns * PWM Input Clock Prescaler

REFCLK Desired Duty Cycle * MDC, PDCx, SDCx =

Note 1: デューティサイクル値が 小値 (0x0008) より小さい場合、信号のデューティサイクルはゼロです。0x0008 は、PWM ジェネレータから出力パルスを生成するために使用できる 小デューティサイクル値です。

2: デューティサイクル値が ( 周期値 – 0x0008) よりも大きい場合、100% デューティサイクルが生成されます。

3: デューティサイクル値が周期値以上である場合も、信号のデューティサイクルは100% です。

表 50-1: PWM 周波数とデューティサイクル分解能

PWM デューティサイクル分解能 PWM 周波数

16 ビット 14.6 kHz

15 ビット 29.3 kHz

14 ビット 58.6 kHz

13 ビット 117.2 kHz

12 ビット 234.4 kHz

11 ビット 468.9 kHz

10 ビット 937.9 kHz

9 ビット 1.87 MHz

8 ビット 3.75 MHz

Bit Resolution = log27.37 MHzREFCLK

* PWM Period

1.04 ns * PWM Input Clock Rrescaler

DS70579A_JP - p. 50-42 Preliminary © 2009 Microchip Technology Inc.

Page 43: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

例 50-11: PWM デューティサイクルの選択

例 50-12: PWM デューティサイクルの初期化

50.6.3 デッドタイムの生成

デッドタイムとは、PWM 出力の相補 PWM 信号がネゲートされてから PWM 出力がアサートされるまでの遅延時間です。デッドタイムは、デッドタイム (DTRx) レジスタまたは代替デッドタイム (ALTDTRx) レジスタで指定できます。

高速 PWM モジュールは 4 個のデッドタイム制御ユニットを備えます。各デッドタイム制御ユニットは、独自のデッドタイム値を持ちます。 デッドタイム生成は、いずれかの PWM I/O ピンペアが相補出力モードで動作する時に使用できます。パワー トランジスタは瞬時にスイッチングできないため、多くの電力変換回路ではデッドタイムが必要です。この場合、貫通電流を防ぐために、相補ピンペアの一方の PWM 出力のターンオフ イベントと他方の PWM 出力のターンオン イベントとの間、あるいは他のトランジスタのターンオン イベントとの間に、一定時間を設ける必要があります。 高速 PWM モジュールは、正または負のデッドタイムを提供します。正のデッドタイムは PWM出力間のオーバーラップを防ぎます。正のデッドタイム生成は、全ての出力モードで使用できます。正のデッドタイム生成回路は、PWM 信号のリーディング エッジをブランキング ( ゲート ) する事により機能します。負のデッドタイムは、PWMxH 信号と PWMxL 信号をオーバーラップさせます ( 現在アクティブな PWM 出力を延長し、次にアサートされる PWM 出力にオーバーラップさせます )。コンバータ方式によっては、一定限度量の貫通電流が必要となる場合があります。

負のデッドタイムは、相補 PWM 信号に対してのみ指定されます。負のデッドタイムは、ユーザ オーバーライド、電流制限オーバーライド、フォルト オーバーライドには適用されません。このモードでは、PHASEx レジスタの位相シフト値を使用して PWM 出力をシフトさせ、他のPWM 出力チャンネルからの PWM 信号にオーバーラップさせます。

デッドタイム ロジックはゲートとして機能し、アサートされた PWM 信号またはオーバーライド値を出力へ伝達します。デッドタイム ロジック自体は PWM 出力をアサートしません。

/* Select either Master Duty cycle or Independent Duty cycle */

PWMCON1bits.MDCS = 0; // PDC1 provides duty cycle value

PWMCON1bits.MDCS = 1; // MDC provides duty cycle value

/* Initialize PWM Duty cycle value */

PDC1 = 2404;// Independent Primary Duty Cycle is 50% of the period

SDC1 = 2404;// Independent Secondary Duty Cycle is 50% of the period

MDC = 2404;// Master Duty Cycle is 50% of the period

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-43

Page 44: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

図 50-9: デッドタイム波形

デッドタイム機能は、各 PWM ジェネレータで別々に無効にできます。デッドタイム機能は、PWM 制御 (PWMCONx<7:6>) レジスタのデッドタイム制御 (DTC<1:0>) ビットで制御します。

50.6.4 デッドタイム ジェネレータ

高速 PWM モジュールの各相補出力ペアは、デッドタイムを挿入するための 12 ビット下りカウンタを備えます。各デッドタイム ユニットは、デューティサイクル コンペア出力に接続された立ち上がりおよび立ち下がりエッジ検出器を備えます。エッジの立ち上がりまたは立ち下がりが検出されると、対応するデッドタイム タイマによって一定の遅延時間が挿入され、その後に相補出力の片方の信号が遷移します。

デッドタイム ロジックは PWM 信号の立ち上がりエッジと立ち下がりエッジを監視します。デッドタイム カウンタは、対応する PWM 信号が非アクティブになるとリセットし、その PWM信号がアクティブになるとカウントを開始します。デッドタイム ロジックは、選択された全ての PWM 出力用ソース信号を処理します。

デッドタイムは式 50-6 により計算できます。

式 50-6: デッドタイムの計算

下記の 3 種類のデッドタイム制御モードを使用できます。

• 正のデッドタイム モード

正のデッドタイムとは、PWMxH および PWMxL 出力の両方がネゲートされている時間を意味します。このモードは、現在 ON 中のパワートランジスタを OFF にした後、一定時間が経過してから別のパワー トランジスタをONにする必要があるアプリケーションで使用できます。これは「Break before Make」スイッチに相当します。正のデッドタイム モードを選択した場合、DTRx レジスタは PWMxH 出力のデッドタイムを指定し、ALTDTRx レジスタは PWMxL 出力のデッドタイムを指定します。

• 負のデッドタイム モード

負のデッドタイムとは、PWMxH および PWMxL 出力の両方がアサートされている時間を意味します。このモードは、パワー トランジスタのスイッチング時に電流が流れる経路を必要とする電流供給トポロジで使用できます。これは「Make before Break」スイッチに相当します。負のデッドタイム モードを選択した場合、DTRx レジスタは PWMxL 出力の負のデッドタイムを指定し、ALTDTRx レジスタは PWMxH 出力の負のデッドタイムを指定します。

• デッドタイム無効モード

デッドタイム ロジックは、各 PWM ジェネレータで別々に無効にできます。デッドタイム機能は、PWMCONx レジスタの DTC<1:0> ビットで制御します。

PWMxH

PWMxL

PWMxL

PWMxL

PWMxH

PWMxH

No Dead Time

Positive Dead Time

Negative Dead Time

DTRx ALTDTRx

DTRx = 7.37 MHz 1.04 ns * PWM Input Clock Prescaler

REFCLK Desired Dead Time *

DS70579A_JP - p. 50-44 Preliminary © 2009 Microchip Technology Inc.

Page 45: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.6.5 デッドタイムのレンジ

各デッドタイム ユニットが提供するデッドタイムの長さは、DTRx および ALTDTRx レジスタで符合なし値を指定する事により設定します。 大動作クロック周波数 ( デューティサイクル分解能 = 1.04 ns) では、デッドタイム分解能も 1.04 ns です。 高 PWM 分解能時の 大デッドタイム値は 17.03 μs です。

50.6.6 デッドタイム歪み

デューティサイクル値が 0% または 100% に近い場合、デッドタイムを有効にすると PWM 信号は非線形になります。デューティサイクル値がデッドタイムより小さい場合、PWM 出力はゼロです。デューティサイクル値が (100% – デッドタイム ) より大きい場合の PWM 出力は、デューティサイクルが (100% – デッドタイム ) に等しい時と同じです。

50.6.7 デッドタイム分解能

クロック周波数が 大の時、通常動作でのデッドタイム分解能は 1.04 ns です。ただし例外として、フォルト、電流制限、ユーザ オーバーライド イベントでは、CPU 速度とプリスケーラを 速条件にした時の 高デッドタイム分解能は 8.32 ns です (DTRx および ALTDTRx レジスタの bit 3)。

例 50-13: PWM デッドタイムの制御

例 50-14: PWM デッドタイムの初期化

Note: 電流制限またはフォルトのオーバーライド データが「0」に設定されている場合、デッドタイムは適用されず、「ゼロ」のオーバーライド値が即座に適用されます。

/* Select Dead Time control *//* Choose one of these options */

PWMCON1bits.DTC = 0;// Positive Dead Time applied for all modesPWMCON1bits.DTC = 1;// Negative Dead Time applied for all modes

/* Dead Time value for PWM generator *//* Refer to ?50-5 */

DTR1 = 63; // Dead Time value is 65.5 nsALTDTR1 = 63; // Alternate Dead time value is 65.5 ns

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-45

Page 46: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.6.8 センターアライン モードにおけるデッドタイムの挿入

センターアライン モードで相補 PWM を使用する場合、デッドタイムの挿入には ALTDTRx レジスタだけを使用します。デッドタイムを挿入した PWM 波形を図 50-10 に示します。

図 50-10: センターアライン モードにおけるデッドタイムの挿入

ALTDTRx ALTDTRx ALTDTRx ALTDTRx

PWMxH

PWMxL

PDCx

Period

2x Period

0

PHASEx

DS70579A_JP - p. 50-46 Preliminary © 2009 Microchip Technology Inc.

Page 47: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.6.9 位相シフト

位相シフトは、PWMxH または PWMxL とマスタ タイムベースとの間の相対的オフセットです。独立出力モードでは、PHASEx レジスタは PWMxH とマスタ タイムベース間の相対的位相シフトを指定し、SPHASEx レジスタは PWMxL とマスタ タイムベース間の相対的位相シフトを指定します。PTMRx レジスタの初期値として PHASEx レジスタ値を使用し、 STMRx レジスタの初期値として SPHASEx レジスタ値を使用します。

図 50-11 と図 50-12 に、それぞれ相補モードと独立出力モード時に位相シフトを使用した場合の波形例を示します。

図 50-11: 位相シフト ( 相補モード )

図 50-12: 位相シフト ( 独立出力モード )

PWMxH without Phase Shift

PWMxH with Phase Shift

PWMxL without Phase Shift

PWMxL with Phase Shift

PHASEx

Note: 相補、プッシュプル、冗長出力モードでは、PHASEx が PWMxH と PWMxL の両方の位相シフ

トを制御します。

PWMxH without Phase Shift

PWMxH with Phase Shift

PWMxL without Phase Shift

PWMxL with Phase Shift

Note: 独立出力モードでは、SPHASEx が PWMxL の位相シフトを制御し、PHASEx が PWMxH の位

相シフトを制御します。

(different duty cycle)

PHASEx

SPHASEx

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-47

Page 48: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

加えて、PHASEx および SPHASEx レジスタ用に計 2 つのシャドーレジスタが存在し、これらはユーザ アプリケーションが新たな値を書き込むたびに更新されます。これらの値は、独立タイムベースのリセット時に、シャドーレジスタから PHASEx および SPHASEx レジスタに転送されます。これらの位相オフセット値は、マスタ タイムベースのリセット時に PWM 出力に適用されます。

図 50-13 に、これらのイベント生成のタイミング図を示します。

位相オフセット値には、ゼロから PTPER レジスタ値の間の任意の値を使用できます。PHASExまたは SPHASEx 値が周期値より大きい場合、それらの値は周期値に等しいとして扱われます。周期より大きな位相シフトを生成する事はできません。

図 50-13: 位相シフトの波形

Master Time Base

(PMTMR)

Period Match

Requested PHASEx

PHASEx

SPHASEx

PTMRx

PWMxH

STMRx

PWMxL

SDCx

PDCx

50 75 25

50 75 25

Note: 独立タイムベースを使用する高速 PWM モジュールの動作は、マスタ タイムベースにより制御されます。

PTPER = 100

PMTMR Rollover on PTPER Match

Next Phase Next Phase

Load on ITB Rollover

Load ITB with PHASEx on MTB Rollover

DS70579A_JP - p. 50-48 Preliminary © 2009 Microchip Technology Inc.

Page 49: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

例 50-15: PWM 位相シフトの初期化

各種の入力クロック プリスケーラ値に対応する PWM デューティサイクル、位相、デッドタイムのビット分解能を表 50-2 に示します。

/* Initialize phase shift value for the PWM output *//* Phase shifts are initialized when operating in Master Time Base */

PHASEx = 100; // Primary phase shift value of 104 ns

SPHASEx = 100; // Secondary phase shift value of 104 ns

表 50-2: プルスケーラ値とデューティサイクル、位相、デッドタイムのビット分解能

PWM クロック プリスケーラ

ビット分解能

64 ns 32 ns 16 ns 8 ns 4 ns 2 ns 1 ns

1:1 bit 6 bit 5 bit 6 bit 3 bit 2 bit 1 bit 0

1:2 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 —

1:4 bit 4 bit 3 bit 2 bit 1 bit 0 — —

1:8 bit 3 bit 2 bit 1 bit 0 — — —

1:16 bit 2 bit 1 bit 0 — — — —

1:32 bit 1 bit 0 — — — — —

1:64 bit 0 — — — — — —

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-49

Page 50: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.7 PWM トリガ

ADC モジュールをトリガする場合、TRIGx および STRIGx レジスタは、それぞれ PWMxH および PWMxL 出力のトリガポイントを指定します。ADC トリガ信号は、独立タイムベース カウンタ (PTMRx または STMRx) レジスタの値が TRIGx または STRIGx レジスタ値に一致した時に生成されます。

ADC トリガの生成において、TRGCONx レジスタの TRGDIV<3:0> ビットは TRIGx レジスタに対するポストスケーラとして機能します。 これにより、1 ~ 16 回のイベントトリガ毎に 1 回の ADC トリガ信号を生成できます。すなわち、これらのビットは ADC トリガの生成頻度を指定します。

各 PWM ジェネレータは、PWM トリガ制御 (TRGCONx<5:0>) レジスタ内にトリガ ポストスケーラ開始イネーブル選択 (TRGSTRT<5:0>) ビットを持ち、 これにより、 初の ADC トリガを生成する前に待機する必要のある PWM サイクル数を指定します。

図 50-14 に、高速 PWM モジュールによる ADC トリガロジックを示します。

図 50-14: アナログ / デジタル変換用 PWM トリガ

図 50-15 ~図 50-22 に示すように、TRGDIV<3:0> および TRGSTRT<5:0> ビットの設定によって、トリガが生成される PWM サイクルが異なります。

PTMRx

TRIGx

STMRx

STRIGx

1:1

1:16

1:1..

1:16

1

0

PWMx Trigger to ADCTRGSTRT

DTM

Clock

Clock

PWMxL Trigger to ADC

.

...

Delay TRGDIV

PWM Trigger Interrupt

Note: TRGDIV<3:0> ビットを「0」に設定した場合にのみ、 初の PWM サイクルでトリガを生成できます。

DS70579A_JP - p. 50-50 Preliminary © 2009 Microchip Technology Inc.

Page 51: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

図 50-15: PWM 出力と PWM トリガ信号の関係 (TRGDIV = 0、TRGSTRT = 0)

図 50-16: PWM 出力と PWM トリガ信号の関係 (TRGDIV = 0、TRGSTRT = 1)

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

62 3 4 5 7

Note 1: このトリガは 8 カウント分オフセットしています (TRIGx = 8)。

1

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

62 3 4 5 7

Note 1: このトリガは 8 カウント分オフセットしています (TRIGx = 8)。

1

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-51

Page 52: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

図 50-17: PWM 出力と PWM トリガ信号の関係 (TRGDIV = 0、TRGSTRT = 2)

図 50-18: PWM 出力と PWM トリガ信号の関係 (TRGDIV = 1、TRGSTRT = 0)

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

2 3 4 5

Note 1: このトリガは 8 カウント分オフセットしています (TRIGx = 8)。

1

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

62 3 4 5 7

Note 1: このトリガは 8 カウント分オフセットしています (TRIGx = 8)。

1

DS70579A_JP - p. 50-52 Preliminary © 2009 Microchip Technology Inc.

Page 53: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

図 50-19: PWM 出力と PWM トリガ信号の関係 (TRGDIV = 1、TRGSTRT = 1)

図 50-20: PWM 出力と PWM トリガ信号の関係 (TRGDIV = 2、TRGSTRT = 0)

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

62 3 4 5 7

Note 1: このトリガは 8 カウント分オフセットしています (TRIGx = 8)。

1

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

62 3 4 5 7

Note 1: このトリガは 8 カウント分オフセットしています (TRIGx = 8)。

1

PTPER = 9615

1

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-53

Page 54: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

図 50-21: PWM 出力と PWM トリガ信号の関係 (TRGDIV = 2、TRGSTRT = 2)

図 50-22: PWM 出力と PWM トリガ信号の関係 (TRGDIV = 2、TRGSTRT = 3)

ユーザ アプリケーションでトリガ分周器を使用する事により、制御ループの要件に合わせてADC サンプリング レートを調整できます。

TRGCONx レジスタのデュアルトリガ モード (DTM) ビットを「1」にセットした場合、ADCTRIGx 出力は、TRIGx および STRIGx タイムベース コンペアによる 2 つの ADC トリガパルスの論理和 (OR) として生成されます。

DTM モードの動作により、ユーザ アプリケーションは、1 PWM サイクル内に 2 個の ADC サンプルを同一ピンで取り込めます。

ADC トリガの生成レートが ADC の処理能可能レートを超えた場合、一部のサンプルが失われる可能性があります。従ってユーザ アプリケーションは、1 PWM サイクルで 2 回の A/D 変換を完了するのに十分な時間を確保する必要があります。

トリガパルスは、PWM制御 (PWMCONx<10>)レジスタのトリガ割り込みイネーブル (TRGIEN)ビットの状態に関係なく生成されます。PWMCONx レジスタの TRGIEN ビットを「1」にセットした場合、割り込み要求が生成されます。

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

64 5 7 8

Note 1: このトリガは 8 カウント分オフセットしています (TRIGx = 8)。

1

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

75 6 8 9 10 11 12

Note 1: このトリガは 8 カウント分オフセットしています (TRIGx = 8)。

1

Note: セカンダリトリガのコンペアは、DTM ビットの状態に関係なく、割り込みを生成しません。

DS70579A_JP - p. 50-54 Preliminary © 2009 Microchip Technology Inc.

Page 55: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

例 50-16: 独立 PWM による ADC のトリガ

図 50-23: PWM トリガに対する位相シフトの影響

PWM 信号を位相シフトしている時に位相値を変更すると、PWM タイマ値は新しい位相値を反映した値に更新されます。位相を小さな値から大きな値に変更した場合、トリガイベントが欠落する可能性があります。ユーザ アプリケーションは、これが制御ループの実行に影響しない事を保証する必要があります。

Note: TRGSTAT ビットをクリアするには、TRGIEN ビットをクリアする必要があります。TRIGEN ビットは自動的にクリアされません。

/* Independent PWM ADC triggering */

TRIG1 = 1248; // Point at which the ADC module is to be triggered by primary PWMSTRIG1 = 2496; // Point at which the ADC module is to be triggered by secondary PWM

TRGCON1bits.TRGDIV = 0; // Trigger output divider set to trigger ADC on every trigger match eventTRGCON1bits.DTM = 1; // Primary and Secondary triggers combined to create ADC triggerTRGCON1bits.TRGSTRT = 4;// First ADC trigger event occurs after four trigger match events

PWMCON1bits.TRGIEN = 1; // Trigger event generates an interrupt requestwhile (PWMCON1bits.TRGSTAT = = 1);// Wait for ADC interrupt status change

PTPER = 100

MasterTime Base(PMTMR)

RequestedPHASEx

PMTMR Rollover on PTPER Match

Next Phase Next Phase

(EIPU = 0) (EIPU = 0)

PTMRx = 50

PTMRx = 75

PTMRx = 50

PTMRx = 75

PTPER = 100

50

50

75 25

75 25PHASEx

PWM TimerPTMRx

Trigger Event is Missedwhen PHASEx is Increased

6060

TRIGx = 60

PTMRx = 25

Load PHASEx on PTMRx Rollover Load PHASEx on PTMRx Rollover

60

TRIGx = 60 TRIGx = 60

Load PTMRx with PHASExon PTMTMR Rollover

Load PTMRx with PHASExon PTMTMR Rollover

Load PTMRx with PHASExon PTMTMR Rollover

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-55

Page 56: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.8 PWM 割り込み

高速 PWM モジュールは、内部タイミング信号または電流制限およびフォルト入力を介する外部信号に基づいて、割り込みを生成できます。プライマリおよびセカンダリマスタ タイムベース モジュールは、特定イベントが発生した時に、割り込み要求を生成できます。各 PWM ジェネレータ モジュールは、独自の割り込み要求信号を割り込みコントローラへ出力します。各PWM ジェネレータの割り込みは、そのモジュールに対するトリガイベント割り込み要求、電流制限入力イベント、フォルト入力イベントの論理和として生成されます。

割り込みコントローラは、4 つの割り込み要求信号以外に、特殊なイベント発生時にプライマリ タイムベースからの割り込み要求信号も受け取ります。

各 PWM ジェネレータからの 4 つの割り込み要求は、個別 PWM 割り込みと呼ばれます。これらの個別割り込みの割り込み要求 (IRQ) は、PWM 個別トリガ、PWM フォルト ロジック、PWM電流制限ロジックから生成される可能性があります。各 PWM ジェネレータは、IFSx レジスタ内に PWM 割り込みフラグを持ちます。上記の割り込み要因のいずれかが割り込み要求を生成した時、その PWM ジェネレータに対応する PWM 割り込みフラグがセットされます。

複数の IRQ 要因を有効にしている場合、ユーザ アプリケーションで PWMCONx レジスタのTRGSTAT、FLTSTAT、CLSTAT ビットを確認する事により、割り込み要因を特定できます。

50.8.1 PWM タイムベース割り込み

高速 PWM モジュールは、各 PWM ジェネレータで、マスタ タイムベースと独立タイムベースのいずれかまたは両方に基づいて割り込みを生成できます。特殊イベントコンペア(SEVTCMP/SSEVTCMP) レジスタは、プライマリおよびセカンダリ タイムベースのタイマ割り込み用コンペア値を指定し、TRIGx レジスタは独立タイムベースのタイマ割り込み用コンペア値を指定します。

プライマリおよびセカンダリ タイムベース特殊イベント割り込みは、PWM タイムベース制御(PTCON<11>/STCON<11>) レジスタの特殊イベント割り込みイネーブル (SEIEN) ビットで有効にします。各 PWM ジェネレータにおいて、トリガロジックが生成する独立タイムベース割り込みは、PWM 制御 (PWMCONx<10>) レジスタのトリガ割り込みイネーブル (TRGIEN) ビットで制御します。

Note: 適切な一致条件が発生した時、ADCに対する特殊イベントトリガ信号と個別PWMトリガパルスは、それぞれの割り込みイネーブルビットの設定に関係なく、常に生成されます。

DS70579A_JP - p. 50-56 Preliminary © 2009 Microchip Technology Inc.

Page 57: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.9 PWM 動作モード

以下では、高速 PWM モジュールがサポートする下記の動作モードについて説明します。

• プッシュプル出力モード • 相補出力モード

• 冗長出力モード

• 独立出力モード

これらの動作モードは、PWM I/O 制御 (IOCONx<11:10>) レジスタの PWM I/O ピンモード(PMOD<1:0>) ビットで選択できます。

50.9.1 プッシュプル PWM モード

プッシュプル モードは、PWM 出力を PWMxH と PWMxL ピンに交互に出力します。プッシュプル モードの標準的なアプリケーション例をセクション 50.17「アプリケーション情報」に記載しています。

図 50-24 に、プッシュプル PWM モードによる PWM 出力を示します。

図 50-24: プッシュプル PWM モード

50.9.2 相補 PWM モード

相補 PWM モードでは、PWMxH 出力が PWMxL 出力の相補信号となります。相補 PWM モードの標準的なアプリケーション例をセクション 50.17「アプリケーション情報」に記載しています。

図 50-25 に、相補 PWM モードによる PWM 出力を示します。

図 50-25: 相補 PWM モード

PWM1H

PWM1L

DCX – DTRPeriod – DCX + DTR

TONTOFF

Period Period

Dead Time Dead Time Dead Time

Period

Duty Cycle

0

Period

TimerValue

Timer Resets

PWMxH

Value

PWMxL Duty Cycle

Duty Cycle Match

PWM1L

PWM1H

Dead Time Dead Time Dead Time

Period

Period

Duty Cycle

0

Period

TimerValue

Timer Resets

PWMxH

Value

PWMxL (Period/Duty Cycle)

Duty Cycle Match

Note: 図には正のデッドタイムを示しています。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-57

Page 58: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.9.3 冗長 PWM 出力モード

冗長 PWM 出力モードでは、高速 PWM モジュールの各 PWM ピンペア (PWMxH、PWMxL) で、同じシングルエンドの PWM 出力信号を 2 つ出力できます。このモードでは、PDCx レジスタを使用してデューティサイクルを指定します。この出力モードの場合、ユーザ アプリケーションでオーバーライド値を指定しない限り、2本のPWM出力ピンは同じPWM信号を出力します。

図 50-26 に冗長 PWM 出力モードによる PWM 出力を示します。

図 50-26: 冗長 PWM 出力モード

表 50-3 に、各種 PWM モードにおける PWM レジスタの機能を示します。

表 50-3: 相補、プッシュプル、冗長出力モードにおけるレジスタの機能

0

Period

TimerValue

PWMxH

ValueDuty

Cycle

PWMxL

Duty CycleProgrammed

タイムベース マスタ タイムベース独立タイムベース共通タイムベース

機能 PWMxH PWMxL PWMxH PWMxL

PWM 周期 PTPER PTPER PHASEx PHASEx

PWM デューティサイクル

MDC MDC MDC/PDCx(1) MDC/SDCx(1)

PWM 位相シフト PHASEx PHASEx N/A N/A

ADC トリガ SEVTCMP/TRIGx(2) SEVTCMP/TRIGx(2) TRIGx TRIGx

Note 1: 独立タイムベースでは、MDC または PDCx のいずれかで PWMxH デューティサイクルを制御し、MDCまたは SDCx のいずれかで PWMxL デューティサイクルを制御します。

2: マスタ タイムベースでは、SEVTCMP または TRIGx レジスタのいずれかで ADC をトリガできます。

DS70579A_JP - p. 50-58 Preliminary © 2009 Microchip Technology Inc.

Page 59: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.9.4 完全独立 PWM 出力モード

完全独立 PWM 出力モードでは、2 つの PWM 出力 (PWMxH と PWMxL) に異なるデューティサイクルを使用でき、また互いの位相関係をシフトできます。PDCx レジスタは PWMxH 出力のデューティサイクルを指定します。SDCx および SPHASEx レジスタは、それぞれ PWMxL出力のデューティサイクルと位相シフトを指定します。このモードは、ITB = 0かつ PMOD = 3により設定できます。ITB = 1 かつ PMOD = 3 の場合、2 つの PWM 出力は完全に独立したタイムベース周期とデューティサイクルで動作します。この動作は完全独立モードと呼ばれます。ITB = 1 の場合、PHASEx および PDCx レジスタは、PWMxH 出力の PWM 周期とデューティサイクルを制御します。

図 50-27: 独立 PWM 出力モード

例 50-17: PWM 出力ピンモードの選択

Note: 完全独立モードでは、PWM 信号の位相は互いに無関係です。

Duty Cycle 2PWMxL

Duty Cycle 1PWMxH

Period

PMTMR=0

Duty Cycle 2PWMxL

PWMxH

Period

Phase 2

PMTMR=0

Duty Cycle 2PWMxL

Duty Cycle 1

PWMxH

Period 2

Period 1

Master Time BasePhase = 0SPHASE = 0

Master Time Base

ITB = 1

with Phase Shift

Duty Cycle 1

/* Select PWM I/O pin Mode – Choose one of the following output modes */

IOCON1bits.PMOD = 0; // For Complementary Output mode

IOCON1bits.PMOD = 1; // For Redundant Output mode

IOCON1bits.PMOD = 2; // For Push-Pull Output mode

IOCON1bits.PMOD = 3; // For True Independent Output mode

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-59

Page 60: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

表 50-4 に、独立出力モードにおける PWM レジスタの機能を示します。

表 50-4: 独立出力モードにおけるレジスタの機能

50.10 PWM フォルトピン

PWM フォルト入力ピンの主な機能は下記の通りです。

• 各 PWM ジェネレータは、 大 32 本のフォルトおよび電流制限ピンの中から、それぞれ独自のフォルト入力ソースを選択できます。

• 各 PWM ジェネレータは、フォルト / 電流制限制御 (FCLCONx<7:3>) レジスタ内に制御ビット (FLTSRC<4:0>) を備えます。これらのビットはフォルト入力信号のソースを指定します。

• 各 PWM ジェネレータは、PWM 制御 (PWMCONx<12>) レジスタ内にフォルト割り込みイネーブル (FLTIEN) ビットを備えます。このビットはフォルト割り込み要求の生成を有効にします。

• 各 PWM ジェネレータは、フォルト / 電流制限制御 (FCLCONx<2>) レジスタ内にフォルト極性 (FLTPOL) ビットを備えます。このビットは、選択したフォルト入力のアクティブ状態を選択します。

• フォルト条件が発生した時に、PWMxH および PWMxL 出力は、強制的に下記のいずれかの状態になります。- 独立フォルトモード (IFLTMOD) ビットが有効な場合、 PWM I/O 制御 (IOCONx<5:4>) レジスタの FLTDAT<1:0> (HIGH/LOW) ビットの値が PWMxH および PWMxL 出力に割り当てられます。

- 通常のフォルトモードの場合、FLTDAT<1:0> (HIGH/LOW) ビットの値が PWMxH およびPWMxL 出力に割り当てられます。

フォルト入力ピンの主な動作は下記の通りです。• フォルトは PWM 出力をオーバーライド可能です。IOCONx レジスタのフォルト オーバーライド データ (FLTDAT<1:0>) ビットは、「0」または「1」のいずれかの値を持つ事ができます。FLTDAT が「0」の場合、フォルトは非同期処理され、アプリケーション回路内の対応するパワー トランジスタを即時シャットダウンできます。FLTDAT が「1」の場合、フォルトはデッドタイム ロジックによる処理後に、PWM 出力に適用されます。

• フォルト信号は割り込みを生成できます。PWMCONx レジスタの FLTIEN ビットは、フォルト割り込み信号の生成を制御します。FLTMOD ビットでフォルト オーバーライド機能を無効にした場合でも、 ユーザ アプリケーションは割り込み信号の生成を指定できます。これにより、フォルト入力信号を汎用外部割り込み要求信号として使用できます。

• フォルト入力信号は、ADC に対するトリガ信号 (AD 変換処理開始トリガ ) として使用できます。ADC トリガ信号は、高速 PWM モジュール、FLTMOD ビット、FLTIEN ビットの状態に関係なく常にアクティブです。

タイムベースプライマリマスタ タイムベース (5)

セカンダリマスタタイムベース (5)

独立タイムベース共通タイムベース

機能 PWMxH PWMxL PWMxH PWMxL PWMxH PWMxL

PWM 周期 PTPER PTPER STPER STPER PHASEx SPHASEx(4)

PWM デューティサイクル

MDC MDC MDC MDC MDC/PDCx(1) MDC/SDCx(1)

PWM 位相シフト PHASEx SPHASEx PHASEx SPHASEx N/A N/A

ADC トリガ SEVTCMP/TRIGx(2)

SEVTCMP/TRIGx(2)

SSEVTCP/TRIGx(3)

SSEVTCMP/TRIGx(3)

TRIGx TRIGx

Note 1: 独立出力タイムベースでは、MDC または PDCx のいずれかによって PWMxH のデューティサイクルを制御し、MDC または SDCx のいずれかによって PWMxL のデューティサイクルを制御します。

2: プライマリマスタ タイムベースでは、SEVTCMP または TRIGx レジスタのいずれかによって ADC をトリガできます。

3: セカンダリマスタ タイムベースでは、SSEVTCMP または TRIGx レジスタのいずれかによって ADC をトリガできます。

4: SPHASEx レジスタは、独立出力モード時にのみ使用します。

5: MTBS (PWMCONx<3>) ビットが「0」の場合、PWM ジェネレータはプライマリマスタ タイムベースを同期用および PWM 生成ロジックのクロック源として使用します。MTBS ビットが「1」の場合、PWMジェネレータはセカンダリマスタ タイムベースを同期用および PWM 生成ロジックのクロック源として使用します ( セカンダリ タイムベースが利用可能な場合 )。

DS70579A_JP - p. 50-60 Preliminary © 2009 Microchip Technology Inc.

Page 61: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

FLTx ピンは既定値ではアクティブ HIGH です。FCLCONx レジスタの FLTPOL ビットを「1」にセットした場合、対応するフォルト入力信号の極性が反転します ( これらのピンはアクティブ LOW になります )。

高速 PWM モジュールが有効になっていれば、ポート I/O ロジックを介してフォルトピンを読み出す事もできます。これにより、ユーザ アプリケーションはフォルトピンの状態をソフトウェアでポーリングできます。

コンパレータ出力は PWM フォルト入力 (1 ~ 8) に直接接続されています ( 図 50-28 参照 )。

図 50-28: PWM フォルト制御モジュールのブロック図

FLTSRC<4:0>

CMP1x

CMP2x

CMP3x

CMP4x

FLT1

FLT2

FLT3

FLT4

FLT5

FLT6

FLT7

FLT8

00000

00001

00010

01000

01001

01010

01011

01100

01111

00011

01101

01110

Analog Comparator 1

Analog Comparator 2

Analog Comparator 3

Analog Comparator 4

Analog ComparatorModule

0

1

PWMxH,PWMxL 2

PWMGenerator #

FLTDAT<1:0> 2

PWMxH,PWMxL Signals2

FaultMode

SelectionLogic

FLTMOD<1:0>

Latch

Clear

FLTSTAT

PMTMR/SMTMR

FLT23 11110

Note: 利用可能なアナログ コンパレータ出力とフォルトピンの詳細については、各デバイスのデータシートを参照し

てください。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-61

Page 62: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.10.1 フォルト割り込み

PWMCONx レジスタの FLTIEN ビットは、FLTx 入力が HIGH にアサートされた時に割り込みを生成するかどうかを指定します。FLTDAT<1:0> (HIGH/LOW)ビットは、フォルト時にPWMxHおよび PWMxL ピンに割り当てるデータ値を指定します。

PWM 制御 (PWMCONx<15>) レジスタの割り込みステータス (FLTSTAT) ビットは、PWM のフォルト状態 ( フォルト IRQ ラッチ ) を示します。フォルト割り込みが有効ではない場合、FLTSTAT ビットには、選択した FLTx 入力の状態が正論理形式で示されます。フォルト入力ピンを PWM ジェネレータ用に使用しない場合、これらのピンを汎用 I/O または割り込み入力ピンとして使用できます。

フォルトピン ロジックは、PWM ロジックとして動作する以外に、外部割り込みピンとしても動作可能です。FCLCONx レジスタで PWM 生成に対するフォルトの影響を無効にしている場合、フォルトピンを汎用割り込みピンとして使用できます。

50.10.1.1 フォルト入力ピンモード

フォルト入力ピンは、下記の 2 つの動作モードを備えます。

• ラッチモード: ラッチモードの場合、フォルトピンがアサートされると、PWM出力はIOCONxレジスタの FLTDAT ビットで定義された状態となります。フォルトピンがネゲートされ、かつ対応する割り込みフラグがソフトウェアでクリアされるまで、PWM 出力はこのフォルト状態を維持します。これら 2 つの条件が成立すると、PWM 出力は次の PWM サイクル境界で通常動作に戻ります。フォルト状態が終了する前に PWM 制御 (PWMCONx<15>) レジスタのフォルト割り込みステータス(FLTSTAT)ビットがクリアされた場合、高速PWMモジュールはフォルトピンがネゲートされるまで待機します。FLTSTAT ビットは、ソフトウェアでフォルト割り込みステータス イネーブルビット (PWMCONx<12>) に「0」を書き込む事により、クリアできます。

• サイクルバイサイクル モード : サイクルバイサイクル モードでは、フォルト入力ピンがアサートされている限り、PWM 出力はネゲート状態を維持します。相補 PWM 出力モードでは、PWMxH は LOW ( ネゲート )、PWMxL は HIGH ( アサート ) です。フォルトピンが HIGHに駆動された後、PWM 出力は次の PWM サイクルの開始時に通常動作に戻ります。

各フォルト入力ピンの動作モードは、PWM フォルト / 電流制限制御 (FCLCONx<1:0>) レジスタのフォルトモード (FLTMOD) 制御ビットで選択します。

50.10.2 フォルトの開始

PWM ピンは、フォルト入力ピンに対する応答を、デバイスクロック信号に対して常に非同期で出力します。従って、「0」にネゲートされる場合、FLTDAT ビットは対応する PWM 出力を即座にネゲートします。指定された FLTDAT ビットがアサート (「1」にセット ) である場合、FLTDAT ビットはデッドタイム ロジックで処理されてから PWM 信号として出力されます。

電流制限またはフォルトイベントに対するデータの応答挙動の詳細は、セクション 50.12.4「フォルトおよび電流制限オーバーライドに対するデッドタイム ロジックの影響」を参照してください。

DS70579A_JP - p. 50-62 Preliminary © 2009 Microchip Technology Inc.

Page 63: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.10.3 フォルトの終了

フォルト状態が終了した後に、PWM 信号エッジと手動信号オーバーライドの適正な同期を確保するために、PWM サイクル境界で PWM 信号を通常動作に戻す必要があります。PTMR 値がゼロの時に次の PWM サイクルが始まります。

サイクルバイサクル フォルトモードを選択した場合、フォルトは PWM サイクル毎に自動的にリセットされます。このため、フォルト状態を終了するための特別なコーディングは不要です。

ただしラッチ フォルトモードの場合、フォルト状態を終了するために下記のシーケンスが必要です。

1. PWM フォルト要因をポーリングして、フォルト信号がネゲートされたかどうかを判定します。

2. PWM フォルト割り込みが無効な場合、ステップ 3 に進みます。PWM フォルト割り込みが有効な場合、以下の手順を実行した後にステップ 4 に進みます。 a) PWM フォルト割り込みサービスルーチンを完了します。

b) PWMCONxレジスタのFLTIEN<12>ビットをクリアしてPWMフォルト割り込みを無効にします。

c) PWMCONxレジスタのFLTIEN<12>ビットをセットしてPWMフォルト割り込みを有効にします。

d) FCLCONx レジスタで FLTMOD<1:0> = 0b11に設定してPWMフォルトを無効にします。

3. FCLCONxレジスタでFLTMOD<1:0> = 0b11に設定してPWMフォルトを無効にします。

4. FCLCONx レジスタで FLTMOD<1:0> = 0b00に設定してラッチ PWM フォルトモードを有効にします。

50.10.4 PWM モジュールが無効時のフォルトの終了

PWM モジュールが無効 (PTEN = 0) の時にフォルト状態を終了する場合、特殊な状況が発生します。フォルト入力をサイクルバイサイクル モードに設定した場合、PWM 出力はフォルト入力ピンがネゲートされると即座に通常動作に戻ります。PWM 出力は既定値に戻ります ( タイムベースが無効であるため、次の PWM サイクルの開始を待機する必要はありません )。フォルト入力をラッチモードに設定した場合、PWM 出力は、フォルト入力ピンがネゲートされ、かつ FLTSTAT ビットがソフトウェアでクリアされた時に、即座に通常動作に戻ります。

50.10.5 フォルトピンのソフトウェア制御

フォルトピンはソフトウェアで手動制御できます。フォルト入力ピンは GPIO ポートピンと多重化されており、対応する TRIS ビットをクリアする事により、出力ピンとして設定できます。このビットをセットすると、対応するピンによるフォルト入力が有効になります。

50.10.6 PWM 電流制限ピン

PWM 電流制限ピンの主な機能は下記の通りです。

• 各 PWM ジェネレータは、 大 32 本存在する電流制限ピンから、独自の電流制限入力ソースを選択できます。

• 各 PWM ジェネレータは、フォルト / 電流制限制御 (FCLCONx<14:10>) レジスタ内に制御ビット (CLSRC<4:0>) を備えます。これらのビットは、対応するジェネレータのフォルト入力信号またはデッドタイム補償 (DTCMPx) 入力信号のソースを指定します。

• 各 PWM ジェネレータは、PWM 制御 (PWMCONx<11>) レジスタ内に電流制限割り込みイネーブル (CLIEN) ビットを備えます。このビットは電流制限割り込み要求の生成を有効にします。

• 各 PWM ジェネレータは、PWM フォルト / 電流制限制御 (FCLCONx<9>) レジスタ内に電流制限極性 (CLPOL) ビットを備えます。

• 電流制限条件が発生した時に、ジェネレータは PWMxH および PWMxL 出力を下記の状態のいずれかに変更します。

- IFLTMOD ビットで独立フォルトモードが選択されている場合、CLDAT<1:0> ビットはオーバーライド機能に使用されません。

- 電流制限モード (CLMOD) の場合、電流制限機能は有効です。PWMxH および PWMxL 出力は、CLDAT<1:0> (HIGH/LOW) ビットが指定するデータ値によってオーバーライドされます。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-63

Page 64: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

電流制限ピンの主な機能は下記の通りです。

• 電流制限イベントは PWM 出力をオーバーライド可能です。PWM I/O 制御 (IOCONx<3:2>)レジスタの電流制限オーバーライド データ (CLDAT<1:0>) ビットは、「0」または「1」のいずれかの値を持つ事ができます。CLDAT ビットが「0」の場合、電流制限オーバーライドは非同期処理され、アプリケーション回路内の対応するパワー トランジスタを即時シャットダウンできます。CLDAT ビットが「1」の場合、電流制限オーバーライドはデッドタイム ロジックによる処理後に、PWM 出力に適用されます。

• 電流制限信号は割り込みを生成できます。PWM 制御 (PWMCONx<11>) レジスタの電流制限割り込みイネーブル (CLIEN) ビットは、電流制限割り込み信号の生成を制御します。PWMフォルト / 電流制限制御 (FCLCONx<8>) レジスタの電流制限モード (CLMOD) イネーブルビットで電流制限オーバーライド機能が無効な場合でも、ユーザ アプリケーションは割り込みの生成を指定できます。これにより、電流制限入力信号を汎用外部割り込み要求信号として使用できます。

• 電流制限入力信号は、ADC に対するトリガ信号 ( 変換処理開始トリガ ) として使用できます。ADC トリガ信号は、高速 PWM モジュール、FLTMOD ビット、FLTIEN ビットの状態に関係なく常にアクティブです。

• 電流制限信号は、下記の条件が発生した時に、対応する PWM ジェネレータのタイムベースをリセットします。

- PWM ジェネレータの電流制限モード (CLMOD) イネーブルビットが「0」、かつ、

- PWMCONx レジスタの外部 PWM リセット (XPRES) 制御ビットが「1」、かつ、

- PWM ジェネレータが独立タイムベース モード (ITB = 1)この挙動は電流リセットモードと呼ばれ、一部の力率改善 (PFC) アプリケーションで使用します。

図 50-29 に、利用可能な電流制限入力と、アナログ コンパレータとの接続を示します。

DS70579A_JP - p. 50-64 Preliminary © 2009 Microchip Technology Inc.

Page 65: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

図 50-29: PWM 電流制限制御回路のブロック図

0

1

PWMxH,PWMxL 2

PWMGenerator #

CLDAT<1:0> 2

PWMxH,PWMxL Signals2

Cycle-by-CycleMode

PMTMR/SMTMR

CLMOD

EN

XPRES

CLSRC<4:0>

CMP1x

CMP2x

CMP3x

CMP4x

FLT1

FLT2

FLT3

FLT4

FLT5

FLT6

FLT7

FLT8

00000

00001

00010

01000

01001

01010

01011

01100

01111

00011

01101

01110

Analog Comparator 1

Analog Comparator 2

Analog Comparator 3

Analog Comparator 4

Analog ComparatorModule

FLT23 11110

DTCMPx

FLT9 10000

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-65

Page 66: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.10.7 電流制限割り込み

PWM 電流制限の状態は、PWM 制御 (PWMCONx<14>) レジスタの電流制限割り込みステータス (CLSTAT) ビットで示されます。CLIEN ビットがセットされている場合、CLSTAT ビットは電流制限 IRQ フラグの状態を示します。電流制限割り込みが有効ではない場合、CLSTAT ビットには、選択した電流制限入力の状態が正論理形式で示されます。電流制限入力ピンを PWMジェネレータ用に使用していない場合、これらのピンを汎用 I/O ピンまたは割り込み入力ピンとして使用できます。

電流制限ピンは既定値ではアクティブ HIGH です。FCLCONx レジスタの CLPOL ビットを「1」にセットした場合、対応する電流制限入力信号の極性が反転してアクティブ LOW となります。

複数の電流制限信号からの割り込み要求は、1 つの割り込み要求信号に統合されて割り込みコントローラに入力されます。この信号は独自の割り込みベクタ、割り込みフラグビット、割り込みイネーブルビット、割り込み優先度を持ちます。

高速 PWM モジュールが有効な場合、ポート I/O ロジックを介してフォルトピンを読み出す事もできます。これにより、ユーザ アプリケーションはソフトウェアでフォルトピンの状態をポーリングできます。

50.10.8 PWM フォルトと電流制限の同時発生

フォルト機能が有効 / アクティブではない場合、電流制限オーバーライド機能を有効 / アクティブにすると、PWMxH および PWMxL ピンは PWM I/O 制御 (IOCONx<3:2>) レジスタの CLDATビットが指定する値を出力します。 選択したフォルト入力がアクティブである場合、PWMxHおよび PWMxL ピンは、PWM I/O 制御 (IOCONx<5:4>) レジスタの FLTDAT ビットが指定する値を出力します。

50.10.9 PWM フォルトおよび電流制限トリガの ADC への出力

PWM フォルト / 電流制限制御 (FCLCONx<14:10>、FCLCONx<7:3>) レジスタの電流制限 / フォルト ソース選択 (CLSRC<4:0>、FLTSRC<4:0>) ビットは、各 PWM ジェネレータ モジュールのフォルトの選択を制御します。各制御マルチプレクサは、対応するモジュール用のフォルトおよび電流制限信号を選択します。選択したフォルトおよび電流制限信号は、ADC モジュールに対するトリガ信号 (ADC サンプリング / 変換動作の開始トリガ ) としても使用できます。

例 50-18: PWM フォルト、電流制限、リーディング エッジ ブランキングの設定

/* PWM Fault, Current-Limit, and Leading-Edge Blanking Configuration */

FCLCON1bits.IFLTMOD = 0; // CLDAT bits control PWMxH and FLTDAT bits control PWMxLFCLCON1bits.CLSRC = 0; // Current-limit input source is Analog Comparator 1FCLCON1bits.FLTSRC = 3;// Fault input source is Analog Comparator 4

FCLCON1bits.CLPOL = 1; // Current-limit source is active-lowFCLCON1bits.FLTPOL = 1;// Fault Input source is active-low

FCLCON1bits.CLMOD = 1; // Enable current-limit functionFCLCON1bits.FLTMOD = 1;// Enable Cycle-by-Cycle Fault mode

IOCON1bits.FLTDAT = 0; // PWMxH and PWMxL are driven inactive on occurrence of fault

IOCON1bits.CLDAT = 0; // PWMxH and PWMxL are driven inactive on occurrence of current-limit

LEBCON1bits.PHR = 1; // Rising edge of PWMxH will trigger LEB counterLEBCON1bits.PHF = 0; // Falling edge of PWMxH is ignored by LEB counterLEBCON1bits.PLR = 1; // Rising edge of PWMxL will trigger LEB counterLEBCON1bits.PLF = 0; // Falling edge of PWMxL is ignored by LEB counterLEBCON1bits.FLTLEBEN = 1;// Enable fault LEB for selected sourceLEBCON1bits.CLLEBEN = 1;// Enable current-limit LEB for selected source

PWMCON1bits.XPRES = 0; // External pins do not affect PWM time base resetPWMCON1bits.FLTIEN = 1;// Enable fault interruptPWMCON1bits.CLIEN = 1; // Enable current-limit interrupt

while (PWMCON1bits.FLTSTAT == 1); // Wait when fault interrupt is pendingwhile (PWMCON1bits.CLSTAT == 1);// Wait when current-limit interrupt is pending

DS70579A_JP - p. 50-66 Preliminary © 2009 Microchip Technology Inc.

Page 67: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.11 その他の特殊な機能

高速 PWM モジュールでは、下記の特殊機能を利用できます。

• 拡張リーディング エッジ ブランキング (LEB)• 個別タイムベース キャプチャ

• PWM ピンのスワップ • PWM 出力ピンの制御とオーバーライド

• PWM 即時更新

• デッドタイム補償

• チョップモード

50.11.1 拡張リーディング エッジ ブランキング (LEB)多くのアプリケーション回路において、PWM 出力は非常に高い電圧 / 電流を生成するパワートランジスタを制御します。しかし、そのような電圧 / 電流は他の回路 ( 低レベル信号を監視するアナログ コンパレータ等 ) に悪影響を及ぼします。拡張 LEB 機能は、強い干渉が発生する期間中の電流制限および / またはフォルト入力を無視する事により、アプリケーション回路の単純化とコスト削減を可能にします。

各 PWM ジェネレータは、リーディング エッジ ブランキング遅延レジスタの LEB(LEBDLYx<11:3>) ビットと、リーディング エッジ ブランキング制御レジスタの PHR(LEBCONx<15>)、PHF (LEBCONx<14>)、PLR (LEBCONx<13>)、PLF (LEBCONx<12>)、FLTLEBEN (LEBCONx<11>)、CLLEBEN (LEBCONx<10>) ビットを使用して、電流制限およびフォルト入力の拡張 LEB をサポートします。LEB は、パワー トランジスタの ON/OFF スイッチング時にアプリケーションのプリント基板で生じる過渡挙動をマスキングします。

LEB ビットはエッジ センシティブです。LEB ビットの設定により、PWMxH および PWMxL 信号の立ち上がりおよび / または立ち下がりエッジ ( 任意に指定 ) を起点とする 0 ~ 4096 ns (8.4ns ステップ、 大 PWM クロックレート時 ) の期間の電流制限およびフォルト入力をブランキング ( 無視 ) できます。

ブランキング タイマを開始する PWMxH および PWMxL 信号のエッジタイプ ( 立ち上がり / 立ち下がり ) は、PHR、PHF、PLR、PLF ビットで選択できます。エッジの選択を変更すると、変更前の PWM エッジから LEB タイマが動作中であっても、変更後のエッジによって LEB タイマがトリガされた時点でタイマは初期化され、カウントを継続します。FLTLEBEN およびCLLEBEN ビットは、選択したフォルトおよび電流制限入力に対するブランキング期間の適用を有効にします。

加えて、拡張 LEB 機能では、電流制限信号および / またはフォルト信号を完全に無視する期間も指定できます。LEBCONx レジスタの BCH、BCL、BPHH、BPHL、BPLH、BPLL ビットを使用して、PWMxH、PWMxL、CHOP クロック信号のいずれかまたは全てを状態ブランキング機能のソースとして選択できます。また、PWMxH および PWMxL 出力で別々に状態 (HIGH および / または LOW) を指定し、PWM 出力がその状態になった時にフォルトまたは電流リミット信号をブランキングする事も可能です。AUXCONx レジスタの BLANKSEL<3:0> ビットは、ブランキング信号ソースとして使用する PWM ジェネレータを選択します。

図 50-30 に、リーディング エッジ ブランキングの例を示します。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-67

Page 68: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

図 50-30: リーディング エッジ ブランキング

50.11.2 デッドタイム補償

AC モータ制御アプリケーションでは、PWM 信号にデッドタイムを適用している間トランジスタが無効にされます。デッドタイム中、モータ電流は環流ダイオードを通して流れますが、印加電圧はゼロです。デッドタイム中に電圧が印加されないため、目標電圧波形に歪みが生じ、結果としてモータ電流も歪みます。この歪みによりトルクが変動し、制御システムの安定性とモータの性能に影響します。デッドタイム補償モードは、PWMCONx レジスタの DTC<1:0>ビットで選択します。このモードを有効にすると、外部入力信号 DTCMPx の状態に応じて、MDC/PDCx が指定するデューティサイクル値に DTRx レジスタの値が加算または減算されます。ALTDTRx レジスタは、PWMxH と PWMxL の両方の出力信号に適用するデッドタイム期間を指定します。デッドタイム補償は、正のデッドタイムモードでのみ利用可能です。負のデッドタイムの補償はサポートしていません。図 50-31 にデッドタイム補償のタイミング図を示します。

Switching Noise

Blanking Time is determined by theLEB<9:3> bits in the LEBDLYx Register

Fault and Current-LimitCircuitry ignores theSwitching Noise

PWM OutputHigh-Power Signal

Blanking Signal

Power Signal as seenby Fault Circuitry

DS70579A_JP - p. 50-68 Preliminary © 2009 Microchip Technology Inc.

Page 69: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

図 50-31: デッドタイム補償

50.11.3 チョップモード

多くの電源制御アプリケーションが使用するトランジスタ回路構成では、トランジスタ ゲート駆動の絶縁が必要です。一例として、三相 H ブリッジ回路構成の場合、ハイサイド トランジスタには高電圧がかかります。

絶縁ゲート駆動回路を実現する 1 つの方法として、パルストランスを使用して PWM 信号とトランジスタ間の接続を電気的に絶縁できます。しかし、長いデューティサイクル比あるいは低い PWM 周波数を使用するアプリケーションでは、低周波数におけるパルストランスの応答性が問題となります。パルストランスは、周期の長い PWM 信号を絶縁されたトランジスタに伝達できません。このような場合、高周波数のクロック信号を使用して PWM 信号を「チョップ」あるいはゲートする事により、パルストランスを容易に通過できる高周波信号を生成できます。一般的にチョップには、PWM 周波数の数百倍または数千倍の周波数を使用します。PWM 周波数に対してチョップ ( キャリア ) 周波数が高いほど、高い PWM デューティサイクル分解能を確保できます。

図 50-32 に、高速 PWM チョップ波形例を示します。この例では、チョップクロックが生成する 500 kHz キャリアを使用して、20 kHz の PWM 信号をチョップしています。

Note: デッドタイム補償は相補 PWM 出力モードに対してのみ適用されます。他の PWM出力モードでデッドタイム補償を指定すると、予測不能な結果が生じます。

Normal PWM

Stretched PWM via DTR

Shortened PWM via DTR

DTCMPx selected PWMxH

Create PWMxL

PWMxH with ALDTR Dead Time

PWMxL with ALDTR Dead Time

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-69

Page 70: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

図 50-32: 高周波数 PWM チョップ

チョップ機能は、PWM 出力に対して論理 AND 演算を行います。チョップ処理後の PWM 出力のデューティサイクル分解能は、チョップ周期の 1/2 より細かくできません。

ユーザはCHOPレジスタを使用してチョップクロック周波数を指定できます。CHOP値はPWMクロックの分周比を指定します。チョップクロック分周器は、PTCON2 レジスタの PWM クロック分周比選択 (PCLKDIV<2:0>) ビットが指定する PWM クロック周波数で動作します。CHOP レジスタの CHPCLKEN ビットは、チョップクロック ジェネレータを有効にします。

AUXCONx レジスタの CHOPHEN および CHOPLEN ビットは、各 PWM 出力に対するチョップクロックの適用を有効にします。AUXCONx レジスタの CHOPSEL<3:0> ビットは、チョップクロックに使用するクロック源を選択します。既定値では、CHOPレジスタが制御するチョップクロック ジェネレータがクロック源として選択されます。CHOPSEL<3:0> ビットでは、他の PWM ジェネレータをクロック源として選択できます。

AUXCONx レジスタの CHOPHEN または CHOPLEN ビットをセットした場合、PWM 信号には電流制限およびフォルト機能の後にチョップ機能が適用されます。CHPCLK 信号は、モジュールからデバイスへの出力信号として使用できます。

通常、PWM サイクル周波数よりも高いチョップクロック周波数を使用しますが、アプリケーションによっては PWM サイクル周波数よりも大幅に低いチョップクロック周波数を使用する事もできます。図 50-33 に、低周波数チョップによる PWM 波形を示します。この図の場合、低周波数で動作する別の PWM ジェネレータを使用して PWM 信号をチョップまたは「ブランキング」しています。

50 msec

Unchopped PWM

Chopping Signal

Chopped PWM

1 msec

Note: 図の時間方向の縮尺は不定です。

DS70579A_JP - p. 50-70 Preliminary © 2009 Microchip Technology Inc.

Page 71: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

図 50-33: 低周波数 PWM チョップ

50.11.4 独立タイムベースのキャプチャ

各 PWM ジェネレータは PWMCAPx レジスタを備えます。このレジスタには、電流制限信号の立ち上がりエッジ検出時の独立タイムベース カウンタ値が自動的にキャプチャされます。この機能は LEB 機能の適用後にのみ動作します。ユーザ アプリケーションは、このキャプチャ レジスタの内容を、次の PWM サイクルで更新される前に読み出す必要があります。

キャプチャ レジスタは、アナログ コンパレータまたは外部回路を使用して PWM デューティサイクルまたは周期を終了させる電流モード制御アプリケーションで使用します。電流しきい値における独立タイムベース値を読み出す事により、ユーザ アプリケーションでインダクタの電流立ち上がり速度 ( 勾配 ) を計算できます。セカンダリ独立タイムベースには、キャプチャ レジスタは割り当てられていません。

50.11.5 PWM ピンのスワップ

IOCONx レジスタの SWAP ビットを「1」にセットする事により、PWMxH 信号を PWMxL ピンに割り当て、PWMxL 信号を PWMxH ピンに割り当てる事ができます。SWAP ビットが「0」の場合、各 PWM 信号は本来割り当てられているピンに接続されます。

PWMサイクル境界でピンのスワップ機能を実行するには、OSYNC (IOCONx<0>)ビットをセットする必要があります。OSYNC ビットがクリアされている場合、モジュールの動作中にユーザ アプリケーションでSWAP (IOCONx<1>)ビットの状態を変更すると、スワップ機能はPWMサイクルの途中でスワップの実行を試み、予測不能な動作を生じる可能性があります。

スワップ機能は、デッドタイム適用前に実行する必要があります。スイッチ機能を実行するとユーザ アプリケーションのトランジスタが OFF から ON の状態に変化し、貫通電流が生じる可能性があるため、デッドタイム処理は必要です。

スワップ機能は、1 つのアプリケーション回路基板で複数のスイッチング トポロジをサポートするアプリケーションで使用できます。また、この機能により、条件の変化に応じてユーザ アプリケーションでトランジスタ変調方式を変更する事もできます。

下記の 2 種類の方法でスワップ機能を利用できます。

• 動的スワップ : 動的スワップでは、システム応答に基づいて SWAP ビットを動的に変更できます (SMPS 電源制御等で使用 )。

• 静的スワップ : 静的スワップでは、起動時のコンフィグレーション中に設定した SWAP ビットの状態をプログラム実行中または動作中に変更しません ( モータ制御等で使用 )。

50 ms

Chopping Signal

Unchopped PWM

Chopped PWM

Note: 図の時間方向の縮尺は不定です。

1 msec

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-71

Page 72: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.11.5.1 例 1: SMPS 電源制御におけるピンスワップ

例として、SMPS 電源制御での動的スワップについて説明します。電力変換アプリケーションでは、トランジスタ変調方式をフルブリッジ ゼロ電圧遷移 (ZVT) と標準的なフルブリッジ遷移の間で動的に切り換える事により、異なる負荷および効率要件に対応する事ができます。図 50-34 に示すように、一般的なフルブリッジ コンバータはプッシュプル モードで動作できます。この場合、トランジスタを下記のように構成します。

• Q1 = Q4 • Q2 = Q3

一般的なフルブリッジ コンバータは ZVT モードでも動作できます。この場合、トランジスタを下記のように構成します。

• Q1 = PWM1H• Q2 = PWM1L• Q3 = PWM2H• Q4 = PWM2L

図 50-34: SMPS 電源制御

50.11.5.2 例 2: モータ制御におけるピンスワップ モータ制御を例として静的スワップについて説明します。この例では、2 種類のモータ ( 例 :DC モータと三相 AC 誘導モータ ) を駆動可能な汎用的なモータ制御システムを想定します。

ブラシ付き DC モータは、一般的に図 50-35 に示すフルブリッジ トランジスタ構成を使用します。トランジスタ Q1 および Q4 を同じ波形で駆動し、Q2 と Q3 を相補波形で駆動します。これは「対角駆動」と呼ばれます。ブラシ付き DC モータには Q5 および Q6 トランジスタを使用しない事に注意してください。

この場合、トランジスタを下記のように構成します。

• Q1 = PWM1H• Q2 = PWM1L• Q3 = PWM2L• Q4 = PWM2H

図 50-35: モータ制御

+

T1 VOUT

+VIN

Q1

Q2Q3

Q4

Q1

Q2

Q3

Q4

Full-Bridge Converter

Q5

Q6

+VIN+VIN

DS70579A_JP - p. 50-72 Preliminary © 2009 Microchip Technology Inc.

Page 73: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

DC モータとは異なり、AC 誘導モータはフルブリッジ構成内の全てのトランジスタを使用します。この場合、トランジスタを 3 個の H ブリッジとして駆動しますが、DC モータとの重要な相違点として、PWMxH 出力がハイサイド トランジスタ (Q3) を駆動し、PWMxL 出力がローサイド トランジスタ (Q4) を駆動します。

この場合、トランジスタを下記のように構成します。

• Q1 = PWM1H• Q2 = PWM1L• Q3 = PWM2H (DC モータとは異なる事に注意 )• Q4 = PWM2L (DC モータとは異なる事に注意 )• Q5 = PWM3H• Q6 = PWM3L

例 50-19: PWM ピンのスワップ

/* PWM Pin Swapping feature */

IOCON1bits.SWAP = 1;// PWMxH output signal is connected to the PWMxL pin // and vice versa

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-73

Page 74: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.12 PWM 出力ピンの制御

高速 PWM モジュールを有効にした時の PWMxH/PWMxL ピンのオーナーシップの優先順位は下記の通りです ( 上から優先度の低い順に記載 )。

• PWM ジェネレータ ( 低優先度 )• スワップ機能

• PWM 出力オーバーライド ロジック

• 電流制限オーバーライド ロジック

• フォルト オーバーライド ロジック

• PTEN (GPIO/PWM) オーナーシップ ( 優先 )

高速 PWM モジュールが無効な場合、GPIO モジュールが PWMx ピンを制御します。

例 50-20: PWM 出力ピンの割り当て

例 50-21: PWM 出力ピンの状態選択

例 50-22: 高速 PWM モジュールの有効化

50.12.1 PWM 出力オーバーライド ロジック

PWM 出力オーバーライド機能は、システムからの要求に応じて個々の PWM 出力を必要な状態に駆動するために使用します。出力はアクティブ状態にも非アクティブ状態にも駆動できます。高速 PWM モジュールのオーバーライド機能は上記の優先度を持ちます。PWM 出力オーバーライド機能に関連する全ての制御ビットは IOCONx レジスタに格納されています。PENH(IOCONx<15>) および PENL (IOCONx<14>) ビットをセットした場合、高速 PWM モジュールはPWMx出力ピンを制御します。PWM出力オーバーライド ビットを設定する事により、デューティサイクル コンペアユニットの動作とは無関係に、ユーザ アプリケーションから PWM I/Oピンを任意の論理状態に手動で駆動できます。

OVRENH (IOCONx<9>) および OVRENL (IOCONx<8>) ビットで特定出力のオーバーライドを有効にした場合、オーバーライド時の PWM I/O ピンの状態は PWM I/O 制御 (IOCONx<7:6>) レジスタの OVRDAT<1:0> ビットによって決まります。

OVRENH および OVRENL ビットはアクティブ HIGH の制御ビットです。これらのビットがセットされている場合、対応する OVRDAT ビットが PWM ジェネレータの PWM 出力をオーバーライドします。

PWM が相補 PWM 出力モードである場合、オーバーライド時もデッドタイム ジェネレータはアクティブなままです。出力オーバーライドとフォルト オーバーライドが生成する制御信号は、PWM 出力を必要な状態に設定するために、デッドタイム ユニットにより使用されます。PWM チャンネルを手動でオーバーライドする場合も、デッドタイムの挿入は実行されます。

/* PWM Output pin control assigned to PWM generator */IOCON1bits.PENH = 1;IOCON1bits.PENL = 1;

/* High and Low switches set to active-high state */IOCON1bits.POLH = 0;IOCON1bits.POLL = 0;

/* Enable ??PWM module */

PTCONbits.PTEN = 1;

DS70579A_JP - p. 50-74 Preliminary © 2009 Microchip Technology Inc.

Page 75: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.12.2 オーバーライド優先度

PENHおよびPENLビットがセットされている場合、PWM出力に下記の優先度が適用されます。

1. フォルトがアクティブな場合、フォルト オーバーライド データ (FLTDAT<1:0>) ビットがPWM 出力をオーバーライドします ( フォルトは他の全てのソースよりも優先されます )。

2. フォルトが非アクティブで電流制限イベントがアクティブである場合、CLDAT<1:0>(IOCONx<3:2>) ビットが PWM 出力をオーバーライドします。

3. ユーザ オーバーライド イネーブルビット OVRENH および OVRENL がセットされており、かつフォルトも電流制限イベントもアクティブではない場合、対応するOVRDAT<1:0> (IOCONx<7:6>) レジスタビットが PWM 出力をオーバーライドします。

4. どのオーバーライド条件もアクティブではない場合、タイムベースとデューティサイクル コンパレータ ロジックが生成する PWM 信号が PWM 出力を駆動します。

50.12.3 オーバーライドの同期

PWM I/O 制御 (IOCONx<0>) レジスタの OSYNC ビットがセットされている場合、OVRENH(IOCONx<9>)、OVRENL (IOCONx<8>)、OVRDAT<1:0> (IOCONx<7:6>) ビットによる出力オーバーライドは PWM タイムベースに同期します。同期出力オーバーライドは、タイムベースがゼロの時に発生します。PTEN = 0の場合 (すなわちPWMタイマが動作していない時 )、IOCONxへの書き込みは次の TCY 境界で反映されます。

50.12.4 フォルトおよび電流制限オーバーライドに対するデッドタイム ロジックの影響

フォルトおよび電流制限イベント発生時の PWM I/O ピンの状態は、それぞれ FLTDAT<1:0>(IOCONx<5:4>) および CLDAT<1:0> (IOCONx<3:2>) ビットによって決まります。

FLTDAT<1:0> (IOCONx<5:4>) または CLDAT<1:0> (IOCONx<3:2>) ビットが「0」である場合、デッドタイム ロジックはバイパスされ、対応する PWMxH および / または PWMxL 出力は即座に LOW に駆動されます。これにより、PWM 出力は一切の遅延なく即座に OFF に切り換わります。このような挙動は、フォルト シャットダウン信号に素早く応答して回路の損傷を防ぐと共にシステム精度を制御する必要のある多くの電力変換アプリケーションにおいて重要です。

FLTDAT<1:0> (IOCONx<5:4>) または CLDAT<1:0> (IOCONx<3:2>) ビットが「1」である場合、対応する PWMxH および / または PWMxL 出力はデッドタイム ロジックを経由するため、指定されたデッドタイム値によって遅延します。この場合、フォルトまたは電流制限条件が発生しても、デッドタイムが挿入されます。

50.12.5 電流制限による出力のアサート

電流制限イベントに対する応答として、CLDAT (IOCONx<3:2>) ビットを使用して PWMxH および PWMxL 出力をアサートできます。このような挙動は、外部の電流 / 電圧計測値が電力コンバータ出力負荷の急激な上昇を示した時の電流強制機能として使用できます。PWM の強制的な ON 動作はフィードフォワード動作とみなす事ができ、デジタル制御ループの応答を待つ事なく、不測の負荷上昇に対して高速なシステム応答を可能にします。

Note: 相補 PWM 出力モードの場合、デッドタイム ジェネレータはオーバーライド条件でもアクティブなままです。この場合、出力オーバーライドとフォルト オーバーライドが生成する制御信号は、デッドタイム後に PWM 出力を要求された状態に設定するために、デッドタイム ユニットにより使用されます。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-75

Page 76: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.13 PWM デューティサイクルの即時更新

高性能な PWM 制御ループ アプリケーションは、非常に高速なデューティサイクル更新レートを要求します。PWM 制御 (PWMCONx<0>) レジスタの即時更新イネーブル (IUE) ビットをセットすると、即時更新機能が有効になります。閉ループ制御アプリケーションでは、システムの状態を計測してから PWM 制御信号を出力してアプリケーションを駆動するまでに要する応答遅延により、ループの安定性が低下します。IUE ビットをセットする事により、デューティサイクル レジスタに値を書き込んでからPWMジェネレータが応答するまでの遅延を 小限に抑える事ができます。 IUE ビットにより、ユーザ アプリケーションは、デューティサイクル レジスタへの書き込み後、タイムベース周期の終了を待つ事なく即座にデューティサイクル値を更新できます。IUEビットをセットすると、デューティサイクルの即時更新が有効となります。IUE ビットをクリアすると、デューティサイクルの即時更新が無効となります。即時更新を有効にした場合、下記の 3 つの状況が発生する可能性があります。

• ケース 1: 現在のタイムベース値よりも大きなデューティサイクル値を書き込んだ時に PWM出力がアクティブであった場合、PWM パルス幅は延長されます。

• ケース 2: 現在のタイムベース値よりも小さなデューティサイクル値を書き込んだ時に PWM出力がアクティブであった場合、PWM パルス幅は短縮されます。

• ケース 3: 現在のタイムベース値よりも大きなデューティサイクル値を書き込んだ時に PWM出力が非アクティブであった場合、PWM 出力は即座にアクティブになり、更新されたデューティサイクルが終了するまでアクティブ状態を維持します。

図 50-36: 即時更新有効時 (IUE = 1) のデューティサイクル更新タイミング

例 50-23: 即時更新の有効化

50% 90% 10% 90%Latest Duty Cycle

Value Written

PWM Output

PMTMR Value

to PDCx

New Values Written to PDCx Register

Case 1 Case 2 Case 3

/* Enable Immediate update of PWM */PTCONbits.EIPU = 1;// Update Active period register immediatelyPWMCON1bits.IUE = 1;// Update active duty cycle, phase offset, and

// independent time period immediately

DS70579A_JP - p. 50-76 Preliminary © 2009 Microchip Technology Inc.

Page 77: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.14 省電力モード

以下ではスリープ、アイドル、低速モード時の高速PWMモジュールの動作について説明します。

50.14.1 スリープモード

デバイスがスリープモードに移行するとシステムクロックが停止します。このためシステムクロック源 (TCY) からクロック供給を受ける PWM タイムベースも停止し、スリープモードへの移行前に動作していた全ての PWM 出力ピンの出力状態は移行時の状態で保持されます。高速PWM モジュールを電源アプリケーションの負荷制御に使用する場合、PWRSAV 命令を実行する前に高速 PWM モジュールの出力を安全な状態に設定する必要があります。アプリケーションによっては、PWM 出力を特定の出力状態に維持すると負荷が過大な電流を消費し始める事があります。そのような場合、オーバーライド機能を使用して PWM 出力ピンを非アクティブ状態に駆動できます。

高速 PWM モジュール用にフォルト入力を設定した場合、デバイスがスリープモード中であってもフォルト入力ピンは通常動作を続けます。デバイスがスリープモード中である時に、いずれかのフォルトピンが LOW に駆動されると、PWM 出力は定義されたフォルト状態に駆動されます。フォルト入力ピンを使用して CPU をスリープモードから復帰させる事もできます。フォルトピンの割り込み優先度が現在の CPU 優先度よりも高い場合、復帰後のプログラム実行はフォルトピン割り込みベクタが指す位置から開始します。それ以外の場合、プログラム実行はPWRSAV命令の直後の命令から再開します。

50.14.2 アイドルモード

PWM モジュールは、PTCON レジスタ内に PTSIDL 制御ビットを備えます。このビットは、デバイスがアイドルモードに移行した時に PWM モジュールの動作を継続するかどうかを指定します。PTSIDL = 0の場合、モジュールは通常動作を続けます。PTSIDL = 1の場合、モジュールはシャットダウンし、内部クロックは停止します。この場合、システムは特殊機能レジスタにアクセスできません。これは、モジュールの 低消費電力モードです。アイドルモード時にモジュールを停止した場合も、スリープモード時と同様に、フォルトピンは非同期で動作し続けます。PWM モジュールがアイドル状態に移行した場合、PWM ピンの機能は対応する GPIOビットにより制御されます。アイドルモードに移行する前に、ユーザ アプリケーションで PWM出力を無効にする事を推奨します。PWM モジュールが電力変換アプルケーションを制御している場合、デバイスをアイドルモードに移行すると全ての制御ループが停止します。このため、そのアプリケーションが意図的に開ループモードで動作するように設計されていない限り、ほとんどのアプリケーションで問題が生じます。

50.14.3 低速モード

このモードは下記の 2 つの省電力措置の事を指します。

1. PTCON2 および STCON2 レジスタの PCLKDIV<2:0> ビットで PWM クロック プリスケーラを選択する事により、PWM モジュールを低速で動作させて消費電力を低減します。このモードは省電力化のために PWM 分解能を犠牲にします。

2. AUXCONx レジスタの HRPDIS および HRDDIS ビットは、高分解能のデューティサイクルおよび PWM 周期に関連する回路を無効にします。HRDDIS ビットをセットすると、対応する PWM ジェネレータの高分解能デューティサイクル / 位相オフセット / デッドタイムに関連する回路が無効になります。HRPDIS ビットをセットすると、対応する PWMジェネレータの高分解能 PWM 周期に関連する回路が無効になります。一般的に多くのアプリケーションでは、高分解能デューティサイクル / 位相オフセット ( 固定周波数動作向け ) または高分解能 PWM 周期 ( 共振モード等の可変周波数モード動作向け ) のいずれかだけを使用します。両方の高分解能モードを同時に使用するアプリケーションはほとんど存在しません。消費電流の低減はどのような場合でも有利に働きます。HRPDIS ビットをセットした場合、PWM 周期の 小計測単位は 8 ns です。HRDDIS ビットをセットした場合、PWM デューティサイクル、位相オフセット、デッドタイムの 小計測単位は8 ns です。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-77

Page 78: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.15 個別タイムベースの外部制御

PWMCONx<1> レジスタの外部 PWM リセット制御 (XPRES) ビットをセットした場合、外部信号を使用してプライマリ専用タイムベースをリセットできます。この動作モードは電流リセット PWM モードと呼ばれます。このモードを使用する場合、ユーザ アプリケーションはITB ビットをセットして PWM ジェネレータを独立タイムベース モードで動作させる必要があります。PWM ジェネレータがマスタ タイムベース モードで動作している時にユーザ アプリケーションで XPRES ビットをセットした場合、結果は予測不能です。

独立タイムベースのリセットをトリガする電流制限ソース信号は、PWM フォルト電流制限制御 (FCLCONx<14:10>) レジスタの電流制限制御信号ソース選択 (CLSRC<4:0>) ビットで指定します。選択した電流制限信号のアクティブエッジ ( 極性 ) は、FCLCONx レジスタの CLPOLビットで指定します。

プライマリ独立タイムベース モードを使用する場合、一部の力率改善 (PFC) アプリケーションでは、インダクタ電流値を 小目標電流レベルより高く保つ必要があります。 このようなアプリケーションでは、インダクタ電流が目標値より低下した時に、外部リセット機能を使用してPWM サイクルを早期に終了し、これにより PWM 出力をアサートしてインダクタ電流を増加させる事ができます。この場合、PWM 周期はアプリケーションの要求に応じて変化します。従って、この種のアプリケーションは、可変周波数 PWM モードと呼ばれます。

50.16 周波数分解能の拡張

マスタおよびローカル タイムベースの PWM 周期 / 周波数分解能は、タイムベースのクロック周波数で通常得られる周期 / 周波数分解能よりもさらに高める事ができます。

高速 PWM モジュール クロックのタイムベースは、 大 120 MHz で動作し、これは 8 ns のタイミング分解能を意味します。マスタおよびローカル タイムベースに組み込まれた自動的な

「ディザリング ロジック」は、これよりも高い周波数の基本ソースを生成します。ディザリング ロジックは、適切な分解能を持つ時間平均された PWM クロック周期 / 周波数を提供します。電力変換アプリケーションでディザリングを使用した場合、制御ループで電流および電圧リップルが生じる可能性があるため、デジタル電源アプリケーションにはディザリングが適さない事はよく知られています。高速 PWM モジュールは、遅延ライン ( デジタルとアナログ ) を使用してディザリング後の PWM 周期をフィルタ処理する事により、必要な周波数分解能を持つ安定したディザリングのない PWM 信号を提供します。

ディザリング低減機能の詳細はセクション 48.「オシレータ ( パート V)」を参照してください。

DS70579A_JP - p. 50-78 Preliminary © 2009 Microchip Technology Inc.

Page 79: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.17 アプリケーション情報

各種の PWM 動作モードと機能を使用する代表的なアプリケーションとして下記が挙げられます。

• 相補出力モード

• プッシュプル出力モード

• 多相 PWM• 可変位相 PWM• 電流リセット PWM• コンスタント オフタイム PWM• 電流制限 PWM

以下では、これらの各アプリケーションについて説明します。

50.17.1 相補出力モード

相補 PWM モードは、図 50-37 に示すように、標準的なエッジアライン モードと同様の方法でPWM 信号を生成します。このモードは、プライマリ PWM 信号 (PWMxH) の相補信号を、セカンダリ PWM 信号として PWMxL ピンに出力します。

図 50-37: 相補 PWM モード

VOUTL1+VIN

PWM1H

PWM1L

Synchronous Buck Converter

+

+

+VIN

PWM1H

PWM1L

CR T1

Series Resonant Half-Bridge Converter

LR VOUT

PWM1L

PWM1H

Dead Time Dead Time Dead Time

Period

Period

Duty Cycle

0

Period

TimerValue

Timer Resets

PWMxH

Value

PWMxL (Period/Duty Cycle)

Duty Cycle Match

Note: 図には正のデッドタイムを表示しています。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-79

Page 80: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.17.2 プッシュプル出力モード

プッシュプル PWM モードは、図 50-38 に示すように、PWM 信号を 2 本の PWM ピンに交互に出力します。このモードでは、相補 PWM 出力を利用できません。このモードは、変圧器式の電力変換回路で、直流電流によるコアの飽和を回避するために使用できます。プッシュプルモードでは、2 つの出力のデューティサイクルが同じであるため、実 DC バイアスはゼロです。

図 50-38: プッシュプル PWM モード

+

T1 VOUT

Half-Bridge Converter

+VIN

PWM1H

PWM1L

+

+

L1T1

++VIN

PWM1H

PWM1L

Push-Pull Buck Converter

L1 VOUT

PWH1H

PWH1L

PWH1L

PWH1H

+VIN

T1 L1 VOUT

Full-Bridge Converter

+

PWM1H

PWM1L

DCX – DTRPeriod – DCX + DTR

TONTOFF

Period Period

Dead Time Dead Time Dead Time

Period

Duty Cycle

0

Period

TimerValue

Timer Resets

PWMxH

Value

PWMxL Duty Cycle

Duty Cycle Match

DS70579A_JP - p. 50-80 Preliminary © 2009 Microchip Technology Inc.

Page 81: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.17.3 多相 PWM 多相 PWM は、図 50-39 に示すように、PHASEx レジスタの位相シフト値を使用して、各 PWM出力の位相をプライマリ タイムベースに対してシフトします。位相シフト値はプライマリ タイムベース値に追加されるため、位相シフトされた出力は、位相シフトがゼロの PWM 信号よりも早く出力されます。多相モードでは、アプリケーションの設計に基づいて選択した一定値の位相シフトを使用します。位相シフトは、マスタ タイムベースを使用する全ての PWM モードで利用できます。

多相 PWM は、過渡負荷電流の高速な処理と小型化が要求される DC/DC コンバータでよく使われます。基本的に多相コンバータは、並列に接続された互いに位相がわずかに異なる複数の降圧型コンバータにより構成されます。多相コンバータの実効スイッチング速度は、個々のコンバータのスイッチング速度の合計となります。

図 50-40 の回路で、各相が 333 kHz の PWM 周波数で動作する場合、回路全体の実効スイッチング周波数は 1 MHz です。高速なスイッチング周波数により、入力および出力コンデンサを小型化できるとともに、負荷過渡応答性とリップル特性も改善できます。

図 50-39: 多相 PWM

+

+VIN

PWM1H PWM2H PWM3H

L1L2

L3

PWM1L PWM1L PWM1L

VOUT

Multi-Phase DC/DC Converter

PWM1H

PWM1L

PWM2H

PWM2L

PWM3H

PWM3L

PWM2H

Duty CyclePWM4H

Duty CyclePWM3H

Duty CyclePWM1H

Period

Phase4

Phase 2

Phase 3

PMTMR = 0

Duty Cycle

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-81

Page 82: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.17.4 可変位相 PWMほとんどの PWM 回路は PWM 信号のデューティサイクルを変更する事によって電力フローを制御しますが、この可変位相 PWM は、図 50-40 に示すように、PWM チャンネル間の位相シフトを無段階に変化させる事によって電力フローを制御します。可変位相アプリケーションでは、多くの場合、PWM デューティサイクルを 50% に固定します。位相シフト値は、マスタ タイムベースを使用する全ての PWM モードで利用できます。

可変位相 PWM は、スイッチング損失の低減を図った比較的 近の電力変換トポロジで使用されます。標準的な PWM モードの場合、トランジスタには、導通状態と絶縁状態の間でスイッチングする際に (ON または OFF へのスイッチング時に )、 大電流 / 電圧状態が発生し、スイッチング周波数が高い場合、これにより生じる電力損失 (V * I * TSW * FPWM) が顕著となります。

ゼロ電圧スイッチング (ZVS) およびゼロ電流スイッチング (ZVC) 回路では、トランジスタのON/OFF 時に電圧または電流値をゼロにするために、電圧または電流波形のいずれかを他方に対してシフトする擬似共振方式を使用します。電流または電圧のいずれかがゼロであれば、スイッチング損失は発生しません。

図 50-40: 可変位相 PWM

PWM1H

PWM1L

PWM2H

PWM2L

Variable Phase Shift

+

+VIN

PWM1H

PWM1H

PWM1H

Duty Cycle

Period

Duty Cycle

Phase 2 (new value)

Duty Cycle

Full-Bridge ZVT Converter

T1

Duty Cycle

VOUT

Phase 2 (old value)

PWM2H

PWM1H

DS70579A_JP - p. 50-82 Preliminary © 2009 Microchip Technology Inc.

Page 83: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.17.5 電流リセット PWM 電流リセット PWM モードは、図 50-41 に示すように、実際の PWM 周期を指定された周期値以下に保つ可変周波数モードです。独立タイムベースは、PWM 信号がネゲートされた後に、ある時点で外部からリセットされます。これはコンスタント PWM オンタイム モードとも呼ばれます。PWM 電流リセット モードを使用する場合、PWM ジェネレータは独立タイムベース モードで動作する必要があります。外部リセット信号が受信されない場合、PWM 周期には PHASExレジスタの値を既定値として使用します。

電流リセットモードでは、PWM 周波数は負荷電流に応じて変化します。このモードは、ユーザ アプリケーションで 大 PWM 周期を設定し、外部回路でインダクタ電流を計測するという点で、他の PWM モードとは異なります。 インダクタ電流が指定値よりも低下すると、外部電流コンパレータ回路が PWM タイムベース カウンタに対してリセット信号を生成します。PWMのオンタイムは、ユーザ アプリケーションで指定します。PWM 信号が非アクティブに変化した後に、インダクタ電流が指定値よりも低下すると、PWM カウンタがプログラムされた PWM周期よりも早期にリセットされます。これは、コンスタント オンタイム PWM 出力とも呼ばれます。

電流リセット PWM とサイクルバイサイクル モードの電流制限 PWM 出力の違いについて注意が必要です。後者では、PWM 出力がアサートされている時に外部回路によって電流フォルトが生成され、プログラムされた本来のデューティサイクルよりも早期に PWM 信号が OFF になります。この場合、PWM 周波数は、決められたタイムベース周期に固定されます。

Note: 電流リセットモードの場合、PWMxH デューティサイクル終了後、電流制限入力信号のリーディング エッジに基づいてローカル タイムベースがリセットされます。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-83

Page 84: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

図 50-41: 電流リセット PWM

+ +ACIN CIN

L

IL

PWM1H

D VOUT

COUT

External Current Comparator Resets PWM CounterPWM Cycle Restarts Early

This is a Variable Frequency PWM mode

PWM1H

PWM1H

IL

TON

TOFF

ctual Period

Programmed Period

˜

Duty Cycle

0

Period

TimerValue

Programmed Period

PWMxH

Value

External Timer Reset

Actual Period

External Timer Reset

Programmed Period

Duty Cycle

DS70579A_JP - p. 50-84 Preliminary © 2009 Microchip Technology Inc.

Page 85: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.17.6 コンスタント オフタイム PWM コンスタント オフタイム PWM モードは、図 50-42 に示すように、実際の PWM 周期を指定された周期値以下に保つ可変周波数 PWM 出力モードです。PWM 信号がデューティサイクル値に達して PWM 信号がネゲートされた後に、PWM タイムベースが外部リセットされます。このモードを使用するには、電流リセット PWM と呼ばれるオンタイム PWM 出力を有効にし、相補 PWM 出力 (PWMxL) を使用する必要があります。

コンスタント オフタイム PWM モードは、PWM ジェネレータが独立タイムベースで動作する時にのみ有効にできます。外部リセット信号が受信されない場合、PWM 周期には PHASEx レジスタの値が既定値として使用されます。

図 50-42: コンスタント オフタイム PWM

50.17.7 電流制限 PWM サイクルバイサイクル電流制限は、図 50-43 に示すように、選択した外部フォルト信号がアサートされた時に、PWM 信号のオンデューティを早期終了します。PWM 出力値は、PWM I/O制御 (IOCONx<3:2>) レジスタの電流制限オーバーライド (CLDAT<1:0>) ビットで指定します。オーバーライド出力は、次の PWM サイクルの開始時まで有効です。このモードは、インダクタ電流が PWM オンタイムを制御する力率改善 (PFC) 回路で時々使用されます。これは固定周波数 PWM モードです。

図 50-43: 電流制限 PWM

Duty Cycle

0

Period

TimerValue

Programmed Period

PWMxL

Value

External Timer Reset

Actual Period

External Timer Reset

Note: デューティサイクルはオフタイムを示します。

Duty Cycle

0

Period

TimerValue

PWMxH

Value

FLTx Negates PWM

Duty Cycle

Duty CyclePWMxH

Duty CycleActual Actual

FLTx Negates PWM

Duty Cycle Duty CycleProgrammed Programmed

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-85

Page 86: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F

ファ

ミリ

リフ

ァレ

ンス

マニ

ュア

DS

70579A_JP

- p. 50-86Prelim

inary©

2009 Microchip Technology Inc.

Bit 3 Bit 2 Bit 1 Bit 0 全リセット

SEVTPS<3:0> 0000

— PCLKDIV<2:0> 0000

FFF8

— — — 0000

SEVTPS<3:0> 0000

— PCLKDIV<2:0> 0000

FFF8

— — — 0000

— — — 0000

0000

MTBS CAM XPRES IUE 0000

0000

0000

0000

0000

0000

0000

TRGSTRT<5:0> 0000

CLDAT<1:0> SWAP OSYNC 0000

— — — 0000

FLTPOL FLTMOD<1:0> 0000

— — — 0000

BPHH BPHL BPLH BPLL 0000

— — — 0000

PSEL<3:0> CHOPHEN CHOPLEN 0000

— — — 0000

50.18 レジスタマップ

dsPIC33F の高速 PWM モジュールに関連するレジスタの要約を表 50-5 に示します。

表 50-5: 高速 PWM レジスタマップ

レジスタ名 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4

PTCON PTEN — PTSIDL SESTAT SEIEN EIPU SYNCPOL SYNCOEN SYNCEN SYNCSRC<2:0>

PTCON2: — — — — — — — — — — — —

PTPER PTPER<15:0>

SEVTCMP SEVTCMP<15:3>

STCON — — — SESTAT SEIEN EIPU SYNCPOL SYNCOEN SYNCEN SYNCSRC<2:0>

STCON2 — — — — — — — — — — — —

STPER PTPER<15:0>

SSEVTCMP SSEVTCMP<15:3>

CHOP CHPCLKEN — — — — — CHOP<9:3>

MDC MDC<15:0>

PWMCONx FLTSTAT CLSTAT TRGSTAT FLTIEN CLIEN TRGIEN ITB MDCS DTC<1:0> DTCP —

PDCx PDCx<15:0>

SDCx SDCx<15:0>

PHASEx PHASEx<15:0>

SPHASEx SPHASEx<15:0>

DTRx — — DTRx<13:0>

ALTDTRx — — ALTDTRx<13:0>

TRGCONx TRGDIV<3:0> — — — — DTM —

IOCONx PENH PENL POLH POLL PMOD<1:0> OVRENH OVRENL OVRDAT<1:0> FLTDAT<1:0>

TRIGx TRGCMP<15:3>

FCLCONx IFLTMOD CLSRC<4:0> CLPOL CLMOD FLTSRC<4:0>

STRIGx STRGCMP<15:3>

LEBCONx PHR PHF PLR PLF FLTLEBEN CLLEBEN — — — — BCH BCL

LEBDLYx — — — — LEB<11:3>

AUXCONx HRPDIS HRDDIS — — BLANKSEL<3:0> — — CHO

PWMCAPx PWMCAPx<15:3>

凡例 : x = リセット時に未知の値、— = 未実装、「0」として読み出し、リセット値は 16 進数で表記

Note 1: 一部のデバイスでは使用できないビットもあります。詳細は各デバイスのデータシートを参照してください。

Page 87: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

セクション 50. 高速 PWM ( パート V)高速

PWM

(パート

V)

50

50.19 関連アプリケーション ノート

本セクションに関連するアプリケーション ノートの一覧を下に記載します。一部のアプリケーション ノートは dsPIC33F 製品ファミリ向けではありません。ただし概念は共通しており、変更が必要であったり制限事項が存在するものの利用が可能です。高速 PWM モジュールに関連する 新のアプリケーション ノートは下記の通りです。

タイトル アプリケーション ノート番号 現在関連するアプリケーション ノートはありません。

Note: dsPIC33F デバイス ファミリ関連のアプリケーション ノートとサンプルコードはマイクロチップ社のウェブサイト (www.microchip.com) でご覧になれます。

© 2009 Microchip Technology Inc. Preliminary DS70579A_JP - p. 50-87

Page 88: セクション 50. 高速 PWM ( パート V)ww1.microchip.com/downloads/jp/DeviceDoc/70579A_JP.pdf• SPHASEx: PWM セカンダリ位相シフトレジスタ - マスタ タイムベースを選択した場合のPWMxL

dsPIC33F ファミリ リファレンス マニュアル

50.20 改訂履歴

リビジョン A (20011 年 9 月 )本書の初版

ISBN: 978-1-61341-048-6

DS70579A_JP - p. 50-88 Preliminary © 2009 Microchip Technology Inc.