• 検索結果がありません。

ペリフェラル ピンセレクト (PPS) モジュール

ドキュメント内 PIC16(L)F1703/7 Data Sheet (ページ 136-143)

ペリフェラルピンセレクト

(PPS)

モジュールは周辺モ ジュールの入出力をデバイスのI/Oピンに接続します。

割り当てを変更できるのはデジタル信号のみです。ア ナログ入出力の割り当ては変更できません。概略ブ ロック図図12-1に示すように、入力と出力は別々に選 択します。

12.1 PPS 入力

各周辺モジュールには、入力を選択するために使う

PPS

レジスタがあります。入力にはデバイスピンが含 まれます。

複数の周辺モジュールが同じ入力源で同時に動作でき ます。ポート読み出しは、周辺モジュールの

PPS

選択 には関係なく、常にピンレベルを返します。ピンがア ナログ機能にも対応している場合、デジタル入力バッ ファを有効にするには、そのピンの

ANSEL

ビットを クリアする必要があります。

各周辺モジュールには専用の

PPS

入力選択レジスタが ありますが、PIC16(L)F1703 の場合はレジスタ 12-1 に、

PIC16(L)F1707

の場合はレジスタ 12-2 に示すよ うに、選択方法は全モジュールで同じです。

12.2 PPS 出力

各I/Oピンには、ピンの出力源を選択するのに使うPPS レジスタがあります。ほぼ例外なく、ピンに関連付け られたポートの

TRIS

制御がピンの出力ドライバを制 御します。機能の一部としてピンの出力ドライバを制 御する周辺モジュールは、必要に応じて

TRIS

制御よ り優先されます。そのような周辺モジュールには以下 のものがあります。

• EUSART (

同期モード

)

• MSSP (I

2

C)

• COG (

自動シャットダウン

)

全てのピンに別々のPPS周辺モジュール選択レジスタ があっても、レジスタ 12-3 に示すように、選択方法 は全ピンで同じです。

12-1: PPS

の概略ブロック図

Note:

レジスタ名の「

xxx

」という表記は、周辺

モジュール識別子のプレースホルダです。

: CCP1PPS

Note:

「Rxy」という表記は、ピン識別子のプレー

スホルダです。例

: RA0PPS

RA0

Rxy RA0PPS

RxyPPS

RC7 RC7PPS

PPS Outputs PPS Inputs

Peripheral abc

Peripheral xyz abcPPS

xyzPPS RA0

RC7

PIC16(L)F1703/7

12.3 双方向ピン

同じピンで双方向通信を行う周辺モジュールの場合、

PPS

入力と

PPS

出力で同じピンを選択する必要があ ります。双方向通信を行う周辺モジュールには以下の ものがあります。

• EUSART (

同期モード

)

• MSSP (I

2

C)

12.4 PPS ロック

PPS

には、意図しない変更を防ぐために全入出力を ロックできるモードがあります。

PPS

の設定をロック するには、PPSLOCKレジスタの

PPSLOCKED

ビッ トをセットします。このビットをセットまたはクリア するには、意図しない変更を防ぐために特別なシーケ ンスが必要です。例12-1に、PPSLOCKEDビットの セットとクリアの例を示します。

例 12-1:

PPS

ロック

/

解除シーケンス

12.5 PPS の永久ロック

PPS1WAYコンフィグレーション ビットをセットする

と、

PPS

を恒久的にロックできます。このビットを セットすると、

PPSLOCKED

ビットはデバイスリセッ ト後に

1

回しかクリアまたはセットできません。これ

により、

PPSLOCKED

ビットをクリアして初期化中に

入出力を選択できます。全ての入出力を設定した後で

PPSLOCKED

ビットをセットすると、このビットは

セットされたままとなり、次回デバイスをリセットす るまでクリアできません。

12.6 スリープ中の動作

PPSによる入出力設定はスリープの影響を受けません。

12.7 リセットの影響

デバイスのパワーオン リセット

(POR)

PPS

の全 入出力設定をクリアし、既定値に戻します。その他の 全てのリセットでは、PPS の設定は変更されません。

表1と表2のピン割り当て表に、入力選択の既定値を 示します。

