45
1 LOGO Oleh: Junartho Halomoan ([email protected]) Mikroprosesor dan Antarmuka Antarmuka I/O Komunikasi I/O [1] Selain bisa berkomunikasi dengan memori melalui rangkaian antarmuka memori, mikroprosesor 8088 bisa mengakses port I/O. Port tersebut diakses untuk membawa data ke mikroprosesor/CPU (input) atau mengirim data dari mikroprosesor JUN - ITTELKOM

Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

Embed Size (px)

Citation preview

Page 1: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

1

LOGO

Oleh: Junartho Halomoan ([email protected])

Mikroprosesor dan Antarmuka

Antarmuka I/O

Komunikasi I/O [1]

Selain bisa berkomunikasi dengan memorimelalui rangkaian antarmuka memori, mikroprosesor 8088 bisa mengakses port I/O. Port tersebut diakses untuk membawadata ke mikroprosesor/CPU (input) ataumengirim data dari mikroprosesor

JUN - I

TTELKOM

Page 2: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

2

Komunikasi I/O [2]

CPU (µP) dapat transfer data dari/ke I/O dengan 2 cara: parallel dan serial.

Komunikasi Parallel cepat dan efisien. Komunikasi parallel mengunakan lebih dari 8 kabel, digunakan untuk mentransfer data dalam jarak beberapa kaki (Cth. printer, hard disk dll).

Komunikasi I/O [3]

Dahulu komunikasi paralel dapat transfer data lebih cepat daripada komunikasi serial. Sekarang komunikasi serial dapat lebih cepat dibandingkan komunikasi paralel (cth.SATA)

komunikasi paralel sangat tidak efisien untuk komunikasi jarak jauh karena membutuhkan sejumlah kabel dan sinkronisasi pensinyalan komunikasi paralel juga menyulitkan

JUN - I

TTELKOM

Page 3: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

3

Komunikasi I/O [4]

Komunikasi serial mengirimkan 1 bit pada suatu waktu, sehingga lebih lama dibandingkan paralel (dahulu)

Komunikasi serial merupakan solusi terbaik untuk komunikasi jarak jauh. Karena tidak ada masalah sinkronisasi. Komunikasi serial membutuhkan lebih sedikit kabel. Contoh komunikasi serial: Modem, keyboard, USB, dll

Komunikasi I/O – memory [5]

JUN - I

TTELKOM

Page 4: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

4

Pemrograman I/O [1]

Ada dua instruksi assembly yang melakukan pemrograman input/ output data yakni “IN” dan “OUT”. Denganmenggunakan instruksi tersebut data dikirim dari akumulator (AX,AL, atau AH) ke port atau menerima data dari port kedalam akumulator

Pemrograman I/O - 8bit data [2]

Instruksi pemrograman I/O data 8 Bit

JUN - I

TTELKOM

Page 5: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

5

Pemrograman I/O- 8bit data [3]

Keterangan Instruksi I/O data 8 bit (AL)

format (1), port# merupakan alamat port dari 00 sampai FFh pengalamatan 8 bit berarti dapat mengakses port sebanyak256 input dan 256 output. Tidak adaregister segment apapun digunakan di sini

format (2) , port# merupakan alamat port dari 0000 sampai FFFFh pengalamatan 16 bit berarti dapat mengakses port sebanyak65.536 input dan 65.536 output. Tidak adaregister segment apapun digunakan di sini.

Pemrograman I/O – contoh A [4]

Buat urutan program I/O yang mengirimkan data FFh ke port alamat ABh?

MOV AL,FFH

OUT ABH,AL

Buat urutan program I/O yang mengirimkan data FFh ke port alamatB000h?

MOV DX,B000H ;karena pengalamatan 16 bit maka digunakan reg. DX

MOV AL,FFH

OUT DX,AL

JUN - I

TTELKOM

Page 6: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

6

Pemrograman I/O – contoh B [5]

