36
© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-1 パラレル マスタ ポート (PMP) 35 セクション 35. パラレル マスタポート (PMP) ハイライト 本セクションには以下の主要項目を記載しています。 35.1 はじめに ...................................................................................................................... 35-2 35.2 モジュールのレジスタ ................................................................................................ 35-4 35.3 スレーブポート モード ............................................................................................. 35-14 35.4 マスタポート モード ................................................................................................. 35-19 35.5 ダイレクト メモリアクセス (DMA) のサポート ........................................................ 35-28 35.6 アプリケーション例 .................................................................................................. 35-28 35.7 省電力モード時の動作 .............................................................................................. 35-30 35.8 レジスタマップ ......................................................................................................... 35-31 35.9 関連アプリケーション ノート .................................................................................. 35-32 35.10 改訂履歴 .................................................................................................................... 35-33 注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ ナルの英語版をご参照願います。

セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

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

パラレル

マスタ

ポート

(PMP)

35

ハイライト

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

35.1 はじめに ...................................................................................................................... 35-235.2 モジュールのレジスタ ................................................................................................ 35-435.3 スレーブポート モード ............................................................................................. 35-1435.4 マスタポート モード ................................................................................................. 35-1935.5 ダイレクト メモリアクセス (DMA) のサポート ........................................................ 35-2835.6 アプリケーション例 .................................................................................................. 35-2835.7 省電力モード時の動作 .............................................................................................. 35-3035.8 レジスタマップ ......................................................................................................... 35-3135.9 関連アプリケーション ノート .................................................................................. 35-3235.10 改訂履歴 .................................................................................................................... 35-33

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-1

Page 2: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

35.1 はじめに

パラレル マスタポート (PMP) は周辺通信機能、LCD、外部メモリデバイス、マイクロコントローラ等、各種パラレルデバイスとの通信用に設計されたパラレル 8 ビット I/O モジュールです。パラレル周辺モジュールへのインターフェイスには極めて多くの種類が存在するため、本PMP モジュールでは非常に柔軟な設定が可能となっています。

PMP モジュールの主な特長

• 8 x データライン

• 最大 12 x プログラマブル アドレスライン

• 1 x チップセレクト ライン

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

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

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

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

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

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

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

- アドレスサポート

- 4 段のバイト幅自動インクリメント バッファ

• プログラマブルな待機ステート

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

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

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

DS70299C_JP - p. 35-2 © 2010 Microchip Technology Inc.

Page 3: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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

PMA<0>

PMA<14>

PMBE

PMRD

PMWR

PMD<7:0>

PMENB

PMRD/PMWR

PMCS1

PMA<1>

PMA<10:2>

PMALL

PMALH

PMA<7:0>PMA<10:8>

EEPROM

Address BusData BusControl Lines

dsPIC33F/PIC24H

LCD FIFOMicrocontroller

8-bit Data (with or without multiplexed addressing)

Up to 12-bit Address

Parallel Master Port

Buffer

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-3

Page 4: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

35.2 モジュールのレジスタ

PMP モジュールは下記の特殊機能レジスタ (SFR) を使用します。

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

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

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

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

パラレル マスタポート モードレジスタは、モジュールの動作モードを制御するためのビットを格納します。このレジスタでは、マスタ / スレーブモードを選択し、それらのモードのオプションを設定します。このレジスタは、マスタモードで使用する汎用ステータスフラグ (BUSY) も格納します。BUSY フラグはモジュールが動作中である事を示します。

PMP 動作の設定における PMMODE ビットの詳細な使用方法は、35.3「スレーブポートモード」と 35.4「マスタポート モード」に記載しています。

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

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

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

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

パラレル マスタポート アドレス イネーブル レジスタは、アドレス操作の制御と、このモジュールに関連するチップセレクト ピンの制御に使用します。これらのビットをセットする事により、対応するマイクロコントローラ ピンを PMP モジュールに割り当てます。ビットをクリアすると、これらのピンの割り当ては既定値のポート I/Oまたは他の周辺モジュールへ戻されます。

• PMSTAT: パラレル マスタポート ステータス レジスタ ( スレーブモード専用 )パラレル マスタポート ステータス レジスタは、ポートがスレーブポートとして動作している時のバッファ付き動作モードに関連するステータスビットを格納します。これにはオーバーフロー、アンダーフロー、バッファフル フラグビットが含まれます。フラグビットの詳細は 35.3.2「バッファ付きパラレル スレーブポート モード」を参照してください。

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

