Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

SPI I2C UART-  Protokol dan Penggunaan Komunikasi

Pengembangan mikrokontroler adalah proses utama dalam perakitan elektronik. Tetapi masukan dari protokol serial dan antarmuka komunikasi memfasilitasi usaha ini. Pada artikel ini, kami bermaksud untuk mengeksplorasi protokol komunikasi serial secara mendalam seperti antarmuka UART SPI I2C dan UART. Kami akan menganalisis fitur, kelebihan, kekurangan, dan contoh protokol serial.

1. Antarmuka UART

Apa itu UART?

Gambar 1:Protokol UART di Arduino 

Penerimaan dan Transmisi Asinkron Universal ( UART ) adalah protokol komunikasi serial yang memfasilitasi komunikasi host dengan perangkat tambahan. Terutama, memungkinkan transmisi data serial. Selain itu, ia mampu komunikasi asinkron dan transmisi dua arah.

Protokol sederhana juga memiliki dua jalur data:penanganan transmisi (Tx) dan penerimaan sinyal lainnya (Rx). Biasanya transmisi sinyal melalui pin digital 0, sedangkan penerimaan melalui pin digital 1.

Selain itu, ini membantu dalam menyinkronkan pengelolaan komputer dan perangkat serial eksternal.

Bagaimana cara kerjanya?

Gambar 2:Papan UART USB elektronik DIY

Pada dasarnya, UART mengelola komunikasi sinyal antara dua perangkat melalui cara berikut:

Simplex melibatkan transmisi data searah, sedangkan half-duplex berarti komunikasi non-simultan antara dua perangkat di kedua arah. Terakhir, full duplex memerlukan transfer data simultan di kedua arah.

Umumnya, setelah koneksi, terjadi transfer data dari jalur data UART pengirim ke UART penerima. Itu terjadi melalui prinsip berikut;

  1. Pertama, UART Pemancar akan mengubah data paralel perangkat master ke bentuk serial untuk ditransfer ke UART penerima. Demikian pula, UART penerima mengubah data serial menjadi data paralel untuk digunakan oleh perangkat penerima yang terhubung.
  2. Karena UART memerlukan komunikasi asinkron, ia tidak memiliki jam. Dengan demikian, UART akan menghasilkan bit start dan stop untuk menunjukkan awal dan akhir dari sebuah pesan.
  3. Kedua UART harus berfungsi pada kecepatan BAUD atau kecepatan transmisi data UART yang sama. Idealnya, ini untuk memastikan ketepatan waktu bit data karena perbedaan lebih dari 10% membuat data tidak berguna.

Protokol Kerja UART

Transmisi dan Penerimaan Data

  1. Untuk transmisi, UART yang mentransmisikan perlu menerima data dari bus data seperti CPU.
  2. Selanjutnya ditambahkan tiga bit, yaitu bit awal, bit paritas, dan bit stop. Ketiganya akan membentuk paket data yang dikirimkan ke UART penerima melalui pin TX.
  3. Transmisi data berhenti setelah data habis di UART yang mentransmisikan.

Kontrol Interupsi

Interupsi data berguna dalam pengiriman konten buffer otomatis. Anda dapat meminta kontrol interupsi jika terjadi skenario berikut:

Operasi FIFO

Gbr 3. Antarmuka UART di Arduino

Modul UART keluarga Stellaris memiliki dua FIFO 16-byte, satu untuk penerimaan data dan yang lainnya untuk transmisi. Selain itu, Anda dapat mengonfigurasinya pada berbagai kedalaman untuk memberikan interupsi yang berbeda. Misalnya, Anda mungkin memiliki kedalaman 1/8, kedalaman 1/4, kedalaman 1/2, dll.

Proses kerja transmisi FIFO

  1. Pada dasarnya, transmisi data dimulai setelah entri data. Juga, karena memakan waktu, entri data terus menerus sampai FIFO transmisi penuh.
  2. Setelah penuh, Anda harus menghentikan entri data agar semua data baru tidak hilang.
  3. Selanjutnya, FIFO pengirim mengirimkan data sedikit demi sedikit sampai kosong. Akhirnya, FIFO transmisi akan membuat slot tambahan.

