第 43 章 高速 pwm• sphasex: pwm セカンダリ位相シフト レジスタ - マスター...

78
© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-1 高速 PWM 43 43 高速 PWM ハイライト 本章では次のトピックについて説明します。 43.1 はじめに ............................................................................................................................43-2 43.2 特徴 ....................................................................................................................................43-2 43.3 制御レジスタ ....................................................................................................................43-3 43.4 アーキテクチャの概要 ..................................................................................................43-23 43.5 モジュールの説明 ..........................................................................................................43-26 43.6 PWM ジェネレータ .......................................................................................................43-32 43.7 PWM トリガ ...................................................................................................................43-43 43.8 PWM 割り込み ...............................................................................................................43-49 43.9 PWM の動作モード .......................................................................................................43-50 43.10 PWM フォルト ピン ......................................................................................................43-54 43.11 特殊機能 ..........................................................................................................................43-61 43.12 PWM 出力ピンの制御 ...................................................................................................43-64 43.13 PWM デューティ サイクルの即時更新 ......................................................................43-66 43.14 省電力モード ..................................................................................................................43-67 43.15 独立タイム ベースの外部制御 .....................................................................................43-67 43.16 アプリケーション情報 ..................................................................................................43-68 43.17 レジスタ マップ .............................................................................................................43-75 43.18 関連するアプリケーション ノート .............................................................................43-77 43.19 改版履歴 ..........................................................................................................................43-78 ご注意:この日本語版ドキュメントは、参考資料としてご使用の上、最新情報に つきましては、必ず英語版オリジナルをご参照いただきますようお願い します。

Upload: others

Post on 16-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

ご注意:この日本語版ドキュメントは、参考資料としてご使用の上、 新情報につきましては、必ず英語版オリジナルをご参照いただきますようお願いします。

第 43 章 高速 PWM

高速

PW

M

43

ハイライト

本章では次のトピックについて説明します。

43.1 はじめに ............................................................................................................................43-2

43.2 特徴 ....................................................................................................................................43-2

43.3 制御レジスタ ....................................................................................................................43-3

43.4 アーキテクチャの概要 ..................................................................................................43-23

43.5 モジュールの説明 ..........................................................................................................43-26

43.6 PWM ジェネレータ .......................................................................................................43-32

43.7 PWM トリガ ...................................................................................................................43-43

43.8 PWM 割り込み ...............................................................................................................43-49

43.9 PWM の動作モード .......................................................................................................43-50

43.10 PWM フォルト ピン ......................................................................................................43-54

43.11 特殊機能 ..........................................................................................................................43-61

43.12 PWM 出力ピンの制御 ...................................................................................................43-64

43.13 PWM デューティ サイクルの即時更新 ......................................................................43-66

43.14 省電力モード ..................................................................................................................43-67

43.15 独立タイム ベースの外部制御 .....................................................................................43-67

43.16 アプリケーション情報 ..................................................................................................43-68

43.17 レジスタ マップ .............................................................................................................43-75

43.18 関連するアプリケーション ノート .............................................................................43-77

43.19 改版履歴 ..........................................................................................................................43-78

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-1

Page 2: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.1 はじめに

この章では、高速 PWM モジュールとその動作モードについて説明します。dsPIC33F デバイス ファミリの高速 PWM モジュールは幅広い PWM モードをサポートしており、電源アプリケーションに 適です。

高速 PWM モジュールの代表的なアプリケーションは、次のとおりです。

• AC/DC コンバータ

• 力率補正 (PFC)

• インバータ

• DC/DC コンバータ

• バッテリ充電器

• デジタル照明

• 無停電電源装置 (UPS)

• AC モーターおよび DC モーター

43.2 特徴

次に、高速 PWM モジュールの主機能を説明します。

• 4 つまでの PWM ジェネレータ

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

• PWM 出力ごとに独立したタイム ベースおよびデューティ サイクル

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

• 8 つの PWM 出力に対する、独立したフォルト入力と電流制限入力

• 冗長出力

• 完全独立出力

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

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

• 特殊イベント トリガ

• PWM キャプチャ機能

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

• PWM から ADC (Analog-to-Digital Converter) へのデュアル トリガ (1 PWM サイクルにつき )

• PWMxL と PWMxH 出力ピンのスワップ

• 再マッピング可能な PWMxH および PWMxL ピン

• PWM 周波数、デューティ サイクル、位相シフトを独立して変更可能

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

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

DS70323B_JP - ページ 43-2 © 2009 Microchip Technology Inc.

Page 3: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.3 制御レジスタ

この項では、高速 PWM モジュールの動作を制御する各レジスタの機能を説明します。

• PTCON: PWM タイム ベース制御レジスタ

- 高速 PWM モジュールの有効 / 無効を切り替える

- ADC (Analog-to-Digital Converter) に対する特殊イベント トリガを設定する

- 周期即時更新の有効 / 無効を切り替える

- マスター タイム ベースの同期ソースを選択する

- 同期に関する設定を行う

• PTCON2: PWM クロック分周器選択レジスタ

- PWM マスター タイム ベースのクロック プリスケーラを選択する

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

- PWM タイム ベース周期の値を設定する

• SEVTCMP: PWM 特殊イベント比較レジスタ

- ADC モジュールのトリガに使用する比較値を設定する

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

- PWM マスター デューティ サイクル値を設定する

• PWMCONx: PWM 制御レジスタ

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

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

- タイム ベースの種類 ( マスター タイム ベースまたは独立タイム ベース ) を選択する

- デューティ サイクルの種類 ( マスター デューティ サイクルまたは独立デューティ サイクル ) を選択する

- デッド タイム モードを制御する

- センター アライン PWM モードの有効 / 無効を切り替える

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

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

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

- 共通タイム ベースを選択した場合、PWMxH および PWMxL 出力のデューティ サイクル値を設定する

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

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

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

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

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

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

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

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

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

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

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

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

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-3

Page 4: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

• 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 出力の立ち上がりまたは立ち下がりエッジのどちらで LEB を実行するかを選択する

- フォルト入力および電流制限入力に対する LEB の有効 / 無効を切り替える

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

- 電流制限入力信号に対して LEB 処理を適用した場合、電流制限入力でリーディング エッジを検出したときの独立タイム ベースの値をキャプチャして格納する

DS70323B_JP - ページ 43-4 © 2009 Microchip Technology Inc.

Page 5: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

レジスタ 43-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 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

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

bit 7 bit 0

記号の説明 : HC = ハードウェアでクリア HS = ハードウェアでセット

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

-n = POR 時の値 ‘1’ = セット ‘0’ = クリア x = 不明

ビット 15 PTEN: PWM モジュール有効化ビット 1 = PWM モジュール有効0 = PWM モジュール無効

ビット 14 実装なし。「0」として読み出し

ビット 13 PTSIDL: アイドル モードにおける PWM タイム ベース停止ビット1 = CPU アイドル モードで PWM タイム ベース停止0 = CPU アイドル モードで PWM タイム ベース動作

ビット 12 SESTAT: 特殊イベント割り込みステータス ビット1 = 特殊イベント割り込み待ち0 = 特殊イベント割り込み待ちでない

ビット 11 SEIEN: 特殊イベント割り込み有効化ビット1 = 特殊イベント割り込み有効0 = 特殊イベント割り込み無効

ビット 10 EIPU: 周期即時更新有効化ビット (1)

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

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

1 = SYNCIx/SYNCO の極性を反転 ( 負論理に設定 )0 = SYNCIx/SYNCO を正論理に設定

ビット 8 SYNCOEN: プライマリ タイム ベース同期有効化ビット (1)

1 = SYNCO 出力有効0 = SYNCO 出力無効

ビット 7 SYNCEN: 外部タイム ベース同期有効化ビット (1)

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

ビット 6 実装なし。「0」として読み出し

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

00 = SYNCI101 = SYNCI210 = 予約11 = 予約

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

0000 = 1:1 ポストスケーラ。比較一致イベントが発生するごとに特殊イベント トリガを生成0001 = 1:2 ポストスケーラ。比較一致イベント 2 回につき 1 回特殊イベント トリガを生成•••1111 = 1:16 ポストスケーラ。比較一致イベント 16 回につき 1 回特殊イベント トリガを生成

注 1: これらのビットは、PTEN = 0のとき以外は変更しないでください。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-5

Page 6: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

レジスタ 43-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 = 不明

ビット 15-3 実装なし。「0」として読み出し

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

000 = 大 PWM タイミング分解能を 1 として分周 ( 電源投入時のデフォルト )001 = 大 PWM タイミング分解能を 2 として分周010 = 大 PWM タイミング分解能を 4 として分周011 = 大 PWM タイミング分解能を 8 として分周100 = 大 PWM タイミング分解能を 16 として分周101 = 大 PWM タイミング分解能を 32 として分周110 = 大 PWM タイミング分解能を 64 として分周111 = 予約

注 1: これらのビットは、PTEN = 0のとき以外は変更しないでください。選択したクロックを動作中に変更すると、規定どおりの結果にならない場合があります。

レジスタ 43-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 = 不明

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

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

DS70323B_JP - ページ 43-6 © 2009 Microchip Technology Inc.

Page 7: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

レジスタ 43-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 = 不明

ビット 15-3 SEVTCMP<15:3>: 特殊イベント比較カウント値ビット

ビット 2-0 実装なし。「0」として読み出し

レジスタ 43-5: 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 = 不明

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

注 1: PWM 出力では、値が 0x0008 のとき 小パルス幅が生成され、値が ( 周期 - 0x0008) のとき 大パルス幅が生成されます。

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

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-7

Page 8: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

レジスタ 43-6: 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(3) MDCS(3)

bit 15 bit 8

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

DTC<1:0> — — — CAM(2,3) XPRES IUE

bit 7 bit 0

記号の説明 : HC = ハードウェアでクリア HS = ハードウェアでセット

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

-n = POR 時の値 ‘1’ = セット ‘0’ = クリア x = 不明

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

1 = フォルト割り込み待ち0 = フォルト割り込み待ちでないこのビットは、FLTIEN = 0を設定するとクリアされます。

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

1 = 電流制限割り込み待ち0 = 電流制限割り込み待ちでないこのビットは CLIEN = 0を設定するとクリアされます。

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

1 = トリガ割り込み待ち0 = トリガ割り込み待ちでないこのビットは TRGIEN = 0を設定するとクリアされます。

ビット 12 FLTIEN: フォルト割り込み有効化ビット

1 = フォルト割り込み有効0 = フォルト割り込みを無効にし、FLTSTAT ビットをクリア

ビット 11 CLIEN: 電流制限割り込み有効化ビット

1 = 電流制限割り込み有効0 = 電流制限割り込みを無効にし、CLSTAT ビットをクリア

ビット 10 TRGIEN: トリガ割り込み有効化ビット

1 = トリガ イベントによって割り込み要求を生成0 = トリガ イベント割り込みを無効にし、TRGSTAT ビットをクリア

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

1 = PHASEx/SPHASEx レジスタの値が、この PWM ジェネレータのタイム ベース周期となる0 = PTPER レジスタの値が、この PWM ジェネレータのタイミングとなる

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

1 = MDC レジスタの値が、この PWM ジェネレータのデューティ サイクルとなる0 = PDCx、SDCx レジスタの値が、この PWM ジェネレータのデューティ サイクルとなる

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

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

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

DS70323B_JP - ページ 43-8 © 2009 Microchip Technology Inc.

Page 9: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

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

00 = すべての出力モードに対し、正のデッド タイムを適用する01 = すべての出力モードに対し、負のデッド タイムを適用する10 = デッド タイム機能無効11 = 予約

ビット 5-3 実装なし。「0」として読み出し

ビット 2 CAM: センター アライン モード有効化ビット (2,3)

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

ビット 1 XPRES: 外部 PWM リセット制御ビット

1 = 独立タイム ベース モードの場合、電流制限ソースによってこの PWM ジェネレータのタイムベースをリセット

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

ビット 0 IUE: 即時更新有効化ビット

1 = アクティブな MDC/PDCx/SDCx レジスタの更新を即時に反映0 = アクティブな PDC レジスタの更新を PWM タイムベースに同期化

レジスタ 43-6: PWMCONx: PWM 制御レジスタ ( 続き )

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

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

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

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-9

Page 10: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

レジスタ 43-7: 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 = 不明

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

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

2: PWM 出力では、値が 0x0008 のとき 小パルス幅が生成され、値が ( 周期 - 0x0008) のとき 大パルス幅が生成されます。

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

レジスタ 43-8: 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 = 不明

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

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

2: PWM 出力では、値が 0x0008 のとき 小パルス幅が生成され、値が ( 周期 - 0x0008) のとき 大パルス幅が生成されます。

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

DS70323B_JP - ページ 43-10 © 2009 Microchip Technology Inc.

Page 11: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

レジスタ 43-9: 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 = 不明

ビット 15-0 PHASEx<15:0>: この PWM ジェネレータの PWM 位相シフト値、または独立タイム ベース周期ビット

注 1: PWMCONx<ITB> = 0の場合、各動作モードによって次のように異なります。

• 相補、冗長、プッシュプル出力モード (IOCONx<PMOD> = 00、01、10のいずれか ) の場合、PHASEx<15:0> は PWMxH および PWMxL 出力の位相シフト値となります。

• 完全独立出力モード (IOCONx<PMOD> = 11) の場合、PHASEx<15:0> は PWMxH の位相シフト値となります。

2: PWMCONx<ITB> = 1の場合、各動作モードによって次のように異なります。

• 相補、冗長、プッシュプル出力モード (IOCONx<PMOD> = 00、01、10のいずれか ) の場合、PHASEx<15:0> は PWMxH および PWMxL 出力の独立タイム ベース周期値となります。

• 完全独立出力モード (IOCONx<PMOD> = 11) の場合、PHASEx<15:0> は PWMxH の独立タイム ベース周期値となります。

• PWM 出力では、値が 0x0008 のとき 小パルス幅が生成され、値が ( 周期 - 0x0008) のとき 大パルス幅が生成されます。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-11

Page 12: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

レジスタ 43-10: 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 = 不明

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

注 1: PWMCONx<ITB> = 0の場合、各動作モードによって次のように異なります。

• 相補、冗長、プッシュプル出力モード (IOCONx<PMOD> = 00、01、10のいずれか ) の場合、SPHASEx<15:0> は使用されません。

• 完全独立出力モード (IOCONx<PMOD> = 11) の場合、SPHASEx<15:0> は PWMxL の位相シフト値となります。

2: PWMCONx<ITB> = 1の場合、各動作モードによって次のように異なります。

• 相補、冗長、プッシュプル出力モード (IOCONx<PMOD> = 00、01、10のいずれか ) の場合、SPHASEx<15:0> は使用されません。

• 完全独立出力モード (IOCONx<PMOD> = 11) の場合、SPHASEx<15:0> は PWMxL の独立タイム ベース周期値となります。

• PWM 出力では、値が 0x0008 のとき 小パルス幅が生成され、値が ( 周期 - 0x0008) のとき 大パルス幅が生成されます。

DS70323B_JP - ページ 43-12 © 2009 Microchip Technology Inc.

Page 13: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

レジスタ 43-11: 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 = 不明

ビット 15-14 実装なし。「0」として読み出し

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

レジスタ 43-12: 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 = 不明

ビット 15-14 実装なし。「0」として読み出し

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

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-13

Page 14: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

レジスタ 43-13: TRGCONx: PWM トリガ制御レジスタ

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

TRGDIV<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-0

DTM(1) — TRGSTRT<5:0>

bit 7 bit 0