• PMDOUT2: パラレル マスタポート データ出力 2 レジスタ ( スレーブモード専用 )パラレル マスタポート データ出力 2 レジスタは、バッファ付き出力データ用としてスレーブモード時にのみ使用します。使用方法は PMDOUT1 と同じです。

DS70299C_JP - p. 35-4 © 2010 Microchip Technology Inc.

Page 5: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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

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

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

マスタモードでは、PMDIN1 は入力データと出力データの両方を保持します。マスタモードにおけるこのレジスタの動作については、35.4.2「読み出し動作」と 35.4.3「書き込み動作」に記載しています。

• PMDIN2: パラレル マスタポート データ入力 2 レジスタ ( バッファ付きスレーブモード専用 )PMDIN2 は、バッファ付きスレーブモード時にのみ入力データ用に使用します。バッファ付きスレーブモードにおける PMDIN2 の動作は、PMDIN1 と基本的に同じです。

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

PMP 専用のレジスタ以外に、PADCFG1 レジスタも PMP モジュールの設定に影響します。ユーザ アプリケーションは、PMPTTL ビット (PADCFG1<0>) を使用して、デジタル入力バッファに TTL またはシュミットトリガ (ST) のいずれかを選択できます。これにより外部回路との互換性が向上します。TTL 入力バッファを選択する場合、PMPTTL ビットをセットします。既定値設定はシュミットトリガ (ST) バッファです。

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-5

Page 6: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

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

R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0PMPEN — PSIDL ADRMUX<1:0> PTBEEN PTWREN PTRDEN

bit 15 bit 8

R/W-0 R/W-0 R/W-0(1) U-0 R/W-0(1) R/W-0 R/W-0 R/W-0CSF<1:0> ALP — CS1P 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<10: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 はチップセレクトとして機能する0x = PMCS1 はアドレス bit 14 として機能する

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

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

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

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

1 = アクティブ HIGH 0 = アクティブ LOW

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

1 = バイトイネーブルはアクティブ HIGH (PMBE)0 = バイトイネーブルはアクティブ LOW (PMBE)

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

DS70299C_JP - p. 35-6 © 2010 Microchip Technology Inc.

Page 7: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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)

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

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

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-7

Page 8: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

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

R-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0BUSY 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-0WAITB<1:0>(1) WAITM<3:0> WAITE<1:0>(1)

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 = 読み出しバッファ3 の読み出し時または書き込みバッファ3 の書き込み時に割り込みを生成する

( バッファ付き PSP モード )、または PMA<1:0> = 11 の時の読み込みまたは書き込み動作時に割り込みを生成する ( アドレス可能 PSP モードのみ )

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

bit 12-11 INCM<1:0>: インクリメント モードビット 11 = PSP 読み込みおよび書き込みバッファを自動インクリメントする ( レガシー PSP モード専用 )10 = 毎回の読み書きサイクルで ADDR<15,13:0> を 1 つデクリメントする01 = 毎回の読み書きサイクルで ADDR<15,13:0> を 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)

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 に固定する )

Note 1: WAITM<3:0> = 0000 の場合、WAITBx ビットと WAITEx ビットは無視されます。

2: WAITB<1:0>ビットでアドレスラッチ信号の期間を指定する場合、WAITM<3:0>およびWAITE<1:0>ビットは無視されます。

DS70299C_JP - p. 35-8 © 2010 Microchip Technology Inc.

Page 9: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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

11 = 4 TCY の待機10 = 3 TCY の待機01 = 2 TCY の待機00 = 1 TCY の待機

レジスタ 35-2: PMMODE: パラレル マスタポート モードレジスタ ( 続き )

Note 1: WAITM<3:0> = 0000 の場合、WAITBx ビットと WAITEx ビットは無視されます。

2: WAITB<1:0>ビットでアドレスラッチ信号の期間を指定する場合、WAITM<3:0>およびWAITE<1:0>ビットは無視されます。

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-9

Page 10: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

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

U-0 R/W-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0— CS1(2) — — — ADDR<10: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-0ADDR<7:0>

bit 7 bit 0

凡例 :

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

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

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

bit 14 CS1: チップセレクト 1 ビット (2) 1 = チップセレクト 1 はアクティブ0 = チップセレクト 1 は非アクティブ

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

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

Note 1: 拡張スレーブモードでは、PMADDR は PMDOUT1 として機能します (2 つのデータバッファ レジスタの 1 つとして機能 )。詳細は 35.2「モジュールのレジスタ」を参照してください。

2: CSF<1:0> = 0x の場合、CS1 ビットは ADDR<14> として機能します。

DS70299C_JP - p. 35-10 © 2010 Microchip Technology Inc.

Page 11: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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

