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

I2C vs SPI:Perbedaan Yang Harus Anda Ketahui

Apakah Anda merancang sebuah proyek, dan sangat penting untuk memilih antara I2C vs. SPI? Tapi Anda tidak tahu harus memilih yang mana? Jika ya, kami akan membantu Anda memutuskan mana yang lebih baik untuk proyek Anda.

Pertama, I2C dan SPI adalah protokol “low-end”. Tapi mereka mudah digunakan dan bekerja dengan sempurna untuk komunikasi antar chip pada PCB Anda.

Namun, memilih protokol yang salah untuk proyek Anda dapat mengakibatkan hasil yang tidak diinginkan. Namun demikian, kami di sini untuk membantu Anda memahami perbedaan antara dua protokol serupa ini.

Apakah kamu siap? Mari kita mulai!

Apa itu Protokol SPI?

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

EEPROM

Jadi, protokol SPI menggunakan empat jalur sinyal untuk komunikasi antar bagian. Namun, penting untuk dicatat bahwa ini tidak termasuk tanah dan saluran listrik. Berikut adalah empat jalur sinyal aktif:

Pada catatan ini, empat baris memungkinkan master SPI (perangkat pengontrol) untuk berkomunikasi dengan SPI budak (perangkat periferal).

Antarmuka Protokol SPI

Selain itu, Anda hanya dapat memiliki satu perangkat pengontrol di bus SPI. Namun, tidak ada batasan jumlah periferal yang dapat Anda tambahkan. Juga, menambahkan lebih banyak periferal berarti meningkatkan jalur SS. Oleh karena itu, berikut adalah ilustrasi bagaimana Anda dapat menggunakan tiga jalur SS terpisah untuk mengontrol periferal yang berbeda.

Antarmuka Protokol SPI Dengan Beberapa orang yang diperbudak

Selanjutnya, ketika master SPI ingin berkomunikasi dengan periferal baik dengan mengirim atau menerima data, ia menarik jalur SS yang cocok. Akibatnya, garis akan berada di bawah. Oleh karena itu, jalur SCLK aktif dan tinggi dan rendah pada frekuensi yang ditentukan.

Selain itu, master SPI menggunakan jalur MISO untuk mengirimkan data dan sampel secara bersamaan. Juga, perlu diingat bahwa hanya ada komunikasi antara satu periferal dan master SPI dalam satu waktu.

Apa itu I2C

Sebagai alternatif, pada tahun 1982, Philips Semiconductors (sekarang NXP Semiconductors) mengembangkan protokol I2C pertama untuk mensistematisasikan komunikasi antar chip pada satu PCB.

Tidak seperti rekan SCI-nya, protokol I2C memiliki dua jalur komunikasi – tidak termasuk ground dan kabel listrik. Baris ini meliputi:

Jadi, Anda dapat melampirkan sejumlah perangkat enslaver dan agen ke satu bus. Juga, Anda harus menjaga jalur SCL dan SDA sebagai jalur pembuangan terbuka. Akibatnya, perangkat Anda hanya akan memiliki satu saluran rendah dalam satu waktu. Selain itu, Anda memerlukan resistor pull-up pada pipa Anda. Dengan begitu, Anda dapat menarik garis Anda kembali ke posisi tinggi.

Antarmuka Protokol I2C

Karena desain saluran terbuka dari protokol I2C, Anda dapat menggunakan beberapa master pada bus yang sama. Namun jika dua perangkat pengontrol mulai berkomunikasi secara bersamaan, akan terjadi arbitrase yang menyebabkan salah satu perangkat berhenti melakukan transmisi.

Sementara itu, perangkat pengontrol memantau jalur SDA saat komunikasi terjadi. Jadi, jika satu perangkat mendeteksi bahwa saluran SDA rendah saat transmisi, itu akan berhenti mengirim. Dan ini memungkinkan perangkat pengontrol lain untuk berkomunikasi.

Juga, perangkat I2C pengontrol akan mengirimkan kondisi MULAI untuk memulai komunikasi. Akibatnya, jalur SDA akan rendah sedangkan jalur SCL tetap tinggi.

Kemudian, perangkat pengontrol akan mengirimkan alamat 7-bit dari penerima yang ingin dikirimi dan bit baca (1) atau bit tulis (0). Pada titik ini, perangkat di bus hanya akan merespons jika memiliki alamat kecepatan 7-bit yang cocok dengan membuat saluran SDA menjadi rendah.

Perbedaan Antara I2C dan SPI

Baik SPI dan I2C serupa karena keduanya merupakan protokol “low-end”. Selain itu, kedua protokol tidak memiliki kecepatan dan fitur lain yang dibanggakan oleh sepupu mereka yang berat (SATA, Ethernet, USB, dan lainnya).

Tetapi ketika datang ke prinsip dan fitur kerja. Mari kita lihat lebih dekat perbedaan antara kedua protokol tersebut.

Konektor USB

Pertama, Anda dapat mengatur empat mode berbeda pada protokol SPI untuk menentukan cara kerja jam. Dan agar komunikasi berfungsi, perangkat enslaver dan agen harus menggunakan model yang sama.

  1. Mode 0:sampel data di tepi jam naik, jam idle rendah
  2. Mode 1:sampel data di tepi jam turun, jam idle rendah
  3. TMode 2:sampel data di tepi jam turun, jam idle tinggi
  4. Mode 3:sampel data pada tepi jam yang meningkat, jam menganggur tinggi