Note: I

2

C

既定値入力ピンは、

I

2

C

および

SMBus

と互換であり、デバイスでこの互換性を 備える唯一のピンです。

; suspend interrupts bcf INTCON,GIE

; BANKSEL PPSLOCK ; set bank

; required sequence, next 5 instructions movlw 0x55

movwf PPSLOCK movlw 0xAA movwf PPSLOCK

; Set PPSLOCKED bit to disable writes or

; Clear PPSLOCKED bit to enable writes bsf PPSLOCK,PPSLOCKED

; restore interrupts bsf INTCON,GIE

PIC16(L)F1703/7

12.8 レジスタ定義 : PPS 入力の選択

レジスタ 12-1:

xxxPPS: 周辺モジュール xxx

の入力選択

(PIC16(L)F1703)

U-0 U-0 U-0 R/W-q/u R/W-q/u R/W-q/u R/W-q/u R/W-q/u

- - - xxxPPS<4:0>

bit 7 bit 0

凡例

:

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

u = ビットは不変 x = ビットは未知 -n/n = POR時とBOR時の値/その他の全てのリセット時の値

「1」 = ビットはセット 「0」 = ビットはクリア q = 周辺モジュールにより異なる

bit 7-5

未実装

:「 0

」として読み出し

bit 4-0 xxxPPS<4:0>: 周辺モジュール xxx

の入力選択ビット

11xxx = 予約済み。使用不可

1011x =

予約済み。使用不可

10101 = 周辺モジュールの入力は RC5 10100 =

周辺モジュールの入力は

RC4 10011 = 周辺モジュールの入力は RC3 10010 = 周辺モジュールの入力は RC2 10001 = 周辺モジュールの入力は RC1 10000 =

周辺モジュールの入力は

RC0 01xxx = 予約済み。使用不可

0011X = 予約済み。使用不可

00101 = 周辺モジュールの入力は RA5

00100 = 周辺モジュールの入力は RA4

00011 = 周辺モジュールの入力は RA3

00010 = 周辺モジュールの入力は RA2

00001 = 周辺モジュールの入力は RA1

00000 = 周辺モジュールの入力は RA0

PIC16(L)F1703/7

レジスタ 12-2:

xxxPPS: 周辺モジュール xxx

の入力選択

(PIC16(L)F1707)

U-0 U-0 U-0 R/W-q/u R/W-q/u R/W-q/u R/W-q/u R/W-q/u

- - - xxxPPS<4:0>

bit 7 bit 0

凡例

:

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

u = ビットは不変 x = ビットは未知 -n/n = POR時とBOR時の値/その他の全てのリセット時の値

「1」 = ビットはセット 「0」 = ビットはクリア q = 周辺モジュールにより異なる

bit 7-5

未実装

:

0

」として読み出し

bit 4-0 xxxPPS<4:0>:

周辺モジュール

xxx

の入力選択ビット

11xxx =

予約済み。使用不可

10111 = 周辺モジュールの入力は RC7 10110 =

周辺モジュールの入力は

RC6 10101 = 周辺モジュールの入力は RC5 10100 = 周辺モジュールの入力は RC4 10011 = 周辺モジュールの入力は RC3 10010 =

周辺モジュールの入力は

RC2 10001 = 周辺モジュールの入力は RC1 10000 = 周辺モジュールの入力は RC0 01111 = 周辺モジュールの入力は RB7 01110 = 周辺モジュールの入力は RB6 01101 = 周辺モジュールの入力は RB5 01100 = 周辺モジュールの入力は RB4 010xx = 予約済み。使用不可

0011X = 予約済み。使用不可

00101 = 周辺モジュールの入力は RA5

00100 = 周辺モジュールの入力は RA4

00011 = 周辺モジュールの入力は RA3

00010 = 周辺モジュールの入力は RA2

00001 = 周辺モジュールの入力は RA1

00000 =

周辺モジュールの入力は

RA0

PIC16(L)F1703/7

レジスタ 12-3:

RxyPPS: Rxy

ピン出力源選択レジスタ

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

- - - RxyPPS<4:0>

bit 7 bit 0