U-0 R/W-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0— PTEN — — — PTEN<10: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-0PTEN<7:0>

bit 7 bit 0

凡例 :

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

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

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

bit 14 PTEN<14>: PMCS1 ストローブ イネーブルビット

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

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

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

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

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

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

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-11

Page 12: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

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

R-0 R/W-0 HS U-0 U-0 R-0 R-0 R-0 R-0IBF 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-1OBE 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 IBnF: 入力バッファ n フル ステータスビット 1 = 入力バッファに未読データが存在する ( このビットはバッファ読み出し時にクリアされます )0 = 入力バッファに未読データは存在しない

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

bit 6 OBUF: 出力バッファ アンダーフロー ステータスビット 1 = エンプティ状態の出力バイトレジスタからの読み出しが発生した ( このビットはソフトウェアで

クリアする必要があります )0 = アンダーフローは発生していない

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

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

DS70299C_JP - p. 35-12 © 2010 Microchip Technology Inc.

Page 13: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

レジスタ 35-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(1) PMPTTLbit 7 bit 0

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

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

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

bit 1 RTSECSEL: RTCC 秒周期クロック出力選択ビット (1) 1 = RTCC 第 2 クロックを RTCC ピン用に選択する0 = RTCC アラームパルスを RTCC ピン用に選択する

bit 0 PMPTTL: PMP モジュール TTL 入力バッファ選択ビット 1 = PMP モジュールは TTL 入力バッファを使用する0 = PMP モジュールはシュミットトリガ入力バッファを使用する

Note 1: RTCC 出力を有効化するには、RTCOE (RCFGCAL<10>) ビットをセットする必要があります。詳細はセクション 37.「リアルタイム クロック / カレンダ (RTCC)」(DS70301) を参照してください。

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-13

Page 14: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

35.3 スレーブポート モード

スレーブポート モードでは、PMP モジュールは 8 ビット データバスと、スレーブパラレル デバイスとして動作するために必要な全ての制御信号を提供します。レガシーの「バッファ付きアドレス可能」モードでの動作向けにモジュールを設定する事もできます。スレーブポートモードでは、下記のオプションを使用してインターフェイスを柔軟に設定できます。

• 8 ビット データバス

• 2 x アドレスライン ( アドレス可能モード専用 )• 3 x 制御ライン ( 読み出し、書き込み、チップセレクト )• 全ての制御ラインの極性選択

PMP をスレーブとして使用するには、モジュールを有効化し (PMPEN = 1)、モードをいずれかのスレーブモード (PMMODE<9:8> = 01 または 00) に設定する必要があります。

35.3.1 レガシーモード

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

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

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

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

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

Note: PMCS1は全てのスレーブポート モードでチップセレクト入力として使用されます。

PMD<7:0>

PMRD

PMWR

Master

Data BusControl Lines

PMCSx

PMD<7:0>

PMRD

PMWR

dsPIC33F/PIC24H Slave

PMCS1

DS70299C_JP - p. 35-14 © 2010 Microchip Technology Inc.

Page 15: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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

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

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

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

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

35.3.1.3 割り込み動作

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

PMCS1

PMWR

PMRD

IBF

OBE

PMPIF

PMD<7:0>

SystemClock

PMCS1

PMWR

IBF

PMPIF

PMRD

OBE

PMD<7:0>

SystemClock

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-15

Page 16: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

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

バッファ付きパラレル スレーブポート モードは、レガシーのパラレル スレーブポート モードと機能的に同じですが、4 段の読み出しおよび書き込みバッファを使用するという点で異なります。バッファ付き PSP モードを有効化するには、INCM<1:0> ビット (PMMODE<12:11>) を「11」に設定する必要があります。 バッファ付きモードがアクティブな場合、モジュールは PMDIN1 および PMDIN2 レジスタを書き込みバッファとして使用し、PMDOUT1 および PMDOUT2 レジスタを読み出しバッファとして使用します。各レジスタは 2 つの 1 バイト バッファレジスタに分割され、読み出しと書き込み用にそれぞれ 4 段のバイト幅バッファを形成します。各バッファ (PMDIN1/PMDOUT1の下位バイト~PMDIN2/PMDOUT2の上位バイト)には昇順に0~3の番号が割り当てられます。

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

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