Diasumsikan port alamat 22h merupakanmasukan untuk monitor suhu. Buat urutanprogram untuk memonitor secara kontinupada temperatur 100 derajat. Ketikamencapai 100, maka register BH mengandung nilai “Y”

BACK: IN AL,22H ; monitor suhu @ 22h

CMP AL,100 ;apakah temp =100?

JNZ BACK ; jika tidak, terus monitor

MOV BH,‟Y‟ ;temp =100, salin „Y‟ ke BH

Pemrograman I/O - 16bit data [6]

JUN - I

TTELKOM

Page 7: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

7

Pemrograman I/O – contoh C [7]

Diasumsikan data 16 bit reg AX=98F6h dan port alamat = 47h maka instruksipemrograman I/Onya adalah:

MOV AX,98F6h

OUT 47H,AX

Penjelasan: data 8bit low “F6” ke port alamat47h dan 8bit high “98” ke port alamat 48h. Ingat prinsip “little endian”!

Komunikasi PPI [1]

Programmable Peripheral Interface (PPI) merupakan suatu perangkat antarmukaI/O yang dapat diprogram untukmelakukan komunikasi paralel. Contoh I/O: keyboard, printer, dll

Chip 8255 PPI merupakan salah satu chip yang dapat melakukan antarmuka I/O dengan komunikasi paralel dari/kemikroprosesor. Chip 8255 memiliki 3 port terpisah yang bisa diakses A, B, dan C. Setiap port bisa diprogram menjadi input atau output. Pengalamatan: 60h s/d 63h

JUN - I

TTELKOM

Page 8: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

8

Komunikasi PPI [2]

Komunikasi PPI [3]

JUN - I

TTELKOM

Page 9: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

9

Komunikasi PPI [4]

Komunikasi PPI [5]

PA0-PA7 (Port A) : 8 bit port yang dapatdiprogram sebagai input atau output ataubi-directional input/output.

PB0-PB7 (Port B) : 8 bit port yang dapatdiprogram sebagai input atau output ataubi-directional input/output.

PC0-PC7 (Port C) : 8 bit port yang dapatdiprogram sebagai input atau output. Port C bisa dibagi 2 bagian yakni: CU (Upper 4 bits PC4-PC7) dan CL (Lower 4 bits PC0-PC3). CU atau CL bisa digunakan sebagaiinput atau output

JUN - I

TTELKOM

Page 10: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

10

Komunikasi PPI [6]

RD and WR : Pin ini merupakan sinyalmasukan aktif rendah (low) ke 8255 digunakan untuk membaca/ menulis dari/ ke I/O. Jika tipe isolated I/O, maka µP menghubungkan pin IOR dan IOW ke PIN RD dan WR. Jika tipe memory-mapped I/O, maka µP menghubungkan pin MEMR danMEMW ke PIND RD dan WR

RESET: pin masukan aktif tinggi ke 8255 digunakan untuk mereset control register. Ketika reset diaktifkan semua port bekerjasebagai port input

Komunikasi PPI [7]

A0, A1, dan CS: Pin CS (masukan aktifrendah) digunakan untuk me-enable chip 8255, Pin A0 dan A1 digunakanuntuk mengakses salah satu port ataucontrol register/ command byte/ control word register

JUN - I

TTELKOM

Page 11: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

11

Komunikasi PPI [8]

Komunikasi PPI [9]

JUN - I

TTELKOM

Page 12: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

12

Komunikasi PPI – MODE 0 [10]

PPI dapat diprogram 3 jenis mode:

1) Mode 0:mode sederhana input atau output

mode 0 merupakan mode dasar I/O. Padamode ini port A,B atau C bisa diprogramsebagai input atau output. Mode ini tidakada proses handshaking

Catatan:pada mode ini, port tidak dapatbekerja sebagai port input dan port output pada saat bersamaan. Karakteristik port C bisa diprogram terpisah pada CL (PC0-PC3) dan CU (PC4-PC7). CL dan CU independen.

Komunikasi PPI – soal A [11]