記号の説明 :

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

-n = POR 時の値 ‘1’ = セット ‘0’ = クリア x = 不明

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

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

ビット 11-8 実装なし。「0」として読み出し

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

1 = プライマリ トリガ イベントにセカンダリ トリガ イベントを組み合わせて PWM トリガを生成

0 = プライマリ トリガ イベントにセカンダリ トリガ イベントを組み合わせないでPWMトリガを生成。2 つの PWM トリガを別々に生成

ビット 6 実装なし。「0」として読み出し

ビット 5-0 TRGSTRT<5:0>: トリガ ポストスケーラ開始有効化選択ビット

000000 = モジュール有効化後、 初のトリガ イベント生成まで 0 PWM サイクル待ち000001 = モジュール有効化後、 初のトリガ イベント生成まで 1 PWM サイクル待ち000010 = モジュール有効化後、 初のトリガ イベント生成まで 2 PWM サイクル待ち

111111 = モジュール有効化後、 初のトリガ イベント生成まで 63 PWM サイクル待ち

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

DS70323B_JP - ページ 43-14 © 2009 Microchip Technology Inc.

Page 15: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

レジスタ 43-14: 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 = 不明

ビット 15 PENH: PWMxH 出力ピン オーナーシップ ビット1 = PWM モジュールが PWMxH ピンを制御0 = GPIO モジュールが PWMxH ピンを制御

ビット 14 PENL: PWMxL 出力ピン オーナーシップ ビット1 = PWM モジュールが PWMxL ピンを制御0 = GPIO モジュールが PWMxL ピンを制御

ビット 13 POLH: PWMxH 出力ピン極性ビット1 = PWMxH ピンを負論理に設定0 = PWMxH ピンを正論理に設定

ビット 12 POLL: PWMxL 出力ピン極性ビット1 = PWMxL ピンを負論理に設定0 = PWMxL ピンを正論理に設定

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

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

ビット 9 OVRENH: PWMxH ピン オーバーライド有効化ビット1 = OVRDAT<1> のデータを PWMxH ピンに出力0 = PWM ジェネレータのデータを PWMxH ピンに出力

ビット 8 OVRENL: PWMxL ピン オーバーライド有効化ビット1 = OVRDAT<0> のデータを PWMxL ピンに出力0 = PWM ジェネレータのデータを PWMxL ピンに出力

ビット 7-6 OVRDAT<1:0>: オーバーライド有効時の PWMxH、PWMxL ピン データ ビットOVERENH = 1の場合、OVRDAT<1> のデータを PWMxH に出力OVERENL = 1の場合、OVRDAT<0> のデータを PWMxL に出力

ビット 5-4 FLTDAT<1:0>: FLTMOD 有効時の PWMxH、PWMxL ピン データ ビットFCLCONx<IFLTMOD> = 0: 通常のフォルト モードフォルトがアクティブな場合、FLTDAT<1> のデータを PWMxH に出力フォルトがアクティブな場合、FLTDAT<0> のデータを PWMxL に出力

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

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

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-15

Page 16: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

ビット 3-2 CLDAT<1:0>: CLMOD 有効時の PWMxH、PWMxL ピン データ ビットFCLCONx<IFLTMOD> = 0: 通常のフォルト モード電流制限がアクティブな場合、CLDAT<1> のデータを PWMxH に出力電流制限がアクティブな場合、CLDAT<0> のデータを PWMxL に出力

FCLCONx<IFLTMOD> = 1: 独立フォルト モードCLDAT<1:0> を無視

ビット 1 SWAP: PWMxH および PWMxL ピンのスワップ ビット1 = PWMxH 出力信号を PWMxL ピンに接続し、PWMxL 出力信号を PWMxH ピンに接続0 = PWMxH と PWMxL の各ピンを本来のピンにマッピング

ビット 0 OSYNC: 出力オーバーライド同期化ビット1 = OVRDAT<1:0> ビットによる出力オーバーライドは PWM タイム ベースと同期化0 = OVDDAT<1:0> ビットによる出力オーバーライドを次の CPU クロック境界で実行

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

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

DS70323B_JP - ページ 43-16 © 2009 Microchip Technology Inc.

Page 17: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

レジスタ 43-15: 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 = 不明

ビット 15-3 TRGCMP<15:3>: トリガ制御値ビット

プライマリ PWM がローカル タイム ベースで動作時、ADC モジュールにトリガを生成するための比較値をこのレジスタに格納

ビット 2-0 実装なし。「0」として読み出し

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-17

Page 18: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

レジスタ 43-16: 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) 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) FLTPOL(1) FLTMOD<1:0>

bit 7 bit 0

記号の説明 :

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

-n = POR 時の値 ‘1’ = セット ‘0’ = クリア x = 不明

ビット 15 IFLTMOD: 独立フォルト モード有効化ビット

1 = 独立フォルト モード : 電流制限入力によって FLTDAT<1> を PWMxH 出力にマッピングし、フォルト入力によって FLTDAT<0> を PWMxL 出力にマッピング。CLDAT<1:0> ビットはオーバーライド機能には使用しない

0 = 通常のフォルト モード:電流制限モードでは、CLDAT<1:0>ビットをPWMxHおよびPWMxL出力にマッピング。PWM フォルト モードでは、FLTDAT<1:0> ビットを PWMxH およびPWMxL 出力にマッピング

ビット 14-10 CLSRC<4:0>: PWM ジェネレータ # の電流制限制御信号ソース選択ビット (2)

00000 = フォルト 100001 = フォルト 200010 = フォルト 300011 = フォルト 400100 = フォルト 500101 = フォルト 600110 = フォルト 700111 = フォルト 801000 = 予約•••

11111 = 予約

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

1 = 選択した電流制限ソースを負論理に設定0 = 選択した電流制限ソースを正論理に設定

ビット 8 CLMOD: PWM ジェネレータ # の電流制限モード有効化ビット

1 = 電流制限モード有効0 = 電流制限モード無効

注 1: これらのビットは、PTEN = 0のとき以外は変更しないでください。選択したクロックを動作中に変更すると、規定どおりの結果にならない場合があります。

2: 独立フォルト モードを有効 (IFLTMOD = 1) にし、電流制限モードでフォルト 1 を使用 (CLSRC<4:0>= b0000) する場合、フォルト 1 によって PWMxL と PWMxH の両方の出力が無効にされるのを防ぐため、フォルト制御信号ソース選択ビット (FLTSRC<4:0>) を未使用のフォルト ソースに設定してください。

3: 独立フォルト モードを有効 (IFLTMOD = 1) にし、フォルトモードでフォルト 1 を使用 (FLTSRC<4:0>= b0000) する場合、電流制限ソースによって PWMxL と PWMxH の両方の出力が無効にされるのを防ぐため、電流制限制御信号ソース選択ビット (CLSRC<4:0>) を未使用の電流制限ソースに設定してください。

DS70323B_JP - ページ 43-18 © 2009 Microchip Technology Inc.

Page 19: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

ビット 7-3 FLTSRC<4:0>: PWM ジェネレータ # のフォルト制御信号ソース選択ビット00000 = フォルト 100001 = フォルト 200010 = フォルト 300011 = フォルト 400100 = フォルト 500101 = フォルト 600110 = フォルト 700111 = フォルト 801000 = 予約

11111 = 予約

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

1 = 選択したフォルト ソースを負論理に設定0 = 選択したフォルト ソースを正論理に設定

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

00 = 選択したフォルト ソースによって、PWMxH および PWMxL ピンに FLTDAT の値を強制設定 ( ラッチ モード )

01 = 選択したフォルト ソースによって、PWMxH および PWMxL ピンに FLTDAT の値を強制設定 ( サイクル バイ サイクル モード )

10 = 予約11 = フォルト入力無効

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

注 1: これらのビットは、PTEN = 0のとき以外は変更しないでください。選択したクロックを動作中に変更すると、規定どおりの結果にならない場合があります。

2: 独立フォルト モードを有効 (IFLTMOD = 1) にし、電流制限モードでフォルト 1 を使用 (CLSRC<4:0>= b0000) する場合、フォルト 1 によって PWMxL と PWMxH の両方の出力が無効にされるのを防ぐため、フォルト制御信号ソース選択ビット (FLTSRC<4:0>) を未使用のフォルト ソースに設定してください。

3: 独立フォルト モードを有効 (IFLTMOD = 1) にし、フォルトモードでフォルト 1 を使用 (FLTSRC<4:0>= b0000) する場合、電流制限ソースによって PWMxL と PWMxH の両方の出力が無効にされるのを防ぐため、電流制限制御信号ソース選択ビット (CLSRC<4:0>) を未使用の電流制限ソースに設定してください。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-19

Page 20: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

レジスタ 43-17: 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 = 不明

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

セカンダリ PWM がローカル タイム ベースで動作時、ADC モジュールにトリガを生成するための比較値をこのレジスタに格納

ビット 2-0 実装なし。「0」として読み出し

DS70323B_JP - ページ 43-20 © 2009 Microchip Technology Inc.

Page 21: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

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

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

PHR PHF PLR PLF FLTLEBEN CLLEBEN LEB<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

LEB<7:3> — — —

bit 7 bit 0

記号の説明 :

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

-n = POR 時の値 ‘1’ = セット ‘0’ = クリア x = 不明

ビット 15 PHR: PWMxH 立ち上がりエッジ トリガ有効化ビット1 = PWMxH の立ち上がりエッジで LEB カウンタをトリガ0 = LEB で PWMxH の立ち上がりエッジを無視

ビット 14 PHF: PWMxH 立ち下がりエッジ トリガ有効化ビット1 = PWMxH の立ち下がりエッジで LEB カウンタをトリガ0 = LEB で PWMxH の立ち下がりエッジを無視

ビット 13 PLR: PWMxL 立ち上がりエッジ トリガ有効化ビット1 = PWMxL の立ち上がりエッジで LEB カウンタをトリガ0 = LEB で PWMxL の立ち上がりエッジを無視

ビット 12 PLF: PWMxL 立ち下がりエッジ トリガ有効化ビット1 = PWMxL の立ち下がりエッジで LEB カウンタをトリガ0 = LEB で PWMxL の立ち下がりエッジを無視

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

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

ビット 9-3 LEB<6:0>: 電流制限およびフォルト入力リーディング エッジ ブランキング ビット8.32 ns 単位で値を指定

ビット 2-0 実装なし。「0」として読み出し

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-21

Page 22: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

レジスタ 43-19: 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 = 不明

ビット 15-3 PWMCAP<15:3>: PWM タイム ベース キャプチャ値ビット (1,2)

電流制限入力でリーディング エッジを検出したときのPWMタイム ベースの値をキャプチャしてこのレジスタに格納

ビット 2-0 実装なし。「0」として読み出し

注 : PWMCONx<ITB> = 0の場合、各動作モードによって次のように異なります。

• 相補、冗長、プッシュプル出力モード (IOCONx<PMOD> = 00、01、10のいずれか ) の場合、PHASEx<15:0> = PWMxH 出力と PWMxL 出力の位相シフト値

• 完全独立出力モード (IOCONx<PMOD> = 11) の場合、PHASEx<15:0> = PWMxH のみの位相シフト値

• PWMCONx<ITB> = 1の場合、各動作モードによって次のように異なります。相補、冗長、プッシュプル出力モード (IOCONx<PMOD> = 00、01、10のいずれか ) の場合、PHASEx<15:0> = PWMxH と PWMxL の独立タイム ベース周期値

• 完全独立出力モード (IOCONx<PMOD> = 11) の場合、PHASEx<15:0> = PWMxH のみの独立タイム ベース周期値

DS70323B_JP - ページ 43-22 © 2009 Microchip Technology Inc.

Page 23: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.4 アーキテクチャの概要

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

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

CPU

Master Time Base

PWMGenerator 1

PWMGenerator 2

PWMGenerator 3

PWMGenerator 4

SYNCI1/2

SYNCO

PWM1H

PWM1L

PWM1 Interrupt

PWM2H

PWM2L

PWM2 Interrupt

PWM3H

PWM3L

PWM3 Interrupt

PWM4H

PWM4L

PWM4 Interrupt

Synchronization Signal

Data Bus

ADC Module Fault and

Fault and Current-Limit

Fault and Current-Limit

Fault and Current-Limit

Synchronization Signal

Synchronization Signal

Synchronization Signal

Primary Trigger

Secondary Trigger

Special Event Trigger Current-Limit

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-23

Page 24: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

高速 PWM モジュールには、 大 4 つの PWM ジェネレータがあります。各 PWM ジェネレータには、PWMxH と PWMxL の 2 つの PWM 出力があります。マスター タイム ベースジェネレータからは、複数の異なる PWM 出力を同期させるための共通タイム ベースとなる同期信号が生成されます。各ジェネレータは独立して動作することも、マスター タイムベースに同期して動作することもできます。PWM の各出力は、すべてデバイスのピンに出力されます。入力フォルト信号と電流制限信号を有効にすると、PWM 出力を既知の「安全な」状態に維持して、システムの監視および保護ができます。

各 PWM からは、ADC モジュールにトリガを生成することで、PWM 周期の特定のインスタンスでアナログ信号をサンプリングできます。また、マスター タイム ベースに基づいて、高速 PWM モジュールから ADC モジュールに特殊イベント トリガを生成することもできます。

高速 PWM モジュールは、外部信号に同期することも、外部デバイスに対する同期ソースとして動作することもできます。入力ピンの SYNCI1 および SYNCI2 ピンを使用すると、高速 PWM モジュールを外部信号に同期させることができます。外部デバイスに対する同期信号は、SYNCO ピンから出力されます。

高速 PWM モジュールは、次のような要件の電源アプリケーションで広く使用できます。

• 高動作周波数と高分解能

• デューティ サイクル、周期、デッド タイムなどの PWM パラメータを動的に制御可能

• 各 PWM を独立して制御可能

• すべての PWM を同期的に制御可能

• PWM ジェネレータごとに独立したリソースの割り当て

• フォルト処理機能

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

次の項では、高速 PWM モジュールの各機能を詳しく説明します。図 43-2 に、高速 PWMモジュールの各レジスタの相互接続を示します。

DS70323B_JP - ページ 43-24 © 2009 Microchip Technology Inc.

Page 25: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

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

MUX

PTMRx

PDCx

PWMCONx TRGCONx

PTCON, PTCON2

IOCONx

DTRx

PWM2L

PWM2H

FLTx

PWM1L

PWM1H

FLTCONx

MDC

PHASEx

LEBCONx

MUX

STMRx

SDCx

SPHASEx ALTDTRx

PWMCAPx

User Override Logic

Current-Limit

PWM Output Mode Control Logic

Dead

Logic

Pin Control Logic

Fault and Current-Limit

Logic

PWM Generator 1

FLTx

PWM Generator 2

PWM3LPWM3H

FLTx

PWM Generator 3

PWM4L

PWM4H

FLTx

PWM Generator 4

InterruptLogic

ADC Trigger

Module Control and Timing

Master Duty Cycle Register

Syn

chro

niz

atio

nS

ynch

ron

iza

tion

Mas

ter

Per

iod

Ma

ste

r P

erio

d

Ma

ste

r D

uty

Cyc

leM

ast

er

Du

ty C

ycle

Secondary PWM

SYNCI2SYNCI1

SYNCO1SEVTCMP

Comparator Special Event TriggerSpecial Event

Postscaler

PTPER

PMTMR Primary Master Time Base

Master Time Base Counter

Special Event Compare Trigger

Comparator

Clock Prescaler

Comparator

Comparator

Comparator

16

