Anda di halaman 1dari 12

14

Interfacing PC

2 PPI 8255
(Programmable Peripheral Interface)

Dalam Bab ini, kita akan membahas komponen yang sering digunakan untuk
perantaramukaan (interfacing), yaitu IC 8255. Perantaramukaan yang dimaksud adalah
perantara mukaan dengan sistem paralel atau yang dikenal sebagai PIO (Paralel Input
Output). Pembahasan dimulai dari deskripsi pin, blok diagram PPI 8255, dan deskripsi
operasionalnya.

Kata kunci : IC 8255, sistem PIO

Untuk berhubungan dengan periferal yang ada di luar, komputer memerlukan


piranti antarmuka sebagai penghubung antara komputer dengan periferal tersebut, cara
menghubungkannya dengan menggunakan slot ekspansi. Programable Peripheral
Interface (PPI) merupakan periferal perantara yang dapat diprogram. PPI merupakan versi
Intel untuk PIO (Paralel Input/Output). Salah satu jenis PPI adalah IC 8255, pada IC ini
teknik antarmuka bekerja secara paralel.

2.1 Deskripsi Fungsi 8255


PPI 8255 dikemas dalam bentuk DIP (dual in line package) 40 pin dengan susunan
pin-pin IC 8255 diperlihatkan dalam Gambar 2.1a. Secara garis besar deskripsi fungsi PPI
8255 diperlihatkan dalam blok diagram Gambar 2.1b. Blok diagram PPI 8255 dijelaskan
sebagai berikut :

Siti Sendari, S.T., M.T. 2007

15

Interfacing PC
Group A
Port A
8-bit

PA7-PA0

Group A
Port C
Upper 4-bit

PC4-PC7

Group B
Port C
Lower 4-bit

PC3-PA0

Group B
Port C
8-bit

PB7-PB0

Control
Group A

Bus Data
D0-D7

RD
WR
A1
A2
Reset

Buffer
Bus Data

Read/
Write
Control
Logic

Bus Data 8 bit

Control
Group B

CS

(a)

(b)
Gambar 2.1 Susunan Pin dan Blok Diagram PPI 8255

2.1.1 Data Bus Buffer (Penahan Data)


Data bus buffer terdiri dari 8 bit dan bersifat 2 arah (bidirectional). Data bus buffer
berfungsi untuk menahan data yang akan dikirim atau diterima oleh CPU, selain itu data
bus buffer juga berfungsi untuk menahan control word (kode seleksi) dan information
status (informasi status).

2.1.2 Sinyal Read/Write dan Control Logic


Read/Write dan Control logic berfungsi untuk mengatur proses perpindahan data di
dalam PPI 8255 dan proses pengeluaran data PPI ke sistem bus data.

Sinyal Read/Write dan Control Logic terdiri dari :

Chip Select ( CS )
CS harus berlogika rendah untuk mengaktifkan komunikasi antara PPI 8255
dan CPU.

Read ( RD )
RD berfungsi sebagai kontrol operasi pembacaan, jika RD dan CS berlogika
rendah maka CPU akan membaca data dari PPI 8255.

Siti Sendari, S.T., M.T. 2007

16

Interfacing PC
Write ( WR )
WR berfungsi sebagai kontrol operasi penulisan, jika WR dan CS berlogika
rendah, maka CPU akan mengirimkan data ke PPI 8255.

A0 dan A1
A0 dan A1 merupakan kode seleksi atau sebagai control word (CW) untuk
mengaktifkan port I/O, baik untuk pembacaan maupun penulisan. Dalam
kondisi normal, sinyal ini dihubungkan dengan bua alamat terentah (A0 dan
A1).

RESET
RESET berfungsi mereset operasi PPI 8255, jika RESET berlogika high, maka
register kontrol dan semua port diset ke dalam mode masukan.

Operasi dasar Read/Write dan Control logic disusun dalam Tabel 2.1.

Tabel 2.1 Operasi dasar 8255


A1

A1

RD

WR

CS Operasi masukan/baca (READ)

0
0
1

0
1
0

0
0
0

1
1
1

0
0
0

0
0
1
1

0
1
0
1

1
1
1
1

0
0
0
0

0
0
0
0

X
1
X

X
1
X

X
0
1

X
1
1

1
0
0

Port A Bus data