Antarmuka I/O 8255 dalam mode 0 dengankonfigurasi port: port A sebagai input, B sebagai output, dan semua bit dalam port C sebagai output.Tentukan isi control register dan buat program input data padaport A dan output data pada port B dan C. base address 60h!

Control register = “1 0 0 1 0 0 0 0” = 90h

JUN - I

TTELKOM

Page 13: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

13

Komunikasi PPI – soal A [12]

Program:

MOV AL,90H ; inisialisasi 8255

MOV DX,63H ; alamat control register

OUT DX,AL ;output Control Byte ke Control register

MOV DX,60H ;alamat Port A

IN AL,DX ;input data Port A

MOV DX,61H ; alamat Port B

OUT DX,AL ;output data Port B

MOV DX,62H ; alamat Port C

OUT DX,AL ;output data Port C

Komunikasi PPI – soal B [13]

Antarmuka I/O 8255 dalam mode 0 dengankonfigurasi port: port A sebagai input, B sebagai output, dan port CL sebagai input, port CU sebagai output.Tentukan isi control register dan buat program input data padaport A, output data pada port B, input data pada port CL, dan output data padaPortCU.base address 60h!

Control register = “1 0 0 1 0 0 0 1”

JUN - I

TTELKOM

Page 14: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

14

Komunikasi PPI – soal B [14]

Program:

MOV AL,91H ; inisialisasi PPI

MOV DX,63H ;alamat Control Register

OUT DX,AL ; output Control Byte keControl register

MOV DX,60H ;alamat Port A

IN AL,DX ;input data Port A

MOV DX,61H ; alamat Port B

OUT DX,AL ; alamat Port B

Komunikasi PPI – soal B [15]

; Port CL sebagai input

MOV DX,62H ; alamat Port C

IN AL,DX ;input data port C

AND AL,0FH ;dapatkan lower nibble bits

Port CL

; Port CU sebagai output

MOV CL,4 ;rotate count =4

ROL AL,CL ;shift bit ke posisi upper nibble bit

OUT DX,AL ;output PCL to PCU

JUN - I

TTELKOM

Page 15: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

15

Komunikasi PPI - MODE 1 [16]

2) Mode 1(mode I/O dengan kemampuanhandshaking). Handshaking mengacupada proses komunikasi antara perangkatI/O dengan PPI 8255. Sebagai contohPerangkat Printer. Pada Mode ini, Port A dan Port B digunakan Input atau Output, sedangkan port C digunakan untukpensinyalan handshaking

Komunikasi PPI - MODE 1 [17]

JUN - I

TTELKOM

Page 16: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

16

Komunikasi PPI - MODE 1 [18]

uP

PPI

Perangkat

I/OSTBIBF

INTR

RD

Komunikasi PPI - MODE 1 [19]

Proses Input Data Mode 1

1) Sinyal strobe/STB dari I/O ke pin PC.4

2) Data masuk dari perangkat

I/O ke port A

3) Sinyal IBF (buffer full) dari

pin PC.5 ke perangkat I/O

4) Sinyal INTR (interrupt req)

dari pin PC.3 ke µP

5) Sinyal µP (pin RD) ke 8255 (pin RD) untukmembaca 8255 µP

6) Data sudah dibaca µP melalui D0-D7

JUN - I

TTELKOM

Page 17: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

17

Komunikasi PPI - MODE 1 [20]

Komunikasi PPI - MODE 1 [21]

uP

PPI

Perangkat

I/O

OBF

INTR

WR

ACK

JUN - I

TTELKOM

Page 18: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

18

Komunikasi PPI - MODE 1 [22]

Proses Output Data Mode 1

1) Sinyal dari µP (WR) ke 8255 (WR)

2) Sinyal INTR (interrupt req) dari pin PC.3 ke µP

3) Data keluar µP 8255 I/O

4) Sinyal OBF (buffer full) dari pin PC.5 keperangkat I/O

5) Sinyal ACK (acknowledge) dari I/O ke pin 8255 (ACK)

6) Data sudah ditulis ke I/O