Proses kerja penerimaan FIFO

  1. Setelah menerima data dari langkah di atas, perangkat keras menyimpannya di FIFO penerima. Idealnya, penerimaan dan penghapusan data oleh program FIFO penerima adalah proses otomatis. Dengan demikian, harus ada cukup ruang di FIFO penerima.
  2. Ini juga dilengkapi FIFO transceiver yang penting dalam memecahkan masalah inefisiensi CPU. Lebih lanjut, ini membantu dalam menyelesaikan masalah interupsi transceiver UART yang sering terjadi.
  3. Terakhir, FIFO tidak kehilangan data karena menutup semua kemungkinan kerugian sebelumnya.

Pembalikan

UART memiliki loopback internal untuk debugging dan diagnostik tentang di mana input RX akan menerima data yang dikirim.

Protokol Inframerah Serial

UART memiliki fitur IrDA Serial Infrared (SIR) yang beroperasi sebagai modul encoder/decoder. Ini berguna dalam menerjemahkan antarmuka SIR serial setengah dupleks dan aliran data UART asinkron.

Selain itu, protokol komunikasi serial mengirimkan input yang didekodekan dan output yang dikodekan secara digital ke UART.

Keuntungan Menggunakan UART

  1. Protokol komunikasi sederhana adalah modul yang terdokumentasi dengan baik dan juga mudah digunakan.
  2. Kedua, tidak memerlukan saluran jam serial.
  3. Ketiga, ia memiliki bit paritas yang memungkinkan pemeriksaan kesalahan.

Kerugian Menggunakan UART

  1. Antarmuka UART memiliki batasan ukuran bingkai data sebesar 9 bit dan memiliki kecepatan transfer yang lambat.
  2. Selain itu, tidak dapat menggunakan banyak sistem master dan perangkat slave.
  3. Juga, ia memiliki baud rate wajib dalam 10% sebagai pelindung dari kehilangan data.
  4. Keempat, umumnya memiliki kecepatan yang lebih lambat selama transfer data antar perangkat.

Contoh UART dalam Mikrokontroler

2. Antarmuka I2C

Apa itu I2C?

Gambar 4:Sensor Tekanan Diferensial menggunakan I2C

Inter-integrated-circuit (I2C) protokol komunikasi menyerupai UART. Namun, sementara UART ditujukan untuk komunikasi perangkat PC, I2C berguna dalam aplikasi sensor dan modul.

Selain itu, bus serial sinkron dua kabel dua arah dapat menghubungkan beberapa perangkat tanpa mengorbankan jalur komunikasi. Hal ini berkat bus bersama dan properti sistem alamat.

Tetapi fitur ini harus dibayar dengan komunikasi antar perangkat yang relatif lambat dibandingkan dengan SPI. Kecepatannya bergantung pada kebisingan eksternal, kualitas kabel, dan kecepatan data.

Terakhir, antarmuka dua kabel memungkinkan koneksi ke perangkat berkecepatan rendah seperti EEPROM, konverter Analog/Digital, dan mikrokontroler.

Bagaimana cara kerjanya?

Protokol I2C memiliki dua jalur:port penerimaan jalur data serial (SDA) dan jalur jam serial (SCL). SCL memfasilitasi sinkronisasi transmisi sementara SDA mewakili jalur data untuk mengirim dan menerima bit data.

Selama transfer, perangkat master meminta transmisi data bus. Secara bersamaan, itu menghasilkan jam yang membuka perangkat transfer. Dalam skenario ini, perangkat yang dialamatkan dalam transmisi adalah perangkat budak.

Yang perlu diperhatikan, perangkat master dan perangkat slave tidak memiliki kecepatan transmisi data yang konstan. Sebaliknya, hubungan mereka bergantung pada arah transfer data pada waktu transmisi.

Selain itu, perangkat master tunggal harus menginformasikan perangkat pemilihan budak sebelum memulai transmisi data. Demikian pula, perlu menginformasikan budak sebelum menerima data dari budak.

Penting juga untuk menghubungkan resistor pull-up ke catu daya I2C agar berfungsi optimal.

