AVR Mikrokontroler (Atmel 8) Komunikasi Serial Konfigurasi USART

Coba Instrumen Kami Untuk Menghilangkan Masalah





Mikrokontroler adalah sebuah perangkat kendali yang berisi sejumlah periferal seperti RAM, ROM TIMER, komunikasi data serial , dll., yang diperlukan untuk melakukan beberapa tugas yang telah ditentukan sebelumnya. Sekarang, tipe lanjutan dari mikrokontroler digunakan dalam berbagai aplikasi sesuai kemampuan dan kelayakannya untuk melakukan beberapa tugas yang diinginkan dan termasuk pengontrol ini 8051, mikrokontroler AVR dan PIC . Pada artikel ini, kita akan belajar tentang mikrokontroler keluarga AVR tingkat lanjut dan pemrogramannya .

Mikrokontroler AVR

AVR adalah jenis perangkat pengontrol yang diproduksi oleh Atmel Corporation pada tahun 1996. AVR tidak berarti apa pun, itu hanya sebuah nama. AVR tersebut mikrokontroler terdiri dari arsitektur Harvard , dan oleh karena itu, perangkat bekerja sangat cepat dengan pengurangan jumlah instruksi level mesin (RISC). Mikrokontroler AVR terdiri dari fitur-fitur khusus dibandingkan dengan mikrokontroler lain seperti mode 6-sleep, ADC inbuilt, osilator internal dan komunikasi data serial, dll. Mikrokontroler AVR tersedia dalam berbagai konfigurasi 8-bit, 16-bit, dan 32-bit untuk melakukan berbagai operasi.




Mikrokontroler AVR

Mikrokontroler AVR

Komunikasi Data Serial USART dalam Mikrokontroler AVR

USART adalah singkatan dari penerima dan pemancar sinkron dan asinkron universal. Ini adalah komunikasi serial dari dua protokol. Protokol ini digunakan untuk mentransmisikan dan menerima data sedikit demi sedikit sehubungan dengan pulsa clock pada satu kabel. Itu Mikrokontroler AVR memiliki dua pin: TXD dan RXD, yang khusus digunakan untuk mengirim dan menerima data secara serial. Setiap mikrokontroler AVR terdiri dari protokol USART dengan fitur-fiturnya sendiri.



Komunikasi USART dalam Mikrokontroler AVR

Komunikasi USART dalam Mikrokontroler AVR

Fitur Utama AVR USART

  • Protokol USART mendukung protokol dupleks penuh.
  • Ini menghasilkan baud rate resolusi tinggi.
  • Ini mendukung transmisi bit data serial dari 5 hingga 9 dan terdiri dari dua bit stop.

Konfigurasi Pin USART

USART AVR terdiri dari tiga Pin:


  • RXD: Pin penerima USART (ATMega8 PIN 2 ATMega16 / 32 Pin 14)
  • TXD: Pin pemancar USART (ATMega8 PIN 3 ATMega16 / 32 Pin 15)
  • XCK: Pin jam USART (ATMega8 PIN 6 ATMega16 / 32 Pin 1)

Mode Operasi

Mikrokontroler AVR protokol USART beroperasi dalam tiga mode yaitu:

  • Mode Normal Asinkron
  • Mode Kecepatan Ganda Asinkron
  • Mode Sinkron
Mode Operasi

Mode Operasi

Mode Normal Asinkron

Dalam mode komunikasi ini, data ditransmisikan dan diterima sedikit demi sedikit tanpa pulsa clock oleh baud rate yang telah ditentukan yang ditetapkan oleh register UBBR.

Mode Kecepatan Ganda Asinkron

Dalam mode komunikasi ini, data yang ditransfer dua kali lipat baud rate diatur oleh register UBBR dan bit U2X di register UCSRA. Ini adalah mode kecepatan tinggi untuk komunikasi sinkron untuk mengirim dan menerima data dengan cepat. Sistem ini digunakan di mana pengaturan baud rate yang akurat dan jam sistem diperlukan.

Mode Sinkron

Dalam sistem ini, pengiriman dan penerimaan data sehubungan dengan pulsa clock diatur UMSEL = 1 dalam register UCSRC.

Konfigurasi USART Pada mikrokontroler AVR

USART dapat dikonfigurasi menggunakan lima register seperti tiga register kontrol , satu register data dan register pemilihan baud-rate, seperti UDR, UCSRA, UCSRB, UCSRC dan UBRR.

7 Langkah untuk Menyusun Program

Langkah 1: Hitung dan Tetapkan Baud Rate

Tingkat baud USART / UART ditetapkan oleh pencatat UBRR. Register ini digunakan untuk menghasilkan transmisi data pada kecepatan tertentu. UBRR adalah register 16-bit. Karena AVR adalah mikrokontroler 8-bit dan ukuran registernya adalah 8-bit. Oleh karena itu, di sini register UBRR 16-bit terdiri dari dua register 8-bit seperti UBRR (H), UBRR (L).

