Anda di halaman 1dari 53

TRANSFER DATA SERIAL

 Di dalam komputer, transfer data


berlangsung secara paralel, karena cara
tersebut adalah cara tercepat. Semakin
lebar jalur data, semakin cepat transfer
data.
 Transfer data paralel tidak cocok
digunakan pada transfer data jarak jauh
karena akan sangat banyak kabel yang
digunakan. Untuk transfer data jarak jauh
digunakan transfer data serial.
Modul IO Serial
 Oleh karena itu, data yang akan ditransfer
dalam jarak yang jauh terlebih dahulu
harus dikonversi ke bentuk serial, dan
pada saat diterima dikonversi kembali ke
bentuk paralel. Proses tersebut akan
dilakukan oleh modul I/O (port) serial.
Transfer data serial

 Pada transfer data serial


dikenal 3 istilah, yaitu :
simplex
half-duplex
full duplex
Simplex
 Pada transfer data simplex, transfer
data hanya berlangsung satu arah.
Contoh : Transfer data dari sensor,
yang digunakan untuk memantau
keadaan di gunung berapi
Half-duplex

 Pada transfer data half-duplex,


transfer data bisa berlangsung dua
arah tetapi tidak bisa bersamaan.
Contoh : Transfer data dengan
menggunakan HT.
Full-duplex

 Pada transfer data ini, transfer data


bisa berlangsung dua arah secara
bersamaan.
Contoh : Transfer data dengan
menggunakan telepon
Sinkron dan asinkron
 Dataserial dapat ditransfer
secara sinkron dan asinkron
Transfer data Asinkron
 Pada metode transfer data ini, tiap data
(karakter) disertai oleh start bit dan stop
bit.
Transfer data Asinkron
 Setiap pengiriman data selalu ditambahkan start
bit sebagai tanda awal data dan stop bit sebagai
tanda akhir data. Selain itu juga bisa
ditambahkan sebuah parity bit untuk mengecek
terjadinya kesalahan.
 Karena setiap data selalu disertai dengan start
bit dan stop bit, data dapat dikirimkan secara
asinkron (pengirim dan penerima tidak perlu
disinkronkan).
 Ukuran data bisa 5, 6, 7 atau 8 bit.
 Efisiensinya rendah karena untuk mengirim
sebuah data harus juga dikirimkan bit-bit
tambahan tersebut.
Transfer data Sinkron
 Pada transfer data sinkron, data dikirimkan
dalam bentuk blok dengan kecepatan yang
konstan. Awal dan akhir blok ditandai dengan
adanya bit atau byte sinkronisasi berupa bit-bit
unik.
 Pada transfer data sinkron, pengirim dan
penerima harus disinkronkan (harus bekerja
dengan kecepatan clock yang sama).
Kecepatan transfer data
 Satuankecepatan transfer data ialah
baud dan besarnya dihitung sbb :
Baud rate = 1 / waktu untuk satu bit.

Contoh :Jika waktu untuk 1 bit adalah


3,33 mili detik, maka baud rate adalah
1/3,33 ms = 300 baud.
Modul I/O atau port serial
 Agar sebuah komputer bisa digunakan untuk transfer
data serial, pada komputer tersebut harus ada modul I/O
atau port serial.
 Pada port serial terdapat sebuah IC yang mengatur
berbagai hal pada saat transfer data serial berlangsung.
 Contoh IC tersebut adalah UART (Universal
Asynchronous Receiver Transmitter ) 16550 , yang bisa
digunakan untuk komunikasi asinkron. IC ini biasanya
digunakan pada port serial PC.
 IC yang lain adalah USART (Universal Synchronous
Asynchronous Receiver Transmitter) 8251, yang bisa
digunakan untuk komunikasi asinkron dan sinkron.
Serial Interface RS 232C
 RS 232C interface merupakan standar yang
direkomendasikan dan diupayakan oleh EIA (Electronic
Industries Association) untuk menghubungkan DTE
dengan DCE dan juga untuk menghubungkan 2 buah
DTE.
 DTE (Data Terminal Equipment) adalah perangkat yang
dilengkapi UART atau USART yang dapat mengubah
data paralel ke data serial atau sebaliknya. Contohnya
komputer PC.
 DCE (Data Communication Equipment) adalah