-bit

Da

ta B

us Time

TRIGx Fault Override Logic

Override Logic

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-25

Page 26: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.5 モジュールの説明

43.5.1 PWM クロックの選択

システム クロックとは独立した PWM モジュール用クロックを生成するには、補助クロック ジェネレータを使用します。補助クロック (ACLK) は、主発振器クロック (POSCCLK)と内蔵 FRC クロック (FRCCLK) に補助 PLL を組み合わせることによって使用できます。補助 PLL の逓倍率は 16 倍で固定されています。

補助クロック制御 (ACLKCON) レジスタを使用して必要な補助クロックを設定するには、リファレンス クロックを選択し、補助 PLL と出力分周器を有効にします。式 43-1 に、リファレンス クロックの入力周波数と補助クロック (ACLK) の周波数の関係を示します。

式 43-1:

例 43-1: PWM クロックの設定コード

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

式 43-2:

ここで :REFCLK = 内蔵 FRC のクロック周波数 (7.37 MHz) ( クロック ソースに内蔵 FRC を

 

REFCLK = 主発振器のクロック周波数 (POSCCLK) ( クロック ソースに主発振器を 

M = 16 (ENAPLL (ACLKCON<15>) ビットをセットして補助 PLL を有効にした場合 )

M = 1 ( 補助 PLL が無効の場合 )

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

選択した場合 )

選択した場合 )

(APSTSCLR<2:0>) ビットで選択したポストスケーラ比

ACLK = (REFCLK * M)/N

注 : 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>) ビットで選択したポストスケーラ比

注 : 主 PLL を補助クロックのソースとして使用する場合は、主 PLL の動作クロックを 30 MHz 未満に設定する必要があります。

DS70323B_JP - ページ 43-26 © 2009 Microchip Technology Inc.

Page 27: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

例 43-2: クロック ソースに主発振器を使用した ACLK の設定方法

補助クロック ジェネレータの設定の詳細は、第 42 章「Oscillator (Part IV)」(DS70307) を参照してください。

43.5.2 タイム ベース

PWM ジェネレータの各 PWM 出力は、マスター タイム ベースまたは独立タイム ベースのいずれかを使用できます。高速 PWM モジュールの入力クロックには 1:1 ~ 1:64 のプリスケーラ ( 分周器 ) があり、PWM クロック分周器選択 (PTCON2<2:0>) レジスタの PWM 入力クロック プリスケーラ ( 分周器 ) 選択 (PCLKDIV) ビットで選択します。選択したプリスケーラ比の値は PWM 分解能にも反映されるため、高速 PWM モジュールの消費電力削減につながります。プリスケーラを通過したクロックが、PWM クロック制御ロジック ブロックの入力となります。クロック レートを 大に設定すると、デューティ サイクルと周期の分解能は 1.04 ns となります。

次に例を示します。

• 1:2 のプリスケーラ比を選択した場合、PWM のデューティ サイクルと周期の分解能は2.08 ns に設定できます。このため、高速 PWM モジュールの消費電力は、 大動作速度の場合に比べ約 50% 削減されます。

• 1:4 のプリスケーラ比を選択した場合、PWM のデューティ サイクルと周期の分解能は4.16 ns に設定できます。このため、高速 PWM モジュールの消費電力は、 大動作速度の場合に比べ約 75% 削減されます。

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

43.5.3 標準的なエッジ アライン PWM

標準的なエッジ アライン PWM の波形を図 43-3 に示します。エッジ アライン PWM を生成するには、タイマまたはカウンタ回路を使用して、0 から指定した 大値 ( 周期と呼びます ) までカウントします。そして、別のレジスタに格納されたデューティ サイクルの値とタイマ ( 周期 ) の値を常時比較します。タイマまたはカウンタの値がデューティ サイクルの値以下の場合、PWM 出力信号がオンになります。タイマの値がデューティ サイクルの値より大きくなると、PWM 信号がオフになります。タイマの値が周期の値以上になると、タイマがリセットされ、以後同じ動作を繰り返します。

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

/* Setup for the PWM clock to use the primary oscillator as the REFCLK *//*((primary oscillator* 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 */

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

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-27

Page 28: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.5.4 センター アライン PWM

図 43-4 に示したセンター アライン PWM の波形では、PWM 信号の半分が基準点の前に発生し、信号の残り半分が基準点の後に発生するように PWM 信号がアラインされます。センター アライン モードを有効にするには、PWM 制御 (PWMCONx<2>) レジスタのセンター アライン モード有効化 (CAM) ビットをセットします。

センター アライン モードでの動作中は、PWM ジェネレータ内の独立したタイム ベースカウンタが 1 サイクル以内でカウントアップとカウントダウンを行うため、実効 PWM 周期は PHASEx レジスタで指定した値の 2 倍になります。このカウントアップとカウントダウンのシーケンスによって、有効な PWM サイクル周期は 2 倍になります。このモードは、多くのモーター制御アプリケーションで使用されます。

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

例 43-3: エッジ アライン モードとセンター アライン モードの選択

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

PHASEX

Local Time-Base Value

2 x Period

Period

0

PDC1

PDC2

PWM1H

PWM2H

/* 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

DS70323B_JP - ページ 43-28 © 2009 Microchip Technology Inc.

Page 29: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.5.5 マスター タイム ベース / 同期タイム ベース

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

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

マスター タイム ベースの主なタスクは次のとおりです。

• すべての PWM ジェネレータのリファレンスとなるタイム ベースを生成

• 特殊イベント ADC トリガおよび割り込みを生成

• 外部 SYNC 信号 (SYNCI1/SYNCI2) との同期をサポート

• 外部デバイスとの同期をサポート (SYNCO 信号を使用 )

PWM ジェネレータのマスター タイム ベースを設定するには、マスター タイム ベース周期 (PTPER) レジスタに 16 ビットの値をロードします。マスター タイム ベース モードでは、PHASEx および SPHASEx レジスタの値は、PWM 出力間の位相シフトとなります。PWM タイマ (PMTMR) のクロックは、システム クロックから取得します。

43.5.6 タイム ベースの同期

マスター タイム ベースは、マスター タイム ベース同期信号 (SYNCI1/SYNCI2) を使用して、外部同期信号と同期できます。同期ソース (SYNCI1 または SYNCI2) は、PWM タイム ベース制御 (PTCON<5:4>)レジスタの同期ソース選択 (SYNCSRC<1:0>)ビットで選択します。PWM タイム ベース制御 (PTCON<9>) レジスタの同期入力極性 (SYNCPOL) ビットでは、同期パルスの立ち上がりまたは立ち下がりのどちらのエッジでタイマ (PMTMR) をリセットするかを選択します。外部同期機能の有効 / 無効の切り替えは、PWM タイム ベース制御 (PTCON<7>) レジスタの外部タイム ベース同期有効化 (SYNCEN) ビットで設定します。マスター タイム ベースによる信号を確実に検出するには、外部同期信号(SYNCI1/SYNCI2) のパルス幅を 200 ns より大きく設定する必要があります。

同期出力信号 (SYNCO) を使用すると、外部デバイスをマスター タイム ベースに同期させることができます。SYNCO 信号は、マスター タイム ベース周期 (PTPER) レジスタによって PMTMR タイマがリセットされると生成されます。SYNCO 信号の極性は、PTCON レジスタの SYNCPOL ビットで設定します。SYNCO 信号の有効 / 無効の切り替えは、PTCON(PTCON<8>)レジスタのプライマリ タイム ベース同期有効化 (SYNCOEN)ビットで設定します。

同期機能の利点は、複数のパワー コントローラを使用してもビート周波数が発生しないことです。

MUX

SYNCSRC

PMTMR

SEVTCMP

1:1

1:16

PTPER

SEVTPS

Reset

SYNCENSYNCI1

SYNCI2

SYNCOEN

SYNCO

Edge Detector

SYNCPOL

Special Event Trigger to ADC

Synchronization Signal

PWM Clock

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-29

Page 30: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

例 43-4: マスター タイム ベースを外部信号と同期

例 43-5: 外部デバイスをマスター タイム ベースと同期

43.5.7 特殊イベント トリガ

高速 PWM モジュールには、PWM タイム ベースに同期した A/D (Analog-to-Digital) 変換に使用する、マスター特殊イベント トリガがあります。A/D サンプル時間と変換時間は、PWM 周期内の任意のタイミングで発生するようプログラムできます。特殊イベント トリガを使用すると、ユーザー アプリケーションにおいて、A/D 変換の結果を取得してからデューティ サイクルの値を更新するまでの遅延を 小化できます。特殊イベント トリガは、マスター タイム ベースに基づいています。

マスター特殊イベント トリガの値は、PWM 特殊イベント比較 (SEVTCMP) レジスタに格納されます。また、PWM タイム ベース制御 (PTCON<3:0>) レジスタの PWM 特殊イベント トリガ出力ポストスケーラ選択 (SEVTPS) ビットによって、特殊イベント トリガの動作を制御します。ADC モジュールに対してトリガを生成するには、PTPER レジスタの値とSEVTCMP レジスタの値を比較します。マスター特殊イベント トリガはポストスケーラを備えており、1:1 から 1:16 までのポストスケール比を取ることが可能です。このポストスケーラは、PTCON レジスタの SEVTPS 制御ビットに書き込み、設定します。

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

• 特殊イベント割り込み有効化 (SEIEN) ビットの状態に関係なく、一致状態が発生した場合

• SEVTCMP レジスタに格納されている値が、0 ~ PTPER レジスタの 大値の場合

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

• 何らかのデバイス リセット

• PTEN = 0の場合

例 43-6: ADC 特殊イベント トリガの設定

/* Synchronizing 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 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

DS70323B_JP - ページ 43-30 © 2009 Microchip Technology Inc.

Page 31: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.5.8 独立 PWM タイム ベース

図 43-6 に、独立タイム ベースにおける PWM の機能を示します。

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

各 PWM ジェネレータは、次のいずれかで動作します。

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

PWM プライマリ位相シフト (PHASEx) レジスタの値が、両方の PWM 出力 (PWMxH および PWMxL) に共通の独立したタイム ベース周期となります。

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

PHASEx レジスタの値が PWMxH 出力用の独立タイム ベース周期となります。PWMセカンダリ位相シフト (SPHASEx) レジスタの値が、PWMxL 出力用の独立タイム ベース周期となります。

独立タイム ベース モードでは、PHASEx および SPHASEx レジスタの値が PWMx 出力(PWMxH および PWMxL) 用のタイム ベース周期となります。

PTMRx

PTPER

Equality Comparator

CLK

>

Reset

16

16

MUX

PHASEx

ITBx0 1

15 0 15 0

15 0

STMRx

PTPER

Equality Comparator

CLK

>

Reset

16

16

MUX

SPHASEx

ITBx0 1

15 0 15 0

15 0

ITB = 1, Controls PWMxH only ITB = 1, Controls PWMxL onlyITB = 0, Controls PWMxH and PWMxL ITB = 0, Not applicable

注 : PTMRx と STMRx の値は、ユーザー アプリケーションから読み出すことはできません。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-31

Page 32: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.6 PWM ジェネレータ

この項では、PWM ジェネレータの機能を説明します。

43.6.1 PWM 周期

PWM 周期の値は、PWM パルスのスイッチング周波数を定義します。PWM 周期の値を制御するのは、マスター タイム ベース周期 (PTPER) レジスタ、または独立タイム ベース周期 (PHASEx および SPHASEx) レジスタ ( それぞれプライマリおよびセカンダリ PWM出力に対して ) です。

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

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

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

各種 PWM モードおよびその機能の詳細は、43.9 項「PWM の動作モード」を参照してください。

高速 PWM モジュールがマスター タイム ベース モードで動作している場合は、PMTMRタイマのカウント周期を指定する 16 ビットの値が、PTPER レジスタに格納されます。高速 PWM モジュールが独立タイム ベース モードで動作している場合は、PTMRx およびSTMRx タイマのカウント周期を指定する 16 ビットの値が、PHASEx および SPHASEx レジスタにそれぞれ格納されます。タイマ周期は、ユーザー アプリケーションによって任意の時点で更新できます。PWM タイム ベース周期 (PTPER) は、式 43-3 から求められます。

式 43-3: PTPER、PHASEx、SPHASEx レジスタの値の計算

式 43-3 に基づいて、マスター タイム ベース モード時 (PTPER レジスタ ) または独立タイム ベース モード時 (PHASEx および SPHASEx レジスタ ) にレジスタに格納される値を、例 43-7 に示します。

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

PWM 周期の 大分解能は 1.04 ns です。PWM クロック分周器選択 (PTCON2<2:0>) レジスタの PWM 入力クロック プリスケーラ ( 分周器 ) 選択 (PCLKDIV<2:0>) ビットで、PWM クロックの種類を設定します。タイマ / カウンタを有効または無効にするには、PWM タイム ベース制御 (PTCON<15>) レジスタの PWMモジュール有効化 (PTEN)ビットをセットまたはクリアします。PMTMR タイマも、PTEN ビットを使用することでクリアできます。

PWMタイム ベース制御(PTCON<10>)レジスタの周期即時更新有効化(EIPU)ビットをセットすると、アクティブなマスター周期レジスタ ( 内部のシャドウ レジスタ ) は、PWM サイクルの終了を待たずに即時更新されます。EIPU ビットは、PMTMR マスター タイム ベースに影響します。

ここで : Desired PWM Period = PWM Frequency

PTPER, PHASEx, SPHASEx =

1

7.37 MHz 1.04 ns * PWM Input Clock Prescaler

REFCLK Desired PWM Period *

ここで : PWM Frequency = 100 kHzPWM Input Clock Prescaler = 1:2

REFCLK = FRC = 7.37 MHz

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

DS70323B_JP - ページ 43-32 © 2009 Microchip Technology Inc.

Page 33: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

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

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

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

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

デューティ サイクルとは、PWM 出力がアクティブ状態にある時間の長さを設定するものです。各デューティ サイクル レジスタには、16 ビットのデューティ サイクル値を指定できます。PWM 制御 (PWMCONx<0>) レジスタの即時更新有効化 (IUE) ビットをセットした場合、デューティ サイクル値は任意の時点で更新できます。IUE ビットが「0」の場合、アクティブなレジスタが次の PWM サイクルの開始時に更新されます。

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

また、各 PWM ジェネレータにはプライマリ デューティ サイクル (PDCx) レジスタとセカンダリ デューティ サイクル (SDCx) レジスタがあり、各 PWM に 2 種類の異なったデューティ サイクルを供給します。

43.6.2.1 マスター デューティ サイクル (MDC)

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

MDC レジスタを使用して 1 つのデューティ サイクル レジスタを複数の PWM ジェネレータで共用する場合は、複数のデューティ サイクルレジスタを更新する場合に比べて CPUのオーバーヘッドを軽減できます。

43.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;

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-33

Page 34: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

図 43-7: プライマリ デューティ サイクルの比較

43.6.2.3 セカンダリ デューティ サイクル (SDCx)

PWMCONx レジスタの ITB ビットを「1」にセットすると、セカンダリ デューティ サイクルは独立タイム ベースによって制御されます。SDCx レジスタが、セカンダリ PWM 出力 (PWMxL) 信号のデューティ サイクル値を供給する入力レジスタとなります。

図 43-8: セカンダリ デューティ サイクルの比較

PDCx Register

PMTMR or PTMRx

Compare Logic PWMx signal

015

15

MUX

MDC Register

MDCS select0 1

Clk

15

0

0

<=

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

SDCx Register

STMRx

Compare Logic PWMx signal

015

15

MUX

MDC Register

MDCS select0 1

Clk

15

0

0

<=

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

DS70323B_JP - ページ 43-34 © 2009 Microchip Technology Inc.

Page 35: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

デューティ サイクルは、式 43-4 から求められます。

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

マスター、独立プライマリ、独立セカンダリの各デューティ サイクルを使用する場合、式43-4 に基づくレジスタの値が MDC、PDCx、SDCx レジスタにそれぞれ格納されます。

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

PWM クロックでプリスケーラ比を 大に設定した場合、PWM のデューティ サイクルおよび周期のビット分解能は LSB 当たり 1.04 ns です。PWM デューティ サイクルのビット分解能は、式 43-5 によって求められます。

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

表 43-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 =

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

2: デューティ サイクル値が ( 周期値 - 0x0008) より大きい場合、デューティ サイクルは 100%となります。

3: デューティ サイクル値が周期値以上の場合、信号のデューティ サイクルは 100%となります。

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

PWM Duty Cycle Resolution PWM Frequency

16 bits 14.6 kHz

15 bits 29.3 kHz

14 bits 58.6 kHz

13 bits 117.2 kHz

12 bits 234.4 kHz

11 bits 468.9 kHz

10 bits 937.9 kHz

9 bits 1.87 MHz

8 bits 3.75 MHz

Bit Resolution = log27.37 MHz

REFCLK *

PWM Period

1.04 ns * PWM Input Clock Prescaler

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-35

Page 36: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

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

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

43.6.3 デッド タイムの生成

デッド タイムとは、相補 PWM 信号が一定時間オフになるまで PWM 出力がオンにならないようにする、プログラマブルな時間周期のことです。デッド タイム レジスタ (DTRx) または代替デッド タイム (ALTDTRx) レジスタで設定します。

高速 PWM モジュールには、4 つのデッド タイム制御ユニットがあります。各デッド タイム制御ユニットには、固有のデッド タイム値があります。

デッド タイムは、PWM のいずれかのペアが相補出力モードで動作している場合に生成できます。パワー トランジスタは瞬時にスイッチできないため、多くのパワー変換回路ではデッド タイムが必要です。相補ペアの片方の PWM 出力のターンオフ イベントからもう一方の PWM 出力のターンオン イベント、または他のトランジスタのターンオン イベントまでの間に、一定の時間を置くことによって、貫通電流を回避する必要があります。

高速 PWM モジュールでは、正のデッド タイムと負のデッド タイムを設定できます。正のデッド タイムは、PWM 出力のオーバーラップを回避します。正のデッド タイムの生成は、すべての出力モードで可能です。正のデッド タイム回路は、PWM 信号のリーディング エッジをブランキング ( ゲーティング ) する役割を果たします。負のデッド タイムは、PWMxH と PWMxL 信号を強制的にオーバーラップさせます。負のデッド タイムが機能するのは、片方の PWM 出力がオンになると、その時点で現在オンになっている 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

DS70323B_JP - ページ 43-36 © 2009 Microchip Technology Inc.

Page 37: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

図 43-9: デュアル デッド タイムの波形

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

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

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

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

デッド タイムは、式 43-6 に示す式によって求められます。

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

デッド タイム制御モードには、次の 3 種類があります。

• 正のデッド タイム

正のデッド タイム モードでは、PWMxH と PWMxL の両方の出力がオフとなる時間の長さを定義します。このモードは、アプリケーション設計において、あるパワー トランジスタを一定時間オフにしてから別のトランジスタをオンにする場合に有用です。これは「Break before Make」スイッチに相当します。正のデッド タイム モードを指定した場合、PWMxH 出力のデッド タイムは DTRx レジスタで設定し、PWMxL 出力のデッド タイムは ALTDTRx レジスタで設定します。

• 負のデッド タイム

負のデッド タイム モードでは、PWMxH と PWMxL の両方の出力がオンとなる時間の長さを定義します。このモードは、パワー トランジスタのスイッチング時に電流の流れる経路が必要となる電流給電トポロジに有用です。これは「Make before Break」スイッチに相当します。負のデッド タイム モードを指定した場合、PWMxL 出力の負のデッド タイムは DTRx レジスタで設定し、PWMxH 出力の負のデッド タイムはALTDTRx レジスタで指定します。

• デッド タイムなし

デッド タイム ロジックは、PWM ジェネレータごとに無効化できます。デッド タイムの機能は、PWMCONx レジスタの DTC<2: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 *

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-37

Page 38: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.6.5 デッド タイムの範囲

各デッド タイム ユニットによって挿入されるデッド タイムの長さは、DTRx レジスタおよび ALTDTRx レジスタに符号なしの値を指定して設定します。動作クロック周波数が大でデューティ サイクル分解能が 1.04 ns の場合、デッド タイムの分解能は 1.04 ns です。PWM の分解能が 大のとき、 大デッド タイム値は 17.03 µs です。

43.6.6 デッド タイムによる歪み

デューティ サイクルの値が 0% または 100% 付近の場合、デッド タイムをアクティブにすると PWM 信号の直線性が失われることがあります。デッド タイムよりデューティ サイクル値が小さいと、PWM 出力はゼロになります。デューティ サイクル値が (100% - デッド タイム値 ) より大きい場合、PWM 出力はデューティ サイクル値が (100% - デッド タイム値 ) の場合と同じになります。

43.6.7 デッド タイムの分解能

クロック レートが 大の場合、デッド タイムの分解能は通常の動作条件で 1.04 ns です。ただし、いくつかの例外があります。

1. フォルト、電流制限、ユーザー オーバーライド イベントでは、CPU の動作速度とプリスケーラを 大にした場合、デッド タイムの 大限の分解能は 8.32 ns (DTRx および ALTDTRx レジスタのビット 3) です。

2. デバイスに高分解能PWMオプションが実装されておらず、PWMクロック プリスケーラの分解能が 1.04 ns、2.08 ns、4.16 ns のいずれかの場合、デッド タイムの 大限の分解能は 8.32 ns です。

例 43-13: PWM デッド タイムの制御

例 43-14: PWM デッド タイムの初期化

注 : 電流制限またはフォルトのオーバーライド データが「0」に設定されている場合、デッド タイムは挿入されず、「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 Equation 43-5 */

