SMBus : Cara Kerja, Perbedaan & Aplikasinya

Coba Instrumen Kami Untuk Menghilangkan Masalah





SMBus diluncurkan pada tahun 1995 oleh Intel dan didasarkan pada protokol bus serial I²C dari Philips. Bus ini membawa data, CLK & instruksi di mana frekuensi clock berkisar dari 10 kHz hingga 100 kHz. Tujuan utama SMBus adalah untuk memungkinkan metode yang murah dan kuat untuk mengontrol dan mendapatkan data dari perangkat pada motherboard. SMBus biasanya digunakan di PC untuk kontrol suhu, baterai pintar & komunikasi manajemen sistem bandwidth rendah lainnya.


Bus ini mengidentifikasi hubungan komunikasi antara pengisi daya, baterai cerdas & mikrokontroler yang berkomunikasi dengan sistem lainnya. Namun, SMBus juga digunakan untuk menghubungkan perangkat yang berbeda seperti sensor sistem, perangkat terkait daya, perangkat komunikasi, EEPROM inventaris, dll. Artikel ini membahas ikhtisar SMBus – bekerja dengan aplikasi.



Apa itu Protokol SMBus?

SMBus (System Management Bus) adalah antarmuka 2-kawat, sering digunakan di antara berbagai perangkat pada motherboard untuk komunikasi manajemen sistem berkecepatan rendah. Bus jenis ini dirancang oleh protokol I2C yayasan. Jadi baik I2C & SMBus mungkin memiliki beberapa kesamaan dan mereka juga dapat beroperasi di bus yang sama.

Bus ini bekerja pada prinsip operasi I2C yang menyediakan bus kontrol, terutama untuk sistem yang memungkinkan pesan ke atau dari perangkat daripada menggunakan jalur kontrol terpisah untuk mengurangi kabel sistem & jumlah pin.



Perangkat dengan SMBus dapat memberikan informasi pembuatan, menginformasikan sistem tentang bagian atau nomor modelnya, melaporkan berbagai jenis kesalahan, memungkinkan parameter kontrol, dan meninjau kembali posisinya.

Spesifikasi SMBus

Spesifikasi SMBus hanya mengacu pada 3 jenis perangkat host, master & slave.

  • Host adalah master tertentu dan menyediakan antarmuka utama ke CPU sistem.
  • Perangkat master yang mengeluarkan instruksi, menghasilkan jam & menghentikan transfer.
  • Perangkat budak menerima sebaliknya bereaksi terhadap perintah.

Bagaimana Cara Kerja SMBus?

Ada 3 jenis perangkat yang digunakan dalam komunikasi SMBus seperti perangkat host, master & slave yang ditunjukkan pada diagram berikut. Di bus ini, perangkat host adalah antarmuka seperti kerja master khusus ke CPU sistem; Namun, itu tidak selalu diperlukan. Beberapa sistem seperti sistem pengisian baterai sederhana bisa tanpa host.

Perangkat master memulai komunikasi, menggerakkan CLK & menghentikan transfer. Sebuah perangkat dapat dipilih untuk menjadi hanya master atau master-slave, di mana ia dapat bekerja baik sebagai perangkat master atau perangkat slave.

  Diagram SMBus
Diagram SMBus

Di SMBus, ada juga di atas satu master, namun hanya satu yang dapat menguasai bus pada waktu tertentu. Misalnya, ketika dua perangkat menguasai bus sekaligus, maka SMBus menyediakan mekanisme arbitrase yang hanya bergantung pada koneksi kabel-AND dari semua antarmuka perangkat SMBus ke SMBus.

Perangkat budak menanggapi alamatnya serta perintah dan mereka dapat mengirim dan menerima data dari dan ke perangkat master. Perangkat dapat dipilih sepenuhnya sebagai budak jika tidak, budak dapat bekerja seperti master dalam contoh-contoh tertentu.

Mirip dengan protokol I2C, setiap slave di bus ini hanya dialokasikan dengan alamat slave tujuh bit di mana bit baca atau tulis ditambahkan ke alamat ini untuk menjelaskan apakah perangkat sedang membaca atau menulis pesan yang dikirimkan di bus.

Perangkat diperlukan untuk mengenali alamatnya sendiri, jadi begitu perangkat mengidentifikasi alamatnya, perangkat akan bereaksi terhadap perintah.

Ketika alamat slave dari bus ini bertentangan, maka bus ini mendukung ARP atau Address Resolution Protocol. Setelah host mengetahui dua perangkat dengan alamat slave yang serupa, maka prosedur protokol resolusi alamat akan menetapkan alamat unik baru secara dinamis ke slave. Protokol resolusi alamat akan memungkinkan perangkat untuk digunakan segera tanpa persyaratan untuk memulai kembali sistem.

Bus ini menggunakan 2 kabel untuk komunikasi seperti kabel SMBDAT & kabel SMBCLK dimana kabel SMBDAT digunakan untuk mentransfer data serial & kabel SMBCLK bekerja seperti jam serial. Dalam SMBus di atas, master hanya menggerakkan SMBCLK yang berkisar antara 10 hingga 100 kHz, namun, saluran apa pun dapat menggerakkan SMBDAT.