perangkat yang dapat mengubah data serial menjadi
sinyal analog yang dapat ditransmisikan pada saluran
transmisi seperti saluran telepon atau pemancar radio.
Serial Interface RS 232C
 Ada 3 aspek yang didefinisikan pada
standar ini :
 Kecepatan transfer data
 Karakteristik Elektris
 Definisi dan notasi saluran

 Kecepatan transfer diukur dalam satuan


bit per second (bps) dan dalam Baud.
 Kecepatan yang sering digunakan 2400,
9600, 38400, 57600, 115200 bps.
Serial Interface RS 232C
 Karakteristik elektris untuk logic level :
 Logic 1 disebut “mark” terletak antara -3
volt hingga -25 volt
 Logic 0 disebut “space” terletak antara +3
volt hingga +25 volt.
Serial Interface RS 232C
 Definisi dan Notasi Sinyal
 Ada 25 buah sinyal yang ditentukan pada
standar RS 232C.
 Sebagian dari sinyal-sinyal tersebut dapat
dilihat pada tabel berikut :
Serial Interface RS 232C
 Ada 2 jenis konektor yang biasa
digunakan, yaitu DB-9 (konektor dengan 9
buah pin) dan DB-25 (konektor dengan 25
pin)
Serial Interface RS 232C
Serial Interface RS 232C
Modem
 Transfer data jarak jauh biasanya menggunakan saluran telepon.
Hal ini disebabkan jaringan telepon sudah sangat luas digunakan.
Untuk keperluan khusus dapat juga digunakan saluran yang disewa
khusus (leased line).
 Saluran telepon diperuntukkan untuk menyalurkan sinyal suara
(sinyal analog) yang memiliki frekuensi 300 - 3000 Hz. Oleh karena
itu sinyal digital tidak dapat langsung dikirimkan melalui saluran
telepon, tetapi terlebih dahulu harus dimodulasi ke sinyal analog.
 Untuk itu digunakan suatu komponen yang disebut modem (
modulator-demodulator).
 Modem biasanya disebut Data Communication Equipment (DCE)
sedangkan komputer disebut Data Terminal Equipment (DTE).
Modem
 Jika sebuah transfer data jarak jauh akan
dilakukan, terlebih dahulu dilakukan proses
handshaking antara komputer dan modem
dan juga antara modem dengan komputer
jarak jauh.
 Berikut ini adalah urutan sinyal yang dihasilkan
pada saat transfer data berlangsung :
 Komputer mengirimkan sinyal DTR (data-
terminal ready) ke modem sebagai tanda bahwa
terminal siap.
 Jika modem juga siap, modem akan membalas
dengan sinyal DSR (data-set-ready).
 Modem selanjutnya mendial remote computer.
 Jika remote computer siap, dia akan
mengirimkan sinyal tertentu.
 Jika komputer memiliki data yang akan dikirim,
ia akan mengirimkan sinyal request-to-send
(RTS) ke modem.
 Modem akan membalas dengan mengirim
sinyal carrier-detect (CD) sebagai tanda
bahwa ia telah membangun koneksi dengan
remote computer. Dan jika modem benar-
benar siap, ia mengirimkan sinyal clear-to-
send (CTS).
 Selanjutnya komputer mengirimkan data
serial ke modem.
 Jika semua data telah dikirim, komputer
akan mengubah level sinyal RTS menjadi
high. Hal ini mengakibatkan modem juga
mengubah level sinyal CTS menjadi high
dan berhenti mengirimkan data.
Null Modem Connection
 Digunakan untuk menghubungkan dua buah
komputer (DTE) tanpa melalui modem.
Biasanya digunakan untuk melakukan
transfer data antara komputer desktop dan
komputer portabel.
USART 8251
 USART 8251 bisa digunakan sebagai port serial.
 Berikut ini adalah blok diagram dari USART
8251
USART 8251
 USART memiliki 2 alamat, yaitu : Control
Address, yang dipilih jika sinyal C / D high, dan
Data Address, yang dipilih jika sinyal C / D low.
 TxD adalah saluran untuk mengirimkan data
serial
 RxD adalah saluran untuk menerima data serial
 TxRDY saluran untuk memberitahu CPU bahwa