Selain itu, kecepatan transfer data SPI dapat melampaui 10 Mbps, menjadikannya sempurna untuk mentransfer data dalam jumlah besar. Selain itu, Anda dapat menemukan protokol SPI pada sensor dengan kecepatan pembaruan cepat seperti LCD dan akselerometer.

LCD

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

Sedikit ACK

Model standar mencapai maksimum 100 kbps, mode cepat mencapai 400 kbps, dan mode kecepatan tinggi mencapai 3,4 Mbps. Oleh karena itu, protokol I2C secara signifikan lebih lambat daripada protokol SPI. Hasilnya, protokol I2C bekerja paling baik di sensor suhu dan konverter analog-ke-digital.

Sensor Suhu

Membandingkan I2C dan SPI

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

Fitur SPI I2C
Sematkan drive Mode tekan-tarik Mode pembuangan terbuka
Maks. Kecepatan Tidak ada (Tetapi Anda dapat menemukan 10 – 100 Mbps) 100 kbps (metode standar)400 kbps (cara cepat)3,4 Mbps (mode kecepatan tinggi)
Multi-master Tidak Ya
Garis sinyal 4 (perangkat tambahan menambahkan jalur ekstra) 2
Tidak. Periferal Jumlah pin yang tersedia untuk jalur SS pada master SPI adalah satu-satunya batasan jumlah periferal yang dapat Anda miliki Maks. dari 112 dengan pengalamatan 7-bit
Kontrol aliran Tidak Ya

Protokol SPI vs I2C – Pro dan Kontra

SPI 

Pro

Kontra

I2C 

Pro

Kontra

Faktor yang Harus Anda Pertimbangkan Saat Memilih Antara SPI dan I2C

Memilih protokol terbaik untuk proyek Anda melampaui label harga. Jadi, berikut adalah beberapa hal yang perlu dipertimbangkan sebelum menentukan pilihan Anda:

Pin Terbatas

Berikut adalah kelebihan dan kekurangan protokol SPI dan I2C:jika Anda tidak suka menggunakan mikrokontroler dengan lebih dari 100 pin, ini adalah faktor penting untuk dipertimbangkan. Dalam hal ini, Anda harus memilih protokol yang memerlukan jalur komunikasi yang lebih sedikit.

Kekuatan

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

Kecepatan

Ketika datang untuk mentransfer data dalam jumlah besar, setiap mikrodetik sangat penting. Jadi, jika Anda membutuhkan kecepatan, gunakan protokol yang memenuhi standar kecepatan Anda.

Ukuran PCB

Sangat 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 adalah fitur dari setiap protokol untuk membantu Anda membuat keputusan terbaik untuk desain Anda:

Fitur SPI I2C
Kecepatan Jika desain Anda memerlukan transmisi berkecepatan lebih tinggi, protokol SPI adalah pilihan terbaik. Anda dapat memilih I2C untuk desain perangkat berkecepatan rendah
Ukuran PCB Jika Anda tidak peduli dengan ukuran PCB, Anda tidak akan salah memilih SPI atau I2C. Jika PCB Anda memiliki ukuran yang lebih kecil dan track yang lebih sedikit, pertimbangkan untuk memilih I2C
Pin Terbatas Pilih protokol SPI jika Anda tidak keberatan menambahkan jalur komunikasi tambahan. Jika Anda tidak nyaman dengan banyak trek, maka I2C adalah pilihan yang ideal.
Kekuatan Untuk perangkat dengan konsumsi daya yang lebih rendah, gunakan protokol SPI Untuk perangkat konsumsi daya yang lebih tinggi, gunakan protokol I2C

Memahami UART

UART adalah sirkuit fisik dalam mikrokontroler terintegrasi atau yang membangun komunikasi serial antar perangkat dalam sistem tertanam.

Selain itu, ketika Anda berurusan dengan komunikasi UART, selalu ada komunikasi langsung antara pemancar UART dan penerima UART.

UART vs I2C vs SPI

Berbeda dengan protokol komunikasi lain seperti SPI dan I2C, UART adalah murni fisik. Plus, itu tidak menggunakan paradigma master/slave untuk berkomunikasi. Sebagai gantinya, mikrokontroler menggunakan dua perangkat UART untuk mengirim dan menerima data. Selain itu, Anda hanya memerlukan dua kabel untuk komunikasi UART. Dan kabel akan membantu mengirimkan data dari pin Tx pemancar ke pin Rx penerima.

Antarmuka Protokol UART

Pembulatan ke Atas

Pada kenyataannya, protokol SPI dan I2C digunakan dalam berbagai aplikasi. Terkadang, Anda mungkin menemukan perangkat yang menampilkan antarmuka SPI dan I2C dalam satu chip. Jadi, Anda tidak harus memilih di antara keduanya.

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

Ada pertanyaan? Jangan sungkan untuk menghubungi kami. Kami akan dengan senang hati membantu.


Teknologi Industri

  1. 7 Pustaka React yang harus Anda ketahui
  2. Yang Harus Anda Ketahui Tentang Pengujian Oli Trafo
  3. Mengapa Anda Harus Menggunakan Line Reactor
  4. Yang Harus Anda Ketahui Tentang Pelindung Roda Gerinda
  5. 5 Hal Yang Harus Anda Ketahui Tentang Alat Mikro
  6. Apakah Kepatuhan TAA itu? 5 Hal Yang Harus Anda Ketahui
  7. 9 aplikasi pembelajaran mesin yang harus Anda ketahui
  8. Clutch Facing:Semua Yang Harus Anda Ketahui
  9. Istilah Dasar Waterjet Yang Harus Anda Ketahui
  10. Apa itu Knurling? Inilah Yang Harus Anda Ketahui