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

Memilih Antara I2C dan SPI: Perbedaan Kunci Dijelaskan

Apakah Anda sedang merancang proyek dan krusial untuk memilih antara I2C versus SPI? Namun, Anda tidak tahu mana yang harus dipilih? Jika iya, kami akan membantu Anda menentukan mana yang lebih baik untuk proyek Anda.

Pertama-tama, I2C dan SPI adalah protokol “rendah”. Namun, keduanya mudah digunakan dan berfungsi sempurna untuk komunikasi antara chip pada PCB Anda.

Namun, memilih protokol yang salah untuk proyek Anda dapat menghasilkan hasil yang tidak diinginkan. Meskipun demikian, kami di sini untuk membantu Anda memahami perbedaan antara kedua protokol yang mirip ini.

Siap? Mari kita mulai!

Apa itu Protokol SPI?

Pada tahun 1980-an, Motorola mengembangkan protokol SPI untuk membangun komunikasi antara mikrokontroler pada masa itu dengan periferal lain seperti EEPROM.

Memilih Antara I2C dan SPI: Perbedaan Kunci Dijelaskan

EEPROM

Jadi, protokol SPI menggunakan empat garis sinyal untuk komunikasi antara komponen. Namun, penting untuk dicatat bahwa garis-garis ini tidak mencakup garis ground dan daya. Berikut adalah empat garis sinyal aktif:

Dengan demikian, empat garis ini memungkinkan master SPI (perangkat kontrol) berkomunikasi dengan slave SPI (perangkat periferal).

Memilih Antara I2C dan SPI: Perbedaan Kunci Dijelaskan

Antarmuka Protokol SPI

Selain itu, Anda hanya dapat memiliki satu perangkat kontrol pada bus SPI. Namun, tidak ada batasan pada jumlah periferal yang dapat ditambahkan. Juga, menambahkan lebih banyak periferal berarti menambah garis SS. Oleh karena itu, berikut adalah ilustrasi bagaimana Anda dapat menggunakan tiga garis SS terpisah untuk mengontrol periferal yang berbeda.

Memilih Antara I2C dan SPI: Perbedaan Kunci Dijelaskan

Antarmuka Protokol SPI Dengan Berbagai Periferal

Selanjutnya, ketika master SPI ingin berkomunikasi dengan periferal dengan mengirim atau menerima data, itu menarik garis SS yang cocok. Akibatnya, garis akan berlevel rendah. Oleh karena itu, garis SCLK aktif dan berosilasi tinggi dan rendah pada frekwensi tertentu.

Secara tambahan, master SPI menggunakan garis MISO untuk mengirim data dan mengambil sampel secara bersamaan. Juga, ingatlah bahwa hanya dapat ada komunikasi antara satu periferal dan master SPI pada satu waktu.

Apa itu I2C

Secara alternatif, pada tahun 1982, Philips Semiconductors (sekarang NXP Semiconductors) mengembangkan protokol I2C pertama untuk menyistematisasi komunikasi antara chip pada satu PCB.

Berbeda dengan setara SCI-nya, protokol I2C memiliki dua garis komunikasi–kecuali garis ground dan daya. Garis-garis ini meliputi:

Jadi, Anda dapat menyambungkan sejumlah perangkat master dan slave pada satu bus. Juga, Anda harus menjaga kedua garis SCL dan SDA sebagai garis open-drain. Akibatnya, perangkat Anda hanya akan memiliki satu garis rendah pada satu waktu. Selain itu, Anda akan memerlukan resistor pull-up pada garis Anda. Dengan cara itu, Anda dapat menarik garis Anda kembali ke high.

Memilih Antara I2C dan SPI: Perbedaan Kunci Dijelaskan

Antarmuka Protokol I2C

Karena desain open-drain protokol I2C, Anda dapat menggunakan beberapa master pada bus yang sama. Namun, jika dua perangkat kontrol mulai berkomunikasi secara bersamaan, akan terjadi arbitrase yang menyebabkan salah satu perangkat berhenti mentransmisikan.

Sementara itu, perangkat kontrol memantau garis SLA selama komunikasi terjadi. Jadi, jika satu perangkat mendeteksi garis SDA rendah saat mentransmisikan, itu akan berhenti mengirim. Dan ini memungkinkan perangkat kontrol lain untuk berkomunikasi.