Kedua kabel ini dua arah yang menyediakan opsi untuk menyertakan sinyal peringatan seperti SMBALERT yang memungkinkan perangkat meminta perhatian dari host.

Paket data bus ini berisi bit Start, bit ACK atau NACK, 8 bit data & bit Stop. Transfer data SMBus menggunakan beberapa fungsi selain protokol SMBus yang berbeda saat mengirim pesan seperti Send Byte, Quick Command, Read Word, Write Byte, Read Byte, Write Word, Process Call, Block Write, Block Read, Read Process Call & Blok Tulis-Blok.

Bus ini juga mendukung PEC (packet error checking) untuk meningkatkan kehandalan komunikasi. Jadi ini dapat dilakukan dengan memasukkan kode kesalahan paket di akhir setiap pesan.

Fungsi

Fungsi SMBus juga disebut protokol. Jadi protokol utama SMBus adalah Quick Command, Send Byte, Receive Byte, Write Byte, Read Byte, Process Call, Block Write/Read Block Write-Block Read Process Call, SMBus Host Notify Protocol, Write-32 Protocol, Read-32 Protokol, Tulis 64-Protokol & Baca 64 Protokol.

Format Pesan SMBU

Setelah kondisi START, master akan mencari alamat 7-bit perangkat slave dan perlu alamat di bus. Jadi, panjang alamat adalah 7 bit diikuti oleh 8 bit yang menandakan arah transfer data (R/W); a ONE menentukan permintaan untuk READ (data) & ZERO menentukan MENULIS (transmisi).

  Format Pesan
Format Pesan

Transfer data selalu diakhiri dengan kondisi STOP yang dihasilkan melalui master.

Setiap byte mencakup 8 bit dan setiap byte ditransfer pada SMBus dan harus diikuti melalui bit yang diakui. Byte ditransmisikan melalui MSB (most significant bit) terlebih dahulu.

Perangkat SMBus yang khas mencakup serangkaian perintah di mana data dapat dengan mudah dibaca & ditulis. Panjang semua perintah ini adalah 1 byte sedangkan argumennya, serta nilai yang dikembalikan, dapat berubah dalam panjangnya.

Mengizinkan perintah tidak ada jika tidak, itu tidak didukung, sehingga dapat menyebabkan kondisi kesalahan. Sesuai dengan spesifikasi SMBus, MSB pertama kali ditransfer.

Pertama, semua perintah mengatur kondisi start di atas bus, setelah itu memulai transmisi melalui transmisi data atau perintah, menunggu penerimaan dari perangkat budak di seluruh transmisi data atau perintah, kemudian menetapkan kondisi berhenti di bus.

Kondisi Mulai dan Berhenti untuk Protokol SMBus

Kondisi START & STOP dari sebuah pesan akan ditentukan oleh dua kondisi bus unik tinggi ke rendah dan rendah ke tinggi.

  Kondisi Mulai dan Berhenti
Kondisi Mulai dan Berhenti

Dalam transisi baris SMBDAT HIGH ke LOW, ketika SMBCLK HIGH maka ini menunjukkan kondisi MULAI dari sebuah pesan.

Dalam transisi baris SMBDAT LOW ke HIGH, ketika SMBCLK HIGH maka ini mendefinisikan kondisi STOP dari sebuah pesan. Jadi kedua kondisi ini selalu dibangkitkan oleh master bus. Bus menjadi sibuk setelah kondisi START. Bus akan kembali menjadi idle setelah waktu tertentu mengikuti kondisi STOP.

Persyaratan Perangkat Keras SMBus

Persyaratan perangkat keras SMBus untuk memungkinkan komunikasi yang efisien, serta mulus di antara PC & beberapa perangkat keras terpentingnya, adalah dua kabel seperti SMBDAT & SMBCLK, PSU (Unit Catu Daya), rangkaian IC, driver & kipas pendinginnya . Pada dasarnya, Kontroler SMBus ini memungkinkan komputer untuk menangani & menjalankan perintah dengan sukses seperti menyalakan PSU & mengendalikan kipas pendinginnya.

Transfer data SMBus menggunakan protokol atau fungsi yang berbeda saat mentransfer pesan seperti Send Byte, Quick Command, Write Byte, Read Byte, Write Word, Read Word, Block Read, Process Call, Block Write, dll. Ini juga mendukung PEC atau pemeriksaan kesalahan paket untuk meningkatkan keandalan komunikasi hanya dengan memasukkan kode kesalahan paket di setiap akhir pesan.

Perangkat keras SMBus hanya menyediakan kontrol waktu & pergeseran yang digunakan untuk transfer serial. Jadi perangkat keras SMBus melakukan tugas aplikasi independen yang berbeda seperti kontrol waktu, transfer data serial, dan pengenalan alamat budak.

SMBus Vs I2C