Komunikasi PPI - MODE 2 [23]

3) Mode 2(Bi-directional I/O dengankemampuan handshaking). Salah satuport mempunyai 2 fungsi mentransferdata input dan output – bi-directional. Komunikasinya diatur dengan pensinyalanhandshaking. Pada Mode ini Port A digunakan port bi-directional dan port C digunakan untuk pensinyalanhandshaking. Port B bisa dikonfigurasikansebagai mode 0 atau 1. Mode 2 merupakan gabungan mode1 input danoutput (pensinyalan handshaking sama).

JUN - I

TTELKOM

Page 19: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

19

Komunikasi PPI - MODE 2 [24]

Komunikasi PPI - Keypad [25]

JUN - I

TTELKOM

Page 20: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

20

Komunikasi PPI – 7segment [26]

Komunikasi PPI - Keypad [26]

Buat urutan program I/O keypad 4x4 dengan PPI 8255 dan buat rangkaiandecodernya. Alamat PPI 70-73

Buat urutan program I/O seven segment dengan PPI 8255 dan buat rangkaiandecodernya. Alamat PPI 80-83

Buat urutan program PWM duty cycle sebesar 50% dengan perioda sebesar10ms menggunakan PPI 8255

JUN - I

TTELKOM

Page 21: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

21

Komunikasi Paralel-Program [1]

Standard Parallel Port

Port Parallel merupakan port yang paling sering digunakan untuk antarmuka. Port tersebut bisa digunakan untuk input data samapai 9 bit atau output data sampai 12 bit.walau membutuhkan rangkaianeksternal

Port parallel dapat ditemukan di belakangPC anda dengan konektor female D-Type 25 pin

Komunikasi Paralel-Program [2]

Port parallel distandarisasikan oleh IEEE 1248, release pertama pada tahun 1994

Standar tersebut mendefinisikan 5 mode operasi yakni,

1. Compatibility Mode. (Centronics Mode)

2. Nibble Mode

3. Byte Mode √

4. EPP Mode (Enhanced Parallel Port).

5. ECP Mode (Extended Capabilities Mode).

JUN - I

TTELKOM

Page 22: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

22

Komunikasi Paralel-Program [3]

Compatibility mode disebut juga"Centronics Mode". Pada mode ini, andahanya bisa melakukan output data. Untukmenerima data, anda harus merubah keNibble atau Byte mode.

Nibble mode melakukan input data 4 bit (nibble) dari perangkat ke komputer

Byte mode menggunakan fitur Parallel's bi-directional melakukan input data 8 bits (byte)

Komunikasi Paralel-Program [4]

Extended dan Enhanced Parallel Ports menggunakan rangkaian tambahan untukmengendalikan dan membangkitkan sinyalhandshaking

JUN - I

TTELKOM

Page 23: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

23

Komunikasi Paralel-Port [5]

Port parallel biasanya menggunakan 3 base address. LPT1 biasanya pada base address 378h, sedangkan LPT2 biasanya pada base address 278h. 378h & 278h biasadigunakan untuk akses port parallel

Komunikasi Paralel-H/W [6]

H/W yang digunakan untuk komunikasi paralelkonektor D-type 25 pin dan centronics 36 pin

Konektor female D-Type 25 pin biasa ditemukan dikomputer dan konektor Centronics 36 pin ditemukan pada printer

Centronics

D-Type 25 pin

JUN - I

TTELKOM

Page 24: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

24

Komunikasi Paralel-H/W [7]

Komunikasi Paralel-S/W [8]

Port data Data 0–Data 7 Pin 2 – Pin 9

Note1:Jika port merupakan Bi-Directional maka operasi baca dan tulis bisa dilakukan. Base address disebut data port atau data register. Misal,base address 378h

JUN - I

TTELKOM

Page 25: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

25

Komunikasi Paralel-S/W [9]

Status Port menggunakan 5 input (Pins10,11,12,13 & 15), sebuah register statusIRQ dan 2 bit reserved. Port Status hanyabisa digunakan untuk membaca saja