Port B Bus data
Port C Bus data
Operasi Keluaran/tulis (WRITE)
Bus data Port A
Bus data Port B
Bus data Port C
Bus data Kontrol
Fungsi disable
Bus data 3-state
Kondisi ilegal
Bus data 3-state

2.1.3 KONTROL GRUP A dan GRUP B


PPI 8255 dilengkapi dengan 24 saluran masukan/keluaran (I/O). I/O tersebut
dihubungkan menjadi dua grup, yaitu grup A yang terdiri dari port A dan port C upper, dan
grup B yang terdiri dari port B dan port C lower. Kedua grup ini digunakan untuk
mendefinisikan mode masing-masing port I/O. Port-port PPI 8255 dapat dioperasikan
sebagai masukan atau keluaran tergantung pada mode operasi yang digunakan. Mode
operasi PPI 8255 tergantung dari control word (CW) yang dikirimkan oleh CPU. CW
Siti Sendari, S.T., M.T. 2007

17

Interfacing PC
mengandung informasi mode, bit set bit reset, dll yang digunakan untuk inisialisasi PPI
8255.
Masing-masing blok kontrol (Grup A dan Drup B) menerima perintah dari
Read/Write Control Logic dan menerima CW dari bus data internal dan menentukan
perintah untuk masing-masing port yang sesuai.

2.1.4 Port A,B, dan C


PPI 8255 dikelompokkan dalam tiga port, yang terdiri dari port A, port B, dan port
C dengan lebar data masing-masing 8-bit (PA0-PA7; PB0-PB7; PC0-PC7 ). Port C dibagi
dalam 2 bagian, Port C lower (PC0-PC3 ) dan Port C upper (PC4-PC7 )

2.2 Deskripsi Operasi 8255


Untuk menentukan mode operasi tiap-tiap port, PPI 8255 dapat diprogram secara
piranti lunak. Ada 3 mode yang dapat diperasikan, yaitu: Mode 0 ( Basic Input/Output),
Mode 1 (Strobe Input/Output), dan Mode 3 (Bidirectional Bus). Perantaraan Bus dengan
definisi mode ditunjukkan dalam Gambar 2.2. Pengaturan mode operasi ini dilakukan
dengan mengatur bit-bit register kontrol yang disediakan, bit-bit register kontrol
ditunjukkan dalam Gambar 2.3.

Gambar 2.2 Perantaraan bus dan definisi mode

Siti Sendari, S.T., M.T. 2007

18

Interfacing PC
D7

D6

D5

D4

D3

D2

D1

D0

Grup B
Port C (lower)
1= input
0 = output
Port B
1= input
0 = output
Mode seleksi
1= mode 1
0 = mode 0

Grup A
Port C (Upper)
1= input
0 = output
Port A
1= input
0 = output
Mode seleksi
00 = mode 0
01 = mode 1
1x = mode 2
Mode set flag
1 = aktif

Gambar 2.3 Format Control Word PPI 8255.

2.2.1 Set/Reset Bit Tunggal


Beberapa bit dari 8 bit Port C dapat di-set atau reset dengan menggunakan instruksi
tunggal, sehingga dapat mengurangi software yang digunakan. Jika port C digunakan
untuk mengontrol port A atau B, maka bit-bit port C dapat digunakan untuk set/reset
dengan menggunakan operasi set/reset. Format Set/Reset Bit ditunjukkan dalam Gambar
2.4.

Gambar 2.4 Format Set/Reset Bit

Siti Sendari, S.T., M.T. 2007

19

Interfacing PC

2.2.2 Interrupt Control Function


Jika 8255 diprogram dalam mode 1 dan 2, diperlukan sinyal kontrol yang dapat
digunakan sebagai masukan interrupt request untuk CPU. Interrupt request yang
dihasilkan dari port C dapat di-inhibit atau di-enable dengan set/reset sesuai flip-flop INTE
dengan mengguakan fungsi set/reset bit dari port C.
Definisi flip-flop INTE :
(Bit Set) (INTE di-set) Interrupt aktif
(Bit Reset) (INTE di-reset) Interupt tak aktif

2.3 MODE OPERASI


1. MODE 0 (Basic Input/Ouput)
Mode ini menyediakan operasi masukan/keluaran yang mudah untuk masingmasing port tanpa memerlukan sinyal kendali. Dalam mode ini data secara mudah
ditulis/dibaca dari port yang ditentukan.
Definisi Mode 0:

