Upload
qwkerbk090909
View
177
Download
20
Embed Size (px)
DESCRIPTION
USART (MICROCONTROLLER)
Citation preview
SISTEM MIKROPROSESSOR 1
TEKNIK LISTRIKPOLITEKNIK NEGERI JAKARTA
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.
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.
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
1. KOMUNIKASI CEPAT2. MEMBUTUHKAN BANYAK
PIN3. DLL
1. KOMUNIKASI LAMBAT2. PIN LEBIH SEDIKIT3. DLL
PARALEL USART
Komunikasi ATMEGA ke PC Komunikasi ATMEGA ke SCADA Komunikasi ATMEGA ke RFID Komunikasi ATMEGA ke ATMEGA DLL
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
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.
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’
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’.
•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.
•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.
•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)
•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.
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
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.
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.
Kemudian pilih receiver dan transmitter. Untuk settingan Baud Rate , Communication Parameters dan mode kita defaultkan saja. Kemudian klik Generate Save and Exit
LCD pada PORTC akan terhubung dengan pustaka lcd.h
Membuat variabel data dan buf dengan jumlah array 33
Prosedur mengirim karakter A
Prosedur menerima karakter dari getchar() ke variabel data, kemudian menampilkan data tersebut ke LCD.