Mikroprocessor & Antarmuka (SK2023)
Download
Report
Transcript Mikroprocessor & Antarmuka (SK2023)
EE-2623
Mikroprosesor & Antarmuka
Materi 6
Interfacing I/O
Team Dosen
2006
Interfacing I/O
Secara umum interface I/O sama dengan interface ke
memori, hanya ada sedikit perbedaan dalam hal:
I/O umumnya hanya mempunyai alamat yang jauh lebih sedikit
(dibawah 100) dari memori (kB) saluran alamat yang masuk
ke Address Decoder akan lebih banyak
Beberapa prosesor mempunyai peta I/O terpisah dari peta
memori (termasuk i8088 dan turunannya)
Peta Memori dan I/O
intel 8088
FFFF
I/O 64K
0000
Interface Memori 8 IC RAM
s
/
d
AD
s
/
d
RAM1
Latch
s
AD0
AD7
/
D7
d
RAM8
Contoh soal:
Gambarkan address decoder untuk
LPT1 (378h) dan LPT2(278h) (/cs)
di prosesor i8088
Lakukan dengan bertahap (mulai dari
pembuatan tabel sampai pembuatan
rangkaian)
Jawaban soal
Pemetaan LPT1 dan LPT2 ke ruang alamat i8088 64kB (A0-A15)
Alamat
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
LPT1
378
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
0
LPT2
278
0
0
0
0
0
0
1
0
0
1
1
1
1
0
0
0
(LPT1) /cs =
/A15./A14./A13./A12./A11./A10.A9.A8./A7.A6.A5.A4.A3./A2./A1./A0.IO
(LPT1) /cs =
/A15./A14./A13./A12./A11./A10.A9./A8./A7.A6.A5.A4.A3./A2./A1./A0.IO
Address Decoder LPT1 (378h)
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A0
IO
CS
Controller
LPT1
8
A1
D0 – D7
Contoh soal:
Gambarkan address decoder untuk
joystick (100h sd 107h) /cs
di prosesor i8088
Lakukan dengan bertahap (mulai dari
pembuatan tabel sampai pembuatan
rangkaian)
Konsep I/O Interfacing
Sebagian besar dari I/O
berinterface serial
Dibutuhkan ‘glue chip’
(controller) sebagai
perantara antara I/O
dan uP
AD
Controller
uP
mouse
Serial
Paralel
Interface I/O Umum
Tidak berbeda jauh dari memori
Menggunakan latch LS373
Menggunakan tranceiver/buffer, untuk I/O menjadi
sangat penting karena kec. I/O << kec. Memori
Alamat dari A0 sd A15
Menggunakan juga address decoder (biasanya jumlah
kaki ke AD (An+1 sd A15; n= 1,2,3) > jumlah kaki ke
I/O (A0 sd An))
Khusus
I/O bisa meminta layanan dari prosesor, sementara
memori tidak bisa memerlukan mekanisme
permintaan khusus (interupt)
2 Metoda Akses Dasar
Polling
Devais I/O menjadi slave dari prosesor, I/O berkerja hanya atas
permintaan prosesor
Mekanisme: prosesor akan menanyakan (polling) ke setiap I/O
apakah perlu dilayani (ada data)
Baik untuk jumlah I/O yang sedikit
Selama melakukan polling, prosesor tidak bisa melakukan
pekerjaan lain
Interupt
Prosesor terus bekerja sampai ada permintaan (interupt) dari
I/O, jika ada permintaan prosesor menunda pekerjaan tersebut
untuk melakukan pelayanan atas permintaan
Cocok untuk jumlah I/O yang banyak
Prosesor bisa mengerjakan pekerjaan lain selama tidak ada
interupt
Membutuhkan sistem yang lebih rumit (implementasinya lebih
sukar, melibatkan hardware dan software)
Interupt
uP
Polling
Alamat
+ AD
Data
3
interupt 2
uP
Alamat 1
+ AD
Data
2 atau 3
3 atau 2
I/O
1
4
I/O
1. Parallel Peripheral Interface i8255
I8255 merupakan
periferal pasangan
dari i8088
i8255
Punya 3-4 alamat (8bit) yang bisa
diakses baca dan tulis
3 port (A,B,C) 8 bit kearah I/O
CWR
/WR
/RD
PortC R
PortB R
D7
PortA R
/CS
8 bit
A0
A1
D0
Programable
Program = menulis suatu kode
ke register control (kendali)
Diprogram 24 bit input 1 00 1
1 0 1 1 (9B)
24 bit output
1 00 0 0 0 0 0 (80)
MOV AL, 10000000b
MOV DX,303 alamat control register
OUT DX, AL
Mode
Mode 0
Tanpa handshaking antara PPI dan devais yang terhubung tidak ada
negosiasi/persetujuan/tanda (PPI akan menulis/membaca data tanpa devais
luar siap)
Pilihan
24 bit input
24 bit output
12 input dan 12(atau 8) output
12 output dan 12(atau 8) input
8 bit input dan 16(atau 8) bit output
8 bit output dan 16(atau 8) bit input
`
Mode 1 Input
Single handshaking
1. STB
2. data (devais PPI)
3. IBF
4. INTR (memberi tahu uP ada
data)
5. RD
6. data (ppi uP)
uP
PPI
RD
INTR
STB devais
IBF
Mode 1 Output
1. WR
2. data (uP PPI)
3. OBF
4. data (PPI devais)
5. ACK
6. INTR (memberi tahu uP, PPI siap
menerima data)
uP
PPI
WR
INTR
ACK devais
OBF
Port A
Port CH
Port CL
Port B
Mode 0 8bit
Mode 0 4bit
Mode 0 4bit
Mode 0 8bit
Mode 0 8bit
Mode 0 4bit
Ctrl B
Mode 1 8bit
Mode 1 8 bit
Ctrl A
Mode 1 8 bit
Ctrl A
Mode 2 8 bit
Ctrl A
Ctrl
A +B
Ctrl A
Ctrl A
Mode 1 8bit
Mode 0 8bit
Mode 0 8bit
Mode 0 input atau output saja
Mode 1 input atau output saja dengan handshaking
Mode 2 input dan output dengan handshaking
Contoh soal
(a) Temukan alamatalamat port dan control:
(b) Tentukan program
CWR, jika
PA =out,
PB=in,
PC0 – PC3 =in,
dan PC4 - PC7=out.
(c) Buat program 8255
untuk mendapat data dari
port B dan kirimkan ke
port A. Juga data dari port
C Low dikirim ke CPU.
CH
Jawaban
a.
/CS= /(A2.A3.A4.A5.A6./A7) 0111 11XX
port A 0111 1100 = 7C
port B 0111 1101 = 7D
port C 0111 1110 = 7E
CWR 0111 1111 = 7F
b.
Program CWR jika PA=out,PB=in,PCL=in,PCH=out CWR = 10000011 (83h)
mov DX,xx7F
mov AL,1000 0011
out DX,AL
c.
Program (setelah CWR selesai di init CWR= 1001 x001)
mov DX,xx7C
in AL,DX
mov DX,xx7D
out DX,AL
mov DX,xx7E
in AL,DX
and AL,OF
BSR (bit set/reset)
Sifat khas dari port C adalah bisa diprogram
bit demi bit. Mode BSR bisa membuat setiap
bit di PC0 sampai PC7 sebagai ‘0’ atau ‘1’.
Contoh penggunaan
Program PC4 digambar ini untuk menghasilkan sebuah pulsa 50
ms dengan duty cycle 50%.
Jawab:
8255 diprogram di mode BSR,
bit D7 dari control word harus low.
Membuat PC4 high, control word nya adalah ‘0xxx1001".
Membuat PC4 low , control word nya adalah “0xxx1000".
X adalah "don't care" dan umumnya di set ‘0’.
MOV AL.00001001B
OUT 93H,AL
CALL DELAY
MOV AL,00001 OOOB
OUT 93,AL
CALL DELAY
;muat byte control (PC4=1)
;set PC4 high, kirim ke CWR
;waktu delay 0.5 * 50 ms
;muat byte control (PC4=0)
;set PC4 low, kirim ke CWR
;waktu delay 0.5 * 50 ms
Mode 2:
I/O bidirectional dengan handshaking
Untuk mentransfer data baik masuk
mapun keluar melalui port yang sama
dengan kemampuan handshaking, port A
digunakan di mode 2.
Sinyal handshaking untuk port A
disediakan dengan memilih bit di port C.
Di mode 2 selain port A, dapat digunakan
port B di mode 0 or 1.
Mode 2 and Mode 1 output
PC3
INTRA
PA7-PA0
Control word
11 x x x 10 x
PC7
OBFA
PC6
ACKA
PC4
STBA
PC5
IBFA
PB7-0B1
PC1
OBFB
RD
PC2
ACKB
WR
PC0
INTRB
Mode 2 and Mode 1 Input
PC3
INTRA
PA7-PA0
Control word
11 x x x 11 x
PC7
OBFA
PC6
ACKA
PC4
STBA
PC5
IBFA
PB7-0B1
PC1
IBFB
RD
PC2
STBB
WR
PC0
INTRB
Interfacing dengan DIP Switch
+5 V
5 KO hm x 8
PPI
ON
D0
D1
D2
D3
D4
8088
D5
D6
D7
RD
A d d re ss
D e co d e r
IO / M
}
A d d re s s
Bus
PPI sebagai controller LED 7 segmen
PPI