読み出し動作では、バッファ 0 (PMDOUT1<7:0>) を先頭にバッファ 3 (PMDOUT2<15:8>) までが、各読み出しストローブで 1 バイトずつ順次出力されます。モジュールは、バッファを正しい順序で読み出すために内部ポインタを保持します。 PMSTAT レジスタは、各バッファに対応する読み出しステータスビット (OBnE) を格納します。このステータスビットは、バッファ内のデータがバスに書き込まれるまでクリア状態を維持し、データがバスに書き込まれるとセットされます。読み出し中のバッファ位置がエンプティである場合、バッファ アンダーフローが発生し、バッファ オーバーフロー フラグビット OBUF(PMSTAT<6>) がセットされます。4 つの OBnE ステータスビットの全てがセットされると、OBEビットもセットされます。

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

書き込み動作では、バッファ 0 (PMDIN1<7:0>) を先頭にバッファ 3 (PMDIN2<15:8>) までデータを順次保存します。読み出し動作と同様に、モジュールは次に書き込むべきバッファを指す内部ポインタを保持します。 各入力バッファは、それぞれの書き込みステータスビット IBnF を持ちます。このビットは、バッファ内に未読み出しの受信データが存在する間セット状態を維持し、データが読み出された時にクリアされます。このフラグビットは書き込みストローブ時にセットされます。IBnF ビットが既にセットされているバッファに書き込みが発生すると、入力バッファ オーバーフロー フラグ(IBOV) がセットされ、バッファ内の入力データは失われます。4 つの IBnF フラグの全てがセットされると、入力バッファフル フラグ (IBF) がセットされます。

35.3.2.3 割り込み動作

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

PMD<7:0>

PMRD

PMWR

Master

Data BusControl Lines

PMCSx

PMRD

PMWR

dsPIC33F/PIC24H Slave

PMCS1PMDOUT1L (0)PMDOUT1H (1)PMDOUT2L (2)PMDOUT2H (3)

PMDIN1L (0)PMDIN1H (1)PMDIN2L (2)PMDIN2H (3)

PMD<7:0> WriteAddressPointer

ReadAddressPointer

DS70299C_JP - p. 35-16 © 2010 Microchip Technology Inc.

Page 17: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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

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

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

図 35-6: アドレス可能バッファを使用するパラレル マスタ / スレーブ接続の例

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

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

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

dsPIC33F/PIC24H Slave

PMCS1PMDOUT1L (0)PMDOUT1H (1)PMDOUT2L (2)PMDOUT2H (3)

PMDIN1L (0)PMDIN1H (1)PMDIN2L (2)PMDIN2H (3)

PMD<7:0> WriteAddressDecode

ReadAddressDecode

PMA<1:0>

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-17

Page 18: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

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

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

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

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

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

35.3.3.3 割り込み動作

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

PMCS1

PMWR

PMA<1:0>

PSPIF

PMRD

OBE

PMD<7:0>

SystemClock

PMCS1

PMWR

PMRD

IBF

PMPIF

PMD<7:0>

PMA<1:0>

SystemClock

DS70299C_JP - p. 35-18 © 2010 Microchip Technology Inc.

Page 19: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

35.4 マスタポート モード

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

制御モードの異なる各種パラレルデバイスが存在するため、PMP モジュールは各種コンフィグレーションに柔軟に対応できるように設計されています。このような特長の一部を以下に挙げます。

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

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

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

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

• 全制御ラインの極性選択

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

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

35.4.1.1 チップセレクト

PMP モジュールのマスタモードでは、1 つのチップセレクト ライン PMCS1 を使用できます。このチップセレクト ラインは、アドレスバスの PMA<14> ビットと多重化されます。ピンをチップセレクトとして設定すると、そのピンはアドレスの自動インクリメント / デクリメントから除外されます。チップセレクト信号の機能の設定には、チップセレクト機能ビットCSF<1:0> (PMCON<7:6>) を使用します。

35.4.1.2 ポートピン制御

モジュール内の各種制御およびアドレス信号を有効化 / 無効化するために、各種のビットが用意されています。これには PTBEEN、PTWREN、PTRDEN、PTEN<14:0> ビットが含まれます。これらのビットを使用すると、モジュールのピン使用数を節約して他の機能向けにピンを使用でき、外部アドレスを柔軟に制御できます。これらのビットのいずれかをセットすると、対応するピンに PMP 関連機能が割り当てられます。クリアすると、そのピンの機能は既定値の I/O ポート機能に戻ります。

PTENx ビットをセットすると、対応するピンはアドレスピンとして機能し、PMADDR レジスタ内の対応するデータを出力します。PTENx ビットをクリアすると、対応するピンは既定値のI/O 機能に戻ります。

チップセレクト (PMCS1) として設定されたピンの PTENx ビットをセットすると、チップセレクト ピンは読み書き動作を実行中ではない時に非アクティブデータ (PMCON の CSxP ビットで定義 ) を出力します。PTEN0 および PTEN1 ビットも PMALL および PMALH 信号を制御します。多重化を使用する場合、関連するアドレスラッチ信号を有効化する必要があります。