Memiliki 2 port 8 bit dan 2 port 4 bit (PA0-PA7, PB0-PB7, PC0-PC3, dan PC4-PC7)

Tiap port dapat digunakan sebagai masukan atau keluaran

Jika port digunakan sebagai keluaran, maka port di-latch

Jika port diguakan sebagai masukan, maka port tidak di-latch

Dapat operasikan dalam 16 konfigurasi yang mungkin, sebagaimana tabel 2.2.

Siklus Baca dan Tulis Mode 0 ditunjukkan dalam Gambar 2.5.


Tabel 2.2 Definisi Port Mode 0
A
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

D4
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

B
D3
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

D1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

Siti Sendari, S.T., M.T. 2007

D0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

Port A
OUPUT
OUPUT
OUPUT
OUPUT
OUPUT
OUPUT
OUPUT
OUPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT

Grup A
Port C (Upper)
OUPUT
OUPUT
OUPUT
OUPUT
INPUT
INPUT
INPUT
INPUT
OUPUT
OUPUT
OUPUT
OUPUT
INPUT
INPUT
INPUT
INPUT

Port B
OUPUT
OUPUT
INPUT
INPUT
OUPUT
OUPUT
INPUT
INPUT
OUPUT
OUPUT
INPUT
INPUT
OUPUT
OUPUT
INPUT
INPUT

Grup B
Port C (Lower)
OUPUT
INPUT
OUPUT
INPUT
OUPUT
INPUT
OUPUT
INPUT
OUPUT
INPUT
OUPUT
INPUT
OUPUT
INPUT
OUPUT
INPUT

20

Interfacing PC

(a)

(b)
Gambar 2.5 Diagram pewaktuan Input/Output (a) Input (b) Output

2. Mode 1
Mode ini menyediakan data I/O dari/ke port tertentu dengan sinyal kendali
(strobe/handshaking). Dalam Mode 1, port a dan Port B menggunakan port C untuk
menghasilkan/menerima sinyal kendali.
Definisi Mode 1 :

Mempunyai 2 grup (Grup A dan grup B)

Tiap Grup terdiri 8 bit data dan 4 bit data/kontrol

8 bit data dapat digunakan sebagai Input/Ouput dengan kondisi di-latch

4 bit kontrol digunakan untuk mengendalikan 8 bit port

Siti Sendari, S.T., M.T. 2007

21

Interfacing PC
Definisi Sinyal Kontrol masukan

STB ( masukan Strobe).Jika STB berlogika low, maka me-load data pada latch

masukan.

IBF (Input Buffer Full F/F). Jika IBF berlogika high, maka data diload ke latch
masukan (di-acknoledge). IBF di-set high pada saat STB low dan di-reset pada saat
RD menuju high (tepi naik).

INTR (Interrupt Request). Jika berlogika high, maka keluarannya dapat digunakan
untuk meng-interrupt CPU.INTR dalam kondisi set pada saat STB , IBF, dan RD
high. INTR ter-reset pada saat RD menuju low (tepi akhir) Dengan prosedur ini
piranti masukan yang sedang dilayani CPU, akan di-strobe.

Proses di atas ditunjukkan dalam Gambar 2.6.

Gambar 2.6 Proses Strobe masukan

Definisi Sinyal Kontrol Keluaran

OBF (Ouput Buffer Full F/F). Keluaran OBF menuju low untuk menandai bahwa

CPU menulis data keluaran pada port yang ditentukan. OBF diset oleh masukan
WR tepi naik dan di-rset oleh masukan ACK low.

ACK (Acknowledge Input). Kondisi low menunjukkan bahwa data dari port A atau

port B PPI 8255 telah diterima. Dalam hal ini respon dari periferal
mengindikasikan bahwa telah menerima data keluaran dari CPU.

INTR (Interrupt Request). Kondisi high pada keluaran dapat digunakan untuk
menginterrupt CPU saat keluaran piranti telah menerima data yang dikirimkan oleh

Siti Sendari, S.T., M.T. 2007

22

Interfacing PC
CPU. INTR diset jika ACK , OBF , dan INTE berlogika high, . INTR direset oleh
tepi akhir (falling edge) sinyal WR .

INTE A dikontrol oleh kondisi set/reset bit PC6.

INTE B dikontrol oleh kondisi set/reset bit PC2.