DTR1 = 63; // Dead Time value is 65.5 nsALTDTR1 = 63; // Alternate Dead time value is 65.5 ns

DS70323B_JP - ページ 43-38 © 2009 Microchip Technology Inc.

Page 39: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.6.8 センター アライン モードにおけるデッド タイムの挿入

センター アライン モードで相補 PWM を使用する場合、デッド タイムの挿入にはALTDTRx レジスタのみを使用します。デッド タイムは、図 43-10 に示したように PWM波形に挿入されます。

図 43-10: センター アライン モードにおけるデッド タイムの挿入

43.6.9 位相シフト

位相シフトとは、マスター タイム ベースと PWMxH または PWMxL の間の相対的オフセットを指します。独立出力モードでは、PWMxH とマスター タイム ベースの間の相対的位相シフトは、PHASEx レジスタで設定します。PWMxL とマスター タイム ベースの間の相対的位相シフトは、SPHASEx レジスタで設定します。PHASEx レジスタの内容は PTMRxレジスタの初期化値として使用され、SPHASEx レジスタの内容は STMRx レジスタの初期化値として使用されます。

図 43-11 に相補モード時、図 43-12 に独立出力モード時の位相シフトの波形例を示します。

ALTDTRx ALTDTRx ALTDTRx ALTDTRx

PWMxH

PWMxL

PDCx

Period

2x Period

0

PHASEx

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-39

Page 40: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

図 43-11: 位相シフト ( 相補モード )

図 43-12: 位相シフト ( 独立出力モード )

また、PHASEx および SPHASEx レジスタには 2 つのシャドウ レジスタがあり、これらはユーザー アプリケーションによって新しい値が書き込まれるたびに更新されます。これらの値は、独立タイム ベースのリセット時に、シャドウ レジスタから PHASEx およびSPHASEx レジスタに転送されます。これらの位相オフセットが PWM 出力に実際に適用されるのは、マスター タイム ベースのリセット時となります。

図 43-13 に、これらのイベントの生成タイミング図を示します。

位相オフセット値は、0 から PTPER レジスタの値までの範囲で、任意の値をとることができます。PHASEx または SPHASEx の値が PERIOD の値よりも大きい場合、これらの値は周期と同じ値として扱われます。周期値よりも大きい位相シフトを生成することは不可能です。

PWMxH without Phase Shift

PWMxH with Phase Shift

PWMxL without Phase Shift

PWMxL with Phase Shift

PHASEx

注 : 相補、プッシュプル、冗長出力モードでは、PWMxH と PWMxL の位相シフトは PHASEx で

制御します。

PWMxH without Phase Shift

PWMxH with Phase Shift

PWMxL without Phase Shift

PWMxL with Phase Shift

注 : 独立出力モードでは、PWMxL の位相シフトは SPHASEx で設定し、PWMxH の位相シフトは

PHASEx で設定します。

(different duty cycle)

PHASEx

SPHASEx

DS70323B_JP - ページ 43-40 © 2009 Microchip Technology Inc.

Page 41: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

図 43-13: 位相シフトの波形

Master Time Base

(PMTMR)

Period Match

Requested PHASEx

PHASEx

SPHASEx

PTMRx

PWMxH

STMRx

PWMxL

SDCx

PDCx

50 75 25

50 75 25

注 : 独立タイム ベース モードの場合、高速 PWM モジュールの動作はマスター タイム ベースによって制御されます。

PTPER =100

PMTMR rollover on PTPER match

Next Phase Next Phase

Load on ITB rollover

Load ITB with PHASEx on MTB rollover

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-41

Page 42: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

例 43-15: PWM 位相シフトの初期化

表 43-2 に、入力クロック プリスケーラの個々の設定に対する、PWM デューティ サイクル、位相、デッド タイムのビット分解能を示します。

表 43-2: プリスケーラ選択とデューティ サイクル、位相、デッド タイムのビット分解能との対応

PWM Clock Prescaler

Bit Resolution

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 — — — — — —