Komunikasi Paralel-S/W [10]

Mode bi-directional bisa diaktifkan denganmemberikan tegangan 5 volt pada portcontrol bit ke-5. Dengan mengaktifkan bi-directional maka anda dapat membacadata pada port data.

JUN - I

TTELKOM

Page 26: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

26

Komunikasi Paralel- S/W [11]

Buat urutan program I/O paralel untukmenulis data 11111111B ke port data SPP dengan base address 378h?

MOV DX,378H ; base address SPP =378H, offset yang digunakan base+0 = 378 +0 = 378h

MOV AL,11111111B ; data diletakkan padaregister AL

OUT DX,AL; data ditulis ke port data

Komunikasi Paralel – S/W [12]

Buat urutan program I/O paralel untuk membacadata dari port data SPP dengan base address 378h dan mode bi-directional?

MOV DX,378H ; base address SPP =378H, offset yang digunakan base+2 = 378 +2 = 37Ah port

control

MOV AL,00000100B ; data diletakkan padaregister AL enable bi-directional

OUT DX,AL; data ditulis ke port control

MOV DX,378H ; base address SPP =378H, offset yang digunakan base+0 = 378 +0 = 37Ah port

data

IN AL,DX; data dibaca dari port data

JUN - I

TTELKOM

Page 27: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

27

Komunikasi Paralel-soal C [13]

Buat rangkaian address decoder untukmengaktifkan controller port parallel dengan base address 378h (cat.controllerdiasumsikan hanya mempunyai satu pin chip select – aktif rendah/ low)?

Komunikasi Serial [1]

Komunikasi Serial terbagi 2 metode:

a) Komunikasi sinkron (Synchronous) membutuhkan sinyal pewaktuan yang sama untuk sinkronisasi. Hal ini berartisinyal clock harus ditransmisikan. Padametode sinkron satu blok data suatuwaktu tertentu ditransmisikan

JUN - I

TTELKOM

Page 28: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

28

Komunikasi Serial [2]

b) Komunikasi Asinkron (asynchronous) merupakan komunikasi yang tidakmembutuhkan pesinyalan clock yang sama dan mentransmisikan data (single byte) pada suatu waktu tertentu. Contoh: bit start dan stop digunakan untukmengindikasikan penerimaan sebuah byte

Komunikasi Serial [3]

Jenis transmisi pada komunikasi serial

a) Transmisi simpleks (simplex): Transmisihanya satu arah saja

JUN - I

TTELKOM

Page 29: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

29

Komunikasi Serial [4]

b) Transmisi Half Duplex: Transmisi dua arahtetapi hanya satu arah pada suatu waktu

c) Transmisi Full Duplex: Transmisi dua arahpada suatu waktu

Jenis Perangkat yang menggunakankomunikasi serial terbagi 2 macam DCE (Data Communications Equipment) danDTE (Data Terminal Equipment.)

Komunikasi Serial [5]

DTE mengacu pada terminal end dankomputer yang menerima dan mengirimdata, sedangkan

DCE mengacu pada perangkat komunikasiyang bertanggung jawab untukmentransfer data. Contoh Perangkat DTE: komputer dan DCE: modem

JUN - I

TTELKOM

Page 30: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

30

Komunikasi Serial [6]

uPUARTData

8 bitTTL

Bipolar

UART (Universal Asynchronous Receiver Transmitter)

Bipolar

TTL

Modem/ Printer

Level teganganRS-232

Level teganganTTL

DCE/ DTE

DTE

Komunikasi Serial [7]

