Website TIK SMAN 3 JAKARTA

Image and video hosting by TinyPic
Masukkan Code ini K1-AYEA5C-X
untuk berbelanja di KutuKutuBuku.com

SELAMAT DATANG DI BLOG AaFahmi

Port Serial RS 232

Pendahuluan

Pada dasarnya ada dua jenis komunikasi data serial, yaitu komunikasi data serial sinkron dimana pengiriman clock dilakukan secara bersamaan dengan data serial dan komunikasi data asinkron dimana pengiriman clock dilakukan secara dua tahap, yaitu saat data dikirimkan dan saat data diterima.

RS-232 pada computer mempunyai dua jenis konektor, yaitu konektor dengan 25 pin atau sering disebut dengan DB-25 connector dan konektor dengan 9 pin atau sering disebut dengan DB-9 connector. Pada dasarnya hanya 3 pin yang terpakai, yaitu pin pengirim, penerima, dan ground. Perlu diperhatikan bahwa dalam pengiriman data serial semakin jauh jarak kirim maka kemungkinan noise atau gangguan semakin besar.

Bentuk Gelombang RS-232

Pada komunikasi data RS-232 bersifat asinkron, artinya sinyal clock tidak dikirimkan bersamaan dengan data. Masing-masing word disinkronkan menggunakan bit start-nya dan clock internal pada masing-masing computer.

Gambar 1. Diagram struktur data 8N1 tingkat TTL

Pada gambar 1 ditunjukkan komposisi data RS-232 dalam tingkat TTL (dari UART) yang menggunakan format 8N1 (8 bit data, tidak ada paritas dan 1 bit stop). Jalur RS-232, saat diam (idle) dalam kondisi-kondisi “tertanda” – Mark State (logika 1). Suatu transmisi akan dimulai dengan sebuah bit start (logika 0), kemudian masing-masing bit dikirimkan berurutan diawali dengan LSB-nya dan diakhiri dengan bit stop (logika 1).

Pada gambar 1. Juga terlihat bahwa bit berikut setelah bit stop adalah logika 0. Ini artinya ada word lain yang dikirimkan dan ini merupakan bit start-nya. Jika tidak ada data lagi yang dikirimkan maka jalur transmisi akan tetap dalam kondisi diam (logika 1). Ada suatu sinyal disebut sinyal “break”, yang terjadi saat jalur data ditahan dalam kondisi 0 untuk jangka waktu yang lebih lama dari saat pengiriman seluruh word. Dengan demikian, jika tidak mengembalikan lagi jalur ini ke kondisi diam (idle), maka penerima akan mengartikan sebagai suatu sinyal “break”.

Pengiriman data semacam itu dinamakan sebagai pengiriman data dalam frame (kerangka), karena data ada dalam “kerangka” bit start dan stop. Jika bit stop yang diterima sebagai logika 0, maka terjadilah framing error dan hal ini biasa terjadi jika kedua computer atau piranti yang berkomunikasi dalam kecepatan yang tidak sama.

Karakteristik Sinyal Port Serial RS-232

Standar sinyal RS-232 memiliki ketentuan level tegangan sebagai berikut :

1. Logika ‘1’ disebut ‘mark’ terletak antara -3 Volt hingga 25 Volt.

2. Logika ‘0’ disebut ‘space’ terletak antara +3 Volt hingga +25 Volt.

3. Daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level, yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga level tegangan lebih negative dari -25 Volt atau lebih positif dari +25 Volt juga harus dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS-232.

Konfigurasi Port Serial

Gambar 2. Adalah gambar konektor port serial DB-9 pada bagian belakang CPU. Pada computer IBM PC kompatibel biasanya kita dapat menemukan dua konektor port serial DB-9 yang biasa dinamai COM1 dan COM2.

Gambar 2. Konektor serial DB-9 pada bagian belakang CPU

Tabel 1. Konfigurasi pin dan nama sinyal konektor serial DB-9

Nomor Pin

Nama Sinyal

Direction

Keterangan

1

DCD

In

Data Carrier Detect / Received Line Signal Detect

2

RxD

In

Receive Data

3

TxD

Out

Transmit Data

4

DTR

Out

Data Terminal Ready

5

GND

-

Ground

6

DSR

In

Data Set Ready

7

RST

Out

Request to Send

8

CTS

In

Clear To Send

9

RI

In

Ring Indicator

Keterangan mengenai fungsi saluran RS-232 pada konektor DB-9 adalah sebagai berikut :

1. Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE bahwa pada terminal masukan ada data masuk.

2. Receive Data, digunakan DTE menerima data dari DCE.

3. Transmit Data, digunakan DTE mengirimkan data ke DCE.

4. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan terminalnya.