/* 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

DS70323B_JP - ページ 43-42 © 2009 Microchip Technology Inc.

Page 43: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.7 PWM トリガ

ADC モジュールに対し、PWMxH 出力と PWMxL 出力からトリガを生成するタイミングについては、TRIGx レジスタと STRIGx レジスタでそれぞれ設定します。独立タイム ベースカウンタ (PTMRx または STMRx) レジスタの値が、指定した TRIGx または STRIGx レジスタの値と一致した場合、ADC トリガ信号が生成されます。

TRGCONx レジスタの TRGDIV<3:0> ビットは、TRIGx レジスタによって生成される ADCトリガのポストスケーラの役割を果たします。このポストスケーラにより、トリガ イベントが 1 回、2 回、3 回 ...16 回発生するごとに、ADC にトリガ信号を生成できます。つまり、これらのビットで ADC トリガの生成頻度が設定されるのです。

各 PWM ジェネレータには、PWM トリガ制御 (TRGCONx <5:0>) レジスタにトリガ ポストスケーラ開始有効化選択 (TRGSTRT<5:0>) ビットがあり、 初の ADC トリガを生成するまでの待ち時間を PWM サイクル数で指定します。

図 43-14 に、高速 PWM モジュールから ADC モジュールに対するトリガ生成ロジックを示します。

図 43-14: A/D 変換への PWM トリガ

図 43-15 から図 43-22 に示すように、トリガがどの PWM サイクルで生成されるかは、TRGDIV<3:0> および TRGSTRT<5:0> ビットの設定によって異なります。

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

注 : 初の PWM サイクルでトリガを生成できるのは TRGDIV<3:0> ビットを「0」に設定した場合のみです。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-43

Page 44: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

図 43-15: PWM トリガ信号と PWM 出力の関係 (TRGDIV = 0、TRGSTRT = 0の場合 )

図 43-16: PWM トリガ信号と PWM 出力の関係 (TRGDIV = 0、TRGSTRT = 1の場合 )

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

62 3 4 5 7

注 1: このトリガは 8 カウント分オフセットされています (TRIGx = 8)。

1

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

62 3 4 5 7

注 1: このトリガは 8 カウント分オフセットされています (TRIGx = 8)。

1

DS70323B_JP - ページ 43-44 © 2009 Microchip Technology Inc.

Page 45: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

図 43-17: PWM トリガ信号と PWM 出力の関係 (TRGDIV = 0、TRGSTRT = 2 の場合 )

図 43-18: PWM トリガ信号と PWM 出力の関係 (TRGDIV = 1、TRGSTRT = 0の場合 )

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

2 3 4 5

注 1: このトリガは 8 カウント分オフセットされています (TRIGx = 8)。

1

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

62 3 4 5 7

注 1: このトリガは 8 カウント分オフセットされています (TRIGx = 8)。

1

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-45

Page 46: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

図 43-19: PWM トリガ信号と PWM 出力の関係 (TRGDIV = 1、TRGSTRT = 1の場合 )

図 43-20: PWM トリガ信号と PWM 出力の関係 (TRGDIV = 2、TRGSTRT = 0の場合 )

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

62 3 4 5 7

注 1: このトリガは 8 カウント分オフセットされています (TRIGx = 8)。

1

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

62 3 4 5 7

注 1: このトリガは 8 カウント分オフセットされています (TRIGx = 8)。

1

PTPER = 9615

1

DS70323B_JP - ページ 43-46 © 2009 Microchip Technology Inc.

Page 47: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

図 43-21: PWM トリガ信号と PWM 出力の関係 (TRGDIV = 2、TRGSTRT = 2 の場合 )

図 43-22: PWM トリガ信号と PWM 出力の関係 (TRGDIV = 2、TRGSTRT = 3 の場合 )

トリガの分周器を設定すると、ユーザー アプリケーションで、制御ループの要件に合わせて ADC サンプル レートを調整できます。

TRGCONx レジスタのデュアル トリガ モード (DTM<7>) ビットを「1」にセットすると、TRIGx と STRIGx のタイム ベース比較による ADC トリガ パルスの論理和が ADC TRIGx出力となります。

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

注 1: このトリガは 8 カウント分オフセットされています (TRIGx = 8)。

1

PWMxH

TRIGx = 0

TRIGx = 8

TRIGx = 4808

TRIGx = 9615

1

PTPER = 9615

75 6 8 9 10 11 12

注 1: このトリガは 8 カウント分オフセットされています (TRIGx = 8)。

1

注 : DTM ビットの状態に関係なく、セカンダリ トリガの比較による割り込みの生成はありません。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-47

Page 48: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

例 43-16: 独立 PWM ADC トリガ生成

図 43-23: 位相シフトが PWM トリガに与える影響

注 : TRGSTAT ビットは、TRGIEN ビットをクリアした場合のみクリアされます。自動的にはクリアされません。

/* 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)

Load PTMRx with PHASExon PTMTMR rollover

Load PTMRx with PHASExon PTMTMR rollover

Load PTMRx with PHASExon PTMTMR rollover

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

DS70323B_JP - ページ 43-48 © 2009 Microchip Technology Inc.

Page 49: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

PWM 信号の位相をシフトすると、PWM タイマは新しい位相の値を反映した値に更新されます。位相の値を小さい値から大きい値に変更した場合、トリガ イベントが生成されない場合があります。ユーザー アプリケーションでは、これが理由となって制御ループの実行に影響しないよう注意してください。

43.8 PWM 割り込み

高速 PWM モジュールには、内部のタイミング信号、または電流制限入力およびフォルト入力による外部信号に基づいて割り込みを生成する機能があります。指定したイベントが発生すると、プライマリ タイム ベース モジュールによって割り込み要求が生成されます。各 PWM ジェネレータ モジュールは、それぞれ専用の割り込み要求信号を割り込みコントローラに送信します。各 PWM ジェネレータには、それぞれのモジュールに対するトリガイベント割り込み要求、電流制限入力イベント、またはフォルト入力イベントの論理和が割り込みとして送信されます。

4 つの割り込み要求信号以外にも、割り込みコントローラは、特殊イベント発生時にプライマリ タイム ベースからの割り込み要求信号を受信します。

各 PWM ジェネレータから送られる 4 つの割り込み要求は、個別 PWM 割り込みと呼ばれます。こうした個別割り込みに対する割り込み要求 (IRQ) は、PWM の個別トリガ、PWMフォルト ロジック、または PWM 電流制限ロジックから送信されます。各 PWM ジェネレータには、IFSx レジスタに PWM 割り込みフラグがあります。上記のいずれかのソースによって割り込み要求が生成されると、選択した PWM ジェネレータに対応する PWM 割り込みフラグがセットされます。

複数の IRQ ソースが有効になっている場合、ユーザー アプリケーションが PWMCONx レジスタの TRGSTAT、FLTSTAT、CLSTAT の各ビットをチェックして、割り込みソースを決定します。

43.8.1 PWM タイム ベース割り込み

高速 PWM モジュールの各 PWM ジェネレータでは、マスター タイム ベースと独立タイムベースのいずれかまたは両方に基づいて、割り込みを生成できます。プライマリ タイムベースに関するタイマ ベースの割り込みは特殊イベント比較 (SEVTCMP)レジスタで指定し、独立タイム ベースに関するタイマ ベースの割り込みは TRIGx レジスタで指定します。

プライマリ タイム ベースの特殊イベント割り込みは、PWM タイム ベース制御(PTCON<11>) レジスタの特殊イベント割り込み有効化 (SEIEN) ビットで有効にします。各PWM ジェネレータ内のトリガ ロジックによって生成された独立タイム ベース割り込みは、PWM 制御 (PWMCON<10>) レジスタのトリガ割り込み有効化 (TRGIEN) ビットで制御します。

注 : 適切な一致状態が発生すると、それぞれの割り込み有効化ビットの設定にかかわらず、常に特殊イベント トリガ信号および個別 PWM トリガ パルスが ADC モジュールに対して生成されます。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-49

Page 50: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.9 PWM の動作モード

この項では、高速 PWM モジュールでサポートされている次の動作モードについて説明します。

• プッシュプル出力モード

• 相補出力モード

• 冗長出力モード

• 独立出力モード

これらの動作モードは、PWM I/O 制御 (IOCONx<11:10>) レジスタの PWM I/O ピン モード(PMOD<1:0>) ビットで選択します。

43.9.1 プッシュプル PWM モード

プッシュプル モードでは、PWMxH と PWMxL ピンに PWM 信号が交互に出力されます。プッシュプル モードの典型的なアプリケーションは、43.16 項「アプリケーション情報」で説明します。

図 43-24 に、プッシュプル PWM モードの PWM 出力を示します。

図 43-24: プッシュプル PWM モード

43.9.2 相補 PWM モード

相補 PWM モードでは、PWM 出力の PWMxH が PWMxL 出力の相補信号となります。相補 PWM モードの典型的なアプリケーションは、43.16 項「アプリケーション情報」で説明します。

図 43-25 に、相補 PWM モードの PWM 出力を示します。

図 43-25: 相補 PWM モード

PWM1H

PWM1L

DCX - DTR

Period - DCX + DTR

TON

TOFF

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

注 : 正のデッド タイムを示しています。

DS70323B_JP - ページ 43-50 © 2009 Microchip Technology Inc.

Page 51: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.9.3 冗長 PWM 出力モード

高速 PWM モジュールの冗長 PWM 出力モードは、1 つの PWM ピン ペア (PWMxH とPWMxL) から、同じシングルエンドの PWM 信号を 2 つ出力する機能です。このモードでは、PDCx レジスタを使用してデューティ サイクルを指定します。この出力モードでは、ユーザー アプリケーションでオーバーライド値を指定した場合を除き、2 つの PWM 出力ピンから同じ PWM 信号が出力されます。

図 43-26 に、冗長 PWM 出力モードを示します。

図 43-26: 冗長 PWM 出力モード

表 43-3 に、上記 PWM モード時の PWM レジスタの機能を示します。

表 43-3: 相補、プッシュプル、冗長出力モード時のレジスタの機能

Duty Cycle

0

Period

TimerValue

PWMxH

Value

Programmed

Duty Cycle

PWMxL

Time Base Master Time BaseIndependent Time Base

Shared Time Base

Function PWMxH PWMxL PWMxH PWMxL

PWM Period PTPER PTPER PHASEx PHASEx

PWM Duty Cycle MDC MDC MDC/PDCx(1) MDC/SDCx(1)

PWM Phase Shift PHASEx PHASEx N/A N/A

ADC Trigger SEVTCMP/TRIGx(2) SEVTCMP/TRIGx(2) TRIGx TRIGx

注 1: 独立タイム ベースの場合、PWMxH のデューティ サイクルは MDC または PDCx のいずれかによって制御され、PWMxL のデューティ サイクルは MDC または SDCx によって制御されます。

2: マスター タイム ベースの場合、SEVTCMP または TRIGx レジスタのいずれかによって ADC をトリガできます。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-51

Page 52: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.9.4 完全独立 PWM 出力モード

完全独立 PWM 出力モードでは、各 PWM 出力 (PWMxH と PWMxL) に異なるデューティサイクルを設定し、相互に関連して位相をシフトできます。PWMxH 出力のデューティ サイクルは、PDCx レジスタで指定します。PWMxL 出力のデューティ サイクルと位相シフトは、SDCx および SPHASEx レジスタで指定します。このモードは、ITB = 0および PMOD = 3 とすることで設定できます。ITB = 1および PMOD = 3 とすると、2 つの PWM出力はそれぞれ完全に独立したタイム ベース周期とデューティ サイクルで動作し、こちらの動作モードは完全独立モードと呼びます。PHASEx と PDCx レジスタの出力、およびITB = 1によって、PWMxH 出力の PWM 周期とデューティ サイクルを制御します。

図 43-27: 独立 PWM 出力モード

例 43-17: PWM 出力ピンのモード選択

注 : 完全独立モードの場合、PWM 信号間には、位相での相互関連はありません。

Duty Cycle 2PWMxL

Duty Cycle 1PWMxH

Period

PMTMR = 0

Duty Cycle 2PWMxL

Duty Cycle 1PWMxH

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

/* 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

DS70323B_JP - ページ 43-52 © 2009 Microchip Technology Inc.

Page 53: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

表 43-4 に、独立出力モード時の PWM レジスタの機能を示します。

表 43-4: 独立出力モード時のレジスタの機能

Time Base Master Time BaseIndependent Time Base

Shared Time Base

Function PWMxH PWMxL PWMxH PWMxL

PWM Period PTPER PTPER PHASEx SPHASEx(3)

PWM Duty Cycle MDC MDC MDC/PDCx(1) MDC/SDCx(1)

PWM Phase Shift PHASEx SPHASEx N/A N/A

ADC Trigger SEVTCMP/TRIGx(2) SEVTCMP/TRIGx(2) TRIGx TRIGx

注 1: 独立タイム ベースの場合、PWMxH のデューティ サイクルは MDC または PDCx のいずれかによって制御され、PWMxL のデューティ サイクルは MDC または SDCx によって制御されます。

2: マスター タイム ベースの場合、SEVTCMP または TRIGx レジスタのいずれかによって ADC をトリガできます。

3: SPHASEx レジスタは、独立 PWM 出力モードでのみ使用します。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-53

Page 54: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.10 PWM フォルト ピン

PWM フォルト入力ピンの主な機能は次のとおりです。

• 各 PWM ジェネレータは、8 本までのフォルトおよび電流制限ピンから、専用のフォルト入力ソースを選択できます。

• 各 PWM ジェネレータには、フォルト電流制限制御 (FCLCONx<7:3>) レジスタに制御ビット (FLTSRC<4:0>) があります。これらのビットで、フォルト入力信号のソースを指定します。

• 各 PWM ジェネレータには、PWM 制御 (PWMCONx<12>) レジスタにフォルト割り込み有効化 (FLTIEN) ビットがあります。このビットで、フォルト割り込み要求の生成を有効にします。

• 各 PWM ジェネレータには、それに対応する 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 モジュールに対するトリガ信号として使用することで、A/D 変換プロセスを開始できます。ADC トリガ信号は、高速 PWM モジュール、FLTMOD ビット、FLTIEN ビットの状態にかかわらず常にアクティブです。

通常、FLTx ピンは正論理に設定されています。FCLCONx レジスタの FLTPOL ビットを「1」にセットすると、選択したフォルト入力信号の極性が反転し、それによってこれらのピンは負論理に設定されます。

高速 PWM モジュールが有効な場合は、ポート I/O ロジックでフォルト ピンを読み出すこともできます。ユーザー アプリケーションでこの機能を利用すると、フォルト ピンの状態をソフトウェアでポーリングできます。

DS70323B_JP - ページ 43-54 © 2009 Microchip Technology Inc.

Page 55: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

図 43-28: PWM フォルト制御モジュール ブロック図

43.10.1 アナログ コンパレータによる PWM フォルトの生成

コンパレータ出力をフォルト ソースとして使用するには、コンパレータ出力を汎用 I/O ピンにマッピングし、外部フォルトのいずれか 1 つをそのピンの入力としてマッピングします。マッピングは汎用 I/O (GPIO) または仮想ピンのいずれに対しても実行できます。

仮想ピンは他の RPx ピンと機能は同じですが、ピン配置のみ異なります。デバイス内部にある 4 つの仮想ピンは、デバイスの物理的なピンには接続されていません。

例えば、アナログ コンパレータの出力と PWM フォルト入力をどちらも RP32 に設定できます。このような構成にすると、アナログ コンパレータはデバイスの実際のピンを占有することなく PWM フォルトをトリガできます。仮想ピンの詳細は、各デバイスのデータシートを参照してください。

例 43-18 では、アナログ コンパレータ 1 を PWM のフォルト ソースとして使用し、これをフォルト入力ピン 1 に接続しています。ここでは、次の入出力機能を使用します。

• 出力機能 : アナログ コンパレータ 1

• 入力機能 : PWM フォルト ピン 1

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

2PWM

Generator #FLTDAT<1:0> 2

PWMxH, PWMxL Signals2

FaultMode

SelectionLogic

FLTMOD<1:0>

Latch

Clear

FLTSTAT

PMTMR

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-55

Page 56: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

例 43-18: PWM のフォルト ソースとしてのアナログ コンパレータの設定

図 43-29: コンパレータ出力の仮想ピンへの再マッピング

//*************************************************************// Unlock Registers//*************************************************************__builtin_write_OSCCONL(OSCCON & ~(1<<6));//************************************************************// Configure Comparator Output Function//*************************************************************//*******************************// Assign ACMP1 To Pin RP32//***************************RPOR16bits.RP32R = 0b100111;//*************************************************************// Configure Fault Input Function//*************************************************************//***************************// Assign Fault1 To Pin RP32//***************************RPINR29bits.FLT1R=32;//*************************************************************// Lock Registers//*************************************************************__builtin_write_OSCCONL(OSCCON | (1<<6));

注 : コンパレータ出力は汎用 I/O にマッピングできます。

FLTSRC<4:0>

CMP1x

00000

00001

00010

00100

00101

00110

00111

00011RPx

Analog Comparator Module

Virtual Pin

注 : RPx で x = 32、33、34、35 の場合、コンパレータ出力はユーザーから利用できない仮想ピンにマッピングされます。

DS70323B_JP - ページ 43-56 © 2009 Microchip Technology Inc.

Page 57: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.10.2 フォルト割り込み

FLTx 入力が High にアサートされた場合に割り込みを生成するかどうかは、PWMCONx レジスタの FLTIENx ビットで設定します。フォルト発生時には、FLTDAT<1:0> (High/Low)ビットのデータ値が PWMxH および PWMxL ピンに割り当てられます。

PWMのフォルト状態は、PWM制御 (PWMCONx<15>)レジスタのフォルト割り込みステータス (FLTSTAT) ビットで取得できます。FLTSTAT ビットは、フォルト IRQ のラッチを示します。フォルト割り込みが有効でない場合、FLTSTAT ビットには、選択した FLTx 入力の状態が正論理形式で示されます。フォルト入力ピンを PWM ジェネレータと対応させて使用しない場合は、これらのピンは汎用 I/O または割り込み入力ピンとして使用できます。

フォルト ピン ロジックは、PWM ロジックとしての動作以外にも、外部割り込みピンとして動作できます。FCLCONx レジスタで、フォルトが PWM ジェネレータに影響しないように設定すると、フォルト ピンは汎用割り込みピンとして使用できます。

43.10.2.1 フォルト入力ピンのモード

フォルト入力ピンには、次の 2 つの動作モードがあります。

• ラッチ モード : ラッチ モードでは、フォルト ピンがアサートされている場合の PWM出力は、IOCONx レジスタの FLTDAT ビットで設定した状態となります。PWM 出力がこの状態を持続するのは、フォルト状態が解除され、対応する割り込みフラグがソフトウェアでクリアされるまでです。これら両方の動作が発生すると、PWM 出力は次のPWM サイクル境界の先頭で通常動作に戻ります。フォルト状態が終了する前に PWM制御 (PWMCONx<15>) レジスタのフォルト割り込みステータス (FLTSTAT) ビットがクリアされた場合、高速 PWM モジュールはフォルト ピンのアサートが終了するまで待ちます。PWM 制御 (PWMCONx<12>) レジスタのフォルト割り込み有効化 (FLTIEN)ビットにソフトウェアで「0」を書き込むと、FLTSTAT ビットをクリアできます。

• サイクル バイ サイクル モード : サイクル バイ サイクル モードでは、フォルト入力ピンがアサートされている間は、PWM 出力はデアサートされたままとなります。相補PWM 出力モードでは、PWMxH が Low ( デアサート )、PWMxL が High ( アサート ) となります。フォルト ピンが High になると、PWM 出力は次の PWM 周期の先頭で通常動作に戻ります。

各フォルト入力ピンの動作モードは、PWM フォルト電流制限制御 (FCLCONx<1:0>) レジスタのフォルト モード制御 (FLTMOD) ビットで選択します。

43.10.3 フォルト開始

フォルト入力ピンに対する PWM ピンの応答は、デバイスのクロック信号に対して常に非同期で行われます。このため、「0」がデアサートされる場合、FLTDAT ビットは対応するPWM 出力を即時デアサートします。また、指定した FLTDAT ビットがアサート (「1」にセット ) される場合、FLTDAT ビットはデッド タイム ロジックで処理されてから PWM 信号として出力されます。

電流制限またはフォルト イベントが発生した場合のデータへの影響や動作の詳細は、43.12.4 項「デッド タイム ロジックに関するフォルトおよび電流制限オーバーライド ロジックの問題」を参照してください。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-57

Page 58: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.10.4 フォルト終了

フォルト状態が終了したら、PWM サイクル境界で PWM 信号を通常動作に戻して、PWM信号エッジと手動による信号オーバーライドを正確に同期させる必要があります。PTMRの値が 0 になると、次の PWM サイクルが開始します。

