Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
21.12.2020
Размер:
8.16 Mб
Скачать

PIC18F8722 FAMILY

11.10 Parallel Slave Port

PORTD can also function as an 8-bit wide Parallel Slave Port, or microprocessor port, when control bit PSPMODE (PSPCON<4>) is set. It is asynchronously readable and writable by the external world through the RD and WR control input pins.

Note: For PIC18F8527/8622/8627/8722 devices, the Parallel Slave Port is available only in Microcontroller mode.

The PSP can directly interface to an 8-bit microprocessor data bus. The external microprocessor can read or write the PORTD latch as an 8-bit latch. Setting bit PSPMODE enables port pin RE0/RD to be the RD input, RE1/WR to be the WR input and RE2/CS to be the CS (Chip Select) input. For this functionality, the corresponding data direction bits of the TRISE register (TRISE<2:0>) must be configured as inputs (set).

A write to the PSP occurs when both the CS and WR lines are first detected low and ends when either are detected high. The PSPIF and IBF flag bits are both set when the write ends.

A read from the PSP occurs when both the CS and RD lines are first detected low. The data in PORTD is read out and the OBF bit is set. If the user writes new data to PORTD to set OBF, the data is immediately read out; however, the OBF bit is not set.

When either the CS or RD lines are detected high, the PORTD pins return to the input state and the PSPIF bit is set. User applications should wait for PSPIF to be set before servicing the PSP; when this happens, the IBF and OBF bits can be polled and the appropriate action taken.

The timing for the control signals in Write and Read modes is shown in Figure 11-3 and Figure 11-4, respectively.

FIGURE 11-2: PORTD AND PORTE BLOCK DIAGRAM (PARALLEL SLAVE PORT)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Data Bus

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

Q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WR LATD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RDx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pin

 

 

 

CKx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

or

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PORTD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TTL

 

 

 

 

 

 

 

 

 

 

 

 

 

Data Latch

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q

 

 

 

D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RD PORTD

 

 

ENEN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TRIS Latch

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RD LATD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

One bit of PORTD

Set Interrupt Flag

PSPIF (PIR1<7>)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Read

 

 

 

 

 

 

 

 

 

 

 

TTL

 

 

 

RD

 

 

 

 

 

Chip Select

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TTL

 

 

 

 

CS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Write

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TTL

 

 

 

 

WR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Note: I/O pin has protection diodes to VDD and VSS.

DS39646B-page 158

Preliminary

2004 Microchip Technology Inc.

PIC18F8722 FAMILY

REGISTER 11-1: PSPCON: PARALLEL SLAVE PORT CONTROL REGISTER

 

 

 

R-0

R-0

R/W-0

R/W-0

U-0

U-0

U-0

U-0

 

 

 

IBF

OBF

IBOV

PSPMODE

 

 

 

bit 7

 

 

 

 

 

 

 

 

bit 0

bit 7

IBF: Input Buffer Full Status bit

 

 

 

 

 

 

 

 

1

= A word has been received and is waiting to be read by the CPU

 

 

 

 

0

= No word has been received

 

 

 

 

 

 

 

bit 6

OBF: Output Buffer Full Status bit

 

 

 

 

 

 

 

 

1

=

The output buffer still holds a previously written word

 

 

 

 

 

0

= The output buffer has been read

 

 

 

 

 

bit 5

IBOV: Input Buffer Overflow Detect bit

 

 

 

 

 

 

1

=

A write occurred when a previously input word has not been read

 

 

 

 

 

 

(must be cleared in software)

 

 

 

 

 

 

 

 

0

=

No overflow occurred

 

 

 

 

 

 

 

bit 4

PSPMODE: Parallel Slave Port Mode Select bit

 

 

 

 

 

 

1

=

Parallel Slave Port mode

 

 

 

 

 

 

 

 

0

= General Purpose I/O mode

 

 

 

 

 

 

 

bit 3-0

Unimplemented: Read as ‘0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Legend:

 

 

 

 

 

 

 

 

 

 