5. Signal Ground, saluran ground.

6. Ring Indicator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah stasiun menghendaki hubungan dengannya.

7. Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh mengirim data.

8. Request To Send, dengan saluran ini DCE diminta oleh DTE untuk mengirim data.

9. DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.

Untuk dapat menggunakan port serial kita perlu mengetahui alamatnya. Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Base address COM1 biasanya adalah 1016 (3F8h) dan COM2 biasanya 760 (2F8h). alamat tersebut adalah alamat yang biasa digunakan, tergantung dari computer yang digunakan. Tepatnya kita dapat melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000.0400h untuk base address COM1 dan memori 0000.0402h untuk base address COM2.

Setelah kita mengetahui base address-nya, maka kita dapat menentukan alamat register-register yang digunakan untuk komunikasi port serial ini. Berikut adalah tabel register-register tersebut beserta alamatnya.

Tabel 2. Nama register yang digunakan beserta alamatnya

Nama Register

COM1

COM2

TX Buffer

3F8h

2F8h

RX Buffer

3F8h

2F8h

Baud rate Divisor Latch LSB

3F8h

2F8h

Baud rate Divisor Latch MSB

3F9h

2F9h

Interrupt Enable Register

3F9h

2F9h

Interrupt Identification Register

3FAh

2FAh

Line Control Register

3FBh

2FBh

Modem Control Register

3FCh

2FCh

Line Status Register

3FDh

2FDh

Modem Status Register

3FEh

2FEh

Keterangan mengenai fungsi register-register tersebut adalah sebagai berikut :

1. RX Buffer, digunakan untuk menampung dan menyimpan data dari DCE.

2. TX buffer, digunakan untuk menampung dan menyimpan data yang akan dikirim ke port serial.

3. Baud rate Divisor Latch LSB, digunakan untuk menampung byte bobot rendah untuk pembagi clock pada IC UART agar didapat baud rate yang tepat.

4. Baud rate Divisor Latch MSB, digunakan untuk menampung byte bobot rendah untuk pembagi clock pada IC UART sehingga total angka pembagi adaah 4 byte yang dapat dipilih dari 0001h sampai FFFFh. Berikut adalah table angka pembagi yang sering digunakan.

Tabel 3. Angka pembagi clock pada IC UART

Baud Rate (bit/detik)

Angka Pembagi

300

0180h

600

0C00h

1200

0060h

1800

0040h

2400

0030h

4800

0018h

9600

000Ch

Sebagai catatan, register Baud Rate Divisor Latch ini bisa diisi jika bit 7 pada register Line Control Register diisi 1.

5. Interrupt Enable Register, digunakan untuk menset interupsi apa saja yang akan dilayanai computer. Berikut adalah tabel rincian bit pada Interrupt Enable Register.

Tabel 4. Rincian bit pada Interrupt Enable Register

Nomor bit

Keterangan

0

1 : Interupsi akan diaktifkan jika menerima data

1

1 : Interupsi akan diaktifkan jika register Tx kosong

2

1 : Interupsi diaktifkan jika ada perubahan keadaan

pada Line Status Register

3

1 : Interupsi diaktifkan jika ada perubahan keadaan

pada Modem Status Register

4,5,6,7

Diisi 0

6. Interrupt Identification Register, digunakan untuk menentukan urutan prioritas interupsi. Berikut adalah tabel rincian bit pada Interrupt Identification Register.

Tabel 5. Rincian bit pada Interrupt Identification Register

Nomor bit

Keterangan

0

0 : Interupsi menunggu

1 : No interrupt pending

1 dan 2

00 : Prioritas tertinggi oleh Line Status Register

01 : Prioritas tertinggi oleh register Rx jika menerima data

10 : Prioritas tertinggi oleh register Tx jika telah kosong

11 : Prioritas tertinggi oleh Modem Status Register

3,4,5,6,7

Diisi 0

7. Line Control Register, digunakan untuk menentukan jumlah bit data, jumlah bit parity, jumlah bit stop, serta untuk menentukan apakah baud rate divisor dapat diubah atau tidak. Berikut adalah tabel rincian bit pada Line Control Register.

Tabel 6. Rincian bit pada Line Control Register

Nomor bit

Keterangan

0 dan 1

Jumlah bit data

00 : Jumlah bit data adalah 5

01 : Jumlah bit data adalah 6

10 : Jumlah bit data adalah 7

11 : Jumlah bit data adalah 8

1 dan 2

Bit Stop

0 : Jumlah bit data adalah 5

1 : Jumlah bit stop adalah 1,5 untuk 5 bit data dan 2 untuk

6 hingga 8 bit data

3

Bit Pariti

0 : Tanpa parity