transmitter siap menerima data.
 RxRDY saluran untuk memberitahu CPU bahwa
receiver memiliki data untuk CPU.
USART 8251
 Seperti halnya PPI, sebelum menggunakan USART
8251 terlebih dahulu harus dilakukan proses inisialisasi
dengan mengirimkan mode word dan command word
pada alamat control USART.
 Ada beberapa hal yang harus ditentukan seperti :
 baud rate factor
 panjang bit data
 bit parity (ganjil atau genap)
 metode transfernya asinkron atau sinkron
 Informasi-informasi tersebut akan dikodekan dalam
mode word.
Contoh program inisialisasi
USART 8251
 Misalkan alamat data = 500 H, dan alamat
kontrol = 501 H.
 Inisialisasi dilakukan dengan cara
mengirimkan mode word dan command
word pada alamat kontrol.
Contoh program inisialisasi
USART 8251
Program inisialisasinya :
Contoh instruksi untuk mengirimkan
dan menerima data menggunakan
USART :
 Misalkan alamat data = 500 H, dan alamat
control = 501 H.
 Sebelum melakukan
pengiriman/penerimaan data, terlebih
dahulu harus dilakukan pemeriksaan
status USART dengan membaca status
registernya.
 Pada tersebut isi bit D2-D6 isinya tidak
dibahas pada pertemuan ini.
 DSR : menunjukkan status modem
 RxRDY : menunjukkan bahwa USART
telah menerima data serial dan siap
untuk mengirimkannya ke CPU.
 TxRDY : menunjukkan bahwa USART
siap untuk menerima data serial dari
CPU.
Instruksi untuk pengiriman data dengan
teknik programmed I/O

 Untuk pengiriman dengan teknik interrupt driven


I/O, saluran TxRDY USART dihubungkan ke
saluran interupsi CPU.
Instruksi untuk penerimaan data
dengan teknik programmed I/O

 Untuk pengiriman dengan teknik


interrupt driven I/O, saluran RxRDY
USART dihubungkan ke saluran
interupsi CPU.
UART (Universal Asynchronous
Receiver Transmitter)
 UART digunakan untuk transfer data serial asinkron
 Sama seperti USART, UART antara lain berfungsi
mengubah sinyal paralel menjadi serial pada saat
pengiriman dan dari serial menjadi paralel pada saat
penerimaan data.
 Contoh UART:
 UART 8250 dan UART 16450 yang digunakan pada
PC yang lama (sebelum generasi Pentium).
 UART 16550 dan UART 16650 yang digunakan pada
PC yang ada saat ini.
UART (Universal Asynchronous
Receiver Transmitter)
 UART yang muncul belakangan mampu mendukung
kecepatan transfer data yang lebih tinggi dan juga
memiliki ukuran buffer yang lebih besar.
 UART 8250 dan 16450 memiliki buffer yang dapat
menampung satu karakter ( 1 byte ). Jika ada data baru
datang pada saat data yang lama masih belum diambil
oleh prosesor, maka akan terjadi overrun error.
 UART 16550 memiliki buffer FIFO yang mampu
menampung 16 karakter dan bisa melakukan flow
control, yaitu bisa meminta pengirim menunda
pengiriman apabila buffer telah penuh.
UART 16550

 Peranti ini tersedia sebagai suatu DIP (dual in-line


package) 40-pin.
 Dua bagian terpisah bertanggung jawab untuk
komunikasi data: penerima (receiver) dan pengirim
(transmitter).
 Karena bagian-bagian ini independent satu dengan yang
lain, 16550 mampu berfungsi dalam mode simplex, half-
duplex, atau full duplex.
UART 16550
 Satu fitur utama dari 16550 adalah memori
FIFO (First In First Out) penerima dan
pengirim internal.
 Karena masing-masing berukuran 16 byte,
UART hanya membutuhkan perhatian dari
mikroprosesor setelah menerima 16 byte
data.
Register-register UART 16550
 UART 16550 memiliki tiga saluran alamat
A0, A1, A2 (memiliki 8 alamat).
 Register yang dipilih dari A0, A1, A2
adalah sebagai berikut:
Pemrograman UART 16550
 Pemrograman 16550 adalah sederhana,
