22
SISTEM MIKROPROSESSOR 1 TEKNIK LISTRIK POLITEKNIK NEGERI JAKARTA

USART

Embed Size (px)

DESCRIPTION

USART (MICROCONTROLLER)

Citation preview

Page 1: USART

SISTEM MIKROPROSESSOR 1

TEKNIK LISTRIKPOLITEKNIK NEGERI JAKARTA

Page 2: USART

Universal Synchoronous and Asynchronous Serial Receiver and Transmitter(USART) juga merupakan salah satu mode komunikasi serial yang dimiliki oleh ATmega8535.

USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik anatar mikrokontroler maupun dengan modul eksternal atau PC yang memiliki fasilitas UART.

Pada ATmega8535, secara umum pengaturan mode komunikasi baik synchronous maupun asynhcronous adalah sama. Perbedaannya hanya lah terdapat pada sumber clock. Jika pada asynhcronous masinh masing periperal memiliki sumber clock sendiri maka pada synhcronous hanya terdapat satu sumber clock yang digunakan secara bersama sama.

Page 3: USART
Page 4: USART

Duplex adalah sebuah istilah dalam bidang telekomunikasi yang merujuk kepada komunikasi dua arah.Terdapat dua metode duplexing, yakni•Full-duplex•Half-duplex

full-duplex, dua pihak yang saling berkomunikasi akan mengirimkan informasi dan menerima informasi dalam waktu yang sama, dan umumnya membutuhkan dua jalur komunikasi.

Half-duplex merupakan sebuah mode komunikasi di mana data dapat ditransmisikan atau diterima secara dua arah tapi tidak dapat secara bersama-sama. Contoh paling sederhana adalah walkie-talkie, di mana dua penggunanya harus menekan sebuah tombol untuk berbicara dan melepaskan tombol tersebut untuk mendengar.

Page 5: USART

Fungsi RS232 adalah sebagai driver, yang akan mengkonversi tegangan dari hardware agar sesuai dengan tegangan pada computer sehingga data dapat dibaca.RS232 Logic high (1) = -15V s/d -3V Logic low (0) = +3V s/d +15VTTL Logic high (1) = +2V s/d +5V Logic low (0) = 0V s/d +0.8V

ContohCOM1/COM2 pada komputer

Page 6: USART

1. KOMUNIKASI CEPAT2. MEMBUTUHKAN BANYAK

PIN3. DLL

1. KOMUNIKASI LAMBAT2. PIN LEBIH SEDIKIT3. DLL

PARALEL USART

Page 7: USART

Komunikasi ATMEGA ke PC Komunikasi ATMEGA ke SCADA Komunikasi ATMEGA ke RFID Komunikasi ATMEGA ke ATMEGA DLL

Page 8: USART

1. ISI SURAT2. FORMAT PENULISAN3. ALAMAT YANG DITUJU4. INFORMASI SURAT

TELAH DITERIMA

1. DATA2. FORMAT DATA3. FRAME ERROR,PARITY

ERROR4. USART TRANSFER

COMPLETE,USART RECEIVE COMPLETE

SURAT USART

Page 9: USART
Page 10: USART

Register UDR digunakan sebagai buffer untuk menyimpan data baik yang akan dikirimkan maupun yang diterima dalam komunikasi USART.

register UDR memiliki dua register I/O yaitu RXB sebagai buffer untuk menyimpan data yang diterima dan TXB sebagai buffer untuk menyimpan data yang akan dikirim.

Page 11: USART

FE : Frame Error Digunakan untuk mendeteksi adanya kesalahan dalam penerimaan data. Jika terjadi eror FE bernilai ’1’

DOR : Data Over RunData over run terjadi jika data pada register RXB penuh atau belum terbaca, sementara data yang lain sudah datang lagi. Pada kondisi ini DOR bernilai ‘1’.

U2X : Double the USART Transmision speedUntuk membuat transfer data menjadi 2 kali lebih cepat. Jika U2X bernilai ’0’ maka kecepatan transfernya normal,tetapi jika U2X diset ’1’ maka kecepatan transfernya menjadi dua kali baudrate yang telah diatur sebelumnya.

PE : Parity Eroruntuk mengetahui adanya parity eror. Bit paritas (parity) merupakan salah satu bit yang ada dalam satu frame data yang diterima, ini digunakan untuk menunjukkan berapa banyak bit yang bernilai ’1’ dalam satu frame data tersebut. Jika terdapat ketidaksesuaian antara data dan bit paritas maka akan menyebabkan terjadinya parity eror. Pada kondisi terjadi parity eror ini maka PE bernilai ’1’

Page 12: USART

TXC : USART Transmit CompleteUntuk mengetahui proses pengiriman data. TXC bernilai ‘1’ menunjukkan bahwa data telah selesai dikirimkan.

UDRE : USART Data Register EmptyUntuk mengetahui status isi register UDR. Jika UDRE ’1’ maka UDR kosong. Sebaliknya jika UDRE ’0’ maka UDR masih terdapat data.

MPCM : Multi-processor Communication modeDigunakan pada mode komunikasi multi prosesor. Pengaturan bit MPCM ini hanya berpengaruh pada penerimaan data saja dan tidak berpengaruh terhadap pengiriman data. Pada mode MPCM, format frame data yang diterima harus memilki informasi alamat sebagai identitas pengirimnya. Jika data yang diterima tidak dimiliki nya maka akan diabaikan. Untuk melakukan mode ini dilakukan dengan mengeset bit MPCM (MPCM = ’1’)

RXC : USART Receive CompleteUntuk mengetahui proses penerimaan data. RXC bernilai ‘1’ menunjukkan bahwa ada data baru yang diterima di buffer terima RXB dan belum terbaca. Sebaliknya jika data pada buffer RXB sudah dibaca atau kosong maka RXC bernilai ’0’.

