SMBus : Kerja, Perbezaan & Aplikasinya

Cuba Instrumen Kami Untuk Menghapuskan Masalah





SMBus telah dilancarkan pada tahun 1995 oleh Intel dan ia berdasarkan protokol bas bersiri I²C Philips. Bas ini membawa data, CLK & arahan di mana frekuensi jam berjulat dari 10 kHz hingga 100 kHz. Hasrat utama SMBus adalah untuk membenarkan kaedah yang murah dan berkuasa untuk mengawal dan mendapatkan data daripada peranti pada papan induk. SMBus biasanya digunakan dalam PC untuk kawalan suhu, bateri pintar & komunikasi pengurusan sistem jalur lebar rendah yang lain.


Bas ini mengenal pasti pautan komunikasi antara pengecas, bateri pintar & mikropengawal yang bertutur dengan seluruh sistem. Tetapi, SMBus juga digunakan untuk menyambungkan peranti yang berbeza seperti penderia sistem, peranti berkaitan kuasa, peranti komunikasi, EEPROM inventori, dll. Artikel ini membincangkan gambaran keseluruhan SMBus – bekerja dengan aplikasi.



Apakah Protokol SMBus?

SMBus (Bas Pengurusan Sistem) ialah antara muka 2 wayar, yang kerap digunakan di antara pelbagai peranti pada papan induk untuk komunikasi pengurusan sistem berkelajuan rendah. Bas jenis ini telah direka oleh protokol I2C asas. Jadi kedua-dua I2C & SMBus mungkin mempunyai beberapa persamaan dan mereka juga boleh beroperasi antara bas yang serupa.

Bas ini berfungsi pada prinsip operasi I2C yang menyediakan bas kawalan, terutamanya untuk sistem membenarkan mesej ke atau dari peranti dan bukannya menggunakan talian kawalan berasingan untuk mengurangkan wayar sistem & kiraan pin.



Peranti dengan SMBus boleh memberikan maklumat pembuatan, memaklumkan sistem bahagian atau nombor modelnya, melaporkan pelbagai jenis ralat, membenarkan parameter kawalan dan menyemak semula kedudukannya.

Spesifikasi SMBus

Spesifikasi SMBus hanya merujuk kepada 3 jenis peranti hos, tuan & hamba.

  • Hos ialah tuan tertentu dan ia menyediakan antara muka utama kepada CPU sistem.
  • Peranti induk yang mengeluarkan arahan, menjana jam & menamatkan pemindahan.
  • Peranti hamba menerima sebaliknya bertindak balas kepada arahan.

Bagaimana SMBus Berfungsi?

Terdapat 3 jenis peranti yang digunakan dalam komunikasi SMBus seperti hos, peranti induk & hamba yang ditunjukkan dalam rajah berikut. Dalam bas ini, peranti hos ialah antara muka seperti kerja induk khusus kepada CPU sistem; namun, ia tidak perlu selalu. Sesetengah sistem seperti sistem pengecasan bateri mudah boleh dilakukan tanpa hos.

Peranti induk memulakan komunikasi, memacu CLK & menghentikan pemindahan. Peranti boleh dipilih untuk menjadi tuan atau hamba tuan, di mana ia boleh berfungsi sama ada sebagai peranti induk sebaliknya peranti hamba.

  Rajah SMBus
Rajah SMBus

Pada SMBus, terdapat juga di atas satu master, namun hanya seorang yang boleh menguasai bas pada bila-bila masa. Sebagai contoh, apabila kedua-dua peranti menguasai bas sekali gus, maka SMBus menyediakan mekanisme timbang tara yang hanya bergantung pada sambungan berwayar DAN semua antara muka peranti SMBus ke SMBus.

Peranti hamba bertindak balas kepada alamat serta arahannya dan ia boleh menghantar dan menerima data dari dan ke peranti induk. Peranti boleh dipilih sepenuhnya sebagai hamba jika tidak, hamba boleh bekerja seperti tuan dalam contoh tertentu.

Sama seperti protokol I2C, setiap hamba pada bas ini hanya diperuntukkan dengan alamat hamba tujuh bit di mana bit baca atau tulis dilampirkan pada alamat ini untuk menerangkan sama ada peranti membaca atau menulis mesej yang dihantar pada bas.

Peranti diperlukan untuk mengenali alamat mereka sendiri, oleh itu sebaik sahaja peranti mengenal pasti alamatnya, maka ia akan bertindak balas kepada arahan itu.

Apabila alamat hamba bas ini bercanggah, maka ia menyokong ARP atau Address Resolution Protocol. Sebaik sahaja hos melihat dua peranti dengan alamat hamba yang serupa, maka prosedur protokol resolusi alamat akan memberikan alamat unik baharu secara dinamik kepada hamba. Protokol resolusi alamat akan membolehkan peranti digunakan serta-merta tanpa keperluan untuk memulakan semula sistem.