Itu perbedaan antara SMBus dan I2C meliputi berikut ini.

SMBus

2C

Istilah SMBus adalah singkatan dari “System Management Bus”. Istilah I2C adalah singkatan dari 'Inter-Integrated Circuit'.
SMBus adalah bus kontrol 2-kawat yang digunakan dalam tugas manajemen energi & sistem. I2C adalah protokol komunikasi on-board yang digunakan untuk bandwidth rendah & jarak pendek.
Sebuah sistem dapat memanfaatkan bus ini untuk merutekan pesan dari & ke perangkat daripada mengaktifkan jalur kontrol individu.

I2C biasanya digunakan untuk menghubungkan periferal berbasis kecepatan rendah seperti mikrokontroler dan sensor ke prosesor di atas jarak pendek dalam sebuah IC.
Kecepatan CLK maksimum adalah 100 kHz. Kecepatan CLK maksimum adalah 400 kHz.
Kecepatan CLK minimum adalah 10 kHz. Tidak ada kecepatan CLK minimum.
Batas waktu CLK rendah 35ms. Tidak ada batas waktu.
Ini memiliki tingkat logika tetap. Level logikanya bergantung pada VDD.
Ini memiliki berbagai jenis alamat seperti milik, dinamis, dll. Ini memiliki jenis alamat yang berbeda seperti alamat budak panggilan umum, 7-bit, dan 10-bit.
Ini memiliki berbagai protokol bus seperti panggilan proses, perintah cepat, dll. Itu tidak memiliki protokol bus.

SMBus Vs Pmbus

Perbedaan antara SMBus dan Pmbus antara lain sebagai berikut.

SMBus

Pmbus

SMBus adalah bus 2-kawat, ujung tunggal yang digunakan untuk komunikasi ringan. Perpanjangan SMBus adalah Pmbus dan merupakan protokol berbiaya rendah yang terutama digunakan untuk komunikasi di antara perangkat manajemen daya.
Mode slave bus ini memungkinkan nilai kecepatan data seperti 10kbps, 50 kbps, 100 kbps & 400 kbps. Modus budak bus ini hanya memungkinkan nilai data rate seperti 100 kbps & 400 kbps.
Jenis bus ini bekerja dengan perangkat keras I2C namun termasuk perangkat lunak tingkat kedua dengan memungkinkan perangkat untuk ditukar tanpa me-restart sistem. Bus ini memperluas SMBus hanya dengan mendefinisikan satu set perintah perangkat dan dirancang khusus untuk menangani konverter daya, memperlihatkan atribut perangkat seperti arus terukur, tegangan, suhu, dll.
SMBus adalah superset dari I2C PMBus adalah superset dari SMBus
Bus ini mencakup Layer Network & Data Link. Bus ini termasuk lapisan Transport & satu set perintah.

Diagram Waktu

Itu Diagram waktu SMBus ditunjukkan di bawah ini.

  Diagram Waktu SMBus
Diagram Waktu SMBus

TLOW.SEXT adalah perangkat slave yang memperpanjang siklus CLK dalam satu pesan dari START ke STOP. Jadi mungkin saja, master atau perangkat slave lainnya juga akan memperpanjang siklus CLK untuk menyebabkan waktu perpanjangan rendah dari CLK gabungan menjadi lebih tinggi daripada TLOW.SEXT. Dengan demikian, parameter ini hanya diukur melalui perangkat budak seperti target tunggal dari master kecepatan penuh.

TLOW.MEXT adalah perangkat master yang memperluas siklus CLK di setiap byte pesan. Jadi adalah layak bahwa master atau perangkat slave lain juga akan memperpanjang CLK untuk menyebabkan waktu rendah dari CLK gabungan menjadi lebih tinggi dibandingkan dengan TLOW.MEXT pada byte yang ditentukan. Dengan demikian, parameter hanya diukur melalui perangkat budak kecepatan penuh seperti target tunggal master.

Aplikasi

Itu aplikasi SMBus termasuk berikut ini.

  • SMBus digunakan sebagai chip komponen sistem yang digunakan untuk berkomunikasi dalam suatu sistem. Lebih khusus lagi, ini memungkinkan baterai untuk berkomunikasi dengan komponen lain dari sistem seperti komponen terkait daya & CPU.
  • Ini digunakan untuk komunikasi ringan.
  • Bus ini digunakan untuk memantau parameter kritis di sistem tertanam & pada motherboard PC.
  • Ini adalah jenis komunikasi yang paling umum untuk pengukur bahan bakar canggih Texas Instruments.
  • Ini digunakan dalam komunikasi manajemen sistem berbasis bandwidth yang lebih sedikit.

Jadi, ini semua tentang gambaran umum tentang SMBus - bekerja dengan aplikasi. Ini adalah bus dua kabel sederhana dan berujung tunggal yang digunakan untuk komunikasi ringan. Bus ini digunakan di motherboard komputer untuk komunikasi dengan sumber daya untuk instruksi ON atau OFF. Ini pertanyaan untuk Anda, apa itu protokol I2C?