凡例

:

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

u = ビットは不変 x = ビットは未知 -n/n = POR時とBOR時の値/その他の全てのリセット時の値

「1」 = ビットはセット 「0」 = ビットはクリア

bit 7-5

未実装

:

0

」として読み出し

bit 4-0 RxyPPS<4:0>: Rxy

ピン出力源選択ビット

11xxx =

予約済み

10111 = Rxy

源は

C2OUT 10110 = Rxy

源は

C1OUT 10101 = Rxy

源は

DT

(1)

10100 = Rxy

源は

TX/CK

(1)

10011 = 予約済み

10010 = Rxy

源は

SDO 10001 = Rxy

源は

SDA

(1)

10000 = Rxy

源は

SCK/SCL

(1)

01111 = Rxy

源は

PWM4OUT 01110 = Rxy

源は

PWM3OUT 01101 = Rxy

源は

CCP2 01100 = Rxy

源は

CCP1 01011 = Rxy

源は

COG1D

(1)

01010 = Rxy

源は

COG1C

(1)

01001 = Rxy

源は

COG1B

(1)

01000 = Rxy

源は

COG1A

(1)

00111 = 予約済み

00110 = 予約済み 00101 = 予約済み 00100 = 予約済み 00011 = 予約済み 00010 = 予約済み 00001 = 予約済み 00000 = Rxy

源は

LATxy

Note 1:

必要に応じて

TRIS

制御より周辺モジュールが優先されます。

PIC16(L)F1703/7

レジスタ 12-4:

PPSLOCK: PPS

ロックレジスタ

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

- - - - - - - PPSLOCKED

bit 7 bit 0

凡例

:

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

u = ビットは不変 x = ビットは未知 -n/n = POR時とBOR時の値/その他の全てのリセット時の値

「1」 = ビットはセット 「0」 = ビットはクリア

bit 7-1

未実装

:

0

」として読み出し

bit 0 PPSLOCKED: PPS

ロックビット

1 = PPS

をロックする。

PPS

の選択は変更できない

0 = PPS

をロックしない。

PPS

の選択は変更できる

PIC16(L)F1703/7

表 12-1:

PPS

モジュール関連レジスタのまとめ

名前 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

レジスタ 内容記載 ページ

PPSLOCK - - - PPSLOCKED 141

INTPPS - - - INTPPS<4:0> 139

T0CKIPPS - - - T0CKIPPS<4:0> 139

T1CKIPPS - - - T1CKIPPS<4:0> 139

T1GPPS - - - T1GPPS<4:0> 139

CCP1PPS - - - CCP1PPS<4:0> 139

CCP2PPS - - - CCP2PPS<4:0> 139

SSPCLKPPS - - - SSPCLKPPS<4:0> 139

SSPDATPPS - - - SSPDATPPS<4:0> 139

SSPSSPPS - - - SSPSSPPS<4:0> 139

RA0PPS - - - RA0PPS<4:0> 140

RA1PPS - - - RA1PPS<4:0> 140

RA2PPS - - - RA2PPS<4:0> 140

RA4PPS - - - RA4PPS<4:0> 140

RA5PPS - - - RA5PPS<4:0> 140

RB4PPS(1) - - - RB4PPS<4:0> 140

RB5PPS(1) - - - RB5PPS<4:0> 140

RB6PPS(1) - - - RB6PPS<4:0> 140

RB7PPS(1) - - - RB7PPS<4:0> 140

RC0PPS - - - RC0PPS<4:0> 140

RC1PPS - - - RC1PPS<4:0> 140

RC2PPS - - - RC2PPS<4:0> 140

RC3PPS - - - RC3PPS<4:0> 140

RC4PPS - - - RC4PPS<4:0> 140

RC5PPS - - - RC5PPS<4:0> 140

RC6PPS(1) - - - RC6PPS<4:0> 140

RC7PPS(1) - - - RC7PPS<4:0> 140

凡例: — = 未実装、「0」として読み出し Note 1: PIC16(L)F1707のみ

PIC16(L)F1703/7

ドキュメント内 PIC16(L)F1703/7 Data Sheet (ページ 136-143)