Protokol Kerja I2C

Gambar 5:Sebuah pin 0,96 inci OLED 128X64 OLED Display Module IIC I2C

Metode Transmisi Data

Prosedur koneksi adalah sebagai berikut:

  1. Output master akan mengirimkan sinyal transmisi ke slave yang terhubung, terutama dengan mengalihkan jalur SDA dari level tegangan tinggi ke rendah. Selanjutnya, itu akan mengalihkan jalur SCL dari level tegangan tinggi ke rendah.
  2. Kemudian, master mengirimkan alamat 7-bit atau 10-bit dan membaca/menulis bit ke masing-masing slave.
  3. Ketiga, para budak membandingkan alamatnya dengan alamat mereka sendiri. Jika cocok, itu akan mengembalikan bit ACK, mengalihkan jalur SDA ke rendah. Namun, jika tidak cocok, slave akan meninggalkan jalur SDA dalam posisi tinggi.
  4. Selanjutnya, master mengirim atau menerima bingkai data (bergantung pada alamat yang cocok). Kemudian, setelah transmisi data selesai, komponen penerima mengembalikan bit ACK ke pengirim data. Ini untuk mengakui transmisi penuh.
  5. Akhirnya, master mengalihkan SCL ke high dan kemudian SDA untuk mengomunikasikan akhir komunikasi.

Sinkronisasi Jam

Setiap master harus menghasilkan sinyal clock di jalur SCL untuk transmisi data. Selain itu, hanya selama periode jam tinggi data tetap valid dalam transmisi I2C.

Mode Transmisi

Ini terutama mentransmisikan melalui dua cara, yaitu:

Mode Cepat

Perangkat pada mode cepat menerima dan mengirimkan data dengan kecepatan 400kbit/s. Juga, bus I2C mode cepat dapat secara signifikan menekan gangguan, dan outputnya memiliki fungsi kontrol kemiringan.

Mode Kecepatan Tinggi

Bus I2C pada mode kecepatan tinggi akan mengirimkan data/menerima pada bit rate 3,4 Mbit/s. Dengan demikian, fitur kecepatan transmisi data lebih cepat daripada mode cepat sebelumnya.

Kelebihan I2C

  1. Ini memiliki jumlah pin/sinyal yang sangat terbatas bahkan ketika Anda telah menghubungkan banyak perangkat pada master.
  2. Kedua, perangkat I2C menawarkan fleksibilitas berkat kemampuan multi-master dan multi-slave.
  3. Selain itu, mudah digunakan karena Anda hanya memerlukan dua kabel dua arah untuk membuat sambungan ke banyak perangkat.
  4. Selain itu, ia menawarkan kemampuan beradaptasi yang luas dan juga dapat mendukung banyak master.

Kekurangan I2C

  1. Ini memiliki kecepatan yang relatif lambat dan harus menggunakan resistor pull-up, tidak seperti SPI, yang hanya membutuhkan resistor push-pull. Selain itu, desain saluran terbukanya membatasi kecepatannya.
  2. Selain itu, resistor menempati ruang yang sangat penting dalam perakitan PCB.
  3. Tidak mudah digunakan saat Anda menghubungkan banyak perangkat.

Contoh I2C pada Mikrokontroler

3. Antarmuka SPI

Apa itu SPI?

Gambar 6:Antarmuka SPI berguna dalam Modul Tampilan.

Antarmuka Periferal Serial (SPI) dirancang untuk digunakan dalam mikrokontroler. Selain itu, karena berfungsi dalam dupleks penuh, ini memungkinkan transmisi dan penerimaan data secara simultan.

SPI relatif lebih cepat daripada I2C, dengan kecepatan transmisi data minimal 8 bit. Terutama, protokol sederhana modul ini memungkinkan kecepatan data yang lebih cepat. Jadi, penting dalam aplikasi yang membutuhkan kecepatan, seperti modul tampilan dan Kartu SD.

Ini juga penting dalam aplikasi yang melibatkan perubahan informasi yang tiba-tiba, misalnya termometer.

Bagaimana cara kerjanya?

Gbr 7:Kartu SD menggunakan SPI

