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