35.4.1.3 アドレス多重化

いずれのマスタモード (MODE<1:0> = 1x) においても、ユーザ アプリケーションはアドレスバスをデータバスと多重化できます。これには ADRMUX<1:0> ビットを使用します。3 種類のアドレス多重化モードを使用できます。これらのモードの代表的ピン配置コンフィグレーションを図 35-9、図 35-10、図 35-11 に示します。

非多重化モード (ADRMUX<1:0> = 00) では、データとアドレスの情報は分離されます。データビットは PMD<7:0> に出力され、アドレスビットは PMA<10:0> に出力されます。

半多重化モード (ADRMUX<1:0> = 01) では、アドレスの下位 8 ビットだけが PMD<7:0> のデータピンと多重化されます。アドレスの上位 3 ビットは影響を受けずに PMA<10:8> に出力されます。PMA<0> ピンはアドレスラッチとして使用され、アドレスラッチ LOW イネーブル ストローブ (PMALL) を出力します。読み書きシーケンスは完全な 1 CPU サイクル間延長され、この間にアドレスが PMD<7:0> ピンで出力されます。

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-19

Page 20: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

全多重化モード (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」に強制クリアされます。

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

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

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

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

PMWR

PMD<7:0>

PMCS1

PMA<10:0>dsPIC33F/PIC24H

Address BusData BusControl Lines

PMRD

PMWR

PMD<7:0>

PMCS1

PMA<10:8>

PMA<7:0>

dsPIC33F/PIC24H

Address BusMultiplexedData andAddress BusControl Lines

PMRD

PMALL

PMWR

PMD<7:0>

PMCS1

PMA<10:0>dsPIC33F/PIC24H

MultiplexedData andAddress BusControl Lines

PMALL

PMALH

PMRD

DS70299C_JP - p. 35-20 © 2010 Microchip Technology Inc.

Page 21: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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

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

PMP は 8 ビットと 16 ビットのデータ幅をサポートします。データ幅の選択には MODE16 ビット (PMMODE<10>) を使用します。モジュールの入出力データパスは共に 8 ビット幅であるため、16 ビット動作は常に多重化モードで処理されます。この場合、データの下位バイト (LSB)が最初に出力されます。データバイトの上位と下位を区別するために、上位バイト (MSB) をデータラインに出力中である事を示すバイトイネーブル制御ストローブ(PMBE)を使用します。

35.4.1.5 読み / 書き制御

PMP モジュールは 2 種類の読み書き信号処理法 ( マスタモード 1 とマスタモード 2) をサポートします。マスタモード 1 では、読み出しストローブと書き込みストローブは 1 つの制御ライン PMRD/PMWR を共有します。もう 1 つの制御ライン PMENB は、読み書き動作の実行タイミングを決定します。マスタモード 2 では、読み出しストローブと書き込みストローブ (PMRDと PMWR) に別々のピンを使用します。

35.4.1.6 制御ラインの極性

全ての制御信号 (PMRD、PMWR、PMBE、PMENB、PMAL、PMCSx) には個別に極性を設定できます。極性の設定には PMCON レジスタ内の各ビットを使用します。

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

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

PMWR

PMD<15:0>

PMCS1

PMA<10:0>dsPIC33F/PIC24H

MultiplexedData andAddress BusControl Lines

PMALL

PMALH

PMRD

Note: 同一出力ピンを共有する複数の制御信号 ( 例 : PMWR と PMENB) の極性は同一ビットによって制御されます。極性設定は使用するマスタポート モードによって異なります。

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-21

Page 22: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

35.4.1.8 待機ステート

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

WAITB<1:0> ビット (PMMODE<7:6>) は、マスタモード 2 (MODE <1:0> = 10) におけるPMRD/PMWT ストローブ前、またはマスタモード 1 (MODE<1:0> = 11) における PMENB ストローブ前のデータセットアップ用の待機サイクル数を設定します。

WAITM<3:0> ビット (PMMODE<5:2>) は、マスタモード 2 (MODE <1:0> = 10) におけるPMRD/PMWTストローブ、またはマスタモード1 (MODE<1:0> = 11)におけるPMENBストローブ用の待機サイクル数を設定します。この待機ステート設定が「0」の場合、WAITBx と WAITExは効果を持ちません。

WAITE<1:0> ビット (PMMODE<1:0>) は、マスタモード 2 (MODE <1:0> = 10) におけるPMRD/PMWT ストローブ後、またはマスタモード 1 (MODE<1:0> = 11) における PMENB ストローブ後のデータホールド時間用の待機サイクル数を設定します。

35.4.2 読み出し動作

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

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

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

35.4.3 書き込み動作

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

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

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

35.4.4.1 BUSY ビット

PMP 割り込みに加えて、PMP モジュールのステータスを示す BUSY ビットが用意されています。このビットはマスタモード時にのみ使用します。

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

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

35.4.4.2 割り込み

マスタモードで PMP モジュール割り込みを有効化した場合、PMP モジュールは毎回の読み書きサイクル終了時に割り込みを生成します。割り込みを有効化しない場合、BUSY ビットを使用してモジュールのステータスを検出する事ができます。

DS70299C_JP - p. 35-22 © 2010 Microchip Technology Inc.

Page 23: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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

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

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

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

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

PMWR

PMRD

PMPIF

PMD<7:0>

PMCS1

PMA<10:0>

BUSY

SystemClock

PMWR

PMRD

PMALL

PMD<7:0>

PMCS1

PMA<10:8>

PMPIF

BUSY

Address<7:0> Data

SystemClock

PMRD

PMWR

PMALL

PMD<7:0>

PMCS1

PMA<10:8>

PMPIF

WAITM<3:0> = 0010

WAITE<1:0> = 00

WAITB<1:0> = 01

BUSY

DataAddress<7:0>

SystemClock

WAITB<1:0> = 01

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-23

Page 24: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

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

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

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

PMWR

PMRDPMALL

PMD<7:0>

PMCS1

PMA<10:8>

PMPIF

Data

BUSY

Address<7:0>

SystemClock

PMWR

PMRDPMALL

PMD<7:0>

PMCS1

PMA<10:8>

PMPIF

Data

WAITM<3:0> = 0010WAITE<1:0> = 00

WAITB<1:0> = 01

BUSY

Address<7:0>

SystemClock

WAITB<1:0> = 01

PMRD/PMWR

PMENB

PMALL

PMD<7:0>

PMCS1

PMA<10:8>

PMPIF

BUSY

Address<7:0> Data

SystemClock

DS70299C_JP - p. 35-24 © 2010 Microchip Technology Inc.

Page 25: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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

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

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

PMRD/PMWRPMENB

PMALL

PMD<7:0>

PMCS1

PMA<10:8>

PMPIF

Data

BUSY

Address<7:0>

SystemClock

PMWR

PMRD

PMALL

PMD<7:0>

PMCS1

PMALH

Data

PMPIF

BUSY

Address<7:0> Address<15:8>

SystemClock

PMWR

PMRDPMALL

PMD<7:0>

PMCS1

PMALH

Data

PMPIF

BUSY

Address<7:0> Address<15:8>

SystemClock

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-25

Page 26: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

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

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

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

PMWRPMRD

PMD<7:0>

PMCS1

PMA<10:0>

PMPIFPMBE

BUSY

MSBLSB

SystemClock

PMWR

PMRD

PMD<7:0>

PMCS1

PMA<10:0>

PMPIF

LSB MSB

PMBE

BUSY

SystemClock

PMWR

PMRD

PMALL

PMD<7:0>

PMCS1

PMA<10:8>

PMPIF

PMBE

BUSY

Address<7:0> LSB MSB

SystemClock

DS70299C_JP - p. 35-26 © 2010 Microchip Technology Inc.

Page 27: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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

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

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

PMWR

PMRD

PMALL

PMD<7:0>

PMCS1

PMA<10:8>

PMPIF

LSB MSB

PMBE

BUSY

Address<7:0>

SystemClock

PMWR

PMRD

PMBE

PMD<7:0>

PMCS1

PMALL

PMPIF

PMALH

BUSY

Address<7:0> Address<15:8> LSB MSB

SystemClock

PMWR

PMRD

PMBE

PMD<7:0>

PMCS1

PMALL

PMALH

MSBLSB

PMPIF

BUSY

Address<7:0> Address<15:8>

SystemClock

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-27

Page 28: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

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

PMP モジュールをマスタモード用に設定した場合、DMA は PMDIN1 レジスタ (DMAxPAD =0x0608) に対して読み書きを行います。DMA を使用する場合、下記を実行します。

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

• PMP モジュールをマスタとして設定する (MODE<1:0> = 11 または 10)• PMP 割り込みを 1 バイトの読み書きで毎回生成する (IRQM<1:0> = 01)

35.6 アプリケーション例

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

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

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

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

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

半多重化すると必要なピン数は増えますが、性能をある程度向上させる事ができます。図 35-29に、外部ラッチを使用して反多重化されたメモリまたは周辺モジュールを示します。周辺モジュールが内部ラッチを備える場合、その周辺モジュールを接続するための回路以外の追加回路は不要です ( 図 35-30 参照 )。

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

Note: PMP は、スレーブモードで DMA を使用して動作する事はできません。

PMD<7:0>

PMALH

D<7:0>

373 A<14:0>

D<7:0>

A<7:0>

373

PMRD

PMWR

OE WR

dsPIC33F/PIC24H

Address BusData BusControl Lines

PMALL

A<14:8>

PMCON = 10x1001101100000PMMODE = 00xxx010xxxxxxxxPMAEN = 1000000000000011

PMA<10:8>

D<7:0>

373 A<14:0>

D<7:0>

A<7:0>

PMRD

PMWR

OE WR

dsPIC33F/PIC24H

Address BusData BusControl Lines

PMALL

A<10:8>

PMD<7:0>

PMCON = 10x0101101100000PMMODE = 00xxx010xxxxxxxxPMAEN = 1111111100000001

DS70299C_JP - p. 35-28 © 2010 Microchip Technology Inc.

Page 29: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

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

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

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

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

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

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

重化モード )