Bentuk perangkat SPI akan beroperasi dengan salah satu dari dua cara berikut:

Anda dapat menghubungkan perangkat sebanyak yang Anda inginkan dalam antarmuka SPI. Namun, dalam kebanyakan kasus, Anda akan dibatasi oleh jalur pemilihan perangkat keras yang tersedia. Terakhir, selama komunikasi point-to-point, modul tidak perlu menangani operasi.

Protokol Kerja SPI

SPI berfungsi melalui empat port, yaitu:

  1. Keluaran Data Master, Masukan Data Budak (MOSI)
  2. Masukan data master, keluaran data budak (MISO)
  3. Sinyal jam (SCLK)
  4. Sinyal berkemampuan Slave (NSS)

Saat menggunakan sistem multi-slave, masing-masing slave meminta sinyal pengaktifan yang unik. Persyaratan ini memperumit persyaratan perangkat keras dibandingkan dengan komunikasi I2C.

Juga, antarmuka SPI memiliki dua register geser. Ini memungkinkan transmisi data serial sinkron antara perangkat master tunggal, seperti CPU, ke perangkat periferal.

Keuntungan menggunakan SPI

  1. Mudah digunakan karena, tidak seperti I2C, ia tidak memiliki sistem pengalamatan slave yang kompleks.
  2. Kedua, ini adalah protokol tercepat dari semua antarmuka serial yang telah kami bahas (Lebih cepat dari UART dan I2C).
  3. Tidak memiliki bit start dan stop seperti pada komunikasi UART. Dengan demikian, memungkinkan transmisi data terus menerus tanpa gangguan.
  4. Terakhir, fitur ini memiliki garis MISO dan MOSI terpisah yang memungkinkan pengiriman dan penerimaan data secara simultan.

Kerugian menggunakan SPI

  1. Sebagian besar port Pin terisi, yang membatasi jumlah perangkat yang dapat Anda sambungkan.
  2. Selain itu, ia tidak memiliki kontrol aliran yang ditentukan, dan tidak seperti di I2C, tidak ada mekanisme untuk mengakui data telah dikirim/diterima.
  3. Ini membutuhkan penggunaan 4 baris, seperti yang telah kami soroti di atas, dan tidak seperti di UART, ia tidak memiliki mekanisme pemeriksaan kesalahan.
  4. Keempat, ia juga memiliki satu master.

Contoh SPI pada Mikrokontroler

Membandingkan UART, I2C, dan SPI

Manakah dari periferal komunikasi berikut ini yang "terbaik"? UART, SPI, atau I2C?

Tidak ada periferal komunikasi yang unggul dari ketiganya, karena masing-masing memiliki kelebihan dan kekurangan utama. Jadi, pilih protokol yang paling sesuai tergantung pada proyek Anda. Misalnya, SPI akan melayani Anda dengan baik jika Anda mencari kecepatan.

Tetapi jika Anda ingin menghubungkan banyak perangkat tanpa memiliki susunan yang rumit, gunakan I2C.

Kesimpulan

Kami telah memaparkan semua wawasan utama yang perlu Anda ketahui tentang antarmuka komunikasi UART, I2C, dan SPI dan berbagai kecepatan transfernya. Selain itu, kami di sini untuk menjawab pertanyaan apa pun tentang protokol komunikasi. Hubungi kami, dan kami akan segera membantu Anda.


Teknologi Industri

  1. MQTT dan DDS:Komunikasi Mesin ke Mesin di IoT
  2. Protokol Jaringan
  3. Istilah dan Konsep Memori Digital
  4. Papan – Pisahkan Pi – I2C, UART, GPIO, dan Lainnya
  5. 14 Penggunaan Nanoteknologi yang Tidak Dikenal | Manfaat Dan Aplikasi
  6. Apa itu Silver Brazing? - Proses, Batang, dan Penggunaan
  7. Manufaktur Berdasarkan Data:Manfaat, Tantangan, dan Strategi
  8. Otomatis penyerapan data dan optimalkan pengambilan keputusan
  9. Jenis-jenis kayu dan kegunaannya
  10. Penggunaan Tungsten Dulu dan Sekarang