Komponen DTE

Download Report

Transcript Komponen DTE

Komponen DTE - DCE
By
Kustanto
Kepanjangan DTE
• DTE (Data Terminal Equipment)
• Suatu model/workstation yang dapat
melakukan proses pengolahan data dan berfungsi
untuk dapat mengirim/menerima data/informasi
yang ada.
• Hardware yang dihubungkan dengan sumber atau
hardware tujuan untuk data binary digital
• Harware yang dilengkapi UART atau USART yang
dapat mengubah data paralel ke data serial atau
sebaliknya.
• Contoh: Komputer
Kepanjangan DCE
• DCE (Data Communication Equipment)
• Suatu bentuk peralatan yang digunakan untuk
menampung data/informasi yang selanjutnya
disalurkn melalui gelombang pembaca (Carrier).
• Hardware yang dapat mengubah data serial
menjadi sinyal analog yang dapat ditransmisikan
pada saluran transmisi seperti saluran telepon
atau pemancar radio.
• Contoh: Modem
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.
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.
Gambar Penyambung DTE dan DCE
menggunakan RS-232 C
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
• 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
• 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.
Gambar hubungan DTE-DCE
Gambar hubunganDTE-DCE melibatkan DTE jauh
• Berikut ini adalah urutan sinyal yang
dihasilkan pada saat transfer data
berlangsung :
– Komputer mengirimkan sinyal DTR (dataterminal 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 benarbenar siap, ia mengirimkan sinyal clear-tosend (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.
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.
• 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
LSB EQU
MSB
FIFO
EQU
0F0H
EQU
EQU
0F3H
0F1H
0F2H
START PROC NEAR
MOV AL,10001010B
OUT LINE,AL
MOV
OUT
MOV
OUT
AL,120
LSB,AL
AL,0
MSB,AL
; enable Baud Divisor
;program Baud rate
MOV AL,00001010B
OUT LINE,AL
;program 7-data,
;odd parity, 1 stop bit
MOV AL,00000111B
OUT FIFO,AL
;enable transmitter
;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
DATA
EQU
EQU
0F5H
0F0H
;line status port
;data port
SEND PROC NEAR
PUSH AX
IN AL,LSTAT
TEST AL,20H
JZ
SEND
;save AX
;get line status register
;test TH bit
;if transmitter not ready
MOV AL,AH
OUT DATA,AL
POP AX
RET
;get data
;transmit data
;restore AX
SEND ENDP
• Untuk membaca informasi yang diterima dari 16550,
sebelumnya bit DR harus diperiksa.
LSTAT
DATA
EQU
EQU
0F5H
0F0H
;line status port
;data port
RECV PROC NEAR
IN AL,LSTAT
TEST AL,1
JZ RECV
;get line status register
;test DR bit
;if no data in receiver
TEST AL,0EH
JNZ ERR
;test all 3 error bits
;for an error
IN AL,DATA
RET
;read data from 16550
ERR:
MOV AL,’?’
RET
RECV ENDP
;get question mark
•Selesai