ALE

PMRDPMWR

RDWR

dsPIC33F/PIC24H

Address BusData BusControl Lines

PMALL

D<7:0>Parallel Peripheral PMCON = 10x0101101100000

PMMODE = 00xxx010xxxxxxxxPMAEN = 1000000000000001PMD<7:0>

PMA<10:0> A<10:0>

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

D<7:0>

PMRDPMWR

OEWR

dsPIC33F/PIC24H

Address BusData BusControl Lines

PMD<7:0>

Parallel 8-Bit Device PMCON = 10x0001101000000PMMODE = 00xxx010xxxxxxxxPMAEN = 1111111111111111

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

D<7:0>

PMRDPMWR

OEWR

dsPIC33F/PIC24H

Address BusData BusControl Lines

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>

PMRDPMWR

RDWR

dsPIC33F/PIC24H

Address BusData BusControl Lines

PMD<7:0>

Parallel 16-Bit Device

PMBE

PMCON = 10x0011101000100PMMODE = 00xxx110xxxxxxxxPMAEN = 1111111111111111

D<15:8>

74HC245

74HC245

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-29

Page 30: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

35.6.4 LCD コントローラの例

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

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

35.7 省電力モード時の動作

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

35.7.1 スリープモード

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

35.7.1.1 マスタモード動作

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