Proses di atas ditunjukkan dalam Gambar 2.7.

Gambar 2.7 Proses Strobe keluaran Mode 1

Kombinasi MODE 1
Port A dan port B dapat didefinisikan sendiri-sendiri sebagai input/ouput dalam
MODE 1 untuk mendukung aplikasi I/O strobe yang luas. Kombinasi ini ditunjukkan
dalam gambar 2.8

Gambar 2.8 Kombinasi Mode 1

Siti Sendari, S.T., M.T. 2007

23

Interfacing PC

3. Mode 2 (Strobe Bidirectional Bus I/O)


Konfigurasi fungsi ini menyediakan komunikasi dengan perfreral dengan 8-bit
tunggal untuk transmisi dan receiving data (bidirectional bus I/O). Sinyal jabat tangan
(handshaking) disediakan agar berfungsi sebagaimana MODE 1. Cara membangkitkan ,
mengenable dan mendisable fungsi juga sama dengan Mode 1.
Definisi fungsi Mode 2 :

Digunakan hanya untuk Grup A

Mempunyai 1 buah bus bidirectional pada port A dan 5 bit kontrol pada port C.

Masukan dan keluaran kedua-duanya di-latch

5-bit kontrol digunakan untuk mengontrol 8-bit bidirectional pada port A.

Bidirectional Bus I/O Control Signal Definition


INTR (interrupt Request). Kondisi high dapat digunakan untuk meng-interrupt
CPU untuk operasi masukan ataupun keluaran.

Operasi Keluaran :

OBF (Ouput Buffer Full F/F). Keluaran OBF menuju low untuk menandai bahwa

CPU menulis data keluaran pada port A.

ACK (Acknowledge Input). Kondisi low pada masukan akan meng-enable keluaran

buffer 3-state pada port A agar mengeluarkan data. Dengan kata lai keluaran buffer
akan berlogika high pada kondisi impedansi tinggi.

INTE 1 (INTE Flip-flop associated with OBF) dikontrol oleh kondisi set/reset bit
PC6.

Operasi keluaran

STB ( masukan Strobe). Jika STB berlogika low, maka me-load data pada latch

masukan.

IBF (Input Buffer Full F/F). Jika IBF berlogika high menandai bahwa data sudah
di-load ke masukan

INTE 2 (INTE Flip-flop associated with IBF) dikontrol oleh kondisi set/reset bit
PC4.

Siti Sendari, S.T., M.T. 2007

24

Interfacing PC
Proses Strobe bidirectional diperlihatkan dalam Gambar 2.9. Sedangkan timing pembacaan
dan timing penulisan diperlihatkan dalam Gambar 2.10.

Gambar 2.9 Proses strobe bidirectional mode 2

(b)
(a)
Gambar 2.10 Proses Tulis dan baca penulisan mode 2
(a) Timing penulisan
(b) Timing pembacaan

Kombinasi Mode Spesial

Jika ada kombinasi dimana tidak semua port C digunakan sebagai kontrol/status,

maka bit sisanya dapat digunakan sebagai berikut :


Siti Sendari, S.T., M.T. 2007

25

Interfacing PC
Jika diprogram sebagai masukan, maka semua jalur masukan dapat diakses slama
pembacaan port C normal

Jika diprogram sebagai keluaran, maka bit C upper (PC7-PC4) harus diakses
sendiri-sendiri menggunakan fungsi set/reset bit, sedangkan bit C lower (PC3-PC0)
dapat diakses menggunakan fungsi set/reset bit atau diakses sebagai penulisan
dalam port C

Ringkasan definisi Mode diperlihatkan dalam Tabel 2.3.

Tabel 2.3 Ringkasan fungsi Mode


Mode 0

Mode 1
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
IN
OUT
INTRB
INTRB

Mode 2
Hanya GRUP A

I/O
I/O

PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
PC0
PC1

IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN
IN

OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT

STB B

OBF B

PC2

IN

OUT

IBFB

ACK B

I/O

PC3
PC4

IN
IN

OUT
OUT

INTRA

INTRA
I/O

INTRA

PC5
PC6

IN
IN

OUT
OUT

IBFA
I/O

I/O

IBFA

ACK A

ACK A

PC7

IN

OUT

I/O

OBF A

OBF A

Siti Sendari, S.T., M.T. 2007

STB A

STB A

Anda mungkin juga menyukai