Pengenalan Bus I2C Secara Lengkap

Artikel ini mencakup karakteristik penting dan keunggulan menonjol dari protokol serial-komunikasi Sirkuit Antar-Sirkuit Terpadu (alias I2C).
Berkomunikasi via Sup Alfabet
Tidak mengherankan jika fitur umum sistem elektronik adalah kebutuhan untuk berbagi informasi di antara dua atau tiga atau sepuluh komponen terpisah. insinyur telah mengembangkan sejumlah protokol standar yang membantu chip yang berbeda berkomunikasi dengan sukses - sebuah fakta yang menjadi jelas saat Anda menghadapi rentetan akronim di bawah "Komunikasi" dalam daftar fitur untuk mikrokontroler atau prosesor sinyal digital: UART, USART, SPI, I2C ,BISA. . . .

menghentikan Setiap protokol memiliki kelebihan dan kekurangannya, dan penting untuk mengetahui sedikit tentang masing-masing sehingga Anda dapat membuat keputusan saat memilih komponen atau antarmuka.

Artikel ini adalah tentang I2C, yang biasanya digunakan untuk komunikasi antara sirkuit terpadu individu yang terletak pada PCB yang sama. Dua protokol umum lainnya yang juga masuk dalam kategori umum ini adalah UART (Universal Asynchronous Receiver / Transmitter) dan SPI (Serial Peripheral Interface). Anda perlu mengetahui karakteristik dasar dari I2C sebelum Anda benar-benar dapat memahami perbandingan antara ketiga antarmuka ini, jadi kami akan membahas topik itu di akhir artikel ini.
Baca Juga Pengertian Listrik Statis Dan Rumus
Banyak Nama, Satu Bus

Tidak ada keraguan bahwa protokol I2C menderita masalah terminologi yang serius. Nama sebenarnya adalah Inter-Integrated Circuit Bus. Singkatan yang paling sederhana dan mungkin paling populer adalah IIC. Mungkin singkatan ini telah diremehkan karena kedua ibu saya terlihat seperti dua 1s, atau dua huruf kecil, atau angka romawi II, atau simbol untuk resistor paralel. . . . Bagaimanapun, singkatan I2C (diucapkan sebagai "I kuadrat C") mendapatkan popularitas, terlepas dari logika yang dipertanyakan dalam memperlakukan sebuah huruf normal seolah-olah itu adalah variabel yang tunduk pada eksponenasi. pilihan ketiga adalah I2C ("I two C"), yang menghindari ketidaknyamanan format superscript dan juga agak mudah diucapkan daripada "I squared C."

Lapisan akhir kabut mengendap saat Anda melihat bahwa SMB atau SMBus tampaknya digunakan sebagai cara lain untuk merujuk ke bus I2C. Sebenarnya, singkatan ini mengacu pada Bus Manajemen Sistem, yang berbeda dari, meski hampir identik dengan, bus I2C. Protokol I2C asli dikembangkan oleh Phillips Semiconductor, dan bertahun-tahun kemudian Intel mendefinisikan protokol SMBus sebagai perpanjangan I2C. Kedua bus ini sebagian besar saling dipertukarkan; Jika Anda tertarik dengan perbedaan kecil di antara mereka, lihat halaman 57 dari Spesifikasi Bus Manajemen Sistem.



Seperti Mencoba Memiliki Percakapan Penting di Ruang Penuh Orang. . .

Untuk menghargai teknik cerdas yang membuat I2C begitu efektif, Anda perlu memikirkan kesulitan untuk mencapai keandalan dan fleksibilitas yang dapat diandalkan antara beberapa komponen independen. situasinya cukup sederhana jika Anda memiliki satu chip yang selalu menjadi master dan satu chip yang selalu menjadi budak. Tapi bagaimana jika Anda memiliki beberapa budak? Bagaimana jika para budak tidak tahu siapa tuannya? Bagaimana jika ada beberapa master? Apa yang terjadi jika seorang master meminta data dari seorang budak sehingga entah mengapa menjadi tidak berfungsi? Atau bagaimana jika budak menjadi tidak berfungsi di tengah transmisi? Bagaimana jika seorang master mengklaim bus untuk melakukan transmisi lalu mogok sebelum melepaskan bus?
Bus l2c
Intinya adalah, ada banyak hal yang bisa salah dalam lingkungan komunikasi semacam ini. Anda harus mengingat hal ini saat Anda belajar tentang I2C, karena jika tidak, protokolnya akan terasa sangat rumit dan rewel. Faktanya adalah, kompleksitas ekstra inilah yang memungkinkan I2C menyediakan komunikasi serial fleksibel, extensible, robust, low-pin-count.