35.7.1.2 スレーブモード動作

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

35.7.2 アイドルモード

デバイスがアイドルモードに移行しても、システムクロック源は機能し続けます。アイドルモード時にモジュールの機能を停止するかどうかは、PSIDL ビット (PMCON<13>) で選択します。

• PSIDL = 1 の場合、モジュールはスリープモード時と同様に動作します ( スレーブモードではモジュール クロックが停止中であってもスレーブ受信可能 / マスタモードはサスペンドされる )。

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

PMRD/WR

D<7:0>

dsPIC33F/PIC24H

Address BusData BusControl Lines

PMA0R/WRS

E

LCD Controller

PMENB

PMCON = 10x0001100000011PMMODE = 00x00011xxxxxxxxPMAEN = 0000000000000001

PMD<7:0>

DS70299C_JP - p. 35-30 © 2010 Microchip Technology Inc.

Page 31: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

© 2010 M

icrochip Technology Inc.D

S70299C_JP

- p. 35-31

セク

ショ

ン35. パ

ラレ

ル マ

スタ

ポー

ト(PM

P))

35

レ Bit 3 Bit 2 Bit 1 Bit 0 全

リセット

PM CS1P BEP WRSP RDSP 0000PM WAITM1 WAITM0 WAITE1 WAITE0 0000PM ) 0000PM PTEN3 PTEN2 PTEN1 PTEN0 0000PM OB3E OB2E OB1E OB0E 008FhPM 0000PM 0000PM 0000PM 0000PA — — RTSECSEL PMPTTL 0000凡

No

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

.8 レジスタマップ

PMP モジュールに関連するレジスタの要約を表 35-2 に示します。