Rumus dari baud rate adalah

BAUD = Gelap / (16 * (UBBR + 1))

Rumus register UBRR adalah

UBRR = Gelap / (16 * (BAUD-1))

Frekuensi mikrokontroler AVR adalah 16MHz = 16000000 Mari kita asumsikan baud rate 19200Bps, lalu

UBRR = 16000000 / (16 * (19200-1))

UBRR = 16000000 / (16 * (19200-1))

UBRR = 51,099

Akhirnya temukan baud rate

BAUD = 16.000.000 / (16 * (51 + 1))
UBRR = 19230bps

Langkah 2: Pemilihan Mode Data

Modus transmisi data, bit start dan stop bit dan ukuran karakter diatur oleh kontrol dan status register UCSRC.

Pemilihan Mode Data

Pemilihan Mode Data

Step3: Pemilihan Mode Transmisi Data

Mode sinkron dan asinkron dipilih oleh bit UMSEL dari register status kontrol. Jika kami memberikan UMSEL = 0, maka USART beroperasi dalam mode asinkron, jika tidak beroperasi dalam mode sinkron.

Pemilihan Mode Transmisi Data

Pemilihan Mode Transmisi Data

Step4: Mulai Bit dan Hentikan Bit

Bit start dan stop bit adalah cara untuk mengirim dan menerima data secara serial. Umumnya setiap ketenaran data terdiri dari satu bit stat dan satu bit stop, tetapi mikrokontroler AVR memiliki satu bit awal dan dua bit stop untuk memproses data. Bit stop ekstra dapat berguna untuk menambahkan sedikit waktu pemrosesan penerimaan ekstra. Ini sangat berguna untuk kecepatan transfer data yang tinggi, sedangkan kecepatan transfer datanya sangat tinggi, sehingga kami tidak mendapatkan data yang sesuai. Dengan demikian, kita dapat meningkatkan waktu pemrosesan dengan menggunakan dua bit stop untuk mendapatkan data yang tepat.

Mulai Bit dan Hentikan Bit

Mulai Bit dan Hentikan Bit

Jumlah bit stop dipilih oleh bit USBS UCSRC - register status kontrol. USBS = 0, untuk bit satu stop, dan USBS = 1, untuk dua bit stop.

Step5: Atur Ukuran Karakter

Seperti halnya dengan mikrokontroler dasar mengirim dan menerima byte data (8-bit) sekaligus, baik dalam mikrokontroler AVR, kita dapat memilih format bingkai data di setiap bingkai dengan bit UCSZ dari register UCSRC.

Format Bingkai Data

Format Bingkai Data

Step6: Simpan Data yang Diterima

Mikrokontroler AVR terdiri dari register buffer UDR untuk mengirim dan menerima data. UDR adalah register buffer 16-bit dimana 8-bit digunakan untuk menerima (RXB) data dan bit lainnya digunakan untuk mentransmisikan data (TXB). Register buffer data transmisi akan menjadi tujuan register UDR untuk data tertulis di lokasinya. Menerima register buffer data akan mengembalikan konten register UDR.

Step7: Pemancar dan Penerima Diaktifkan

Data yang dikirimkan dan diterima akan diizinkan oleh pin RXC dan TXC mikrokontroler yang diatur oleh register UCSRA dari mikrokontroler. Bit flag ini ditetapkan oleh mikrokontroler agar data diselesaikan dengan menerima dan mengirimkan (TXC = RXC = 1).

Gandakan Tingkat Baud

Kita dapat menggandakan kecepatan transfer komunikasi USART dari AVR mikrokontroler dari 16 bit menjadi 8-bit efektif oleh U2X –bit di register UCSRA. Efek bit ini hanya pada operasi asinkron. Jika kita dapat mengatur bit ini (U2X = 1), itu akan mengurangi kecepatan baud dari 16-bit menjadi 8-bit secara efektif menggandakan kecepatan transfer untuk komunikasi sinkron.

Ini adalah fitur lanjutan dari mikrokontroler AVR untuk pemrosesan data yang cepat.

Program USART

Setiap mikrokontroler ditentukan sebelumnya dengan IDE tertentu, dan berdasarkan IDE ini, mikrokontroler diprogram dengan C tertanam atau bahasa assembly. Pemrograman mikrokontroler AVR dikembangkan oleh studio AVR. Selanjutnya, Jika Anda menginginkan informasi tambahan tentang langkah-langkah untuk membangun proyek berbasis mikrokontroler , atau informasi rinci tentang topik ini, Anda dapat menghubungi kami dengan memberikan komentar di bawah.