Chip UART mentransmisikan data paraleldari µP ke serial (dalam format teganganTTL) lalu diterima oleh IC MC1488 (mengubah tegangan TTL menjadi bipolar level tegangan RS-232

① ②③

JUN - I

TTELKOM

Page 31: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

31

Komunikasi Serial [8]

MAX 232 = MAX1488 + MAX 1489

Komunikasi Serial [9]

Agar dua perangkat dapat berkomunikasiserial maka diperlukan suatu protokol. Protokol pada komunikasi serial asinkrondikirim/diterima dalam satu frame data, yang diawali oleh start bit dan diakhiri olehstop bit

JUN - I

TTELKOM

Page 32: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

32

Komunikasi Serial [10]

Pengiriman data komunikasi asinkronmenggunakan orientasi karakter(character-oriented) Kode ASCII

Start bit selalu berjumlah satu bit danselalu bernilai “0” (low) sedangkan stop bit bisa berjumlah dua bit dan selalu bernilai“1” (high). Sebagai contoh dikirim data ascii karakter “A” (nilai biner 0100 0001)

maka 1 frame data terdiri dari:

Start bit + 0100 0001 + stop bit

Data LSB dikirim terlebih dahulu

Komunikasi Serial – RS232 [11]

Spesifikasi kelistrikan komunikasi serial yang biasa digunakan komputer adalah EIA (Electronics Industry Association) RS232C standard. Parameternya mencakup:

1. "Space" atau logic 0 antara +3V dan +25V

2. "Mark" atau logic 1 antara +3V dan +25 V

3. Tegangan antara +3 and -3 volts tidak terdefinisikan

4. Tegangan Open circuit tidak lebih dari 25V

5. Arus Short circuit tidak lebih dari 500mA

JUN - I

TTELKOM

Page 33: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

33

Komunikasi Serial – RS232 [12]

Komunikasi Serial – RS232 [13]

JUN - I

TTELKOM

Page 34: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

34

Komunikasi Serial – RS232 [14]

Komunikasi Serial – UART [15]

Chip UART (Universal Asynchronous Receiver-Transmitter) merupakan chip yang digunakan untuk komunikasi serial pada komputer dan level tegangannya TTL Contoh: Chip 8250 series, 16450, 16550, 16650, & 16750 yang paling seringdigunakan

JUN - I

TTELKOM

Page 35: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

35

Komunikasi Serial – UART [16]

Komunikasi Serial – UART [17]

Perbedaan 16550 dan 8250 adalah pin 24 dan 29. Pin transmit ready dan receive ready digunakan untukmenandakan aktif/ tidaknyasuatu chip

Chip 16550 bisa digunakanuntuk transmitter danreceiver. Jenis transmisiyang digunakan bisasimpleks, Half duplex atauFull duplex

JUN - I

TTELKOM

Page 36: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

36

Komunikasi Serial – UART [18]

Pin A2,A1,A0 register internal untuk

mengatur pemrograman dan transfer data

Pin CS0,CS1,CS2 untuk meng-enablekan

IC

Pin D0-D7 Pin data dari/ke µP

Komunikasi Serial – UART [19]

Pin TXRDY,RXRDY, RTS,CTS, DCD,DSR,RI Pin Kontrol

Pin Baudout Sinyal Clock masukan

Pin MR Master reset

Pin RD digunakan untuk membaca data

dari port address serial

Pin WR digunakan untuk mentransfer

data ke port address serial

JUN - I

TTELKOM

Page 37: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

37

Komunikasi Serial – S/W [20]

COM 1 port komunikasi serial no.1,

memiliki base address di 3F8h

Komunikasi Serial – S/W [21]

Untuk bisa mengetahui alamat base address COM1, kita dapat mengakses kememori BIOS

JUN - I

TTELKOM

Page 38: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

38

Komunikasi Serial – S/W [22]

Komunikasi Serial – S/W [23]

DLAB kepanjangan dari Divisor Latch Access Bit. Ketika DLAB diset '1' melaluiline control register, dua register (Divisor latch low byte dan Divisor latch high byte) bisa digunakan untuk mengatur kecepatankomunikasi biasa disebut baudrate dalamsatuan bit per second. UART bekerja padafrekuensi clock 1,8432MHz dibagi 16

didapatkan baud rate maksimum 115.200 bps

JUN - I

TTELKOM

Page 39: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

39

Komunikasi Serial – S/W [24]

Komunikasi Serial – S/W [25]

Line Control Register (√)

JUN - I

TTELKOM

Page 40: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

40

Komunikasi Serial – S/W [26]

Line Status Register (√)

Komunikasi Serial – S/W [27]

Modem Control Register

JUN - I

TTELKOM

Page 41: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

41

Komunikasi Serial – S/W [28]

Modem Status Register

Komunikasi Serial – S/W [29]

Jika diinginkan baudrate 2400 bps, carinilai divisor, nilai divisor latch low byte, nilai divisor latch low byte? (Cat. Clock referensi 1,8432MHz)

Divisor =(1,8432 * 106 )/ (16*2400) =48

Divisor latch = 0030h (nilai 48 dalamdesimal)

Div.latch low = 30h

Div.latch high = 00h

JUN - I

TTELKOM

Page 42: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

42

Komunikasi Serial – S/W [30]

Buat urutan instruksi pemrograman serial dengan baudrate yang diinginkan 9600 bps

MOV AL,80H ;10000000B enable DLAB

MOV DX,3FBH; alamat line control register (3F8H+03)

OUT DX,AL ; DLAB enable

;kemudian mengirim nilai divisor

MOV AL,12 ;9600 baud rate

MOV DX,3F8H ;alamat divisor latch Low byte (3F8H+0)

Komunikasi Serial – S/W [31]

OUT DX,AL ; kirim Div.latch low byte

MOV AL,00

INC DX ; alamat divisor latch high byte (3F8H+01)

OUT DX,AL ; kirim Div.latch high byte

MOV AL,00H ;00000000B disable DLAB

MOV DX,3FBH; alamat line control register (3F8H+03)

OUT DX,AL ; DLAB disable

JUN - I

TTELKOM

Page 43: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

43

Komunikasi Serial – S/W [32]

(mengacu soal sebelumnyabaudrate=9600) Tambahkan urutaninstruksi untuk mengirimkan data biner“10001000” dengan format data 8 bit, 1 stop bit, tanpa parity

;Didapatkan dari tabel Line Control Register 0000 0111B = 0AH dikirimkan kealamat LCR (base+03H)

MOV DX,3FBH ;3F8H+03

Komunikasi Serial – S/W [33]

MOV AL,0AH ; data 8 bit , 1 stop bit, no parity

OUT DX,AL;mengeluarkan data

MOV DX,3FDH; (3F8+05) cek line status register apakah siap mentransmisikandata? bit ke-5 LSR

BACK: IN AL,DX

CMP AL,10H

JNZ BACK

JUN - I

TTELKOM

Page 44: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

44

Komunikasi Serial – S/W [34]

MOV DX,3F8H ;3F8H+0 Transmitter

holding buffer

MOV AL,88H ; data yang ditransmisikan

OUT DX,AL; data ditransmisikan ke port

(mengacu soal sebelumnyabaudrate=9600) Tambahkan urutaninstruksi untuk menerima data biner dnganformat data 8 bit, 1 stop bit, tanpa parity

;Didapatkan dari tabel Line Control Register 0000 0111B = 0AH dikirimkan kealamat LCR (base+03H)

Komunikasi Serial – S/W [35]

MOV DX,3FBH ;3F8H+03

MOV AL,0AH ; data 8 bit , 1 stop bit, no parity

OUT DX,AL ;mengeluarkan data

MOV DX,3FDH; (3F8+05) cek line status register apakah data siap diterima? bit

ke-0 LSR

BACK: IN AL,DX

CMP AL,01H

JNZ BACK

JUN - I

TTELKOM

Page 45: Antarmuka I/O ITTELKOM · PDF fileChip 8255 PPI merupakan salah satu chip yang dapat melakukan ... Buat urutan program I/O seven segment dengan PPI 8255 dan buat ... 10ms menggunakan

45

Komunikasi Serial – S/W [36]

MOV DX,3F8H ;3F8H+0 receive buffer

IN AL,DX; data dibaca dari port

JUN - I

TTELKOM