セクション 28. パラレル マスタポート...

36
© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-1 パラレル マスタ ポート (PMP) 28 セクション 28. パラレル マスタポート (PMP) ハイライト 本セクションには下記の主要項目を記載しています。 28.1 はじめに ...................................................................................................................... 28-2 28.2 制御レジスタ .............................................................................................................. 28-3 28.3 スレーブポート モード ............................................................................................. 28-12 28.4 マスタポート モード ................................................................................................. 28-17 28.5 ダイレクト メモリアクセス (DMA) のサポート ........................................................ 28-27 28.6 アプリケーション例 .................................................................................................. 28-27 28.7 省電力モード時の動作 .............................................................................................. 28-30 28.8 レジスタマップ ......................................................................................................... 28-31 28.9 関連アプリケーション ノート .................................................................................. 28-32 28.10 改訂履歴 .................................................................................................................... 28-33 注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ ナルの英語版をご参照願います。

Upload: others

Post on 14-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

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

セクション 28. パラレル マスタポート (PMP)

パラ

レル

マス

タポ

ート

(PM

P)

28

ハイライト

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

28.1 はじめに ...................................................................................................................... 28-2

28.2 制御レジスタ .............................................................................................................. 28-3

28.3 スレーブポート モード ............................................................................................. 28-12

28.4 マスタポート モード ................................................................................................. 28-17

28.5 ダイレクト メモリアクセス (DMA) のサポート ........................................................ 28-27

28.6 アプリケーション例 .................................................................................................. 28-27

28.7 省電力モード時の動作 .............................................................................................. 28-30

28.8 レジスタマップ ......................................................................................................... 28-31

28.9 関連アプリケーション ノート .................................................................................. 28-32

28.10 改訂履歴 .................................................................................................................... 28-33

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-1

Page 2: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

28.1 はじめに

パラレル マスタポート (PMP) は周辺通信機能、LCD、外部メモリデバイス、マイクロコントローラ等、各種パラレルデバイスとの通信用に設計されたパラレル通信モジュールです。PMPモジュールは、パラレル周辺モジュールのインターフェイス要件に応じて柔軟に構成可能です。

PMP モジュールの主な特長は以下の通りです。

• 8 本のデータライン

• 最大 16 本のプログラマブル アドレスライン

• 最大 2 本のチップセレクト ライン

• プログラマブルなストローブ オプション

-「読み出し」と「書き込み」で別々のストローブ、または、- イネーブル ストローブを使う Read/Write ストローブ

• アドレスの自動インクリメント / デクリメント

• プログラマブルなアドレス / データ多重化

• プログラマブルな制御信号極性

• レガシーのパラレル スレーブポート (PSP) をサポート

• 拡張パラレルスレーブをサポート

- アドレスサポート- 4 段のバイト幅自動インクリメント バッファ

• プログラマブルなウェイトステート

図 28-1: PMP モジュールのピン配置と外部デバイスへの接続

Note: ファミリ リファレンス マニュアルの本セクションは、デバイス データシートの補足を目的としています。本書の内容は dsPIC33E/PIC24E ファミリの一部のデバイスには対応していません。

本書の内容がお客様のご使用になるデバイスに対応しているかどうかは、最新デバイス データシート内の「パラレル マスタポート (PMP)」の冒頭に記載している注意書きでご確認ください。