1 : Dengan pariti

4

0 : Pariti ganjil

1 : Pariti genap

5

1 : Bit parity ikut dikirimkan (stick parity)

6

0 : Set break control tidak diaktifkan

1 : Set break control diaktifkan

7

0 : Baud rate divisor tidak dapat diakses

1 : Baud rate divisor dapat diakses

8. Modem Control Register, digunakan untuk mengatur saluran pengatur modem terutama saluran DTR dan saluran RST. Berikut adalah tabel rincian bit pada Modem Control Register.

Tabel 7. Rincian bit pada Modem Control Register

Nomor bit

Keterangan

0

Bit DTR

0 : Saluran DTR diaktifkan (aktif 0)

1 : Saluran DTR dibuat normal (tidak aktif)

1

Bit RST

0 : Saluran RST diaktifkan (aktif 0)

1 : Saluran RST dibuat normal (tidak aktif)

2

Bit OUT1, digunakan untuk penghubung ke perangkat lain, dapat dibuat logika high atau logika low. Secara normal tidak digunakan

3

Bit OUT2, digunakan untuk penghubung ke perangkat lain, dapat dibuat logika high atau logika low

4

0 : Loop back internal diaktifkan

1 : Loop back internal tidak diaktifkan

5,6,7

Diisi 0

9. Line Status Register, digunakan untuk menampung bit-bit yang menyatakan keadaan penerimaan atau pengiriman data dan status kesalahan operasi. Berikut adalah tabel rincian bit pada Line Status Register.

Tabel 8. Rincian bit pada Line Status Register

Nomor bit

Keterangan

0

1 : Menyatakan adanya data masuk pada buffer Rx

1

1 : Data yang masuk mengalami overrum

2

1 : Terjadi kesalahan pada bit pariti

3

1 : Terjadi kesalahan framing

4

1 : Terjadi Break Interrupt

5

1 : Menyatakan bahwa register Tx telah kosong

6

1 : Menyatakan bahwa Transmitter Shift Register telah

kosong

7

Diisi 0

10. Modem Status Register, digunakan untuk menampung bit-bit yang menyatakan status dari saluran hubungan dengan modem. Berikut adalah tabel rincian bit pada Modem Status Register.

Tabel 7. Rincian bit pada Modem Status Register

Nomor bit

Keterangan

0

1 : Menyatakan adanya perubahan keadaan di saluran

Clear To Send (CTS)

1

1 : Menyatakan adanya perubahan keadaan di saluran

Data Set Ready (DSR)

2

1 : Menyatakan adanya perubahan keadaan di saluran

Ring Indicator (RI) dari low ke high

3

1 : Menyatakan adanya perubahan keadaan di saluran

Receive Line Signal Detect (DCD)

4

1 : Menyatakan saluran Clear To Send (CTS) sudah

Dalam keadaan aktif

5

1 : Menyatakan saluran Data Set Ready (DSR) sudah

dalam keadaan aktif

6

1 : Menyatakan bahwa saluran Ring Indicator (RI) sudah

dalam keadaan aktif

7

1 : Menyatakan bahwa saluran Receive Line Signal

Detect (DCD) sudah dalam keadaan aktif

Keuntungan Penggunaan Port Serial

1. Pada komunikasi dengan kabel yang panjang, masalah cable loss tidak akan menjadi masalah besar daripada menggunakan kabel paralel. Port serial mentransmisikan ‘1’ pada level tegangan -3 Volt sampai -25 Volt dan ‘0’ pada level tegangan +3 Volt sampai +25 Volt, sedangkan port paralel mentransmisikan ‘0’ pada level tegangan 0 Volt dan ‘1’ pada level tegangan 5 Volt.

2. Dibutuhkan jumlah kabel yang lebih sedikit, bisa hanya menggunakan tiga kabel, yaitu saluran Transmit Data, saluran Receive Data, dan saluran Ground (konfigurasi Null Modem).

3. Saat ini penggunaan mikrokontroller semakin popular. Kebanyakan mikrokontroller sudah dilengkapi dengan SCI (Serial Communication Interface) yang dapat digunakan untuk komunikasi dengan port serial computer.

DAFTAR PUSTAKA

Eko, Putra Agfianto. 2002. Teknik Antar Muka Komputer : Konsep dan

Aplikasi. Yogyakarta : Graha Ilmu.

Prasetia, Retna dan Catur Edi Widodo. 2004. Teori dan Praktek

Interfacing Port Paralel dan Port Serial Komputer Dengan Visual

Basic 6.0. Semarang : Andi Yogyakarta.

Suhata. 2004. VB Sebagai Pusat Kendali Peralatan Elektronik. Jakarta :

PT. Elex Media Komputindo.