Minggu, 17 Juni 2012

Komunikasi Serial USB RS232 – DB9 pada ATMega 8535

RS-232 adalah standard komunikasi serial antar periperal-periperal. Contoh paling sering kita pakai adalah antara komputer dengan modem, komputer dengan computer, atau computer dengan printer. Standar ini menggunakan beberapa piranti dalam penerapannya, dan umumnya kita jumpai dalam bentuk DB-9 atau DB-25. Untuk perangkat ini digunakan RS-232 DB-9, yang biasanya dipakai untuk serial port pada komputer pribadi seperti yang dipakai untuk port mouse dan modem. Berikut adalah beberapa gambar yang mendukung mengenai komunikasi serial tersebut :

USB-RS232 yang digunakan (male)

Sambungan Rx-Tx DB9 male (rs-232) dan female (komputer/laptop)

  Rangkaian minimum sistem ATMega 8535 beserta downloader (perhatikan yang diberi warna)

Rangkaian serial transfer dengan menggunakan USB RS-232 DB-9 dan IC Max232 (perhatikan Rx dan Tx)

Nomor Pin
Nama Sinyal
Simbol
Arah
1
Data Carrier Detect
DCD
In
2
Received Data
RxD
In
3
Transmitted Data
TxD
Out
4
Data Terminal Ready
DTR
Out
5
Signal Ground
SG
-
6
Data Set Ready
DSR
In
7
Request To Send
RTS
Out
8
Clear To Send
CTS
In
9
Ring Indicator
RI
In
Keterangan gambar pada RS-232 DB-9

Keterangan fungsi saluran pada RS-232 DB-9 :
1.   Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE bahwa pada terminal masukan ada data yang 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 memberitahukan ke DTE bahwa sebuah stasiun menghendaki hubungan dengannya.
7.    Clear To Sent, dengan saluran ini DCE memberitahukan bahwa DTE diijinkan mulai mengirimkan data.
8.    Request To Sent, dengan saluran ini DCE diminta mengirimkan data oleh DTE.
9.    DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.
10.  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 (3F3H) dan COM2 biasanya 760 (2F8H). Alamat tersebut adalah alamat yang biasa digunakanakan tetapi tergantung dari komputer yang digunakan. Untuk lebih jelasnya kita bisa melihat pada peta memory tempat menyimpan alamat tersebut, yaitu memory 0000.0400h untuk base address COM1 dan memory 0000.0402h untuk base address COM2. Setelah kita mengetahui base addressnya, maka kita dapat menentukan alamat register-register yang digunakan untuk komunikasi port serial ini.

Nama Register
COM1
COM2
TX Buffer
3F8h
2F8h
RX Buffer
3F8h
2F8h
Boud rate Division Latch LSB
3F8h
2F8h
Boud rate Division Latch MSB
3F9H
2F9h
Interupt Enable Register
3F9H
2F9h
Interupt Identification Register
3FAh
2FAh
Line Control Register
3FBh
2FBh
Modem Control Register
3FCh
2FCh
Line Status Register
3FDh
2FDh
Modem Status Register
3Feh
2FEh
Register komunikasi port serial

Keterangan mengenai fungsi register-register tersebut adalah sebagai berikut :
1.    TX Buffer, digunakan untuk menampung dan menyimpan data yang akan dikirim ke port serial.
2.    RX Buffer, digunakan untuk menampung dan menyimpan data dari DCE.
3.    Baud rate Divisor Latch LSB, digunakan untuk menampung byte bobot rendah untuk pembagi pulsa pada IC UART agar didapatkan baud rate yang tepat.
4.    Baud rate Divisor Latch MSB, digunakan untuk menampung byte bobot rendah untuk pembagi pulsa pada IC UART sehingga total angka pembagi adalah 4 byte yang dapat dipilih dari 0001h sampai FFFFh.

Baud Rate (bit/detik)
Angka Pembagi
300
0180h
600
0C00h
1200
0060h
1800
0040h
2400
0030h
4800
0018h
9600
000Ch
angka pembagi yang sering digunakan

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