Juga, perangkat kontrol I2C akan mentransmisikan kondisi START untuk memulai komunikasi. Akibatnya, garis SDA akan rendah sementara garis SCL tetap tinggi.

Kemudian, perangkat kontrol akan mentransmisikan alamat 7-bit dari penerima yang ingin dikirimkan dan bit baca (1) atau bit tulis (0). Titik ini, perangkat pada bus hanya akan merespons jika memiliki alamat 7-bit yang cocok dengan membuat garis SDA rendah.

Perbedaan Antara I2C dan SPI

Kedua SPI dan I2C mirip karena keduanya adalah protokol “rendah”. Secara tambahan, kedua protokol ini kurang memiliki kecepatan dan fitur lain yang dimiliki oleh sepupu-sepatunya yang lebih canggih (SATA, Ethernet, USB, dan lainnya).

Namun, ketika berkaitan dengan prinsip kerja dan fitur. Mari kita lihat lebih dekat perbedaan antara kedua protokol ini.

Memilih Antara I2C dan SPI: Perbedaan Kunci Dijelaskan

Konektor USB

Pertama-tama, Anda dapat mengatur empat mode berbeda pada protokol SPI untuk menentukan cara jamnya bekerja. Dan agar komunikasi berfungsi, perangkat master dan slave harus menggunakan model yang sama.

  1. Mode 0: data diambil pada tepi jam naik, jam idle rendah
  2. Mode 1: data diambil pada tepi jam turun, jam idle rendah
  3. Mode 2: data diambil pada tepi jam turun, jam idle tinggi
  4. Mode 3: data diambil pada tepi jam naik, jam idle tinggi

Selain itu, kecepatan transfer data SPI dapat melebihi 10 Mbps, membuatnya sempurna untuk mentransfer volume data yang besar. Juga, Anda dapat menemukan protokol SPI pada sensor dengan tingkat pembaruan cepat seperti LCD dan akselerometer.

Memilih Antara I2C dan SPI: Perbedaan Kunci Dijelaskan

LCD

Secara alternatif, I2C hanya dapat mengirim data dalam paket satu byte pada satu waktu. Selain itu, periferal penerima harus mengakui setiap byte dengan bit ACK. Secara tambahan, protokol I2C memiliki tiga mode dengan kecepatan transfer data yang berbeda.

Memilih Antara I2C dan SPI: Perbedaan Kunci Dijelaskan

Bit ACK

Model standar mencapai maksimum 100 kbps, mode cepat terbatas pada 400 kbps, dan mode kecepatan tinggi mencapai maksimum 3,4 Mbps. Oleh karena itu, protokol I2C jauh lebih lambat dari protokol SPI. Akibatnya, protokol I2C bekerja paling baik pada sensor suhu dan konverter analog-ke-digital.

Memilih Antara I2C dan SPI: Perbedaan Kunci Dijelaskan

Sensor Suhu

Membandingkan I2C dan SPI

Tabel di bawah ini lebih lanjut menunjukkan perbedaan signifikan antara I2C dan SPI:

FiturSPII2C
Pengemudi pinMode push-pullMode open-drain
Kecepatan Maks.Tidak ada (Namun Anda dapat menemukan 10 – 100 Mbps)100 kbps (metode standar) 400 kbps (cara cepat) 3,4 Mbps (mode kecepatan tinggi)
Multi-masterTidakYa
Garis sinyal4 (perangkat tambahan menambahkan garis tambahan)2
Jumlah PeriferalJumlah pin yang tersedia untuk garis SS pada master SPI adalah satu-satunya batasan jumlah periferal yang dapat Anda milikiMaks. 112 dengan pengalamatan 7-bit
Kontrol aliranTidakYa

SPI versus Protokol I2C – Kelebihan dan Kekurangan

SPI

Kelebihan

Kekurangan

I2C

Kelebihan

Kekurangan

Faktor yang Perlu Dipertimbangkan Saat Memilih Antara SPI dan I2C

Memilih protokol terbaik untuk proyek Anda melebihi harga. Jadi, berikut beberapa hal yang perlu dipertimbangkan sebelum membuat pilihan Anda:

Pin Terbatas

Berikut kelebihan dan kekurangan dari kedua protokol SPI dan I2C: jika Anda tidak suka menggunakan mikrokontroler dengan lebih dari 100 pin, ini adalah faktor krusial untuk dipertimbangkan. Dalam kasus ini, Anda harus memilih protokol yang membutuhkan lebih sedikit garis untuk komunikasi.