サイクル バイ サイクル フォルト モードが選択されている場合、フォルトは PWM サイクルごとに自動的にリセットされます。フォルト状態を終了するための特別なコーディングは不要です。

一方、ラッチ フォルト モードの場合は、フォルト状態を終了するために次のシーケンスが必要となります。

1. PWM フォルト ソースをポーリングして、フォルト信号がデアサートされているかどうかを確認します

2. PWM フォルト割り込みが有効でない場合は、次の手順をスキップして手順 3 に進んでください。PWM フォルト割り込みが有効な場合は、次の手順を実行した後、手順4 に進んでください。

a) PWM フォルト割り込みサービス ルーチンを完了しますb) PWMCONx レジスタの FLTIEN ビットをクリアして、PWM フォルト割り込みを

無効にしますc) FCLCONx レジスタで FLTMOD<1:0> = 0b00 に設定して、PWM フォルト割り込

みを有効にします

3. FCLCONxレジスタでFLTMOD<1:0> = 0b00に設定して、PWMフォルトを無効にします

4. FCLCONx レジスタで FLTMOD<1:0> = 0b00に設定して、PWM フォルト モードをラッチ モードにします

43.10.5 PMTMR 無効時のフォルト終了

PWM タイム ベースが無効 (PTEN = 0) の場合は、フォルト状態の終了に関する特別なケースがあります。フォルト入力がサイクル バイ サイクル モードに設定されている場合、フォルト入力ピンがデアサートされると、PWM 出力は即時通常動作に戻ります。PWM 出力は、設定したデフォルト値に戻ります ( タイム ベースは無効にされているため、次の PWM サイクルを待つことはありません )。フォルト入力がラッチ モードに設定されている場合は、フォルト入力ピンがデアサートされ、かつ FLTSTAT ビットがソフトウェアでクリアされると、PWM 出力はただちに通常動作に戻ります。

43.10.6 フォルト ピンのソフトウェア制御

フォルト ピンは、ソフトウェアを使用して手動で制御できます。フォルト入力は GPIO ポート ピンとの共用であるため、対応する TRIS ビットをクリアすると、このピンを出力に設定できます。このピンのポート ビットをセットすると、フォルト入力が有効になります。

43.10.7 PWM 電流制限ピン

PWM 電流制限ピンの主な機能は次のとおりです。

• 各 PWM ジェネレータは、8 本までのフォルトおよび電流制限ピンから、専用の電流制限入力ソースを選択できます。アナログ コンパレータを電流制限ソースとして設定する方法は、43.10.1 項「アナログ コンパレータによる PWM フォルトの生成」を参照してください。

• 各 PWM ジェネレータには、フォルト電流制限制御 (FCLCONx<14:10>) レジスタに制御ビット (CLSRC<4:0>) があります。これらのビットで、フォルト入力信号のソースを指定します。

• 各 PWM ジェネレータには、PWM 制御 (PWMCONx<11>) レジスタに電流制限割り込み有効化 (CLIEN) ビットがあります。このビットで、電流制限割り込み要求の生成を有効にします。

• 各 PWM ジェネレータには、それに対応する電流制限極性 (CLPOL) ビット (PWM フォルト電流制限制御 (FCLCONx<9>) レジスタ ) があります。

• 電流制限状態が発生すると、PWMxH および PWMxL ジェネレータの出力は、次のいずれかの状態に変化します。

- IFLTMOD ビットが独立フォルト モードの場合、CLDAT<1:0> ビットはオーバーライド機能には使用されません。

- 電流制限モード (CLMOD) では、電流制限機能が有効になります。CLDAT<1:0> (High/Low) ビットのデータ値が、PWMxH および PWMxL 出力に割り当てられます。

DS70323B_JP - ページ 43-58 © 2009 Microchip Technology Inc.

Page 59: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

電流制限ピンの主な動作を次に示します。

• 電流制限によって 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 モジュールに対するトリガ信号として使用することで、A/D 変換プロセスを開始できます。ADC トリガ信号は、高速 PWM モジュール、FLTMOD ビット、FLTIEN ビットの状態にかかわらず常にアクティブです。

• 次の条件が発生した場合、該当する PWM ジェネレータのタイム ベースが電流制限信号によってリセットされます。

- PWM ジェネレータの電流制限モード有効化 (CLMOD) ビットが「0」- PWMCONx レジスタの外部 PWM リセット制御 (XPRES) ビットが「1」 - PWM ジェネレータが独立タイム ベース モードで動作 (ITB = 1)

この動作は電流リセット モードと呼ばれ、一部の力率補正 (PFC) アプリケーションで使用されます。

図 43-30: PWM 電流制限制御回路のロジック図

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

0

1

PWMxH, PWMxL

2PWM

Generator #CLDAT<1:0> 2

PWMxH, PWMxL Signals2

Cycle-by-CycleMode

PMTMR

CLMOD

EN

XPRES

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-59

Page 60: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.10.8 電流制限割り込み

PWMの電流制限状態は、PWM制御 (PWMCONx<14>)レジスタの電流制限割り込みステータス (CLSTAT) ビットで取得できます。CLIEN ビットがセットされている場合、CLSTATビットは電流制限 IRQ のフラグを示します。電流制限割り込みが有効でない場合、CLSTATビットには、選択した電流制限入力の状態が正論理形式で示されます。電流制限入力ピンを PWM ジェネレータと対応させて使用しない場合は、これらのピンは汎用 I/O または割り込み入力ピンとして使用できます。

通常、電流制限ピンは正論理に設定されています。FCLCONx レジスタの CLPOL ビットを「1」にセットすると、選択した電流制限入力信号の極性が反転し、信号は負論理に設定されます。

選択した電流制限信号によって生成された割り込みが組み合わさり、1 つの割り込み要求信号となります。この信号は、割り込みコントローラ ( 専用の割り込みベクタ、割り込みフラグ ビット、割り込み有効化ビット、関連する割り込み優先度ビットを有する ) に送信されます。

高速 PWM モジュールが有効な場合は、ポート I/O ロジックでフォルト ピンを読み出すこともできます。ユーザー アプリケーションでこの機能を利用すると、フォルト ピンの状態をソフトウェアでポーリングできます。

43.10.9 PWM フォルトと電流制限の同時使用

電流制限オーバーライド機能が有効でアクティブな場合は、フォルト機能が有効でアクティブでない限り、PWMxH および PWMxL ピンの出力は、PWM I/O 制御 (IOCONx<3:2>)レジスタのCLDATビットで指定した値に強制されます。選択したフォルト入力がアクティブな場合は、PWMxH および PWMxL の出力は、PWM I/O 制御 (IOCONx<5:4>) レジスタの FLTDAT ビットで指定した値です。

43.10.10 PWM フォルトおよび電流制限による ADC へのトリガ出力

PWM フォルト電流制限制御 (FCLCONx<14:10> および FCLCONx<7:3>) レジスタの電流制限およびフォルト ソース選択 (CLSRC<4:0> および FLTSRC<4:0>) ビットで、各 PWM ジェネレータ モジュールに対するフォルトの選択を制御します。それぞれのモジュールに必要なフォルトおよび電流制限信号は、制御マルチプレクサによって選択されます。選択したフォルトおよび電流制限信号は、ADC モジュールへのトリガ信号としても使用可能で、ADC のサンプリングと変換を開始します。

例 43-19: 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

DS70323B_JP - ページ 43-60 © 2009 Microchip Technology Inc.

Page 61: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.11 特殊機能

高速 PWM モジュールには、次の特殊な機能があります。

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

• 独立タイム ベースのキャプチャ

• PWM ピンのスワップ

• PWM 出力ピンの制御とオーバーライド

• PWM の即時更新

43.11.1 リーディング エッジ ブランキング (LEB)