Bas ini menggunakan 2 wayar untuk komunikasi seperti wayar SMBDAT & wayar SMBCLK di mana wayar SMBDAT digunakan untuk memindahkan data bersiri & wayar SMBCLK berfungsi seperti jam bersiri. Dalam SMBus di atas, tuan hanya memacu SMBCLK yang berjulat dari 10 hingga 100 kHz, walau bagaimanapun, mana-mana talian boleh memacu SMBDAT.

Kedua-dua wayar ini adalah dwiarah yang menyediakan pilihan untuk memasukkan isyarat amaran seperti SMBALERT yang membolehkan peranti meminta perhatian daripada hos.

Paket data bas ini mengandungi bit Mula, bit ACK atau NACK, 8 bit data & bit Henti. Pemindahan data SMBus menggunakan beberapa fungsi sebaliknya protokol SMBus yang berbeza semasa menghantar mesej 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.

Bas ini juga menyokong PEC (pemeriksaan ralat paket) untuk meningkatkan kebolehpercayaan komunikasi. Jadi ini boleh dilakukan dengan memasukkan kod ralat paket pada akhir setiap mesej.

Fungsi

fungsi SMBus juga dipanggil protokol. Jadi protokol utama SMBus ialah Perintah Pantas, Hantar Bait, Terima Bait, Tulis Bait, Baca Bait, Proses Panggilan, Blok Tulis/Baca Blok Tulis-Blok Baca Panggilan Proses, SMBus Host Notify Protocol, Write-32 Protocol, Read-32 Protokol, Tulis 64-Protokol & Baca 64 Protokol.

Format Mesej SMBUS

Selepas keadaan MULA, tuan akan mencari alamat 7-bit peranti hamba dan ia perlu mengalamatkan pada bas. Jadi, panjang alamat adalah 7 bit panjang diikuti dengan 8-bit menandakan arah pemindahan data (R/W); SATU menentukan permintaan untuk BACA (data) & SIFAR menentukan TULIS (penghantaran).

  Format Mesej
Format Mesej

Pemindahan data sentiasa ditamatkan oleh keadaan STOP yang dihasilkan melalui induk.

Setiap bait termasuk 8 bit dan setiap bait dipindahkan pada SMBus dan harus diikuti melalui bit pengakuan. Bait dihantar melalui MSB (bit paling ketara) terlebih dahulu.

Peranti SMBus biasa termasuk satu set perintah yang melaluinya data boleh dibaca & ditulis dengan mudah. Panjang semua arahan ini ialah 1 bait manakala hujah mereka, serta nilai pulangan, boleh berubah dalam panjangnya.

Membenarkan arahan tidak wujud jika tidak ia tidak disokong, jadi ia boleh menyebabkan keadaan ralat. Selaras dengan spesifikasi SMBus, MSB mula-mula dipindahkan.

Pertama, semua arahan menetapkan syarat permulaan di atas bas, selepas itu mulakan penghantaran melalui penghantaran data atau arahan, tunggu penerimaan daripada peranti hamba sepanjang penghantaran data atau arahan, kemudian tetapkan keadaan berhenti pada bas.

Mula dan Hentikan Syarat untuk Protokol SMBus

Keadaan MULA & BERHENTI sesuatu mesej akan ditakrifkan oleh dua keadaan bas unik tinggi ke rendah dan rendah ke tinggi.

  Mula dan Berhenti Syarat
Mula dan Berhenti Syarat

Dalam peralihan baris SMBDAT TINGGI ke RENDAH, apabila SMBCLK adalah TINGGI maka ia menunjukkan keadaan MULA bagi mesej.

Dalam peralihan baris SMBDAT RENDAH ke TINGGI, apabila SMBCLK adalah TINGGI maka ia mentakrifkan keadaan STOP mesej. Jadi kedua-dua syarat ini selalu dijana oleh tuan bas. Bas menjadi sibuk selepas keadaan MULA. Bas akan kembali melahu selepas masa tertentu berikutan keadaan BERHENTI.

Keperluan Perkakasan SMBus

Keperluan perkakasan SMBus untuk membolehkan komunikasi yang cekap, serta lancar di antara PC & beberapa perkakasan yang paling penting, ialah dua wayar seperti SMBDAT & SMBCLK, PSU (Unit Bekalan Kuasa), set IC, pemacu & kipas penyejuknya . Pada asasnya, Pengawal SMBus ini membolehkan komputer mengendalikan & melaksanakan arahan dengan jayanya seperti menghidupkan PSU & mengawal kipas penyejuknya.

Pemindahan data SMBus menggunakan protokol atau fungsi yang berbeza semasa memindahkan mesej seperti Send Byte, Quick Command, Write Byte, Read Byte, Write Word, Read Word, Block Read, Process Call, Block Write, dll. Ia juga menyokong PEC atau semakan ralat paket untuk meningkatkan kebolehpercayaan komunikasi dengan hanya memasukkan kod ralat paket pada setiap hujung mesej.

Perkakasan SMBus hanya menyediakan kawalan masa & peralihan yang digunakan untuk pemindahan bersiri. Jadi perkakasan SMBus melaksanakan tugas aplikasi bebas yang berbeza seperti kawalan masa, pemindahan data bersiri dan pengecaman alamat hamba.

SMBus Vs I2C