Daya

Bergantung pada desain Anda, Anda mungkin ingin meminimalkan atau memaksimalkan konsumsi daya. Jadi, Anda harus memastikan memilih protokol yang paling sesuai dengan kebutuhan konsumsi Anda.

Kecepatan

Saat mentransfer data dalam jumlah besar, setiap mikrodetik krusial. Jadi, jika kecepatan adalah yang Anda butuhkan, pilih protokol yang memenuhi standar kecepatan Anda.

Ukuran PCB

Penting untuk mempertimbangkan ukuran PCB Anda sebelum memilih protokol apa pun. Akibatnya, Anda akan meningkatkan peluang Anda untuk mendapatkan hasil yang diinginkan.

Memilih Antara SPI dan I2C

Berikut fitur setiap protokol untuk membantu Anda membuat keputusan terbaik untuk desain Anda:

FiturSPII2C
KecepatanJika desain Anda memerlukan transmisi berkecepatan tinggi, protokol SPI adalah pilihan terbaik.Anda dapat memilih I2C untuk desain perangkat berkecepatan rendah
Ukuran PCBJika Anda tidak khawatir tentang ukuran PCB Anda, Anda tidak salah dengan SPI atau I2C.Jika PCB Anda berukuran lebih kecil dan memiliki lebih sedikit jejak, pertimbangkan untuk memilih I2C
Pin TerbatasPilih protokol SPI jika Anda tidak menambahkan garis tambahan untuk komunikasi.Jika Anda tidak nyaman dengan banyak jejak, maka I2C adalah pilihan ideal.
DayaUntuk perangkat konsumsi daya rendah, gunakan protokol SPIUntuk perangkat konsumsi daya tinggi, gunakan protokol I2C

Memahami UART

UART adalah sirkuit fisik dalam terpadu atau mikrokontroler yang mendirikan komunikasi serial antara perangkat dalam sistem tertanam.

Juga, saat Anda menangani komunikasi UART, selalu ada komunikasi langsung antara pemancar UART dan penerima UART.

UART versus I2C versus SPI

Berbeda dengan protokol komunikasi lain seperti SPI dan I2C, UART murni fisik. Selain itu, itu tidak menggunakan paradigma master/slave untuk berkomunikasi. Sebaliknya, mikrokontroler menggunakan dua perangkat UART untuk mengirim dan menerima data. Secara tambahan, Anda hanya membutuhkan dua kabel untuk komunikasi UART. Dan kabel akan membantu mentransmisikan data dari pin Tx pemancar ke pin Rx penerima.

Memilih Antara I2C dan SPI: Perbedaan Kunci Dijelaskan

Antarmuka Protokol UART 

Ringkasan

Dalam kenyataannya, protokol SPI dan I2C digunakan dalam berbagai aplikasi. Kadang-kadang, Anda mungkin menemukan diri Anda dengan perangkat yang memiliki antarmuka SPI dan I2C pada satu chip. Jadi, Anda tidak harus memilih antara keduanya.

Namun, jika Anda perlu memilih antara dua protokol, SPI lebih baik untuk proyek yang membutuhkan kecepatan transfer yang lebih cepat. Di sisi lain, jika mikrokontroler Anda memiliki pin terbatas, protokol I2C akan bekerja lebih baik.

Ada pertanyaan? Jangan ragu untuk menghubungi kami. Kami akan lebih dari senang membantu.


Teknologi Industri

  1. 7 Pustaka React Esensial Setiap Pengembang Harus Kuasai
  2. Panduan Esensial Pengujian Minyak Transformator untuk Sistem Daya yang Andalkan
  3. Lindungi Motor Anda: Manfaat Esensial Line Reactors
  4. Panduan Esensial Pelindung Roda Gerinda: Melindungi Pengguna dari Pecah dan Cedera
  5. 5 Wawasan Utama tentang Mikro Alat untuk Pemesinan Presisi
  6. Kepatuhan TAA Dijelaskan: 5 Poin Penting yang Harus Diketahui Setiap Pemasok
  7. 9 Aplikasi Penting Machine Learning yang Harus Anda Ketahui
  8. Menguasai Permukaan Kopling: Panduan Komprehensif untuk Peralatan Industri
  9. Istilah Esensial Waterjet untuk Profesional
  10. Knurling Dijelaskan: Menguasai Teknik Finishing Bertekstur