リーディング エッジ ブランキング制御レジスタの LEB (LEBCONx<9:3>) ビット、およびPHR (LEBCONx<15>)、PHF (LEBCONx<14>)、PLR (LEBCONx<13>)、PLF (LEBCONx<12>、FLTLEBEN (LEBCONx<11>)、CLLEBEN (LEBCONx<10>) ビットを使用すると、各 PWMジェネレータでの電流制限入力およびフォルト入力に対して、LEB を実行できます。LEBの目的は、パワー トランジスタのオン / オフ時にアプリケーションのプリント基板で発生するトランジェントをマスキングすることにあります。

LEB ビットは、立ち上がりまたは立ち下がりエッジのどちらにも設定できます。LEB ビットでは、電流制限およびフォルト入力のブランキング (無視 )をサポートしており、PWMxHおよびPWMxL信号での任意に指定した立ち上がりまたは立ち下がりのエッジからの時間の長さを、0 ~ 1023 ns (8.4 ns 単位 ) で設定します。

PWMxH および PWMxL 信号でブランキング タイマを開始するエッジの種類は、PHR、PHF、PLR、PLF の各ビットで選択します。エッジの選択を変更すると、変更前の PWMエッジから LEB タイマが動作中であっても、変更後のエッジによって LEB タイマがトリガされた時点でタイマは初期化され、カウントを継続します。

FLTLEBEN および CLLEBEN ビットでは、選択したフォルトおよび電流制限入力にブランキング時間を適用するかを設定します。

図 43-31: リーディング エッジ ブランキング

Switching Noise

Blanking time is determined by theLEB<9:3> bits in the LEBCONx registers

Fault and current-limitcircuitry ignores theswitching noise

PWM Output

High Power Signal

Blanking Signal

Power signal as seenby fault circuitry

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-61

Page 62: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.11.2 独立タイム ベースのキャプチャ

各 PWM ジェネレータには、電流制限信号の立ち上がりエッジを検出したときの独立タイム ベース カウンタの値を自動的にキャプチャする PWMCAPx レジスタがあります。この機能は、LEB 処理の適用後にのみ実行されます。ユーザー アプリケーションでは、次のPWM サイクルでキャプチャ レジスタが再び更新される前にこのレジスタを読み出してください。

キャプチャ レジスタを使用するのは、電流モード制御アプリケーションでアナログ コンパレータまたは外部回路を使用して、PWM のデューティ サイクルまたは周期を終了する場合です。ユーザー アプリケーションでは、電流スレッショルドにおける独立タイム ベースの値を読み出すことによって、インダクタの電流増加スロープを計算できます。セカンダリ PWM の独立タイム ベースには、該当するキャプチャ レジスタはありません。

43.11.3 PWM ピンのスワップ

IOCONx レジスタの SWAP ビットを「1」にセットすると、ユーザー アプリケーションでPWMxH 信号を PWMxL ピンに、PWMxL 信号を PWMxH ピンに接続できます。SWAP ビットを「0」にセットすると、PWM 信号はそれぞれ本来のピンに接続されます。

PWM サイクル境界でスワップ機能を実行するには、OSYNC ビット (IOCONx<0>) をセットする必要があります。モジュールが動作中で OSYNC ビットがクリアのときに、ユーザー アプリケーションで SWAP ビット (IOCONx<1>) を変更すると、PWM サイクルの途中でスワップ機能が実行され、予期した結果にならない場合があります。

スワップ機能は、デッド タイムが適用される前に実行してください。スイッチ機能を実行するとユーザー アプリケーションのトランジスタがオフからオンの状態に変化し、貫通電流が発生する可能性があるため、デッド タイム処理は必要です。

スワップ機能は、1 つのアプリケーション回路で複数のスイッチング トポロジをサポートするようなアプリケーションで使用する場合に有用です。また、この機能では、条件の変化に応じたトランジスタの変調方式の変更に、ユーザー アプリケーションで対応可能です。

スワップ機能は、次のいずれかの方法で実装できます。

• 動的スワップ : 動的スワップでは、システム応答に対して SWAP ビットの状態を動的に変更できます (SMPS 電力制御など )。

• 静的スワップ : 静的スワップでは、プログラムの実行時またはオンザフライの間、起動設定時の SWAP ビットの状態が維持されます ( モーター制御など )。

43.11.3.1 例 1: SMPS 電力制御におけるピン スワップ

SMPS 電力制御を例に、動的スワップについて説明します。電源アプリケーションでは、トランジスタの変調方式をフルブリッジ ZVT (Zero Voltage Transition) と標準的なフルブリッジの間で動的に切り替えることにより、負荷と効率の要件に適合できます。図 43-32に示すように、一般的なフルブリッジ コンバータはプッシュプル モードでの動作が可能です。トランジスタは次のように構成します。

• Q1 = Q4

• Q2 = Q3

一般的なフルブリッジ コンバータは、ZVT モードでも動作します。トランジスタは次のように構成します。

• Q1 = PWM1H

• Q2 = PWM1L

• Q3 = PWM2H

• Q4 = PWM2L

DS70323B_JP - ページ 43-62 © 2009 Microchip Technology Inc.

Page 63: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

図 43-32: SMPS 電力制御

43.11.3.2 例 2: モーター制御におけるピン スワップ

次に、モーター制御を例に、静的スワップについて説明します。ここでは、DC モーターと 3 相 AC 誘導モーターなど、種類の異なる 2 つのモーターの駆動に対応した一般的なモーター制御システムを考えてみます。

一般に、ブラシ付き DC モーターは図 43-33 に示すようなフルブリッジ トランジスタ構成になっています。Q1 および Q4 トランジスタは同じ波形で駆動され、Q2 および Q3 トランジスタは相補波形で駆動されます。これは「対角駆動」とも呼ばれます。Q5 および Q6トランジスタは、ブラシ付き DC モーターには使用しません。

トランジスタは次のように構成します。

• Q1 = PWM1H

• Q2 = PWM1L

• Q3 = PWM2L

• Q4 = PWM2H

図 43-33: モーター制御

DC モーターの場合と異なり、AC 誘導モーターではフルブリッジ構成のすべてのトランジスタを使用します。また、 も大きな違いとして、トランジスタは 3 つのハーフブリッジとして駆動されます。上側のトランジスタは PWMxH 出力によって駆動され、下側のトランジスタは PWMxL 出力によって駆動されます。

トランジスタは次のように構成します。

• Q1 = PWM1H

• Q2 = PWM1L

• Q3 = PWM2H (DC モーターとの違いに注意 )

• Q4 = PWM2L (DC モーターとの違いに注意 )• Q5 = PWM3H

• Q6 = PWM3L

例 43-20: PWM ピンのスワップ

+

T1 VOUT

+VIN

Q1

Q2Q3

Q4

Q1

Q2

Q3

Q4

Full-Bridge Converter

Q5

Q6

+VIN+VIN

/* PWM Pin Swapping feature */

IOCON1bits.SWAP = 1; // PWMxH output signal is connected to the PWMxL pin // and vice versa

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-63

Page 64: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.12 PWM 出力ピンの制御

高速 PWM モジュールが有効な場合、PWMxH/PWMxL ピンのオーナーシップの優先順位は次のとおりです。

• PWM ジェネレータ ( 優先度 低 )

• スワップ機能

• PWM 出力オーバーライド ロジック

• 電流制限オーバーライド ロジック

• フォルト オーバーライド ロジック

• PTEN (GPIO/PWM) オーナーシップ ( 優先度 高 )

高速PWMモジュールが無効の場合、PWMxピンはGPIOモジュールによって制御されます。

例 43-21: PWM 出力ピンの割り当て

例 43-22: PWM 出力ピンのステート選択

例 43-23: 高速 PWM モジュールの有効化

43.12.1 PWM 出力オーバーライド ロジック

PWM 出力オーバーライド機能は、個々の PWM 出力をシステム要件に応じたロジック状態にするため使用し、出力は、アクティブ状態にも非アクティブ状態にもできます。高速PWMモジュールのオーバーライド機能には、上述の優先度が割り当てられています。PWM出力オーバーライド機能に関する制御ビットは、すべて IOCONx レジスタに含まれています。PENH (IOCONx<15>) および PENL (IOCONx<14>) ビットがセットされている場合、PWMx 出力ピンは高速 PWM モジュールによって制御されます。ユーザー アプリケーションで PWM 出力オーバーライド ビットを使用すると、デューティ サイクル比較ユニットとは関係なく、PWM I/O ピンを指定のロジック状態に手動でドライブできます。

ある特定の出力について、そのオーバーライドが OVRENH (IOCONx<9>) および OVRENL(IOCONx<8>) ビットによって有効になっている場合、その PWM I/O ピンの状態は PWMI/O 制御 (IOCONx<7:6>) レジスタの OVRDAT<1:0> ビットで決定されます。

OVRENH および OVRENL ビットは、正論理の制御ビットです。これらのビットがセットされていると、対応する OVRDAT ビットによって 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 High-Speed PWM module */

PTCONbits.PTEN = 1;

DS70323B_JP - ページ 43-64 © 2009 Microchip Technology Inc.

Page 65: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.12.2 オーバーライドの優先度

PENH および PENL ビットがセットされている場合、PWM 出力には次の優先度が適用されます。

1. フォルトがアクティブな場合、フォルト オーバーライド データ (FLTDAT <1:0>) ビットが他のすべてのソースをオーバーライドして、PWM 出力を設定します。

2. フォルトがアクティブでなく、電流制限イベントがアクティブな場合、CLDAT <1:0>(IOCONx<3:2>) ビットが PWM 出力設定のソースとなります。

3. フォルト イベントと電流制限イベントの両方が非アクティブで、ユーザー オーバーライド有効化ビット OVRENH と OVRENL がセットされている場合、対応するIOCONx<7:6> レジスタの OVRDAT <1:0> ビットによって PWM 出力が設定されます。

4. オーバーライド状態がアクティブでない場合は、タイム ベースおよびデューティ サイクル コンパレータ ロジックによって生成される PWM信号が PWM出力設定のソースとなります。

43.12.3 オーバーライドの同期

PWM I/O制御 (IOCONx<0>)レジスタのOSYNCビットがセットされている場合、OVRENH(IOCONx<9>)、OVRENL (IOCONx<8>)、OVRDAT<1:0> (IOCONx<7:6>) ビットによる出力オーバーライドは、PWM タイム ベースと同期して実行されます。出力オーバーライドを同期した場合、タイム ベースが 0 になるとオーバーライドが実行されます。PTEN = 0の場合 ( すなわち PWM タイマが動作していない場合 ) は、次の TCY 境界で IOCONx への書き込みが反映されます。

43.12.4 デッド タイム ロジックに関するフォルトおよび電流制限オーバーライド ロジックの問題

フォルトまたは電流制限状態が発生すると、FLTDAT<1:0> (IOCONx<5:4>) ビットまたはCLDAT<1:0> (IOCONx<3:2>)ビットのデータによってPWM I/Oピンの状態が決定されます。

FLTDAT<1:0> (IOCONx<5:4>) ビットまたは CLDAT<1:0> (IOCONx<3:2>) ビットのいずれかが「0」の場合、PWMxH および / または PWMxL 出力はデッド タイム ロジックをバイパスし、即時 Low になります。この動作により、PWM 出力は遅延なしに、即時オフになります。これは、フォルト シャットダウン信号に高速応答して回路の損傷を防ぎ、システムの精度を制御する必要のある多くの電源アプリケーションに効果的です。

FLTDAT<1:0> (IOCONx<5:4>) ビットまたは CLDAT<1:0> (IOCONx<3:2>) ビットのいずれかが「1」の場合、PWMxH および / または PWMxL 出力はデッド タイム ロジックを通過し、指定したデッド タイム値だけ遅延が発生します。この場合、フォルトまたは電流制限状態が発生しても、デッド タイムは挿入されます。

43.12.5 電流制限による出力アサート

CLDAT (IOCONx<3:2>) ビットを使用すると、電流制限イベントに応答して PWMxH および PWMxL 出力をアサートできます。この機能は、外部の電流または電圧測定でパワー コンバータ出力負荷の急激な増大を検出した場合、それに対処するための電流強制機能として使用できます。PWM をオンの状態に強制することは、予期しない負荷の増大に対して、デジタル制御ループの応答を待たない迅速なシステムの応答を可能にするフィードフォワード動作と見なされます。

注 : 相補 PWM 出力モードでは、デッド タイム ジェネレータはオーバーライド状態でも動作します。デッド タイム ユニットは、出力オーバーライドおよびフォルト オーバーライドから生成される制御信号を使用して、デッド タイムを含め要求に応じた出力が得られるように設定します。PWM チャネルを手動でオーバーライドする場合も、デッド タイムの挿入は実行されます。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-65

Page 66: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.13 PWM デューティ サイクルの即時更新

高性能 PWM 制御ループ アプリケーションでは、 大限のデューティ サイクル更新レートが要求されます。この機能を有効にするには、PWM 制御 (PWMCONx<0>) レジスタの即時更新有効化 (IUE) ビットをセットします。閉ループ制御アプリケーションにおいて、システム ステートを検知してから、それに続く PWM 制御信号の出力でアプリケーションを駆動するまでの間に遅延があると、ループの安定性が低下します。IUE ビットをセットすると、デューティ サイクル レジスタへの書き込みから、その変更に対する PWM ジェネレータの応答までの遅延を、 小限に抑えられます。

ユーザー アプリケーションでは、IUE ビットを使用して、デューティ サイクル レジスタへの書き込み直後に、タイム ベース周期の終了を待つことなくデューティ サイクル値を更新できます。IUE ビットをセットすると、デューティ サイクルの即時更新が有効になります。IUE ビットをクリアすると、デューティ サイクルの即時更新が無効になります。即時更新を有効にした場合の動作として、次の 3 つのケースが考えられます。

• ケース 1: PWM 出力がアクティブなときに現在のタイム ベース値を上回るデューティ サイクル値を新たに書き込んだ場合、PWM のパルス幅は長くなります。

• ケース 2: PWM 出力がアクティブなときに現在のタイム ベース値を下回るデューティ サイクル値を新たに書き込んだ場合、PWM のパルス幅は短くなります。

• ケース 3: PWM 出力がアクティブでないときに現在のタイム ベース値を上回るデューティ サイクル値を新たに書き込んだ場合、PWM 出力は即時アクティブになり、新たに書き込んだデューティ サイクル値に基づいてアクティブな状態を維持します。

図 43-34: 即時更新が有効 (IUE = 1) な場合のデューティ サイクルの更新タイミング

例 43-24: 即時更新の選択

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

DS70323B_JP - ページ 43-66 © 2009 Microchip Technology Inc.

Page 67: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.14 省電力モード

この項では、スリープ モードおよびアイドル モード時の高速 PWM モジュールの動作を説明します。

43.14.1 スリープ モード時の高速 PWM の動作

デバイスがスリープ モードに入ると、システム クロックが停止します。PWM タイム ベースのクロックはシステム クロック ソース (TCY) から得ているため、このクロックも停止し、スリープ モードに入る前に有効であった PWM 出力ピンは、すべてその出力状態のままフリーズします。高速 PWM モジュールを電源アプリケーションでの負荷の制御に使用する場合は、PWRSAV 命令を実行する前に、高速 PWM モジュールの出力を安全な状態にしておく必要があります。PWM 出力が特定の出力ステートでフリーズすると、アプリケーションによってはその負荷が過度に電流を消費する場合があります。この場合、オーバーライド機能を使用すると PWM 出力ピンを非アクティブにできます。

高速 PWM モジュールにフォルト入力が設定されている場合、デバイスがスリープ モードに入ってもフォルト入力ピンは通常の動作を継続します。デバイスのスリープ モード時にいずれか 1 つのフォルト ピンが Low になると、PWM 出力はプログラミングされたフォルト状態になります。また、フォルト入力ピンでは、CPU をスリープ モードからウェイクアップさせることも可能です。フォルト ピンの割り込み優先度が現在の CPU の優先度よりも高い場合、ウェイクアップ後にフォルト ピン割り込みベクタの番地からプログラム実行が開始されます。逆の優先度では、PWRSAV命令の次の命令からコードの実行が再開されます。

43.14.2 アイドル モード時の高速 PWM の動作

PWM モジュールには、PTCON レジスタに PTSIDL 制御ビットがあります。このビットは、デバイスがアイドル モードに入った場合にPWMモジュールが動作を継続するか停止するかを決定します。PTSIDL = 0 の場合、モジュールは通常動作を継続します。PTSIDL = 1の場合、PWM モジュールはシャットダウンし、内部クロックを停止します。このモードでは、システムは特殊機能レジスタにアクセスできません。このモードでは、モジュールの消費電力が も削減できます。アイドル モードで動作を停止すると、スリープ モードと同様の動作となり、フォルト ピンは非同期動作となります。PWM モジュールがアイドル状態になると、PWM ピンの制御は、対応する GPIO ビットに戻されます。

アイドル モードに入る前には、ユーザー アプリケーション側で PWM 出力を無効にしておくことを推奨します。PWM モジュールで電源アプリケーションを制御する場合、デバイスをアイドル モードに遷移させるとすべての制御ループが無効になり、開ループ モードでの動作が明示的に設計されている場合を除き、アプリケーションで問題が多発します。

43.15 独立タイム ベースの外部制御

PWM 制御 (PWMCONx<1>) レジスタの外部 PWM リセット制御 (XPRES) ビットをセットした場合、プライマリ専用のタイム ベースを外部信号でリセットできます。この動作モードを、電流リセット PWM モードと呼びます。ユーザー アプリケーションで ITB ビットをセットすると、PWM ジェネレータは独立タイム ベース モードで動作します。PWM ジェネレータがマスター タイム ベース モードで動作中に、ユーザー アプリケーションでXPRES ビットをセットすると、予期した結果にならない場合があります。

PWM フォルト電流制限制御 (FCLCONx<14:10>) レジスタの電流制限制御信号ソース選択(CLSRC<4:0>) ビットで指定する電流制限ソースの信号によって、独立タイム ベースがリセットされます。選択した電流制限信号のエッジを正論理と負論理のいずれにするかは、FCLCONx レジスタの CLPOL ビットで設定します。

プライマリ独立タイム ベース モードの場合、一部の力率補正 (PFC) アプリケーションでは、インダクタ電流の値を必要 低限の電流レベルより高く維持する必要があります。外部リセット機能は、このようなアプリケーションで使用します。インダクタ電流が必要なレベルの値を下回ると、PWM 出力をオンにしてインダクタ電流を増やせるようにするため、PWM サイクルは早期終了します。PWM 周期は、アプリケーションのニーズに応じて変化します。この種のアプリケーションは、可変周波数 PWM モードです。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-67

Page 68: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.16 アプリケーション情報

この項では、PWM のさまざまな動作モードや機能を利用した典型的なアプリケーションを説明します。

• 相補出力モード

• プッシュプル出力モード

• マルチフェーズ PWM

• 可変フェーズ PWM

• 電流リセット PWM

• コンスタント オフタイム PWM

• 電流制限 PWM

次に、それぞれのアプリケーションについて詳しく説明します。

43.16.1 相補出力モード

図 43-35 に示す相補 PWM モードは、標準的なエッジ アライン モードと同様の方法で生成されます。このモードでは、PWMxL ピンのセカンダリ PWM 出力信号がプライマリ PWM信号 (PWMxH) の相補信号となります。

図 43-35: 相補 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

注 : 正のデッド タイムを示しています。

DS70323B_JP - ページ 43-68 © 2009 Microchip Technology Inc.

Page 69: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.16.2 プッシュプル出力モード

図 43-36 に示すプッシュプル PWM モードでは、2 つの PWM ピンから交互に PWM 信号が出力されます。このモードでは、相補 PWM 出力は利用できません。このモードを使用するのは、変圧器ベースのパワー コンバータ回路で、直流電流によるコアの飽和を防ぐ場合です。プッシュプル モードでは 2 つの位相のデューティ サイクルは同じであるため、実DC バイアスはゼロとなります。

図 43-36: プッシュプル 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 - DTR

Period - DCX + DTR

TON

TOFF

Period Period

Dead Time Dead Time Dead Time

Period

Duty Cycle

0

Period

TimerValue

Timer Resets

PWMxH

Value

PWMxL Duty Cycle

Duty Cycle Match

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-69

Page 70: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.16.3 マルチフェーズ PWM

図 43-37 に示すマルチフェーズ PWM では、PHASEx レジスタの位相値を使用して、プライマリ タイム ベースに対して PWM 出力をシフトします。プライマリ タイム ベースに位相値が追加されるため、位相シフトされた出力は、位相シフトのない PWM 信号よりも早く出力されます。マルチフェーズ モードでは、位相シフトの指定はアプリケーションの設計により決定されます。位相シフトは、マスター タイム ベースを使用するすべての PWMモードで利用できます。

マルチフェーズ PWM は、小型化要求に応えながら高速な負荷電流トランジェントを処理する必要のある DC/DC コンバータでよく使用されます。マルチフェーズ コンバータは、基本的には複数の降圧型コンバータの位相を互いに少しずらして並列に動作させたものです。複数の位相を使用することで、個々のコンバータの合計に等しい有効スイッチング速度が得られます。

1 つの位相が PWM 周波数 333 kHz で動作している場合、図 43-37 に示す回路の有効スイッチング周波数は 1 MHz となります。このように高いスイッチング周波数が得られるため、入力および出力コンデンサのサイズを大幅に小型化できます。また、負荷トランジェント応答およびリップル特性も改善されます。

図 43-37: マルチフェーズ PWM

+

+VIN

PWM1H PWM2H PWM3H

L1L2

L3

PWM1L PWM1L PWM1L

VOUT

Multi-Phase DC/DC Converter

PWM1H

PWM1L

PWM2H

PWM2L

PWM3H

PWM3L

Duty CyclePWM2H

Duty CyclePWM4H

Duty CyclePWM3H

Duty CyclePWM1H

Period

Phase4

Phase 2

Phase 3

PMTMR = 0

DS70323B_JP - ページ 43-70 © 2009 Microchip Technology Inc.

Page 71: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.16.4 可変フェーズ PWM

PWM 回路では PWM 信号のデューティ サイクルを変更して電流を制御しますが、図 43-38に示す可変フェーズ PWM では、PWM チャネル間の位相シフトを常に変化させることで電流を制御します。多くの場合、可変フェーズ PWM のアプリケーションでは、PWM のデューティ サイクルは 50%に維持されます。位相シフト値は、マスター タイム ベースを使用するすべての PWM モードで利用できます。

可変フェーズ PWM は、スイッチング損失の低減を目的に設計されている 近のパワー変換トポロジで使用されます。標準的な PWM 方式では、トランジスタが導通状態と非導通状態の間でスイッチングすると、 ターンオンまたはターンオフ時のトランジスタは 大電流および電圧の状態にさらされ、特に高周波数においては電力損失 (V * I * TSW * FPWM)が顕著になります。

ゼロ電圧スイッチング (ZVS) およびゼロ電流スイッチング (ZCS) 回路トポロジでは、電圧または電流の波形を相関させてシフトし、トランジスタのターンオンまたはターンオフ時の電圧または電流の値をゼロに変えるという、疑似共振方式を使用しています。電流または電圧のいずれかがゼロの場合、スイッチング損失は発生しません。

図 43-38: 可変フェーズ PWM

PWM1H

PWM1L

PWM2HPWM2L

Variable Phase Shift

+

Full-Bridge ZVT Converter

T1 VOUT

+VIN

PWM1H

PWM1H

PWM1H

Duty CyclePWM1H

Period

Duty Cycle

Duty Cycle

Phase 2 (old value)

Duty Cycle

PWM2H

Phase 2 (new value)

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-71

Page 72: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.16.5 電流リセット PWM

図 43-39 に示す電流リセット PWM は、実際の PWM 周期が指定の周期値以下となる、可変周波数モードです。PWM 信号がオフになった後、独立タイム ベースは外部からリセットされます。これはコンスタント PWM オンタイム モードと呼ばれます。PWM を電流リセット モードで動作させるには、PWM ジェネレータを独立タイム ベース モードにしてください。外部リセット信号を受信しない場合は、PHASEx レジスタの値がデフォルトのPWM 周期として使用されます。

電流リセット モードでは、負荷電流に合わせて PWM の周波数が変化します。多くの PWMモードとは異なり、このモードではユーザー アプリケーションで 大 PWM 周期を設定し、外部回路でインダクタ電流を測定します。インダクタ電流が指定の値を下回ると、外部の電流コンパレータ回路によって信号が生成され、PWM タイム ベース カウンタがリセットされます。ユーザー アプリケーションで、PWM のオンタイムを指定しておきます。PWM 信号が非アクティブになった後で、インダクタ電流が指定の値を下回ると、プログラムされた PWM 周期よりも早く PWM カウンタがリセットされます。これはコンスタント オンタイム PWM 出力と呼ぶ場合があります。

電流リセット PWM とサイクル バイ サイクル モードの電流制限 PWM 出力の違いに注意してください。後者では、PWM 出力がアサートされているときに外部回路によって電流フォルトが生成され、プログラムされた本来のデューティ サイクルよりも早く PWM 信号がオフになります。この場合、PWM 周波数は所与のタイム ベース周期に固定されます。

注 : 電流リセット モードでは、PWMxH のデューティ サイクル完了後に電流制限入力信号のリーディング エッジに基づいてローカル タイム ベースがリセットされます。

DS70323B_JP - ページ 43-72 © 2009 Microchip Technology Inc.

Page 73: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

図 43-39: 電流リセット 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

Actual Period

Programmed Period

˜

Duty Cycle

0

Period

TimerValue

Programmed Period

PWMxH

Value

External Timer Reset

Duty Cycle

Actual Period

External Timer Reset

Programmed Period

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-73

Page 74: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.16.6 コンスタント オフタイム PWM

図 43-40 に示すコンスタント オフタイム PWM は、実際の PWM 周期が指定の周期値を下回る、可変周波数 PWM 出力です。PWM 信号がデューティ サイクル値に達して PWM 信号がオフになると、PWM タイム ベースが外部からリセットされます。これは、電流リセット PWM と呼ばれるオンタイム PWM 出力を有効にし、相補 PWM 出力 (PWMxL) を使用することによって実装します。

コンスタント オフタイム PWM を有効にできるのは、PWM ジェネレータが独立タイムベースで動作している場合のみです。外部リセット信号を受信しない場合は、PHASEx レジスタに指定されている値がデフォルトの PWM 周期として使用されます。

図 43-40: コンスタント オフタイム PWM

43.16.7 電流制限 PWM

図43-41に示すサイクル バイ サイクル電流制限では、選択した外部フォルト信号がオンになると、PWM信号がオンからオフに遷移します。PWM出力の値は、PWM I/O制御(IOCONx<3:2>) レジスタの電流制限オーバーライド (CLDAT<1:0>) ビットで指定します。オーバーライド出力は、次のPWMサイクルの先頭まで有効です。これは、PFC (力率補正 )回路において、インダクタ電流で PWM のオンタイムを制御する場合に使用される場合があります。このPWMは、固定周波数のPWMです。

図 43-41: 電流制限 PWM

Duty Cycle

0

Period

TimerValue

Programmed Period

PWMxL

Value

External Timer Reset

Duty Cycle

Actual Period

External Timer Reset

注 : デューティ サイクルは、オフタイムを示します。

Duty Cycle

0

Period

TimerValue

PWMxH

Value

FLTx Negates PWM

Duty CycleProgrammed

Duty Cycle

Programmed

Duty CyclePWMxH

Duty CycleActual Actual

FLTx Negates PWM

DS70323B_JP - ページ 43-74 © 2009 Microchip Technology Inc.

Page 75: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

© 2009

Microchip T

echnology Inc.D

S70

323B_JP

-ペ

ージ

43-75

第 43 章

高速

PW

M

43

Fi Bit 3 Bit 2 Bit 1 Bit 0All

Resets

PT SEVTPS<3:0> 0000

PT — PCLKDIV<2:0> 0000

PT FFF8

SE — — — 0000

M 0000

PW — CAM XPRES IUE 0000

PW — CAM XPRES IUE 0000

PW — CAM XPRES IUE 0000

PW — CAM XPRES IUE 0000

IO CLDAT<1:0> SWAP OSYNC 0000

IO CLDAT<1:0> SWAP OSYNC 0000

IO CLDAT<1:0> SWAP OSYNC 0000

IO CLDAT<1:0> SWAP OSYNC 0000

FC FLTPOL FLTMOD<1:0> 0000

FC FLTPOL FLTMOD<1:0> 0000

FC FLTPOL FLTMOD<1:0> 0000

FC FLTPOL FLTMOD<1:0> 0000

PD 0000

PD 0000

PD 0000

PD 0000

PH 0000

PH 0000

PH 0000

PH 0000

DT 0000

DT 0000

DT 0000

DT 0000

AL 0000

AL 0000

高速PWM

43

.17 レジスタ マップ

表 43-5 に、高速 PWM 制御レジスタのビット機能の一覧を示します。

43-5: 高速 PWM のレジスタ マップ

le Name Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4

CON PTEN — PTSIDL SESTAT SEIEN EIPU SYNCPOL SYNCOEN SYNCEN — SYNCSRC<1:0>

CON2 — — — — — — — — — — — —

PER PTPER<15:0>

VTCMP SEVTCMP<15:3>

DC MDC<15:0>

MCON1 FLTSTAT CLSTAT TRGSTAT FLTIEN CLIEN TRGIEN ITB MDCS DTC<1:0> — —

MCON2 FLTSTAT CLSTAT TRGSTAT FLTIEN CLIEN TRGIEN ITB MDCS DTC<1:0> — —

MCON3 FLTSTAT CLSTAT TRGSTAT FLTIEN CLIEN TRGIEN ITB MDCS DTC<1:0> — —

MCON4 FLTSTAT CLSTAT TRGSTAT FLTIEN CLIEN TRGIEN ITB MDCS DTC<1:0> — —

CON1 PENH PENL POLH POLL PMOD<1:0> OVRENH OVRENL OVRDAT<1:0> FLTDAT<1:0>

CON2 PENH PENL POLH POLL PMOD<1:0> OVRENH OVRENL OVRDAT<1:0> FLTDAT<1:0>

CON3 PENH PENL POLH POLL PMOD<1:0> OVRENH OVRENL OVRDAT<1:0> FLTDAT<1:0>

CON4 PENH PENL POLH POLL PMOD<1:0> OVRENH OVRENL OVRDAT<1:0> FLTDAT<1:0>

LCON1 IFLTMOD CLSRC<4:0> CLPOL CLMOD FLTSRC<4:0>

LCON2 IFLTMOD CLSRC<4:0> CLPOL CLMOD FLTSRC<4:0>

LCON3 IFLTMOD CLSRC<4:0> CLPOL CLMOD FLTSRC<4:0>

LCON4 IFLTMOD CLSRC<4:0> CLPOL CLMOD FLTSRC<4:0>

C1 PDC1<15:0>

C2 PDC2<15:0>

C3 PDC3<15:0>

C4 PDC4<15:0>

ASE1 PHASE1<15:0>

ASE2 PHASE2<15:0>

ASE3 PHASE3<15:0>

ASE4 PHASE4<15:0>

R1 — — DTR1<13:0>

R2 — — DTR2<13:0>

R3 — — DTR3<13:0>

R4 — — DTR4<13:0>

TDTR1 — — ALTDTR1<13:0>

TDTR2 — — ALTDTR2<13:0>

号の説明 : x = リセット時不定。— = 未実装、「0」として読み出し。リセット時の値は 16 進数で表示。

1: デバイスによっては、一部のビットが存在しない場合があります。詳細は製品データ シートを参照してください。

Page 76: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

dsP

IC33F

ファ

ミリ

リフ

ァレ

ンス

マニ

ュア

DS

70323B_JP

-ページ

43-76©

2009 Microchip T

echnology Inc.

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

— — — 0000

— — — 0000

— — — 0000

— — — 0000

TRGSTRT<5:0> 0000

TRGSTRT<5:0> 0000

TRGSTRT<5:0> 0000

TRGSTRT<5:0> 0000

— — — 0000

— — — 0000

— — — 0000

— — — 0000

— — — 0000

— — — 0000

— — — 0000

— — — 0000

— — — 0000

— — — 0000

— — — 0000

— — — 0000

4 Bit 3 Bit 2 Bit 1 Bit 0All

Resets

ALTDTR3 — — ALTDTR3<13:0>

ALTDTR4 — — ALTDTR4<13:0>

SDC1 SDC1<15:0>

SDC2 SDC2<15:0>

SDC3 SDC3<15:0>

SDC4 SDC4<15:0>

SPHASE1 SPHASE1<15:0>

SPHASE2 SPHASE2<15:0>

SPHASE3 SPHASE3<15:0>

SPHASE4 SPHASE4<15:0>

TRIG1 TRGCMP<15:3>

TRIG2 TRGCMP<15:3>

TRIG3 TRGCMP<15:3>

TRIG4 TRGCMP<15:3>

TRGCON1 TRGDIV<3:0> — — — — DTM —

TRGCON2 TRGDIV<3:0> — — — — DTM —

TRGCON3 TRGDIV<3:0> — — — — DTM —

TRGCON4 TRGDIV<3:0> — — — — DTM —

STRIG1 STRGCMP<15:3>

STRIG2 STRGCMP<15:3>

STRIG3 STRGCMP<15:3>

STRIG4 STRGCMP<15:3>

PWMCAP1 PWMCAP1<15:3>

PWMCAP2 PWMCAP2<15:3>

PWMCAP3 PWMCAP3<15:3>

PWMCAP4 PWMCAP4<15:3>

LEBCON1 PHR PHF PLR PLF FLTLEBEN CLLEBEN LEB<9:3>

LEBCON2 PHR PHF PLR PLF FLTLEBEN CLLEBEN LEB<9:3>

LEBCON3 PHR PHF PLR PLF FLTLEBEN CLLEBEN LEB<9:3>

LEBCON4 PHR PHF PLR PLF FLTLEBEN CLLEBEN LEB<9:3>

表 43-5: 高速 PWM のレジスタ マップ

File Name Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit

記号の説明 : x = リセット時不定。— = 未実装、「0」として読み出し。リセット時の値は 16 進数で表示。

注 1: デバイスによっては、一部のビットが存在しない場合があります。詳細は製品データ シートを参照してください。

Page 77: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

第 43 章 高速 PWM高速

PW

M

43

43.18 関連するアプリケーション ノート

この項では、マニュアルのこの章に関連するアプリケーション ノートをリストアップします。 これらのアプリケーション ノートは、特に dsPIC33F デバイス ファミリ用に記載されているわけではありませんが、その概念は適切であり、変更あるいは制限事項も考慮に入れて使用可能です。現在、高速 PWM モジュールに関連するアプリケーション ノートは次のとおりです。

文書名 アプリケーション ノート #

現在関連するアプリケーション ノートはありません。

注 : dsPIC33Fデバイス ファミリに関するその他のアプリケーション ノートやコード例については、マイクロチップ ウェブ サイト (www.microchip.com) を参照してください。

© 2009 Microchip Technology Inc. DS70323B_JP - ページ 43-77

Page 78: 第 43 章 高速 PWM• SPHASEx: PWM セカンダリ位相シフト レジスタ - マスター タイム ベースを選択した場合、PWMxL 出力の位相シフト値を設定する

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

43.19 改版履歴

リビジョン A (2008 年 2 月 )

本文書の初版リリース

リビジョン B (2008 年 9 月 )

次の内容を更新。

• 式 :- 43.6 項「PWM ジェネレータ」の式 43-3 を更新。

- 43.6.2.3 項「セカンダリ デューティ サイクル (SDCx)」の式 43-4 を更新。

• 例 :- 43.5.1 項「PWM クロックの選択」に PWM クロックの設定コードの例を追加。

• 図 :- 図 43-4 のラベルを更新。

- 43.6.7 項「デッド タイムの分解能」に新しい図を追加 ( 図 43-10 を参照 )。- 図 43-28 と図 43-30 のフォルト ソースの値を更新。

• 項見出し :- 補助 PLL の説明を新しい項として追加 (43.5 項「モジュールの説明」の 43.5.1 項「PWM クロックの選択」 を参照 )。

- デッド タイムによる歪みに関する説明を訂正 (43.6.6 項「デッド タイムによる歪み」を参照 )。

- センター アライン モードにおけるデッド タイムの挿入の説明を新しい項として追加(43.6.8 項「センター アライン モードにおけるデッド タイムの挿入」を参照 )。

- 43.10 項「PWM フォルト ピン」に、PWM フォルト ジェネレータに関する説明を新しい項として追加 (43.10.1 項「アナログ コンパレータによる PWM フォルトの生成」を参照 )。

• 注 :- 43.5.1 項「PWM クロックの選択」に PWM の公称入力クロックに関する注を追加。

- 次のレジスタに、PWM 分解能の境界条件に関する注を追加。

• MDC: PWMマスター デューティ サイクル レジスタ(レジスタ43-5の注2を参照)。• PDCx: PWM ジェネレータ デューティ サイクル レジスタ ( レジスタ 43-7 の注 2を参照 )。

• SDCx: PWM セカンダリ デューティ サイクル レジスタ ( レジスタ 43-8 の注 2 を参照 )。

- レジスタ 43-16 に、電流制限モードでフォルト 1 を使用する場合 (CLSRC<4:0> = b0000) について注を追加 ( 注 2 を参照 )。

- 43.5.1 項「PWM クロックの選択」に、補助クロックの設定に関する注を追加。

- 43.16.5 項「電流リセット PWM」に、ローカル タイム ベースのリセットに関する注を追加。

• レジスタ :- PDCx: PWM ジェネレータ デューティ サイクル レジスタおよび SDCx: PWM セカンダリ デューティ サイクル レジスタのレジスタに関する説明を訂正。

- レジスタ 43-16 のビット 14-10 およびビット 7-3 に関する説明を訂正。

- LEBCONx: リーディング エッジ ブランキング制御レジスタ ( レジスタ 43-18 を参照 )で、LEB のビット フィールド値を「LEB<4:0>」および「LEB<6:5>」に更新。

- PWMCAPx: プライマリ PWM タイム ベース キャプチャ レジスタ ( レジスタ 43-19 を参照 ) で、ビット 3 からビット 15 の読み出し / 書き込み属性を訂正。

• 項 :- 文書全体で「相補出力モード」と「相補 PWM モード」の用語を「相補モード」に統一。

- 文書全体で「プッシュプル出力モード」と「プッシュプル モード」を「プッシュプル モード」に統一。

• その他、文書全体で文章表現やフォーマットの更新など、細かい点を訂正。

DS70323B_JP - ページ 43-78 © 2009 Microchip Technology Inc.