meskipun mungkin lebih rumit
dibandingkan pemrograman interface
lainnya.
 Dalam PC, alamat port I/O adalah 3F8 H
sampai 3FF H untuk COM1 dan 2F8 H
sampai 2FF H untuk COM2.
 Pemrograman 16550 terdiri dari dua
bagian, yaitu: inisialisasi dan operasional.
Inisialisasi
 Inisialisasi terdiri dari dua bagian, yaitu
pemrograman Line Control Register dan
Baud rate divisor.
 Line Control Register digunakan untuk
memilih jumlah bit data, stop bit, dan
paritas.
 Baud rate divisor diprogram dengan suatu
pembagi untuk menetapkan Baud rate
pengirim.
Line Control Register
Memprogram Baud Rate
 Baud rate divisor diprogram pada alamat 000
dan 001 (A2, A1, A0).
 Nilai yang digunakan untuk pembagi tergantung
clock eksternal.
Contoh Inisialisasi
 Anggap suatu sistem asinkron membutuhkan 7
bit data, paritas ganjil, baud rate 9600, dan 1
stop bit.
 Dimisalkan alamat yang digunakan adalah F0 H
sampai F7 H.
 Di sini port F3 H mengakses Line Control
Register, dan F0 H dan F1 H mengakses
register Baud Rate Divisor.
 Pada bagian akhir program disertakan juga
program untuk register kontrol FIFO.
LINE EQU 0F3H
LSB EQU 0F0H
MSB EQU 0F1H
FIFO EQU 0F2H

START PROC NEAR


MOV AL,10001010B ; enable Baud Divisor
OUT LINE,AL

MOV AL,120 ;program Baud rate


OUT LSB,AL
MOV AL,0
OUT MSB,AL

MOV AL,00001010B ;program 7-data,


OUT LINE,AL ;odd parity, 1 stop bit

MOV AL,00000111B ;enable transmitter


OUT FIFO,AL ;and receiver

RET
START ENDP
Register Kontrol FIFO
 Pada saat setelah line control register dan
baud rate divisor diprogram register
kontrol FIFO belum siap difungsikan.
 Register FIFO harus terlebih dahulu
diprogram.
Register Kontrol FIFO
Line Status Register
 Sebelum data serial dapat dikirim atau
diterima, terlebih dahulu perlu diketahui isi
Line Status Register.
 Line Status Register berisi informasi
tentang keadaan kesalahan serta kondisi
pengirim dan penerima.
 Register ini dites sebelum suatu byte
dikirim atau dapat diterima.
Line Status Register
 Contoh prosedur untuk mengirim isi AH ke 16550. Bit TH diperiksa
untuk mengetahui apakah pengirim siap menerima data.

LSTAT EQU 0F5H ;line status port


DATA EQU 0F0H ;data port

SEND PROC NEAR

PUSH AX ;save AX
IN AL,LSTAT ;get line status register
TEST AL,20H ;test TH bit
JZ SEND ;if transmitter not ready

MOV AL,AH ;get data


OUT DATA,AL ;transmit data
POP AX ;restore AX
RET

SEND ENDP
 Untuk membaca informasi yang diterima dari 16550, sebelumnya bit
DR harus diperiksa.

LSTAT EQU 0F5H ;line status port


DATA EQU 0F0H ;data port

RECV PROC NEAR

IN AL,LSTAT ;get line status register


TEST AL,1 ;test DR bit
JZ RECV ;if no data in receiver

TEST AL,0EH ;test all 3 error bits


JNZ ERR ;for an error

IN AL,DATA ;read data from 16550


RET

ERR:
MOV AL,’?’ ;get question mark
RET

RECV ENDP
Kesalahan UART
 Tipe kesalahan yang dideteksi oleh 16550 adalah:
 Kesalahan paritas
 Kesalahan frame
 Kesalahan overrun
 Kesalahan paritas mengindikasikan data yang diterima
berisi paritas yang salah.
 Kesalahan framing mengindikasikan bit-bit start dan stop
tidak berada pada tempat yang seharusnya.
 Kesalahan overrun mengindikasikan data telah
melakukan overrun terhadap penyangga FIFO penerima
internal.

Anda mungkin juga menyukai