Antara muka Serial dan USART
Ada dua jenis cara pengiriman data SERIAL USART, kedua cara tersebut dapat dibedakan berdasarkan sinyal detak(clock) yang diapaki untuk mem-bawa data serial tersebut. Jika detak dikirim bersamaan dengan data serial maka cara pengiriman disebut dengan istilah pengiriman data serial seca-ra sinkron (Asynchhronous). Bila pengiriman data dilakaukan secara tak sinkron (Asynchronous) maka detak dikirim bersamaan dengan data se-rial, sehingga rankaian penerima data harus membangkitkan sendiri detak pendorong data serial. .
Mikrokontroler AVR maupun Arduino telah mendukung kedua teknik pengiriman data serial tersebut, baik secara sinkron maupun asingkron. Penggabungan kedua teknik tersebut dikenal istilah Universal Synchronous and Asynchronous serial Receiver and Transmitter (USART). Contoh me-dia yang digunakan oleh antarmuka komuikasi Serial USART adalah RS-232, RS-422, dan RS-485.
Karena data dalam prosesor (CPU) diproses dalam bentuk paralel maka transfer data input/output serial harus dimulai dan diakhiri dengan data paralel. Pada dasarnya konversi paralel ke serial mudah dilakukan. Data paralel dimuat ke dalam sebuah register geser (shift register), kemudian re-gister geser diberikan clock. Data kemudian dikeluarkan dari register geser mulai LSB (1 bit untuk setiap siklus clock). Bit pertama dari sebuah trans-misi serial adalah data LSB (least signi cant bit). Bit kedua adalah bit LSB berikutnya, dan seterusnya. Bit data yang terakhir adalah MSB (must signi cant bit). Konversi paralel ke serial ditunjukkan pada Gambar 5.1
Gambar 5.1: Transmisi data paralel dan serial
Penerimaan data serial dan konversinya ke data paralel merupakan ope-rasi kebalikannya. Data serial digeser ke dalam sebuah register geser, kemu-dian setelah semua bit di-clock ke dalam register geser maka data diambil secara paralel untuk ditransfer ke prosesor. Jadi dengan kata lain digunakan dua register geser, yang pertama register jenis PISO (parallel in serial out) dan di sisi yang lain digunakan jenis SIPO (serial in parallel out).
Pentransmisian data 8-bit dengan asinkron sebenarnya memerlukan pe-ngiriman lo-bit. Ada tambahan bit start dan bit stop yang mengapit bit-bit data yang 8-bit tersebut. Bit pertama menyatakan penerimaan UART bah-wa data telah tiba. Kemudian bit yang terakhir menyatakan bahwa bit data (word) yang jumlahnya 1 byte (8-bit) telah selesai/lengkap. Pada Gambar 11.2 ditunjukkan sebuah word data 8-bit dengan penambahan 1 bit start dan 1 bit stop. Bit start umumnya bit dengan logika 0 (low level), sedangkan bit stop logika 1 (high level),
Kecepatan transmisi data komunikasi serial disebut baud rute. Baud rate atau signaling rate menyatakan berapa banyak bit yang ditransmisikan per detik. Misalnya, sebuah transmisi 1200 baud mengambil laju (rate) 120 karakter 10-bit (1 bit start, 8 bit data, dan 1 bit stop) per detik. Nilai-nilai baud rate yang lazim adalah 300 baud, 600 baud, 1200 baud, 2400 baud, 4800 baud, 9600 baud, 19200 baud, 38400 baud,