デバイス データシートとファミリ リファレンス マニュアルの各セクションは、マイクロチップ社のウェブサイト (http://www.microchip.com)からダウンロードできます。

PMA<0>

PMA<14>

PMA<15>

PMBE

PMRD

PMWR

PMD<7:0>

PMENB

PMRD/PMWR

PMCS1

PMA<1>

PMA<13:2>

PMALL

PMALH

PMA<7:0>PMA<15:8>

PMCS2

EEPROM

Address Bus

Data Bus

Control Lines

dsPIC33E/PIC24E

LCDFIFO

Microcontroller

8-bit Data (with or without multiplexed addressing)

Up to 16-bit Address

Parallel Master Port

Buffer

DS70576B_JP -p. 28-2 Preliminary © 2013 Microchip Technology Inc.

Page 3: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

28.2 制御レジスタ

PMP モジュールの動作の制御には以下のレジスタを使います。

• PMCON: パラレル マスタポート制御レジスタ

このレジスタは、モジュールの大部分の基本機能を制御する各種ビットを格納します。PMPEN ビットは、PMP モジュールを有効または無効にします。モジュールを無効にすると、モジュールに関連する全ての I/O ピンは既定値の I/O 機能に戻ります。加えて、実行中または保留中の全ての読み / 書き動作が停止し、BUSY ビットがクリアされます。PMSTAT を含むモジュール レジスタ内のデータは保持されます。従ってモジュールが無効になる直前の受信データとステータスは、その後の処理に使えます。モジュールを有効にすると、全てのバッファ制御ロジックは PMSTAT と共にリセットされます。

PMCON レジスタ内のその他のビットは、アドレス多重化の制御、各種ポート制御信号の有効化、制御信号極性の選択に使います。詳細は 28.4.1「パラレル マスタポートの設定オプション」に記載しています。

• PMMODE: パラレル マスタポート モードレジスタ

このレジスタは、マスタ / スレーブモードの選択と、PMP モジュールの動作モードの設定に使います。このレジスタは、マスタモード中にモジュールが動作を実行中である事を示す汎用ステータスフラグ (BUSY) を格納します。

PMMODE ビットを使った PMP 動作の詳細な設定方法は、 28.3「スレーブポート モード」と28.4「マスタポート モード」に記載しています。

• PMADDR: パラレル マスタポート アドレスレジスタ ( マスタモード専用 ) (1)

このレジスタの機能は、選択したモード(マスタ/スレーブ)によって下記のように異なります。

マスタモードでは、このレジスタはパラレルポート アドレスレジスタ (PMADDR) として機能します。このレジスタは、出力データの書き込み先アドレスと、パラレルスレーブ デバイスのアドレッシングに使うチップセレクト制御ビットを格納します。

スレーブモードでは、このレジスタは PMDOUT1 として機能し、出力データのバッファとして動作します。このレジスタの動作は 28.3.2「バッファ付きパラレル スレーブポート モード」で説明します。

• PMDOUT1 レジスタ : パラレル マスタポート データ出力 1 レジスタ

詳細は PMADDR: パラレル マスタポート アドレスレジスタ ( マスタモード専用 ) (1) を参照してください。

• PMDOUT2 レジスタ : パラレル マスタポート データ出力 2 レジスタ

このレジスタは、スレーブモード中にのみ、バッファリングした出力データ用に PMDOUT1と同じ方法で使います。

• PMDIN1 および PMDIN2 レジスタ

パラレル マスタポート データ入力 1 およびデータ入力 2 レジスタは、入力データのバッファリングに使います。PMDIN1 はマスタモードとスレーブモードの両方で使います。

スレーブモードでは、クロックに非同期の入力データを保持するためにこのレジスタを使います。詳細な動作は 28.3.2「バッファ付きパラレル スレーブポート モード」に記載しています。

マスタモードでは、PMDIN1 は入力データと出力データの両方を保持します。マスタモードにおけるこのレジスタの動作については、28.4.2「読み出し動作」と 28.4.3「書き込み動作」に記載しています。PMDIN2 は、バッファ付きスレーブモード中にのみ入力データ用に使います。このレジスタの動作は、バッファ付きスレーブモード中の PMDIN1 レジスタと同様です。

• PMAEN: パラレル マスタポート アドレス イネーブル レジスタ

このレジスタは、アドレス操作の制御と、PMP モジュールに関連するチップセレクト ピンの制御に使います。PTEN ビットをセットすると、対応するデバイスピンは PMP モジュールに割り当てられます。PTEN ビットをクリアすると、これらのピンの割り当ては既定のポート I/O または他の周辺モジュールへ戻されます。

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-3

Page 4: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

• PMSTAT: パラレル マスタポート ステータス レジスタ ( スレーブモード専用 )

このレジスタは、ポートがスレーブポートとして動作している時のバッファ付き動作モードに関連するステータスビットを格納します。これにはオーバーフロー、アンダーフロー、バッファフル フラグビットが含まれます。これらのフラグについては 28.3.2「バッファ付きパラレル スレーブポート モード」で詳細に説明します。

• PADCFG1: ピン コンフィグレーション制御レジスタ

PADCFG1 は、PMP モジュールがどのデジタル入力バッファを使うのかを制御します。PMPTTL ビット (PADCFG1<0>) では、デジタル入力バッファとしてトランジスタ - トランジスタ論理回路 (TTL) またはシュミットトリガ (ST) のどちらかを選択できます。これにより外部回路との互換性が向上します。PMPTTL = 0 は ST バッファを選択します ( 既定値設定)。TTL 入力バッファを選択するには、PMPTTL ビットをセットします。PADCFG1 レジスタについては、『dsPIC33E/PIC24E ファミリ リファレンス マニュアル、セクション 29. リアルタイム クロック / カレンダ (RTCC)』(DS70584) も参照してください。

DS70576B_JP -p. 28-4 Preliminary © 2013 Microchip Technology Inc.

Page 5: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

レジスタ 28-1: PMCON: パラレル マスタポート制御レジスタ

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

PMPEN — PSIDL ADRMUX<1:0> PTBEEN PTWREN PTRDEN

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

CSF<1:0> ALP(1) CS2P(1) CS1P(2) BEP WRSP RDSP

bit 7 bit 0

凡例 :

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

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

bit 15 PMPEN: パラレル マスタポート イネーブルビット

1 = PMP モジュールを有効にする0 = PMP を無効にする ( 外部と通信しない )

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

bit 13 PSIDL: アイドル中停止ビット

1 = デバイスがアイドルに移行するとモジュールの動作を停止する0 = アイドル中もモジュールの動作を継続する

bit 12-11 ADRMUX<1:0>: アドレス / データ多重化選択ビット

11 = 予約済み10 = アドレスの全 16 ビットを PMD<7:0> ピンに多重化する01 = アドレスの下位8ビットをPMD<7:0>ピンに多重化し、上位8ビットにはPMA<15:8>ピンを使う00 = アドレスとデータに別々のピンを使う

bit 10 PTBEEN: バイトイネーブル ポート イネーブルビット (16 ビット マスタモード )

1 = PMBE ポートを有効にする0 = PMBE ポートを有効にする

bit 9 PTWREN: 書き込みイネーブル ストローブポート イネーブルビット

1 = PMWR/PMENB ポートを有効にする0 = PMWR/PMENB ポートを無効にする

bit 8 PTRDEN: 読み / 書きストローブポート イネーブルビット

1 = PMRD/PMWR ポートを有効にする0 = PMRD/PMWR ポートを無効にする

bit 7-6 CSF<1:0>: チップセレクト機能ビット

11 = 予約済み10 = PMCS1 と PMCS2 の両方がチップセレクトとして機能する01 = PMCS2 はチップセレクトとして機能し、PMCS1 はアドレスビット 14 として機能する00 = PMCS2 と PMCS1 はアドレスビット 15 および 14 として機能する

bit 5 ALP: アドレスラッチ極性ビット (1)

1 = アクティブ HIGH (PMALL/PMALH)0 = アクティブ LOW (PMALL/PMALH)

bit 4 CS2P: チップセレクト 1 極性ビット (1)

1 = アクティブ HIGH (PMCS2)0 = アクティブ LOW (PMCS2)

bit 3 CS1P: チップセレクト 0 極性ビット (1)

1 = アクティブ HIGH (PMCS1/PMCS)(2)

0 = アクティブ LOW (PMCS1/PMCS)

Note 1: 対応するピンをアドレスラインとして使う場合、これらのビットは効果を持ちません。

2: マスタモードには PMCS1、スレーブモードには PMCS を適用します。

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-5

Page 6: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

bit 2 BEP: バイトイネーブル極性ビット

1 = アクティブ HIGH (PMBE)0 = アクティブ LOW (PMBE)

bit 1 WRSP: 書き込みストローブ極性ビット

スレーブモードとマスタモード 2 (PMMODE<9:8> = 00、01、10) の場合 :1 = 読み出しストローブはアクティブ HIGH (PMWR)0 = 読み出しストローブはアクティブ LOW (PMWR)

マスタモード 1 (PMMODE<9:8> = 11) の場合 :1 = イネーブル ストローブはアクティブ HIGH (PMENB)0 = イネーブル ストローブはアクティブ LOW (PMENB)

bit 0 RDSP: 読み出しストローブ極性ビット

スレーブモードとマスタモード 2 (PMMODE<9:8> = 00、01、10) の場合 :1 = 読み出しストローブはアクティブ HIGH (PMRD)0 = 読み出しストローブはアクティブ LOW (PMRD)

マスタモード 1 (PMMODE<9:8> = 11) の場合 :

1 = 読み / 書きストローブはアクティブ HIGH (PMRD/PMWR)0 = 読み / 書きストローブはアクティブ LOW (PMRD/PMWR)

レジスタ 28-1: PMCON: パラレル マスタポート制御レジスタ ( 続き )

Note 1: 対応するピンをアドレスラインとして使う場合、これらのビットは効果を持ちません。

2: マスタモードには PMCS1、スレーブモードには PMCS を適用します。

DS70576B_JP -p. 28-6 Preliminary © 2013 Microchip Technology Inc.

Page 7: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

レジスタ 28-2: PMMODE: パラレル マスタポート モードレジスタ

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

BUSY IRQM<1:0> INCM<1:0> MODE16 MODE<1:0>

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

WAITB<1:0>(1,2) WAITM<3:0> WAITE<1:0>(1,2)

bit 7 bit 0

凡例 :

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

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

bit 15 BUSY: ビジービット ( マスタモード専用 )1 = ポートはビジー0 = ポートはビジーではない

bit 14-13 IRQM<1:0>: 割り込み要求モードビット11 = バッファ付きPSPモードで読み出しバッファ3の読み出しまたは書き込みバッファ3の書き込み

が発生するか、アドレス可能 PSP モードで PMA<1:0> = 11の場合に読み / 書き動作が発生すると、割り込みを生成する

10 = 予約済み01 = 読み / 書きサイクル終了時に割り込みを生成する00 = 割り込みを生成しない

bit 12-11 INCM<1:0>: インクリメント モードビット11 = PSP 読み出しおよび書き込みバッファを自動インクリメントする ( レガシー PSP モード専用 )10 = 毎回の読み / 書きサイクルで ADDR を 1 つデクリメントする01 = 毎回の読み / 書きサイクルで ADDR を 1 つインクリメントする00 = アドレスはインクリメントもデクリメントもしない

bit 10 MODE16: 8/16 ビットモード ビット1 = 16ビットモード: データレジスタは16ビット (データレジスタの読み/書きは8ビット転送を2回実

行する )0 = 8ビットモード: データレジスタは8ビット (データレジスタの読み/きは8ビット転送を1回実行する)

bit 9-8 MODE<1:0>: パラレルポート モード選択ビット11 = マスタモード 1 (PMCSx、PMRD/PMWR、PMENB、PMBE、PMA<x:0>、PMD<7:0>)10 = マスタモード 2 (PMCSx、PMRD、PMWR、PMBE、PMA<x:0>、PMD<7:0>)01 = 拡張 PSP モード (PMRD、PMWR、PMCSx、PMD<7:0>、PMA<1:0>)00 = レガシーのパラレル スレーブポート モード (PMRD、PMWR、PMCSx、PMD<7:0>)

bit 7-6 WAITB<1:0>: データ セットアップ - 読み / 書きアドレスフェイズ ウェイトステート コンフィグレーション ビット (1,2)

11 = 4 TCY のデータウェイト ( 非多重化 / 多重化 )、4 TCY のアドレスウェイト ( 多重化 )10 = 3 TCY のデータウェイト ( 非多重化 / 多重化 )、3 TCY のアドレスウェイト ( 多重化 )01 = 2 TCY のデータウェイト ( 非多重化 / 多重化 )、2 TCY のアドレスウェイト ( 多重化 )00 = 1 TCY のデータウェイト ( 非多重化 / 多重化 )、1 TCY のアドレスウェイト ( 多重化 )

bit 5-2 WAITM<3:0>: バイト読み出しイネーブル ストローブ ウェイトステート コンフィグレーション ビット1111 = 15 TCY のウェイト サイクルを追加する•••

0001 = 1 TCY のウェイト サイクルを追加する0000 = ウェイト サイクルを追加しない ( 動作を 1 Tcy に固定する )

bit 1-0 WAITE<1:0>: ストローブ後データホールド ウェイトステート コンフィグレーション ビット (1,2)

11 = 4 TCY のウェイト10 = 3 TCY のウェイト01 = 2 TCY のウェイト00 = 1 TCY のウェイト

Note 1: 適用されるウェイトステートは、データとアドレスを多重化するかどうかによって異なります。詳細は28.4.1.8「ウェイトステート」を参照してください。

2: WAITM<3:0> = 0000の場合、WAITB<1:0> および WAITE<1:0> ビットは無視されます。

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-7

Page 8: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

レジスタ 28-3: PMADDR: パラレル マスタポート アドレスレジスタ ( マスタモード専用 ) (1)

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

CS2 CS1 ADDR<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

ADDR<7:0>

bit 7 bit 0

凡例 :

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

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

bit 15 CS2: チップセレクト 2 ビット

PMCON<7:6> = 10または 01の場合 :1 = チップセレクト 2 はアクティブ 0 = チップセレクト 2 は非アクティブ

PMCON<7:6> = 11または 00の場合 :このビットは ADDR<15> として機能する

bit 14 CS1: チップセレクト 1 ビット

PMCON<7:6> = 10の場合 :1 = チップセレクト 1 はアクティブ0 = チップセレクト 1 は非アクティブ

PMCON<7:6> = 11または 0xの場合 :このビットは ADDR<14> として機能する

bit 13-0 ADDR<13:0>: デスティネーション アドレスビット

Note 1: 拡張スレーブモードでは、PMADDR は PMDOUT1 (2 つのデータバッファ レジスタの 1 つ ) として機能します。

DS70576B_JP -p. 28-8 Preliminary © 2013 Microchip Technology Inc.

Page 9: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

レジスタ 28-4: PMAEN: パラレル マスタポート アドレス イネーブル レジスタ

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

PTEN15 PTEN14 PTEN13 PTEN12 PTEN11 PTEN10 PTEN9 PTEN8

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

PTEN7 PTEN6 PTEN5 PTEN4 PTEN3 PTEN2 PTEN1 PTEN0

bit 7 bit 0

凡例 :

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

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

bit 15 PTEN15: PMCS2 ストローブ イネーブルビット

1 = PMA15 は PMA<15> または PMCS2 として機能する0 = PMA15 はポート I/O として機能する

bit 14 PTEN14: PMCS1 ストローブ イネーブルビット

1 = PMA14 は PMA<14> または PMCS1 として機能する0 = PMA14 はポート I/O として機能する

bit 13-2 PTEN<13:2>: PMP アドレスポート イネーブルビット

1 = PMA<13:2> は PMP アドレスラインとして機能する0 = PMA<13:2> はポート I/O として機能する

bit 1-0 PTEN<1:0>: PMALH/PMALL ストローブ イネーブルビット

1 = PMA1 と PMA0 は PMA<1:0>、PMALH、PMALL のいずれかとして機能する0 = PMA1 と PMA0 はポート I/O として機能する

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-9

Page 10: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

レジスタ 28-5: PMSTAT: パラレル マスタポート ステータス レジスタ ( スレーブモード専用 )

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

IBF IBOV — — IB3F IB2F IB1F IB0F

bit 15 bit 8

R-1 R/W-0 HS U-0 U-0 R-1 R-1 R-1 R-1

OBE OBUF — — OB3E OB2E OB1E OB0E

bit 7 bit 0

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

HC = ハードウェアでクリア

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

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

bit 15 IBF: 入力バッファフル ステータスビット

1 = 書き込み可能入力バッファレジスタの全てがフル0 = 書き込み可能入力バッファレジスタの一部または全てがエンプティ

bit 14 IBOV: 入力バッファ オーバーフロー ステータスビット

1 = フル状態の入力バイトレジスタに対する書き込みが発生した ( このビットはソフトウェアでクリアする必要があります )

0 = オーバーフローは発生していない

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

bit 11-8 IBxF: 入力バッファ x フル ステータスビット

1 = 入力バッファに未読データが存在する ( このビットはバッファ読み出し時にクリアされます )0 = 入力バッファに未読データは存在しない

bit 7 OBE: 出力バッファ エンプティ ステータスビット

1 = 読み出し可能出力バッファレジスタの全てがエンプティ0 = 読み出し可能出力バッファレジスタの一部または全てがフル

bit 6 OBUF: 出力バッファ アンダーフロー ステータスビット

1 = エンプティ状態の出力バイトレジスタからの読み出しが発生した ( このビットはソフトウェアでクリアする必要があります )

0 = アンダーフローは発生していない

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

bit 3-0 OBxE: 出力バッファ x エンプティ ステータスビット

1 = 出力バッファはエンプティ ( このビットはバッファへのデータ書き込み時にクリアされます )0 = 出力バッファに未送信データが存在する

DS70576B_JP -p. 28-10 Preliminary © 2013 Microchip Technology Inc.

Page 11: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

レジスタ 28-6: PADCFG1: ピン コンフィグレーション制御レジスタ

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 U-0 R/W-0 R/W-0

— — — — — — RTSECSEL PMPTTL

bit 7 bit 0

凡例 :

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

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

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

bit 1 PMP モジュールでは使いません。このビットの詳細は各デバイスのデータシートを参照してください。

bit 0 PMPTTL: PMP モジュール TTL 入力バッファ選択ビット

1 = PMP モジュールは TTL 入力バッファを使う0 = PMP モジュールはシュミットトリガ入力バッファを使う

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-11

Page 12: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

28.3 スレーブポート モード

スレーブモードでは、PMP モジュールは 8 ビット データバスと、スレーブパラレル デバイスとして動作するために必要な全ての制御信号を提供します。PMP モジュールは、レガシーの

「バッファ付きアドレス可能」モード向けにも設定できます。スレーブモードでは、下記のオプションによる柔軟なインターフェイス設定が可能です。

• 8 ビット データバス

• 2 x アドレスライン ( アドレス可能モード専用 )

• 3 x 制御ライン ( 読み出し、書き込み、チップセレクト )

• 全ての制御ラインの極性

PMP をスレーブとして使うには、モジュールを有効にし (PMPEN = 1)、動作モードを 2 つあるスレーブモードのどちらか (PMMODE<9:8> = 01または 00) に設定する必要があります。

28.3.1 レガシーモード

レガシーモード (PMMODE<9:8> = 00かつ PMMODE<12:11> = 11) では、モジュール専用に割り当てられたイネーブル モジュールピンを使ってモジュールをパラレル スレーブポート(PSP)として構成します。このモードでは、8ビット データバス (PMD<7:0>)、読み出し (PMRD)、書き込み (PMWR)、チップセレクト (PMCSx) 入力を使って他のコントローラまたはマイクロプロセッサ等の外部デバイスから非同期でデータを読み / 書きできます。

図 28-2: パラレルマスタ / スレーブ接続の例

28.3.1.1 スレーブポートへの書き込み

チップセレクトがアクティブな状態で書き込みストローブが発生 (PMCS1 = 1 かつ PMWR = 1)すると、PMD<7:0> からのデータが PMDIN1 レジスタの下位 8 ビット (PMDIN1<7:0>) に取り込まれます。書き込みが終了すると、PMPIF および IBF フラグビットがセットされます。

書き込みモード中の制御信号タイミングを図28-3に示します。制御信号の極性は選択可能です。

Note: 全ての制御ラインは (加えてアドレス可能PSPモードではPMA<1:0>も )、PMCONおよび PMAEN レジスタ内の対応する制御ビットでパラレルポート動作向けに設定する必要があります。詳細は 28.4.1.2「ポートピン制御」を参照してください。

Note: PMCS1 は、全てのスレーブモードでチップセレクト入力として使います。PMCS2はマスタモードでのみ使います。

PMD<7:0>

PMRD

PMWR

Master

Data Bus

Control Lines

PMCSx

PMD<7:0>

PMRD

PMWR

dsPIC33E/PIC24E Slave

PMCS1PMDOUT1L (0)

PMDIN1L (0)

DS70576B_JP -p. 28-12 Preliminary © 2013 Microchip Technology Inc.

Page 13: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

図 28-3: パラレル スレーブポートの書き込み波形

28.3.1.2 スレーブポートからの読み出し

チップセレクトがアクティブな状態で読み出しストローブが発生(PMCS1 = 1 かつ PMRD = 1)すると、PMDOUT1 レジスタの下位 8 ビット (PMDOUT1<7:0>) が PMD<7:0> に出力されます。PMDOUT1<7:0> のデータが読み出され、出力バッファ エンプティ フラグ (OBE) がセットされます。ユーザ アプリケーションが PMDOUT1<7:0> に新しいデータを書き込んでも、そのデータは即座に読み出されるため、OBE はクリアされません。

読み出しモード中の制御信号タイミングを図 28-4 に示します。

図 28-4: パラレル スレーブポートの読み出し波形

28.3.1.3 割り込み動作

PMCS1 または PMRD ラインのどちらかで HIGH を検出すると、ポートピンは入力ステートに戻り、割り込み制御モジュール内の PMPIF ビットがセットされます。ユーザ アプリケーションは、モジュールをサービスする前に、PMPIF ビットがセットされるまで待機する必要があります。PMPIF ビットがセットされれば、IBF および OBF ビットをポーリングして適切な動作を実行できます。

PMCS1

PMWR

PMRD

IBF

OBE

PMPIF

PMD<7:0>

SystemClock

PMCS1

PMWR

IBF

PMPIF

PMRD

OBE

PMD<7:0>

SystemClock

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-13

Page 14: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

28.3.2 バッファ付きパラレル スレーブポート モード

バッファ付きパラレルスレーブ ポートモードは、4 段の読み / 書きバッファを使うという点を除けば、レガシーのパラレルスレーブ ポートモードと機能的に同じです。バッファ付き PSPモードを有効にするには、INCM<1:0> ビット (PMMODE<12:11>) を「11」に設定する必要があります。

バッファ付きモードを有効にすると、モジュールは PMDIN1 および PMDIN2 レジスタを書き込みバッファとして使い、PMDOUT1 および PMDOUT2 レジスタを読み出しバッファとして使います。各レジスタは 2 つの 1 バイト バッファレジスタに分割され、読み出しと書き込み用にそれぞれ 4 段のバイト幅バッファを形成します。各バッファには、PMDIN1/PMDOUT1 の下位バイトから PMDIN2/PMDOUT2 の上位バイトに向かって 0 ~ 3 の番号が割り当てられます。

図 28-5: バッファ付きパラレルマスタ / スレーブの接続例

28.3.2.1 スレーブポートからの読み出し

読み出し動作では、読み出しストローブのたびにバッファ 0 (PMDOUT1<7:0>) からバッファ 3(PMDOUT2<15:8>) に向かって 1 バイトずつ順番に出力されます。モジュールは、バッファを正しい順序で読み出すために、内部ポインタを保持します。

各バッファに対応する読み出しステータスビット (OBxE) は PMSTAT レジスタに格納されています。このステータスビットは、バッファ内のデータがバスに書き込まれるまでクリア状態を維持し、データがバスに書き込まれるとセットされます。読み出し中のバッファ位置がエンプティである場合、バッファ アンダーフローが発生し、バッファ アンダーフロー フラグビットOBUF (PMSTAT<6>) がセットされます。4 つの OBxE ステータスビットの全てがセットされると、OBE ビットもセットされます。

28.3.2.2 スレーブポートへの書き込み

書き込み動作では、バッファ 0 (PMDIN1<7:0>) からバッファ 3 (PMDIN2<15:8>) に向かってデータを順番に保存します。読み出し動作と同様に、PMP モジュールは次に書き込むべきバッファを指す内部ポインタを保持します。

各入力バッファは、それぞれの書き込みステータスビット IBnF を備えます。このビットは、対応するバッファ内のデータが読み出されるまでセットされたままであり、データが読み出されるとクリアされます。このフラグビットは書き込みストローブ時にセットされます。IBnF ビットが既にセットされているバッファに書き込みが発生すると、入力バッファ オーバーフロー フラグ (IBOV) がセットされ、バッファへの書き込みデータは失われます。4 つの IBnF フラグが全てセットされると、入力バッファフル フラグ (IBF) がセットされます。

28.3.2.3 割り込み動作

バッファ付きスレーブモードでは、読み出しまたは書き込みストローブのたびに割り込みを生成するようモジュールを設定できます (IRQM<1:0> = 01)。読み出しバッファ 3 からの読み出し、または、書き込みバッファ 3 への書き込み時にのみ割り込みを生成するよう設定する事も可能です (IRQM<1:0> = 11)。この場合、読み出しまたは書き込みストローブ 4 回ごとに割り込みが発生します。入力データ 4 バイトあたり 1 回の割り込みを生成する場合、全ての入力バッファレジスタを読み出すまで各 IBxF フラグはクリアされません。これらのフラグがクリアされないと、オーバーフロー条件が発生する可能性があります。PMSTAT レジスタは全てのバッファに関するステータス情報を提供します。

PMD<7:0>

PMRD

PMWR

Master

Data Bus

Control Lines

PMCSx

PMRD

PMWR

dsPIC33E/PIC24E Slave

PMCS1PMDOUT1L (0)

PMDOUT1H (1)

PMDOUT2L (2)

PMDOUT2H (3)

PMDIN1L (0)

PMDIN1H (1)

PMDIN2L (2)

PMDIN2H (3)

PMD<7:0> WriteAddressPointer

ReadAddressPointer

DS70576B_JP -p. 28-14 Preliminary © 2013 Microchip Technology Inc.

Page 15: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

28.3.3 アドレス可能パラレル スレーブポート モード

アドレス可能パラレルスレーブ ポートモードでは、2 つの追加入力 (PMA<1:0>) を使ってモジュールを構成します。これにより、4 バイトのバッファ空間を、固定された読み / 書きバッファペアとして直接アドレッシングできます。アドレス可能 PSP モードを有効にするには、MODE<1:0> ビット (PMMODE<9:8>) を「01」に設定します。バッファ付きレガシーモードの場合、データは PMDOUT1 と PMDOUT2 から出力され、PMDIN1 と PMDIN2 に書き込まれます。表 28-1 に、入力および出力レジスタへの入力アドレスの割り当てを示します。

表 28-1: スレーブモードのアドレス割り当て

図 28-6: アドレス可能バッファ付きパラレル マスタ / スレーブ接続の例

28.3.3.1 スレーブポートからの読み出し

チップセレクトがアクティブな状態で読み出しストローブが発生(PMCS1 = 1 かつ PMRD = 1)すると、4 つの出力バイトのいずれか 1 つからのデータが PMD<7:0> に出力されます。どのバイトを読み出すかは、PMA<1:0> で設定される 2 ビットアドレスによって決まります。各出力レジスタのアドレス割り当ては表 28-1 を参照してください。いずれかの出力バッファを読み出すと、そのバッファの OBxE ビットがセットされます。全てのバッファがエンプティになるとOBE フラグビットがセットされます。既にエンプティ (OBxE = 1) であるバッファに対して読み出しが発生すると、OBUF (PMSTAT<6>) フラグがセットされます。

図 28-7: パラレル スレーブポートの読み出し波形

PMA<1:0> 出力レジスタ ( バッファ ) 入力レジスタ ( バッファ )

00 PMDOUT1<7:0> (0) PMDIN1<7:0> (0)

01 PMDOUT1<15:8> (1) PMDIN1<15:8> (1)

10 PMDOUT2<7:0> (2) PMDIN2<7:0> (2)

11 PMDOUT2<15:8> (3) PMDIN2<15:8> (3)

PMD<7:0>

PMRD

PMWR

Master

PMCSx

PMA<1:0>

Address BusData BusControl Lines

PMRD

PMWR

dsPIC33E/PIC24E Slave

PMCS1

PMDOUT1L (0)

PMDOUT1H (1)

PMDOUT2L (2)

PMDOUT2H (3)

PMDIN1L (0)

PMDIN1H (1)

PMDIN2L (2)

PMDIN2H (3)

PMD<7:0> WriteAddressDecode

ReadAddressDecode

PMA<1:0>

PMCS1

PMWR

PMA<1:0>

PMPIF

PMRD

OBE

PMD<7:0>

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-15

Page 16: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

28.3.3.2 スレーブポートへの書き込み

チップセレクトがアクティブな状態で書き込みストローブが発生 (PMCS1 = 1 かつ PMWR = 1)すると、PMD<7:0> からのデータが 4 つの入力バッファバイトのいずれか 1 つに取り込まれます。どのバイトに書き込むかは、PMA<1:0> で設定される 2 ビットアドレスによって決まります。各入力レジスタのアドレス割り当ては表 28-1 を参照してください。

入力バッファが書き込まれると、そのバッファの IBxF ビットがセットされます。全てのバッファが書き込まれると IBF フラグビットがセットされます。既に書き込み済み (IBnF = 1) のバッファに対する書き込みストローブは IBOV イベントを生成し、そのバイトは破棄されます。

図 28-8: パラレル スレーブポートの書き込み波形

28.3.3.3 割り込み動作

アドレス可能 PSP モードでは、読み出しまたは書き込みストローブのたびに割り込みを生成するようモジュールを設定できます。読み出しバッファ 3 からの読み出しまたは書き込みバッファ 3 への書き込み時にのみ割り込みを生成するよう設定する事も可能です。この場合、PMA<1:0> ピンが「11」に設定されている時に読み出しまたは書き込みが発生すると割り込みが生成されます。

PMCS1

PMWR

PMRD

IBF

PMPIF

PMD<7:0>

PMA<1:0>

DS70576B_JP -p. 28-16 Preliminary © 2013 Microchip Technology Inc.

Page 17: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

28.4 マスタポート モード

マスタモードでは、PMP モジュールは 8 ビットデータバスと最大 16 ビットのアドレス、および各種外部パラレルデバイス ( メモリデバイス、周辺モジュール、スレーブデバイス等 ) の動作に必要な全ての制御信号を提供します。PMP をマスタとして使うには、モジュールを有効にし (PMPEN = 1)、動作モードを 2 つあるマスタモードのどちらか (PMMODE<9:8> = 10または11) に設定する必要があります。

制御方法の異なるパラレルデバイスが各種存在します。このため、PMP モジュールは、さまざまなコンフィグレーションに適応できるよう設計されています。下記の機能により、モジュールを柔軟に構成できます。

• 8 ビットデータバス上の 8 ビットまたは 16 ビットデータ モード

• 設定可能なアドレス / データ多重化

• 最大 2 本のチップセレクト ライン

• 最大 16 本の選択可能アドレスライン

• アドレスの自動インクリメント / デクリメント

• 全ての制御ラインの極性

• 読み / 書きサイクル中の各種段階でウェイトステートを設定可能

28.4.1 パラレル マスタポートの設定オプション

28.4.1.1 チップセレクト

PMP のマスタモードでは、最大 2 本のチップセレクト ライン (PMCS1、PMCS2) を使えます。2 本のチップセレクト ラインは、アドレスバスの最上位 2 ビット (PMA<14> と PMA<15>) に多重化されます。チップセレクトとして設定したピンは、アドレスの自動インクリメント / デクリメントから除外されます。チップセレクト信号の機能は、チップセレクト機能ビットCSF<1:0> (PMCON<7:6>) で設定します。チップセレクトを有効にするには、PMADDR(PMADDR<15:14>) レジスタの対応するチップセレクト ビット (CS1、CS2) をセットする必要があります。

28.4.1.2 ポートピン制御

PTBEEN、PTWREN、PTRDEN ビット (PMCON<10:8>) および PTENx ビット (PMAEN<15:0>)を使って PMP ピンを他の機能向けに割り当てる事ができ、外部アドレスを柔軟に制御できます。これらのビットをセットすると、対応するピンに PMP 関連機能が割り当てられます。クリアすると、そのピンの機能は既定値の I/O ポート機能に戻ります。

PMA<13:2> ピンに対応する PTENx ビットをセットすると、そのピンはアドレスラインとして有効になり、PMADDR レジスタ内の対応するデータを出力します。PTEN14 または PTEN15をセットしてチップセレクト (PMCS1 または PMCS2) として設定したピンは、読み / 書き動作が実行中ではない時に非アクティブ状態 (PMCON の CSxP ビットで定義 ) を出力します。また、PTEN0 および PTEN1 ビットをセットしてアドレスラッチとして設定したピンは、PMALLおよび PMALH 信号を制御します。アドレスを多重化する場合、対応するアドレスラッチ信号を有効にする必要があります。

28.4.1.3 アドレス多重化

どちらのマスタモード (MODE<1:0> で設定 ) でも、ユーザ アプリケーションは ADRMUX<1:0>ビットを使ってアドレスバスをデータバスに多重化できます。3 種類のアドレス多重化モードを使えます。これらのモードの代表的なピン配置を図 28-9、図 28-10、図 28-11 に示します。

非多重化モード (ADRMUX<1:0> = 00) では、データとアドレスの情報は完全に分離されます。データビットは PMD<7:0> に出力され、アドレスビットは PMA<15:0> に出力されます。ウェイトステートを一切追加しない場合、読み / 書き動作は 1 TCY で完了します。

半多重化モード (ADRMUX<1:0> = 01) では、アドレスの下位 8 ビットだけを PMD<7:0> のデータピンに多重化します。アドレスの上位8ビットはそのままPMA<15:8>に出力します。PMA<0>ピンはアドレスラッチとして使われ、アドレスラッチ LOW イネーブル ストローブ (PMALL) を出力します。読み / 書きシーケンスは完全な 1 CPU サイクル延長され、この間にアドレスがPMD<7:0> ピンで出力されます。つまり、ウェイトステートを一切追加しない場合、読み / 書き動作は 2 TCY を要します。

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-17

Page 18: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

全多重化モード (ADRMUX<1:0> = 10) では、アドレスの全 16 ビットが PMD<7:0> のデータピンに多重化されます。PMA<0> および PMA<1> ピンは、それぞれアドレスラッチ LOW イネーブル (PMALL) およびアドレスラッチ HIGH イネーブル (PMALH) ストローブの出力用に使われます。

読み / 書きシーケンスは完全な 2 CPU サイクル延長されます。延長された最初のサイクルでPMALL ストローブがアクティブになり、アドレスの下位 8 ビットが PMD<7:0> ピンで出力されます。次のサイクルで PMALH ストローブがアクティブになり、アドレスの上位 8 ビットがPMD<7:0> ピンで出力されます。上位アドレスビットをチップセレクトピンとして設定した場合、対応するアドレスビットは自動的に「0」に固定されます。ウェイトステートを一切追加しない場合、読み / 書き動作は 3 TCY を要します。

各多重化モードのタイミング例は 28.4.5「マスタモードのタイミング」に記載しています。

図 28-9: 非多重化アドレッシング モード ( 別々の読み / 書きストローブ、2 チップセレクト )

図 28-10: 半多重化アドレッシング モード ( 別々の読み / 書きストローブ、2 チップセレクト )

図 28-11: 全多重化アドレッシング モード ( 別々の読み / 書きストローブ、2 チップセレクト )

PMRD

PMWR

PMD<7:0>

PMCS1

PMA<13:0>

PMCS2

dsPIC33E/PIC24E

Address Bus

Data Bus

Control Lines

PMD<7:0>

PMA<14>

PMA<15>

PMRD

PMA<13:0>

PMWR

PMRD

PMWR

PMD<7:0>

PMCS1

PMA<13:8>

PMALL

PMA<7:0>

PMCS2 Address Bus

MultiplexedData andAddress Bus

Control Lines

PMD<7:0>

PMA<14>

PMA<15>

PMA<0>

PMRD

PMD<13:8>

PMWR

dsPIC33E/PIC24E

PMRD

PMWR

PMD<7:0>

PMCS1

PMALH

PMCS2

MultiplexedData andAddress Bus

Control Lines

PMALL

PMA<13:8>,PMD<7:0>

PMA<14>

PMA<15>

PMA<0>

PMA<1>

PMRD

PMWR

PMA<7:0>

dsPIC33E/PIC24E

DS70576B_JP -p. 28-18 Preliminary © 2013 Microchip Technology Inc.

Page 19: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

図 28-12: 全多重化アドレッシング モード ( 別々の読み / 書きストローブ、2 チップセレクト、16 ビットデータ )

28.4.1.4 8 ビットおよび 16 ビット データモード

PMP は 8 ビットおよび 16 ビット幅のデータをサポートします。データ幅は MODE16 ビット(PMMODE<10>) で選択します。モジュールの入力および出力データパスは 8 ビット幅しか持たないため、16 ビット動作は常に多重化方式で処理され、データの下位バイト (LSB) を最初に出力します。

28.4.1.5 読み / 書き制御

PMP モジュールは 2 種類の読み / 書き信号処理法 ( マスタモード 1 とマスタモード 2) をサポートします。マスタモード 1 では、読み出しストローブと書き込みストローブは 1 つの制御ライン (PMRD/PMWR) を共有します。もう 1 つの制御ライン PMENB は、読み / 書き動作の実行タイミングを決定します。マスタモード2では、読み出しストローブと書き込みストローブ(PMRDと PMWR) に別々のピンを使います。チップセレクトおよびバイトイネーブル制御ストローブ(PMBE) は、どちらのマスタモードでも使えます。

28.4.1.6 制御ラインの極性

全ての制御信号 (PMRD、PMWR、PMBE、PMENB、PMAL、PMCSx) には別々に極性を設定できます。極性の設定には PMCON レジスタ内の各ビットを使います。同一出力ピンを共有する複数の制御信号 ( 例 : PMWR と PMENB) の極性は同一ビットによって制御されます。この構成はどちらのマスタポート モードを使うかによって異なります。また、PMALH と PMALL の極性も 1 つのビットで制御します。

28.4.1.7 自動インクリメント / デクリメント

PMP モジュールがどちらかのマスタモードで動作している場合、INCM<1:0> ビット(PMMODE<12:11>) はアドレス値の挙動を制御します。読み / 書き動作のたびにアドレスを自動的にインクリメントまたはデクリメントできます。1 つの動作が完了するたびにアドレスがインクリメントし、BUSY ビットが「0」に変化します。チップセレクト信号を無効にして CS2および CS1 ビットをアドレスビットとして設定した場合、これらのビットはインクリメント /デクリメント動作の影響を受けます。それ以外の場合、CS2 および CS1 ビットの値はインクリメント / デクリメント動作の影響を受けません。

28.4.1.8 ウェイトステート

マスタモードでは、ユーザ アプリケーションでモジュールのウェイトステートを TCY の倍数として設定する事により、読み込み、書き込み、アドレス サイクルの期間を制御できます。サイクルの 3 つの区分 ( 開始 / 中間 / 終了 ) でウェイトステートを設定できます。これらの設定には、 それぞれ PMMODE レジスタの対応する WAITBx、WAITMx、WAITEx ビットを使います。

WAITB<1:0> ビット (PMMODE<7:6>) は、サイクル開始時点におけるウェイトステート数を設定します。ウェイトステートは、マスタモード 2 ではデータセットアップと PMRD またはPMWR ストローブの間に挿入され、マスタモード 1 ではデータセットアップと PMENB ストローブの間に挿入されます。また、アドレスバスをデータバスに多重化している場合(ADRMUX<1:0>(PMCON<12:11>) = 01または 10 )、ウェイトステートはアドレスフェイズの各部の長さにも追加されます。

WAITMx ビット (PMMODE<5:2>) は、マスタモード 1 における PMRD または PMWR ストローブのウェイトサイクル数、またはモード 2 における PMENB ストローブのウェイトサイクル数を設定します。このウェイトステート設定を「0」にした場合、WAITBx と WAITEx は効果を持ちません。

PMRD

PMWR

PMD<7:0>

PMCS1

PMALH

PMCS2

MultiplexedData andAddress Bus

Control Lines

PMALL

PMA<13:8>,

PMA<14>

PMA<15>

PMA<0>

PMA<1>

PMRD

PMD<7:0>

PMWR

PMA<7:0>

dsPIC33E/PIC24E

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-19

Page 20: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

WAITEx ビット (PMMODE<1:0>) は、マスタモード 1 における PMRD または PMWR ストローブ後データホールド時間のウェイトサイクル数、またはマスタモード 2 における PMENB ストローブ後データホールド時間のウェイトサイクル数を設定します。

28.4.1.9 動作モードに基づくピン機能

PMP モジュールの多くの物理ピンは、動作モードの選択に応じてマスタモード 1 と 2 で異なる機能を実行できます。一部のモードでは、特定のピンをデバイス I/O または他のデバイス機能向けに使えます。表 28-2 にマスタモード、アドレス多重化モード、有効にするチップセレクトの数に基づく制御およびアドレスピンの機能をまとめて示します。表 28-3 に、各種のデータ幅とアドレス多重化モードの組み合わせにおいてデータとアドレスがどのように多重化されるのかを示します。

表 28-2: 全てのマスタモードにおける PMP アドレスおよび制御ピンの機能

Note: PMP ピンを汎用 I/O ピンとして機能させるには、対応するポート制御ビットも適切に設定する必要があります。詳細は 28.4.1.2「ポートピン制御」を参照してください。

PMPピン名

アドレス多重化モード (ADRMUX<1:0>) と チップセレクト (CSF<1:0>) の設定に基づくピン機能

非多重化 (00) 半多重化 (01) 全多重化 (10)

0 CS (00)

1 CS (01)

2 CS (10)

0 CS (00)

1 CS (01)

2 CS(10)

0 CS (00)

1 CS (01)

2 CS (10)

マスタモード 1 ( 読み / 書きでストローブを共有 )、8 ビットおよび 16 ビット データモード

PMRD PMRD/PMWR

PMRD/PMWR

PMRD/PMWR

PMRD/PMWR

PMRD/PMWR

PMRD/PMWR

PMRD/PMWR

PMRD/PMWR

PMRD/PMWR

PMWR PMENB PMENB PMENB PMENB PMENB PMENB PMENB PMENB PMENB

PMBE I/O(1) I/O(1) I/O(1) I/O(1) I/O(1) I/O(1) I/O(1) I/O(1) I/O(1)

PMBE(2) PMBE(2) PMBE(2) PMBE(2) PMBE(2) PMBE(2) PMBE(2) PMBE(2) PMBE(2)

PMCS2 PMA15 PMCS2 PMCS2 PMA15 PMCS2 PMCS2 PMA15 PMCS2 PMCS2

PMCS1 PMA14 PMA14 PMCS1 PMA14 PMA14 PMCS1 PMA14 PMA14 PMCS1

PMA<13:8> PMA<13:8> PMA<13:8> PMA<13:8> PMA<13:8> PMA<13:8> PMA<13:8> I/O I/O I/O

PMA<7:2> PMA<7:2> PMA<7:2> PMA<7:2> I/O I/O I/O I/O I/O I/O

PMA1 PMA1 PMA1 PMA1 I/O I/O I/O PMALH PMALH PMALH

PMA0 PMA0 PMA0 PMA0 PMALL PMALL PMALL PMALL PMALL PMALL

マスタモード 2 ( 読み / 書きで別々のストローブ )、8 ビットおよび 16 ビット データモード

PMRD PMRD PMRD PMRD PMRD PMRD PMRD PMRD PMRD PMRD

PMWR PMWR PMWR PMWR PMWR PMWR PMWR PMWR PMWR PMWR

PMBE I/O(1) I/O(1) I/O(1) I/O(1) I/O(1) I/O(1) I/O(1) I/O(1) I/O(1)

PMBE(2) PMBE(2) PMBE(2) PMBE(2) PMBE(2) PMBE(2) PMBE(2) PMBE(2) PMBE(2)

PMCS2 PMA15 PMCS2 PMCS2 PMA15 PMCS2 PMCS2 PMA15 PMCS2 PMCS2

PMCS1 PMA14 PMA14 PMCS1 PMA14 PMA14 PMCS1 PMA14 PMA14 PMCS1

PMA<13:8> PMA<13:8> PMA<13:8> PMA<13:8> PMA<13:8> PMA<13:8> PMA<13:8> I/O I/O I/O

PMA<7:2> PMA<7:2> PMA<7:2> PMA<7:2> I/O I/O I/O I/O I/O I/O

PMA1 PMA1 PMA1 PMA1 I/O I/O I/O PMALH PMALH PMALH

PMA0 PMA0 PMA0 PMA0 PMALL PMALL PMALL PMALL PMALL PMALL

Note 1: 8 ビット データモードのみ

2: 16 ビット データモードのみ

DS70576B_JP -p. 28-20 Preliminary © 2013 Microchip Technology Inc.

Page 21: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

表 28-3: 全てのマスタモードにおける PMP データピン機能

28.4.2 読み出し動作

パラレルポートを読み出すには、ユーザ アプリケーションで PMDIN1 レジスタの下位バイトを読み出します。これにより、PMP は要求された値をチップセレクト ラインとアドレスバスに出力します。次に、読み出しライン (PMRD) をストローブし、読み出しデータを PMDIN1 レジスタの下位バイトに格納します。

16 ビットモードを有効 (MODE16 = 1) にした場合、PMDIN1 レジスタの下位バイトを読み出すと 2 回のバス読み出しが発生します。最初に読み出したデータは PMDIN1 レジスタの下位バイトに格納され、次に読み出したデータは同レジスタの上位バイトに格納されます。

PMDIN1 レジスタからの読み出しデータは、前回の読み出し動作でバスから読み出された値である事に注意が必要です。このためユーザ アプリケーションによる最初の読み出しは、バス読み出しを開始して最初のバス読み出し値を読み出しレジスタに書き込むためのダミー読み出しとして機能します。また、BUSY ビットを LOW として検出するまでは、今回のバス読み出し値をレジスタから読み出す事はできません。従って、PMDIN レジスタを読み出した直後に(BUSY がクリアされる前に ) 再度読み出しても、新しいデータを読み出す事はできません。BUSY ビットがクリアされた後にレジスタを読み出すと、新しいバス値がレジスタに書き込まれます。

以上をまとめると、1 つのバイト / ワードをランダムに読み出す場合、PMDIN1 レジスタを 2 回読み出す必要があり、2 回目の読み出し値が実際のデータです。連続して読み出す場合、1 回のダミー読み出しを実行した後に、PMDIN1 レジスタを必要な回数読み出します。

28.4.3 書き込み動作

パラレルポートに書き込むには、ユーザ アプリケーションで PMDIN1 レジスタの下位バイトに書き込みます。これにより、モジュールは最初にその値をチップセレクト ラインとアドレスバスに出力します。PMDIN1 レジスタに書き込まれたデータの下位バイトは PMD<7:0> データバスに出力され、次いで書き込みライン (PMWR) がストローブされます。

16 ビットモードを有効 (MODE16 = 1) にした場合、PMDIN1 レジスタの下位バイトに書き込むと 2 回のバス書き込みが発生します。最初に PMDIN1 レジスタの下位バイトのデータがバスに書き込まれ、次に PMDIN1 レジスタの上位バイトのデータがバスに書き込まれます。

28.4.4 パラレル マスタポートのステータス

28.4.4.1 BUSY ビット

PMP 割り込みに加えて、BUSY ビット (PMMODE<15>) もモジュールのステータスを示します。このビットはマスタモードでのみ使います。

読み / 書き動作の実行中、BUSY ビットは動作の最後の CPU サイクルを除く全てのサイクルでセットされます。従って単一サイクルの読み / 書き動作を要求しても BUSY ビットはセットされません。このため連続的な転送が可能です。BUSY ビットは、ウェイトステートを有効にした場合、あるいはアドレス / データの多重化を選択した場合にのみ役立ちます。

BUSY ビットがセットされている間、ユーザ アプリケーションが次の動作の開始を要求しても無視されます。つまり、PMDIN1 レジスタの下位バイトに読み / 書きしても読み / 書き動作は発生しません。ユーザ アプリケーションは、BUSY フラグがクリアされた後に、その動作を再度要求する必要があります。

PMPデータモード

(MODE16)

アドレス多重化モード (ADRMUX<1:0>) と チップセレクト (CSF<1:0>) の設定に基づく PMD<7:0> のピン機能

非多重化 (00) 半多重化 (01) 全多重化 (10)

チップセレクト オプ

ション0 CS (00) 1 CS (01) 2 CS (10) 0 CS (00) 1 CS (01) 2 CS (10)

8 ビット (0) PMD<7:0> PMA<7:0>, PMD<7:0>

PMA<7:0>, PMD<7:0>

PMA<7:0>, PMD<7:0>

PMA<7:0>, PMA<15:8>, PMD<7:0>

PMA<7:0>, PMA<14:8>, PMD<7:0>

PMA<7:0>, PMA<13:8>, PMD<7:0>

16 ビット (1) PMD<7:0>PMD<15:8>

PMA<7:0>, PMD<7:0>, PMD<15:8>

PMA<7:0>, PMD<7:0>, PMD<15:8>

PMA<7:0>, PMD<7:0>, PMD<15:8>

PMA<7:0>,PMA<15:8>,PMD<7:0>,PMD<15:8>

PMA<7:0>,PMA<14:8>,PMD<7:0>,PMD<15:8>

PMA<7:0>,PMA<13:8>,PMD<7:0>,PMD<15:8>

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-21

Page 22: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

28.4.4.2 割り込み

マスタモードで PMP モジュール割り込みを有効にすると、モジュールは読み / 書きサイクルが完了するたびに割り込みを生成します。割り込みを有効にしなくても、BUSY ビットを使ってモジュールのステータスを検出する事ができます。

28.4.5 マスタモードのタイミング

一般的な各種マスタモード コンフィグレーションのタイミング例をこの後に記載します。これらのオプションでは、8 ビット /16 ビットデータモード、非多重化 / 半多重化 / 全多重化アドレッシング、ウェイトステートの設定が異なります。

図 28-13: 読み書きタイミング (8 ビットデータ、非多重化アドレス )

図 28-14: 読み出しタイミング (8 ビットデータ、半多重化アドレス )

PMCS2

PMWR

PMRD

PMPIF

PMD<7:0>

PMCS1

PMA<13:0>

BUSY

Data Data

AddressAddress

SystemClock

PMCS2

PMWR

PMRD

PMALL

PMD<7:0>

PMCS1

PMA<13:8>

PMPIF

BUSY

Address<7:0> Data

Address<13:8> Address<13:8>

SystemClock

DS70576B_JP -p. 28-22 Preliminary © 2013 Microchip Technology Inc.

Page 23: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

図 28-15: 読み出しタイミング (8 ビットデータ、半多重化アドレス、ウェイトステート有効 )

図 28-16: 書き込みタイミング (8 ビットデータ、半多重化アドレス )

図 28-17: 書き込みタイミング (8 ビットデータ、半多重化アドレス、ウェイトステート有効 )

PMCS2

PMRD

PMWR

PMALL

PMD<7:0>

PMCS1

PMA<13:8>

PMPIF

BUSY

Address<7:0>

WAITE<1:0> = 00

WAITB<1:0> = 01WAITM<3:0> = 0010

1/4 TCY 1/4 TCY

Address<13:8>

Data

WAITB<1:0> = 01

SystemClock

PMCS2

PMWR

PMRD

PMALL

PMD<7:0>

PMCS1

PMA<13:8>

PMPIF

Data

BUSY

Address<7:0>

Address<13:8>

SystemClock

PMCS2

PMRD

PMWR

PMALL

PMD<7:0>

PMCS1

PMA<13:8>

PMPIF

BUSY

DataAddress<7:0>

WAITE<1:0> = 00

WAITB<1:0> = 01 WAITM<3:0> = 0010

1/4 TCY 1/4 TCY

Address<13:8>

WAITB<1:0> = 01

SystemClock

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-23

Page 24: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

図 28-18: 読み出しタイミング (8 ビットデータ、半多重化アドレス、イネーブル ストローブ )

図 28-19: 書き込みタイミング (8 ビットデータ、半多重化アドレス、イネーブル ストローブ )

図 28-20: 読み出しタイミング (8 ビットデータ、全多重化 16 ビットアドレス )

PMCS2

PMRD/PMWR

PMENB

PMALL

PMD<7:0>

PMCS1

PMA<13:8>

PMPIF

BUSY

Address<7:0> Data

Address<13:8>

SystemClock

PMCS2

PMRD/PMWR

PMENB

PMALL

PMD<7:0>

PMCS1

PMA<13:8>

PMPIF

Data

BUSY

Address<7:0>

Address<13:8>

SystemClock

PMCS2

PMWR

PMRD

PMALL

PMD<7:0>

PMCS1

PMALH

Data

PMPIF

BUSY

Address<7:0> Address<13:8>

SystemClock

DS70576B_JP -p. 28-24 Preliminary © 2013 Microchip Technology Inc.

Page 25: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

図 28-21: 書き込みタイミング (8 ビットデータ、全多重化 16 ビットアドレス )

図 28-22: 読み出しタイミング (16 ビットデータ、非多重化アドレス )

図 28-23: 書き込みタイミング (16 ビットデータ、非多重化アドレス )

PMCS2

PMWR

PMRD

PMALL

PMD<7:0>

PMCS1

PMALH

Data

PMPIF

BUSY

Address<7:0> Address<13:8>

SystemClock

PMCS2

PMWR

PMRD

PMD<7:0>

PMCS1

PMA<13:0>

PMPIF

PMBE

BUSY

MSbLSB

Address<13:0>

SystemClock

PMCS2

PMWR

PMRD

PMD<7:0>

PMCS1

PMA<13:0>

PMPIF

LSB MSb

PMBE

BUSY

Address<13:0>

SystemClock

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-25

Page 26: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

図 28-24: 読み出しタイミング (16 ビット多重化データ、半多重化アドレス )

図 28-25: 書き込みタイミング (16 ビット多重化データ、半多重化アドレス )

図 28-26: 読み出しタイミング (16 ビット多重化データ、全多重化 16 ビットアドレス )

PMCS2

PMWR

PMRD

PMALL

PMD<7:0>

PMCS1

PMA<13:8>

PMPIF

PMBE

BUSY

Address<7:0> LSB MSb

Address<13:8>

SystemClock

PMCS2

PMWR

PMRD

PMALL

PMD<7:0>

PMCS1

PMA<13:8>

PMPIF

LSB MSb

PMBE

BUSY

Address<7:0>

Address<13:8>

SystemClock

PMCS2

PMWR

PMRD

PMBE

PMD<7:0>

PMCS1

PMALL

PMPIF

PMALH

BUSY

Address<7:0> Address<13:8> LSB MSb

SystemClock

DS70576B_JP -p. 28-26 Preliminary © 2013 Microchip Technology Inc.

Page 27: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

図 28-27: 書き込みタイミング (16 ビット多重化データ、全多重化 16 ビットアドレス )

28.5 ダイレクト メモリアクセス (DMA) のサポート

PMP モジュールをマスタモードに設定した場合、DMA は PMDIN1 レジスタ (DMAxPAD =0x0608) に対して読み / 書きします。DMA を使う場合の手順は下記の通りです。

• DMAxREQ ビット (IRQSEL<6:0>) を「0101101」に設定する。

• PMP モジュールをマスタとして設定する (MODE<1:0> = 11 または 10)。

• バイト読み / 書きのたびに PMP 割り込みを生成する (IRQM<1:0> = 01)

28.6 アプリケーション例

以下では PMP モジュールのアプリケーション例を紹介します。

28.6.1 メモリまたは周辺モジュールを多重化する例

図 28-28 に、全多重化モードにおけるメモリまたは他のアドレス可能周辺モジュールとの接続図を示します。このモードでは、デバイス側から見た場合にピンを最も節約できます。しかしこのコンフィグレーションでは、アドレスを保持するために何らかの外部ラッチが必要です。

図 28-28: 多重化アドレッシング モードの例

PMCS2

PMWR

PMRD

PMBE

PMD<7:0>

PMCS1

PMALL

PMALH

MSbLSB

PMPIF

BUSY

Address<7:0> Address<13:8>

SystemClock

PMD<7:0>

PMALH

D<7:0>

373 A<14:0>

D<7:0>

A<7:0>

373

PMRD

PMWR

OE WR

CE

dsPIC33E/PIC24E

Address Bus

Data Bus

Control Lines

PMCS2

PMALL

A<14:8>

PMCON = 10x1001101100000PMMODE = 00xxx010xxxxxxxxPMAEN = 1000000000000011

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-27

Page 28: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

28.6.2 メモリまたは周辺モジュールを半多重化する例

半多重化は全多重化よりも多くのピンを使います。必要なピンは数本増えますが性能は向上します。図 28-29 に、外部ラッチを使って半多重化したメモリまたは周辺モジュールの例を示します。周辺モジュールが内部ラッチを備えていれば、その周辺モジュールを接続するための回路以外に回路を追加する必要はありません ( 図 28-30 参照 )。

図 28-29: 半多重化アドレッシング モードの例

図 28-30: 8 ビット非多重化アドレス / データによるパラレル周辺モジュールの例

28.6.3 パラレル フラッシュ /EEPROM の例

図 28-31 に、パラレル フラッシュ /EEPROM と PMP 間の接続例を示します。図 28-32 に、1 バイトのアドレス可能フラッシュ /EEPROM からの 16 ビットデータ用接続オプション例を示します。図 28-33 も 16 ビットデバイスとの接続例ですが、バイトセレクト ロジックを使っていません。

図 28-31: パラレル フラッシュ /EEPROM の接続例 ( 最大 15 ビットアドレス )、8 ビットデータ

PMA<14:7>

D<7:0>

373 A<14:0>

D<7:0>

A<7:0>

PMRD

PMWR

OE WR

CE

dsPIC33E/PIC24E

Address Bus

Data Bus

Control Lines

PMCS2

PMALL

A<14:8>

PMD<7:0>

PMCON = 10x0101101100000PMMODE = 00xxx010xxxxxxxxPMAEN = 1111111100000001

ALE

PMRD

PMWR

RD

WR

CS

dsPIC33E/PIC24E

Address Bus

Data Bus

Control Lines

PMCS2

PMALL

AD<7:0>

Parallel Peripheral PMCON = 10x0101101100000PMMODE = 00xxx010xxxxxxxxPMAEN = 1000000000000001PMD<7:0>

PMA<14:0> A<14:0>

PMA<n:0> A<n:0>

D<7:0>

PMRD

PMWR

OE

WR

CE

dsPIC33E/PIC24E

Address Bus

Data Bus

Control Lines

PMCS2

PMD<7:0>

Parallel 8-bit Device

PMCON = 10x0001101000000PMMODE = 00xxx010xxxxxxxxPMAEN = 1111111111111111

DS70576B_JP -p. 28-28 Preliminary © 2013 Microchip Technology Inc.

Page 29: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

図 28-32: パラレル フラッシュ /EEPROMの接続例 (最大15ビットアドレス )、16ビットデータ (バイトセレクト モード )

図 28-33: パラレル フラッシュ /EEPROM の接続例 ( 最大 15 ビットアドレス )、16 ビットデータ ( 非多重化モード )

28.6.4 LCD コントローラの例

図 28-34 に示すように、PMP モジュールは一般的な LCD コントローラ インターフェイスへの接続用に設定できます。一般的な LCD はアクティブ HIGH 制御を要求するため、PMP モジュールもアクティブ HIGH 制御信号向けに設定します。

図 28-34: バイトモード LCD 制御の例

PMA<n:0> A<n+1:1>

D<7:0>

PMRD

PMWR

OE

WR

CE

dsPIC33E/PIC24E

Address Bus

Data Bus

Control Lines

PMCS2

PMD<7:0>

Parallel 16-bit Device

PMBE A0

PMCON = 10x0011101000100PMMODE = 00xxx110xxxxxxxxPMAEN = 1111111111111111

BYTE/WORD

VDD

PMA<n:0> A<n:0>

D<7:0>

PMRD

PMWR

RD

WR

CS

dsPIC33E/PIC24E

Address Bus

Data Bus

Control Lines

PMCS2

PMD<7:0>

Parallel 16-bit Device

PMBE

PMCON = 10x0011101000100PMMODE = 00xxx110xxxxxxxxPMAEN = 1111111111111111

D<15:8>

74HC245

74HC245

PMRD/WR

D<7:0>

dsPIC33E/PIC24E

Address Bus

Data Bus

Control Lines

PMA0

R/W

RS

E

LCD Controller

PMENB

PMCON = 10x0001100000011PMMODE = 00x00011xxxxxxxxPMAEN = 0000000000000001

PMD<7:0>

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-29

Page 30: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

28.7 省電力モード時の動作

dsPIC33E/PIC24E ファミリのデバイスは、通常動作 ( フルパワー ) モード以外に、PWRSAV命令で呼び出す 2 種類の省電力モード ( スリープとアイドル ) を備えます。選択したモードによっては、省電力モードへの移行がモジュールの動作にも影響する場合があります。

28.7.1 スリープモード

デバイスがスリープに移行するとシステムクロックは停止します。スリープの影響は、スリープへの移行時に PMP モジュールが設定されていた動作モードによって異なります。

28.7.1.1 マスタモード動作

モジュールがマスタモードで動作している時にデバイスがスリープに移行すると、PMP 動作はクロック動作が再開するまで現在の状態で保留されます。これによって予期せぬ制御ピンタイミングが生じる可能性があるため、モジュールの連続使用が必要な場合はスリープへの移行を回避する必要があります。

28.7.1.2 スレーブモード動作

モジュールが非アクティブ状態であっても、そのモジュールでいずれかのスレーブモード動作が有効になっていれば、スリープ中に発生する読み / 書き動作はデバイスのクロックを使わずに実行可能です。読み / 書き動作が完了すると、モジュールは IRQMx ビットの設定に従って割り込みを生成します。この割り込みによってデバイスをスリープから復帰させる事ができます。

28.7.2 アイドルモード

デバイスがアイドルモードに移行しても、システムクロック源は機能し続けます。アイドル中にモジュールの機能を停止するかどうかは、PSIDL ビット (PMCON<13>) で選択します。PSIDL = 1の場合、モジュールのアイドル中の挙動はスリープ中と同じです(スレーブモードではモジュールクロック停止中にスレーブ受信可能 / マスタモードではサスペンドされる )。

PSIDL = 0 ( 既定値 ) の場合、モジュールはアイドル中も動作を続けます。マスタおよびスレーブのどちらのモードであっても、モジュールは現在のトランザクションを完了し、割り込みを生成します。

DS70576B_JP -p. 28-30 Preliminary © 2013 Microchip Technology Inc.

Page 31: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

© 2013

Microchip T

echnology Inc.P

relimin

ary

DS

70576B_JP

-p. 28-31

セク

ショ

ン28. パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

レ Bit 3 Bit 2 Bit 1 Bit 0 全

リセット

PM CS1P BEP WRSP RDSP 0000PM :0> WAITE<1:0> 0000PM 0000PM TEN3 PTEN2 PTEN1 PTEN0 0000PM OB3E OB2E OB1E OB0E 008FhPM 0000PM 0000PM 0000PM 0000PA — — RTSECSEL PMPTTL 0000PM U3MD I2C3MD I2C2MD ADC2MD 0000凡

No

パラレル マスタポート(PMP) 28

.8 レジスタマップ

PMP モジュールに関連するレジスタのまとめを表 28-4 に示します。

28-4: パラレルマスタ / スレーブ ポート関連のレジスタマップ (1)

ジスタ名 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 PMPEN — PSIDL ADRMUX<1:0> PTBEEN PTWREN PTRDEN CSF<1:0> ALP CS2P

MODE BUSY IRQM<1:0> INCM<1:0> MODE16 MODE<1:0> WAITB<1:0> WAITM<3

ADDR(2) CS2 CS1 パラレルポート アドレス (ADDR<13:0>)

AEN PTEN15 PTEN14 PTEN13 PTEN12 PTEN11 PTEN10 PTEN9 PTEN8 PTEN7 PTEN6 PTEN5 PTEN4 P

STAT IBF IBOV — — IB3F IB2F IB1F IB0F OBE OBUF — —

DIN1 パラレルポート データ入力レジスタ 1( バッファレベル 0 および 1)

DIN2 パラレルポート データ入力レジスタ 2( バッファレベル 2 および 3)

DOUT1(2)パラレルポート データ出力レジスタ 1( バッファレベル 0 および 1)

DOUT2 パラレルポート データ出力レジスタ 2( バッファレベル 2 および 3)

DCFG1 — — — — — — — — — — — —

D3 T9MD T8MD T7MD T6MD — CMPMD RTCCMD PMPMD CRCMD — QEI2MD —

例 : — = 未実装、「0」として読み出し、網掛けしたビットは、PMP モジュールの動作には使いません。

te 1: 各制御レジスタ マップの詳細はデバイスのデータシートを参照してください。

2: PMADDR と PMDOUT1 は同一の物理レジスタですが、モジュールの動作モードによって定義が異なります。

Page 32: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

28.9 関連アプリケーション ノート

本セクションに関連するアプリケーション ノートの一覧を下に記載します。一部のアプリケーション ノートは dsPIC33E/PIC24E デバイスファミリ向けではありません。ただし概念は共通しており、変更が必要であったり制限事項が存在するものの利用が可能です。パラレル マスタポート (PMP) モジュールに関連する最新のアプリケーション ノートは以下の通りです。

タイトル アプリケーション ノート番号

現在、関連するアプリケーション ノートはありません。

Note: dsPIC33E/PIC24E デバイス ファミリ関連のアプリケーション ノートとサンプルコードはマイクロチップ社のウェブサイト (www.microchip.com)でご覧になれます。

DS70576B_JP -p. 28-32 Preliminary © 2013 Microchip Technology Inc.

Page 33: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

セクション 28. パラレル マスタポート (PMP)パ

ラレ

ル マ

スタ

ポー

ト(P

MP

)

28

28.10 改訂履歴

リビジョン A (2009 年 1 月 )

本書の初版

リビジョン B (2010 年 11 月 )

このリビジョンでの変更内容は以下の通りです。

• 本書の内容を補完する関連文書について記載した注釈ボックスを追加 (28.1「はじめに」参照 )

• ピン コンフィグレーション制御レジスタ ( レジスタ 28-6) の bit 15-8 を削除

• 表現および体裁の変更等、本書全体の細部を修正

© 2013 Microchip Technology Inc. Preliminary DS70576B_JP -p. 28-33

Page 34: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

dsPIC33E/PIC24E ファミリ リファレンス マニュアル

NOTE:

DS70576B_JP -p. 28-34 Preliminary © 2013 Microchip Technology Inc.

Page 35: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

© 2013 Microchip Technology Inc. DS70576B_JP -p. 28-35

本書に記載されているデバイス アプリケーション等に関する

情報は、ユーザの便宜のためにのみ提供されているものであ

り、更新によって無効とされる事があります。お客様のアプ

リケーションが仕様を満たす事を保証する責任は、お客様に

あります。マイクロチップ社は、明示的、暗黙的、書面、口

頭、法定のいずれであるかを問わず、本書に記載されている

情報に関して、状態、品質、性能、商品性、特定目的への適

合性をはじめとする、いかなる類の表明も保証も行いません。

マイクロチップ社は、本書の情報およびその使用に起因する

一切の責任を否認します。マイクロチップ社の明示的な書面

による承認なしに、生命維持装置あるいは生命安全用途にマ

イクロチップ社の製品を使用する事は全て購入者のリスクと

し、また購入者はこれによって発生したあらゆる損害、クレー

ム、訴訟、費用に関して、マイクロチップ社は擁護され、免

責され、損害をうけない事に同意するものとします。暗黙的

あるいは明示的を問わず、マイクロチップ社が知的財産権を

保有しているライセンスは一切譲渡されません。

商標

マイクロチップ社の名称とMicrochipロゴ、dsPIC、FlashFlex、KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、PIC32 ロゴ、rfPIC、SST、SST ロゴ、SuperFlash、UNI/O は、

米国およびその他の国におけるマイクロチップ・テクノロ

ジー社の登録商標です。

FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、MTP、SEEVAL、Embedded Control Solutions Company は、

米国におけるマイクロチップ・テクノロジー社の登録商標で

す。

Silicon Storage Technology は、その他の国におけるマイクロ

チップ・テクノロジー社の登録商標です。

Analog-for-the-Digital Age、Application Maestro、BodyCom、

chipKIT、chipKIT ロゴ、CodeGuard、dsPICDEM、

dsP ICD EM. ne t、d s P IC wo rk s、dsSPE AK、E CAN、

ECONOMONITOR、FanSense、HI-TIDE、In-Circuit SerialProgramming、ICSP、Mindi、MiWi、MPASM、MPF、MPLAB認証ロゴ、MPLIB、MPLINK、mTouch、Omniscient CodeGeneration、PICC、PICC-18、PICDEM、PICDEM.net、PICkit、PICtail、REAL ICE、rfLAB、Select Mode、SQI、Serial QuadI/O、Total Endurance、TSHARC、UniWinDriver、WiperLock、ZENA、Z-Scale は、米国およびその他の国におけるマイクロ

チップ・テクノロジー社の登録商標です。

SQTP は、米国におけるマイクロチップ・テクノロジー社の

サービスマークです。

GestICとULPPは、その他の国におけるMicrochip TechnologyGermany II GmbH & Co. & KG ( マイクロチップ・テクノロ

ジー社の子会社 ) の登録商標です。

その他、本書に記載されている商標は各社に帰属します。

©2012, Microchip Technology Incorporated, Printed in theU.S.A., All Rights Reserved.

ISBN: 978-1-62076-579-1

マイクロチップ社製デバイスのコード保護機能に関して次の点にご注意ください。

• マイクロチップ社製品は、該当するマイクロチップ社データシートに記載の仕様を満たしています。

• マイクロチップ社では、通常の条件ならびに仕様に従って使用した場合、マイクロチップ社製品のセキュリティ レベルは、現

在市場に流通している同種製品の中でも最も高度であると考えています。

• しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。弊社の理解ではこうした手法は、

マイクロチップ社データシートにある動作仕様書以外の方法でマイクロチップ社製品を使用する事になります。このような行

為は知的所有権の侵害に該当する可能性が非常に高いと言えます。

• マイクロチップ社は、コードの保全性に懸念を抱くお客様と連携し、対応策に取り組んでいきます。

• マイクロチップ社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コー

ド保護機能とは、マイクロチップ社が製品を「解読不能」として保証するものではありません。

コード保護機能は常に進歩しています。マイクロチップ社では、常に製品のコード保護機能の改善に取り組んでいます。マイクロ

チップ社のコード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはそ

の他の著作物に不正なアクセスを受けた場合は、デジタル ミレニアム著作権法の定めるところにより損害賠償訴訟を起こす権利が

マイクロチップ社では、Chandler および Tempe ( アリゾナ州 )、Gresham ( オレゴン州 ) の本部、設計部およびウェハー製造工場そしてカリフォルニア州とインドのデザインセンターが ISO/TS-16949:2009 認証を取得しています。マイクロチップ社の品質システム プロセスおよび手順は、PIC® MCU および dsPIC® DSC、KEELOQ®コード ホッピング デバイス、シリアル EEPROM、マイクロペリフェラル、不揮発性メモリ、アナログ製品に採用されています。さらに、開発システムの設計と製造に関するマイクロチップ社の品質システムは ISO 9001:2000 認証を取得しています。

QUALITY MANAGEMENT  SYSTEM CERTIFIED BY DNV 

== ISO/TS 16949 ==

Page 36: セクション 28. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70576B_JP.pdfPMP モジュールの動作の制御には以下のレジスタを使います。•

DS70576B_JP -p. 28-36 © 2013 Microchip Technology Inc.

北米本社2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel:480-792-7200 Fax:480-792-7277技術サポート : http://www.microchip.com/supportURL: www.microchip.com

アトランタDuluth, GA Tel:678-957-9614 Fax:678-957-1455

ボストンWestborough, MA Tel:774-760-0087 Fax:774-760-0088

シカゴItasca, IL Tel:630-285-0071 Fax:630-285-0075

クリーブランドIndependence, OH Tel:216-447-0464

Fax:216-447-0643

ダラスAddison, TX Tel:972-818-7423 Fax:972-818-2924

デトロイトFarmington Hills, MI Tel:248-538-2250Fax:248-538-2260

インディアナポリスNoblesville, IN Tel:317-773-8323Fax:317-773-5453

ロサンゼルスMission Viejo, CA Tel:949-462-9523 Fax:949-462-9608

サンタクララSanta Clara, CA Tel:408-961-6444Fax:408-961-6445

トロントMississauga, Ontario, CanadaTel:905-673-0699 Fax:905-673-6509

アジア / 太平洋

アジア太平洋支社Suites 3707-14, 37th FloorTower 6, The GatewayHarbour City, KowloonHong KongTel:852-2401-1200Fax:852-2401-3431

オーストラリア - シドニーTel:61-2-9868-6733Fax:61-2-9868-6755

中国 - 北京Tel:86-10-8569-7000 Fax:86-10-8528-2104

中国 - 成都Tel:86-28-8665-5511Fax:86-28-8665-7889

中国 - 重慶Tel:86-23-8980-9588Fax:86-23-8980-9500

中国 - 杭州Tel:86-571-2819-3187 Fax:86-571-2819-3189

中国 - 香港 SARTel:852-2943-5100 Fax:852-2401-3431

中国 - 南京Tel:86-25-8473-2460Fax:86-25-8473-2470

中国 - 青島Tel:86-532-8502-7355Fax:86-532-8502-7205

中国 - 上海Tel:86-21-5407-5533 Fax:86-21-5407-5066

中国 - 瀋陽Tel:86-24-2334-2829Fax:86-24-2334-2393

中国 - 深圳Tel:86-755-8864-2200 Fax:86-755-8203-1760

中国 - 武漢Tel:86-27-5980-5300Fax:86-27-5980-5118

中国 - 西安Tel:86-29-8833-7252Fax:86-29-8833-7256

中国 - 厦門Tel:86-592-2388138 Fax:86-592-2388130

中国 - 珠海Tel:86-756-3210040 Fax:86-756-3210049

アジア / 太平洋

インド - バンガロールTel:91-80-3090-4444 Fax:91-80-3090-4123

インド - ニューデリーTel:91-11-4160-8631Fax:91-11-4160-8632

インド - プネTel:91-20-2566-1512Fax:91-20-2566-1513

日本 - 大阪Tel:81-6-6152-7160 Fax:81-6-6152-9310

日本 - 東京Tel:81-3-6880- 3770 Fax:81-3-6880-3771

韓国 - 大邱Tel:82-53-744-4301Fax:82-53-744-4302

韓国 - ソウルTel:82-2-554-7200Fax:82-2-558-5932 または 82-2-558-5934

マレーシア - クアラルンプールTel:60-3-6201-9857Fax:60-3-6201-9859

マレーシア - ペナンTel:60-4-227-8870Fax:60-4-227-4068

フィリピン - マニラTel:63-2-634-9065Fax:63-2-634-9069

シンガポールTel:65-6334-8870Fax:65-6334-8850

台湾 - 新竹Tel:886-3-5778-366Fax:886-3-5770-955

台湾 - 高雄Tel:886-7-213-7828Fax:886-7-330-9305

台湾 - 台北Tel:886-2-2508-8600 Fax:886-2-2508-0102

タイ - バンコクTel:66-2-694-1351Fax:66-2-694-1350

ヨーロッパ

オーストリア - ヴェルスTel:43-7242-2244-39

Fax:43-7242-2244-393

デンマーク - コペンハーゲンTel:45-4450-2828 Fax:45-4485-2829

フランス - パリTel:33-1-69-53-63-20 Fax:33-1-69-30-90-79

ドイツ - ミュンヘンTel:49-89-627-144-0 Fax:49-89-627-144-44

イタリア - ミラノ Tel:39-0331-742611 Fax:39-0331-466781

オランダ - ドリューネンTel:31-416-690399 Fax:31-416-690340

スペイン - マドリッドTel:34-91-708-08-90Fax:34-91-708-08-91

イギリス - ウォーキンガムTel:44-118-921-5869Fax:44-118-921-5820

各国の営業所とサービス

11/29/12