R = Readable bit

W = Writable bit

U = Unimplemented bit, read as ‘0’

 

 

-n = Value at POR

‘1’ = Bit is set

‘0’ = Bit is cleared

x = Bit is unknown

 

 

 

 

 

 

 

 

 

 

 

 

 

2004 Microchip Technology Inc.

Preliminary

DS39646B-page 159

PIC18F8722 FAMILY

FIGURE 11-3: PARALLEL SLAVE PORT WRITE WAVEFORMS

Q1

Q2

Q3

Q4

Q1

Q2

Q3

Q4

Q1

Q2

Q3

Q4

CS

 

 

 

 

 

 

 

 

 

 

 

WR

 

 

 

 

 

 

 

 

 

 

 

RD

 

 

 

 

 

 

 

 

 

 

 

PORTD<7:0>

 

 

 

 

 

 

 

 

 

 

 

IBF

 

 

 

 

 

 

 

 

 

 

 

OBF

 

 

 

 

 

 

 

 

 

 

 

PSPIF

 

 

 

 

 

 

 

 

 

 

 

FIGURE 11-4: PARALLEL SLAVE PORT READ WAVEFORMS

Q1

Q2

Q3

Q4

Q1

Q2

Q3

Q4

Q1

Q2

Q3

Q4

CS

 

 

 

 

 

 

 

 

 

 

 

WR

 

 

 

 

 

 

 

 

 

 

 

RD

 

 

 

 

 

 

 

 

 

 

 

PORTD<7:0>

 

 

 

 

 

 

 

 

 

 

 

IBF

 

 

 

 

 

 

 

 

 

 

 

OBF

 

 

 

 

 

 

 

 

 

 

 

PSPIF

 

 

 

 

 

 

 

 

 

 

 

TABLE 11-19: REGISTERS ASSOCIATED WITH PARALLEL SLAVE PORT

 

 

 

 

 

 

 

 

 

Reset

Name

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

Values

 

 

 

 

 

 

 

 

 

on page

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PORTD

RD7

RD6

RD5

RD4

RD3

RD2

RD1

RD0

60

 

 

 

 

 

 

 

 

 

 

LATD

LATD7

LATD6

LATD5

LATD4

LATD3

LATD2

LATD1

LATD0

60

 

 

 

 

 

 

 

 

 

 

TRISD

TRISD7

TRISD6

TRISD5

TRISD4

TRISD3

TRISD2

TRISD1

TRISD0

60

 

 

 

 

 

 

 

 

 

 

PORTE

RE7

RE6

RE5

RE4

RE3

RE2

RE1

RE0

60

 

 

 

 

 

 

 

 

 

 

LATE

LATE7

LATE6

LATE5

LATE4

LATE3

LATE2

LATE1

LATE0

60

 

 

 

 

 

 

 

 

 

 

TRISE

TRISE7

TRISE6

TRISE5

TRISE4

TRISE3

TRISE2

TRISE1

TRISE0

60

 

 

 

 

 

 

 

 

 

 

PSPCON

IBF

OBF

IBOV

PSPMODE

59

INTCON

GIE/GIEH

PEIE/GIEL

TMR0IE

INT0IE

RBIE

TMR0IF

INT0IF

RBIF

57

PIR1

PSPIF

ADIF

RC1IF

TX1IF

SSP1IF

CCP1IF

TMR2IF

TMR1IF

60

PIE1

PSPIE

ADIE

RC1IE

TX1IE

SSP1IE

CCP1IE

TMR2IE

TMR1IE

60

IPR1

PSPIP

ADIP

RC1IP

TX1IP

SSP1IP

CCP1IP

TMR2IP

TMR1IP

60

 

 

 

 

 

 

 

 

 

 

Legend: = unimplemented, read as ‘0’. Shaded cells are not used by the Parallel Slave Port.

DS39646B-page 160

Preliminary

2004 Microchip Technology Inc.

Соседние файлы в папке Склад