35-2: パラレルマスタ / スレーブ ポート関連のレジスタマップ (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 ADRMUX1 ADRMUX0 PTBEEN PTWREN PTRDEN CSF1 CSF0 ALP —

MODE BUSY IRQM1 IRQM0 INCM1 INCM0 MODE16 MODE1 MODE0 WAITB1 WAITB0 WAITM3 WAITM2

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

AEN — PTEN — — — PTEN10 PTEN9 PTEN8 PTEN7 PTEN6 PTEN5 PTEN4

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

例 : — = 未実装、「0」として読み出し te 1: コアレジスタ マップの詳細は各デバイスのデータシートを参照してください。

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

Page 32: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

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

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

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

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

Note: dsPIC33F/PIC24H ファミリ関連のアプリケーション ノートとサンプルコードはマイクロチップ社のウェブサイト (www.microchip.com) でご覧頂けます。

DS70299C_JP - p. 35-32 © 2010 Microchip Technology Inc.

Page 33: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

マスタ

ポート

(PMP)

35

35.10 改訂履歴

リビジョン A (2007 年 10 月 )本書の初版

リビジョン B (2011 年 7 月 )35.5「ダイレクト メモリアクセス (DMA) のサポート」で、DMA コンフィグレーションに関する DMAxPAD のアドレスを 0x0608 に訂正

リビジョン C (2011 年 9 月 )このリビジョンでの変更内容は以下の通りです。

• ファミリ リファレンス マニュアルのタイトルを dsPIC33F から dsPIC33F/PIC24H に変更

• 本書内の「dsPIC33F」を全て「dsPIC33F/PIC24H」に変更

• 図 :- 図 35-1 に PMA<10:0> ビットを追加 - 図 35-9 の PMA<13:0> を PMA<10:0> に変更

- 図 35-10 の PMA<13:8> を PMA<10:8> に変更

- 図 35-11 と図 35-12 の PMA<15:0> を PMA<10:0> に変更

- 図 35-15 と図 35-17 を更新

• Note:- レジスタ 35-2 に下記内容の Note2 を追加 :

WAITB<1:0> ビットでアドレスラッチ信号の期間を指定する場合、WAITM<3:0> およびWAITE<1:0> ビットは無視されます。

- 35.5「ダイレクト メモリアクセス (DMA) のサポート」に網掛け注釈ボックスを追加

• レジスタ :- レジスタ 35-3 の bit 11/12/13 と 15 を「未実装ビット」に変更

- レジスタ 35-3 の ADDR<13:8> を ADDR<10:0> に変更

• 上記に加えて、表現および体裁の変更等、本書全体の細部を修正

© 2010 Microchip Technology Inc. DS70299C_JP - p. 35-33

Page 34: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

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

NOTE:

DS70299C_JP - p. 35-34 © 2010 Microchip Technology Inc.

Page 35: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

© 2011 Microchip Technology Inc. DS70299C_JP - p. 35

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

商標

マイクロチップ社の名称と Microchip ロゴ、dsPIC、KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、rfPIC、

UNI/O は、米国およびその他の国におけるマイクロチップ・

テクノロジー社の登録商標です。

FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、MXDEV、MXLAB、SEEVAL、Embedded Control SolutionsCompany は、米国におけるマイクロチップ・テクノロジー

社の登録商標です。

Analog-for-the-Digital Age,Application Maestro、chipKIT、chipKIT logo、CodeGuard、dsPICDEM、dsPICDEM.net、dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、

FanSense、HI-TIDE、In-Circuit Serial Programming、ICSP、Mindi、MiWi、MPASM、MPLAB Certifiedr ロゴ、MPLIB、MPLINK、mTouch、Omniscient Code Generation、PICC、

PICC-18、PICDEM、PICDEM.net、PICkit、PICtail、REAL ICE、rfLAB、Select Mode、Total Endurance、TSHARC、

UniWinDriver、WiperLock、ZENA は、米国およびその他の

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

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

サービスマークです。

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

© 2011, Microchip Technology Incorporated, All RightsReserved.

ISBN: 978-1-61341-431-6

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

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

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

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

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

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

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

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

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

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

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

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

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

あります。

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

Page 36: セクション 35. パラレル マスタポート (PMP)ww1.microchip.com/downloads/jp/DeviceDoc/70299C_JP.pdfPMP 動作の設定におけるPMMODE ビットの詳細な使用方法は、35.3「スレーブポート

DS70299C_JP - p. 36 © 2011 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-3180 Fax:86-571-2819-3189中国 - 香港 SARTel:852-2401-1200 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-8203-2660 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-45-471- 6166 Fax:81-45-471-6122韓国 - 大邱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-6578-300Fax:886-3-6578-370台湾 - 高雄Tel:886-7-213-7830Fax:886-7-330-9305台湾 - 台北Tel:886-2-2500-6610 Fax:886-2-2508-0102タイ - バンコクTel:66-2-694-1351Fax:66-2-694-1350

ヨーロッパオーストリア - ヴェルスTel:43-7242-2244-39Fax: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

各国の営業所とサービス

05/02/11