The perbezaan antara SMBus dan I2C termasuk yang berikut.

SMBus

2C

Istilah SMBus bermaksud 'Bas Pengurusan Sistem'. Istilah I2C bermaksud 'Litar Bersepadu Antara'.
SMBus ialah bas kawalan 2 wayar yang digunakan dalam tugas pengurusan tenaga & sistem. I2C ialah protokol komunikasi on-board yang digunakan untuk jalur lebar rendah & jarak dekat.
Sistem boleh menggunakan bas ini untuk menghalakan mesej dari & ke peranti dan bukannya mengaktifkan talian kawalan individu.

I2C biasanya digunakan untuk menyambungkan peranti berasaskan kelajuan rendah seperti mikropengawal dan penderia kepada pemproses di atas jarak dekat dalam IC.
Kelajuan CLK maksimum ialah 100 kHz. Kelajuan CLK maksimum ialah 400 kHz.
Kelajuan CLK minimum ialah 10 kHz. Tiada kelajuan CLK minimum.
35ms tamat masa CLK rendah. Tiada masa tamat.
Ia mempunyai tahap logik tetap. Tahap logiknya bergantung pada VDD.
Ia mempunyai pelbagai jenis alamat seperti terpelihara, dinamik, dsb. Ia mempunyai jenis alamat yang berbeza seperti alamat hamba panggilan umum, 7-bit dan 10-bit.
Ia mempunyai pelbagai protokol bas seperti panggilan proses, arahan pantas, dll. Ia tidak mempunyai protokol bas.

SMBus Vs Pmbus

Perbezaan antara SMBus dan Pmbus termasuk yang berikut.

SMBus

Pmbus

SMBus ialah bas 2 wayar, satu hujung yang digunakan untuk komunikasi ringan. Sambungan SMBus ialah Pmbus dan ia adalah protokol kos rendah yang digunakan terutamanya untuk komunikasi antara peranti pengurusan kuasa.
Mod hamba bas ini membenarkan nilai kadar data seperti 10kbps, 50 kbps, 100 kbps & 400 kbps. Mod hamba bas ini hanya membenarkan nilai kadar data seperti 100 kbps & 400 kbps.
Bas jenis ini berfungsi dengan perkakasan I2C namun ia termasuk perisian peringkat kedua dengan membenarkan peranti bertukar panas tanpa memulakan semula sistem. Bas ini mengembangkan SMBus dengan hanya mentakrifkan satu set arahan peranti dan ia direka khas untuk mengendalikan penukar kuasa, mendedahkan atribut peranti seperti arus yang diukur, voltan, suhu, dsb.
SMBus ialah superset I2C PMBus ialah superset SMBus
Bas ini termasuk kedua-dua Lapisan Rangkaian & Pautan Data. Bas ini termasuk lapisan Pengangkutan & satu set arahan.

Rajah Masa

The Gambarajah masa SMBus ditunjukkan di bawah.

  Rajah Masa SMBus
Rajah Masa SMBus

TLOW.SEXT ialah peranti hamba yang memanjangkan kitaran CLK dalam satu mesej dari MULA hingga BERHENTI. Oleh itu, adalah wajar bahawa, tuan atau peranti hamba lain juga akan memanjangkan kitaran CLK untuk menyebabkan masa lanjutan rendah CLK gabungan menjadi lebih tinggi daripada TLOW.SEXT. Oleh itu, parameter ini hanya diukur melalui peranti hamba seperti sasaran tunggal master kelajuan penuh.

TLOW.MEXT ialah peranti induk yang memanjangkan kitaran CLK dalam setiap bait mesej. Jadi adalah mungkin bahawa peranti induk atau hamba lain juga akan memanjangkan CLK untuk menyebabkan masa rendah CLK gabungan menjadi lebih tinggi berbanding dengan TLOW.MEXT pada bait yang ditentukan. Oleh itu, parameter hanya diukur melalui peranti hamba berkelajuan penuh seperti sasaran tunggal tuan.

Aplikasi

The aplikasi SMBus termasuk yang berikut.

  • SMBus digunakan sebagai cip komponen sistem yang digunakan untuk berkomunikasi dalam sistem. Terutamanya, ia membenarkan bateri untuk berkomunikasi dengan komponen lain sistem seperti komponen berkaitan kuasa & CPU.
  • Ini digunakan untuk komunikasi ringan.
  • Bas ini digunakan untuk memantau parameter kritikal dalam sistem terbenam & pada papan induk PC.
  • Ini ialah jenis komunikasi yang paling biasa untuk tolok bahan api termaju Texas Instruments.
  • Ini digunakan dalam komunikasi pengurusan sistem berasaskan jalur lebar yang kurang.

Oleh itu, ini semua tentang gambaran keseluruhan SMBus – bekerja dengan aplikasi. Ini adalah bas dua wayar yang ringkas dan satu hujung yang digunakan untuk komunikasi ringan. Bas ini digunakan dalam papan induk komputer untuk komunikasi dengan sumber kuasa untuk arahan ON atau OFF. Berikut adalah soalan untuk anda, apakah protokol I2C?