Page 13: USART

•Bit 7 – RXCIE : RX Complete interrupt EnableRXCIE digunakan untuk mengaktifkan dan menonaktifkan interupsi receive complete interrupt. Jika RXCIE bernilai ‘1’ berarti Receive complete interrupt aktif.•Bit 6 – TXCIE : TX Complete Interrupt EnableTXCIE digunakan untuk mengaktifkan menon-aktifkan interupsiTransmit complete interrupt. Jika TXCIE bernilai ’1’ berarti Transmit complete interupt aktif.

•Bit 5 – UDRIE : USART Data Register Empty Interrupt EnableUDRIE digunakan untuk mengaktifkan dan menon-aktifkan interupsi UDR Empty Interrupt. Jika UDRIE bernilai ’1’ berarti UDR Empty Interrupt aktif.•Bit 4 – RXEN : Receiver EnableRXEN digunakan untuk mengaktifkan menon-aktifkan USART receiver. Jika RXEN bernilai ’1’ maka USART receicer aktif sehingga data serial yang diterima pin RXD akan diiijinkan masuk ke shift register dan buffer terima RXB.

Page 14: USART

•Bit 3 – TXEN : Transmitter EnableTXEN digunakan untuk mengaktifkan dan menonaktifkan USART transmitter. Jika TXEN bernilai ’1’ maka USART transmitter aktif sehingga data serial yang dituliskan ke buffer trasmit TXB akan dimasukkan ke shift register yang kemudian dikeluarkan secara serial melalui pin TXD.

•Bit 2 – UCSZ2 : Character SizeUCSZ2 bersama dengan UCSZ1 dan UCSZ0 yang berada pada register UCSRC digunakan untuk menentukan ukuran data/karakter dalam satu frame.

•Bit 1 – RXB8 : Receive Data Bit 8RXB8 adalah bit ke-9 dari data/karakter yang diterima jika menggunakan ukuran 9-bit.

•Bit 0 – TXB8 : Transmit Data Bit 8TXB8 adalah bit ke 9 dari data/karakter yang dikirim jika menggunakan ukuran 9-bit.

Page 15: USART

•Bit 7 – URSEL : Register SelectRegister UCSRC dan register UBBRH menempati lokasi register I/O yang sama sehingga untuk menentukan apakah register UCSRC atau register UBRRH yang akan mengakses ditentukan dengan bit URSEL. Jika bit URSEL bernilai ’1’ berarti mengakses register UCSRC dan jika bit URSEL bernilai ’0’ berarti mengakses register UBRRH.

•Bit 6 – UMSEL : USART ModeUMSEL digunakan untuk menentukan mode komunikasi USART. Jika UMSEL bernilai ‘0’ berarti mode komunikasi asynchronous, dan jika bernilai ‘0’ berarti mode komunikasi synchronous.

•Bit 5 : 4 – UMP1:0 : Parity ModeUMP1 dan UMP0 digunakan untuk menentukan mode paritas. Jika UMP1:0 bernilai ’00’ berarti tidak menggunakan paritas, jika bernilai ’10’ digunakan paritas genap dan jika bernilai ’11’ berarti digunakan paritas ganjil (lihat tabel berikut)

Page 16: USART

•Bit 3 – USBS : Stop Bit SelectUSBS digunakan untuk menentukan jumlah stop bit dalam setiap frame. Jika USBS bernilai ‘0’ berarti panjang stop bit adalah 1-bit dan jika USBS bernilai ‘1’ maka panjang stop bit adalah 2-bit.

•Bit 2 :1 – UCSZ1:0 : Character SizeUCSZ1 dan UCSZ0 bersama dengan UCSZ2 yang berada pada register UCSRB digunakan untuk menentukan ukuran data/karakter satu frame seperti terlihat pada tabel xx pengaturan ukuran data tiap frame.

•Bit 0 – UCPOL : Clock ParityUCPOL digunakan untuk mengatur mode transisi clock pada pengambilan data yang diterima dan perubahan data yang dikirimkan. Pengaturan Bit UCPOL ini hanya berlaku untuk mode komunikasi synchronous saja. Efek pengaturan bit UCPOL ini seperti terlihat pada tabel beriku ini.

Page 17: USART

UBBRL dan UBBRH atau sering disebut UBBR merupakan register yang mengatur kecepatan/Baudrate transmisi data pada komunikasi USART.

Baud adalah symbol per second atau pulses per second

Page 18: USART

URSEL : Register SelectJika bit URSEL bernilai ’1’ berarti mengakses register UCSRC dan jika bit URSEL bernilai ’0’ berarti mengakses regsiter UBRRH

Bit 14-12 –Tidak digunakan

Bit 11-0 – UBRR11-0 : USART Baud Rate RegisterUBRR11-0 adalah register dengan lebar 12 bit yang digunakan untuk menentukan baudrate komunikasi USART.

Page 19: USART

Untuk memulai klik new file-project-code wizard. Kemudian menyeting chip dan clock sesuai rangkaian yang digunakan. Selanjutnya pada setingan LCD memilih PORT yang akan digunakan sebagai interface dengan LCD.

Page 20: USART

Kemudian pilih receiver dan transmitter. Untuk settingan Baud Rate , Communication Parameters dan mode kita defaultkan saja. Kemudian klik Generate Save and Exit

Page 21: USART

LCD pada PORTC akan terhubung dengan pustaka lcd.h

Membuat variabel data dan buf dengan jumlah array 33

Prosedur mengirim karakter A

Page 22: USART

Prosedur menerima karakter dari getchar() ke variabel data, kemudian menampilkan data tersebut ke LCD.