Ikhtisar

Sebelum kita membahasnya, inilah karakteristik utama dari I2C:

Bus l2c
 ● Hanya dua sinyal (jam dan data) yang digunakan, berapa pun jumlah perangkat yang ada di dalam bus.

● Kedua sinyal ditarik ke voltase catu daya positif melalui resistor berukuran tepat.

● Setiap perangkat berinteraksi dengan sinyal clock dan data melalui driver output open-drain (atau open-collector).

● Setiap perangkat budak diidentifikasi dengan menggunakan alamat 7-bit; master harus mengetahui alamat ini agar bisa berkomunikasi dengan seorang budak tertentu.

● Semua transmisi dimulai dan dihentikan oleh master; master dapat menulis data ke satu atau lebih budak atau meminta data dari seorang budak.

● Label "master" dan "slave" pada dasarnya tidak permanen: perangkat apapun dapat berfungsi sebagai master atau slave jika menggabungkan perangkat keras dan / atau firmware yang diperlukan. Dalam prakteknya, sistem embedded sering mengadopsi arsitektur di mana satu master mengirim perintah ke atau mengumpulkan data dari beberapa budak.

● Sinyal data diperbarui pada tepi sinyal jam turun dan diambil sampel pada sisi terbit, sebagai berikut:
Bus l2c
● Data ditransfer dalam satu bagian byte, dengan setiap byte diikuti oleh sinyal handshaking satu bit yang disebut bit ACK / NACK (acknowledge or not-acknowledge).



I2C vs UART dan SPI

Kelebihan I2C dapat diringkas sebagai berikut:

● mempertahankan pin / hitungan sinyal rendah bahkan dengan banyak perangkat di bus

● menyesuaikan dengan kebutuhan perangkat slave yang berbeda

● siap mendukung beberapa master

● menggabungkan fungsi ACK / NACK untuk memperbaiki penanganan kesalahan

Baca Juga jasa Instalasi listrik seJabodetabek

Dan inilah beberapa kelemahannya:

● meningkatkan kompleksitas firmware atau perangkat keras tingkat rendah

● memaksakan overhead protokol yang mengurangi throughput

● memerlukan resistor pull-up, yang mana

○ membatasi kecepatan clock

○ Mengonsumsi real estat PCB yang berharga dalam sistem yang sangat dibatasi oleh ruang

○ meningkatkan disipasi daya

Kita dapat melihat dari titik-titik ini bahwa I2C sangat sesuai bila Anda memiliki jaringan perangkat komunikasi yang rumit, beragam, atau luas. Interface uART umumnya digunakan untuk koneksi point-to-point karena tidak ada cara standar untuk menangani perangkat yang berbeda atau berbagi pin. sPI sangat bagus bila Anda memiliki satu master dan beberapa budak, namun masing-masing budak memerlukan sinyal "slave select" terpisah, yang menyebabkan jumlah pin dan kesulitan routing tinggi saat banyak perangkat berada di dalam bus. Dan SPI canggung bila Anda perlu mendukung banyak master.

Anda mungkin perlu menghindari I2C jika throughput menjadi perhatian yang dominan; SPI mendukung frekuensi clock yang lebih tinggi dan meminimalkan overhead. Juga, desain perangkat keras tingkat rendah untuk SPI (atau UART) jauh lebih sederhana, jadi jika Anda bekerja dengan FPGA dan mengembangkan antarmuka serial Anda dari awal, I2C mungkin harus dianggap sebagai upaya terakhir.

Kesimpulan

kami telah menyajikan karakteristik penting dari I2C, dan sekarang kami cukup tahu tentang pro dan kontra protokol untuk memungkinkan keputusan yang tepat mengenai bus serial yang Anda pilih untuk aplikasi tertentu. Dalam artikel selanjutnya kita akan mengeksplorasi protokolnya, dan bagaimana cara mengimplementasikannya secara lebih rinci.

Tuesday, November 28, 2017 - tanpa komentar

0 komentar untuk artikel ini. Ingin berkomentar?

Emoticon Emoticon

Perlihatkan Semua Komentar Tutup Semua Komentar