SMBus: Működés, különbségek és alkalmazásai

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Az SMBus-t 1995-ben dobta piacra az Intel, és a Philips I²C soros busz protokollján alapul. Ez a busz adatokat, CLK-t és utasításokat hordoz, ahol az órajel frekvencia 10 kHz és 100 kHz között van. Az SMBus fő célja, hogy lehetővé tegye egy olcsó és hatékony módszerrel az alaplapon lévő eszközök vezérlését és adatgyűjtését. Az SMBus-t általában PC-kben használják hőmérséklet-szabályozásra, intelligens akkumulátorokra és egyéb alacsony sávszélességű rendszerfelügyeleti kommunikációra.


Ez a busz azonosítja a kommunikációs kapcsolatot a töltő, az intelligens akkumulátor és a rendszer többi részével kommunikáló mikrokontroller között. De az SMBus-t különféle eszközök, például rendszerérzékelők, tápellátással kapcsolatos eszközök, kommunikációs eszközök, készlet-EEPROM-ok stb. csatlakoztatására is használják. Ez a cikk az SMBus áttekintését tárgyalja – az alkalmazásokkal való munkavégzés során.



Mi az SMBus protokoll?

Az SMBus (System Management Bus) egy 2 vezetékes interfész, amelyet gyakran használnak az alaplap különböző eszközei között kis sebességű rendszerfelügyeleti kommunikációhoz. Ezt a fajta buszt a I2C protokoll alapok. Tehát mind az I2C, mind az SMBusnak van némi hasonlósága, és a hasonló buszon is együttműködhetnek.

Ez a busz az I2C működési elveken működik, amelyek vezérlőbuszt biztosítanak, különösen azért, hogy a rendszer engedélyezze az üzeneteket az eszközökhöz vagy az eszközöktől, ahelyett, hogy külön vezérlővonalakat használna a rendszervezetékek és a tűk számának csökkentésére.



Az SMBus-szal rendelkező eszköz képes megadni a gyártási információkat, tájékoztatni a rendszert alkatrész- vagy modellszámáról, különféle hibákat jelezni, vezérlési paramétereket engedélyezni, és újra megnézni a helyzetét.

SMBus specifikáció

Az SMBus specifikációja egyszerűen 3 féle eszközre utal: host, master és slave.

  • A gazdagép egy adott mester, és ez biztosítja a fő interfészt a rendszer CPU-jához.
  • Fő eszköz, amely utasításokat ad ki, előállítja az órákat és leállítja az átvitelt.
  • A szolga eszköz más módon reagál egy parancsra.

Hogyan működik az SMBus?

Az SMBus kommunikációban 3 féle eszközt használnak, például gazdagépet, mestert és szolga eszközt, amelyeket a következő ábra mutat be. Ebben a buszon a gazdaeszköz egy sajátos master munkaszerű interfész a rendszer CPU-jához; azonban nem mindig szükséges. Egyes rendszerek, például az egyszerű akkumulátortöltő rendszerek, lehetnek gazdagép nélkül.

Egy mestereszköz megkezdi a kommunikációt, meghajtja a CLK-t és leállítja az átvitelt. Egy eszköz kiválasztható egyszerűen mester vagy mester-szolgaként, ahol akár mester eszközként is működhet, máskülönben szolga eszközként.

  SMBus diagram
SMBus diagram

Az SMBus-on egy master felett is van, de egy adott időpontban csak egy tudja a buszt masterelni. Például, ha a két eszköz egyszerre uralja a buszt, akkor az SMBus egy döntő mechanizmust biztosít, amely egyszerűen az SMBus eszköz és az SMBus összes interfészének vezetékes ÉS kapcsolatától függ.

A slave eszközök reagálnak a címére, valamint a parancsokra, és adatokat tudnak küldeni és fogadni egy mestereszközről, illetve arra. Egy eszköz teljesen slaveként választható, különben bizonyos példákban elérhető, hogy a slave mesterként működjön.

Az I2C protokollhoz hasonlóan ezen a buszon minden szolga egyszerűen hozzá van rendelve egy hét bites slave címhez, ahol az olvasási vagy írási bit hozzá van fűzve ehhez a címhez, hogy leírja, hogy az eszköz olvassa vagy írja a buszon továbbított üzenetet.

Az eszközöknek szükségük van arra, hogy felismerjék saját címüket, így ha egy eszköz azonosítja a címét, akkor reagál a parancsra.

Ha ennek a busznak a slave címe ütközik, akkor támogatja az ARP-t vagy az Address Resolution Protocolt. Ha a gazdagép észlel két hasonló slave címmel rendelkező eszközt, akkor a címfeloldó protokoll eljárás dinamikusan új egyedi címet rendel a slave-ekhez. A címfeloldó protokoll lehetővé teszi az eszközök azonnali használatba vételét a rendszer újraindítása nélkül.

Ez a busz 2 vezetékes kommunikációt használ, például az SMBDAT vezetéket és az SMBCLK vezetéket, ahol az SMBDAT vezetéket soros adatok átvitelére használják, és az SMBCLK vezeték úgy működik, mint a soros óra. A fenti SMBus-ban a master egyszerűen meghajtja az SMBCLK-t, amely 10 és 100 kHz között van, azonban bármely vonal meghajthatja az SMBDAT-ot.

Ez a két vezeték kétirányú, ami lehetőséget biztosít riasztási jel (például SMBALERT) beiktatására, amely lehetővé teszi az eszközök számára, hogy figyelmet kérjenek a gazdagéptől.

Ennek a busznak az adatcsomagja egy Start bitet, egy ACK vagy NACK bitet, 8 bit adatot és egy Stop bitet tartalmaz. Az SMBus adatátvitele a különböző SMBus-ok protokolljait használja, miközben üzeneteket küld, például bájt küldése, gyorsparancs, szó olvasása, bájt írása, bájt olvasása, szó írása, hívás feldolgozása, írás blokkolása, olvasás blokkolása, olvasás folyamata, hívás és Block Write-Block.

Ez a busz támogatja a PEC-et (csomaghiba-ellenőrzés) is a kommunikáció megbízhatóságának javítása érdekében. Tehát ezt úgy lehet végrehajtani, hogy minden üzenet végén egy csomag hibakódot helyez el.

Funkciók

SMBus funkciók protokolloknak is nevezik. Tehát az SMBus fő protokolljai a következők: Gyors parancs, bájt küldése, bájt fogadása, írási bájt, olvasási bájt, feldolgozási hívás, írási/olvasási blokk írás-blokk olvasási folyamathívása, SMBus-gazda értesítési protokollja, írás-32 protokoll, olvasási-32 Protokoll, 64-protokoll írása és 64-es protokoll olvasása.

SMBUS üzenetformátum

A START feltétel után a master megkeresi a slave eszköz 7 bites címét, és a buszon kell címeznie. Tehát a cím hossza 7 bit hosszú, amit egy 8 bit követ, amely az adatátvitel irányát (R/W) jelzi; a ONE az OLVASÁS (adat) kérést adja meg, a NULLA pedig a WRITE (átvitel) kérést.

  Üzenet formátuma
Üzenet formátuma

Az adatátvitelt mindig a masteren keresztül generált STOP feltétel zárja le.

Minden bájt 8 bitet tartalmaz, és minden bájt az SMBus-on kerül átvitelre, és egy nyugtázóbiten keresztül kell követni. A bájtokat először az MSB-n (legjelentősebb biten) továbbítják.

Egy tipikus SMBus eszköz olyan parancsokat tartalmaz, amelyeken keresztül az adatok egyszerűen olvashatók és írhatók. Ezen parancsok hossza 1 bájt, míg argumentumaik, valamint visszatérési értékeik a hosszon belül változhatnak.

Egy parancs engedélyezése nem létezik, különben nem támogatott, ezért hibaállapotot okozhat. Az SMBus specifikációnak megfelelően először az MSB kerül átadásra.

Először az összes parancs indítási feltételt állít be a buszon, ezt követően elindítja az átvitelt az adatok vagy parancsok továbbításával, várja meg a szolga eszköz elfogadását az adat- vagy parancsátvitel során, majd állítja be a buszon a leállítási feltételt.

Az SMBus protokoll indítási és leállítási feltételei

Az üzenet START & STOP állapotát két egyedi buszfeltétel határozza meg, magastól alacsonyig és alacsonytól magasig.

  Indítási és leállítási feltételek
Indítási és leállítási feltételek

A HIGH to LOW SMBDAT vonalátmenetben, ha az SMBCLK értéke HIGH, akkor az üzenet START feltételét jelzi.

LOW to HIGH SMBDAT vonalátmenetben, ha az SMBCLK értéke HIGH, akkor az üzenet STOP feltételét határozza meg. Tehát ezt a két feltételt mindig a busz mestere generálja. A busz a START feltétele után foglalt lesz. A busz egy STOP feltétel után egy bizonyos idő elteltével ismét tétlen lesz.

SMBus hardverkövetelmények

Az SMBus hardverkövetelményei a hatékony és zökkenőmentes kommunikáció érdekében a PC és néhány legfontosabb hardver között két vezetékből állnak, mint például az SMBDAT és az SMBCLK, a PSU (tápegység), az IC-k, a meghajtók és a hűtőventilátorai. . Alapvetően ez az SMBus vezérlő lehetővé teszi a számítógép számára, hogy sikeresen kezelje és hajtsa végre a parancsokat, például a tápegység bekapcsolását és a hűtőventilátorok vezérlését.

Az SMBus adatátvitel különböző protokollokat vagy funkciókat használ az üzenetek átvitele során, mint például a bájt küldése, gyorsparancs, bájt írása, bájt olvasása, szó írása, szó olvasása, olvasási blokk, hívás feldolgozása, írás blokkja stb. a kommunikáció megbízhatóságának növelése azáltal, hogy egyszerűen minden üzenet végén egy csomag hibakódot helyez el.

Az SMBus hardver egyszerűen biztosítja a soros átvitelekhez használt időzítési és váltásvezérlést. Az SMBus hardvere tehát ellátja a különböző független alkalmazási feladatokat, mint az időzítés, a soros adatátvitel és a slave címek felismerése.

SMBus vs I2C

Az különbség az SMBus és az I2C között a következőket tartalmazza.

SMBus

2C

Az SMBus kifejezés a „System Management Bus” rövidítése. Az I2C kifejezés az „Inter-Integrated Circuit” rövidítése.
Az SMBus egy 2 vezetékes vezérlőbusz, amelyet energia- és rendszerfelügyeleti feladatokhoz használnak. Az I2C egy fedélzeti kommunikációs protokoll, amelyet alacsony sávszélességre és rövid távolságokra használnak.
A rendszer használhatja ezt a buszt az üzenetek továbbítására az eszközökről és az eszközökre, ahelyett, hogy egyedi vezérlővonalakat aktiválna.

Az I2C-t általában kis sebességű perifériák, például mikrokontrollerek és érzékelők csatlakoztatására használják a processzorokhoz, amelyek nagyobb távolságra vannak IC-ben.
A maximális CLK sebesség 100 kHz. A maximális CLK sebesség 400 kHz.
A minimális CLK sebesség 10 kHz. Nincs minimális CLK sebesség.
35 ms alacsony CLK időtúllépés. Nincs időkorlát.
Rögzített logikai szintekkel rendelkezik. Logikai szintjei a VDD-től függenek.
Különféle címtípusokkal rendelkezik, például fenntartott, dinamikus stb. Különböző címtípusokkal rendelkezik, például általános hívási szolga cím, 7 bites és 10 bites.
Különféle buszprotokollokkal rendelkezik, mint például folyamathívások, gyorsparancsok stb. Nem rendelkezik buszprotokollokkal.

SMBus vs Pmbus

Az SMBus és a Pmbus közötti különbség a következők.

SMBus

Pmbus

Az SMBus egy 2 vezetékes, egyvégű busz, amelyet könnyű kommunikációra használnak. Az SMBus kiterjesztése a Pmbus, és ez egy alacsony költségű protokoll, amelyet főként az energiagazdálkodási eszközök közötti kommunikációra használnak.
Ennek a busznak a slave üzemmódja lehetővé teszi a 10 kbps, 50 kbps, 100 kbps és 400 kbps adatsebesség értékeket. Ennek a busznak a slave üzemmódja egyszerűen lehetővé teszi a 100 kbps és 400 kbps adatsebesség értékeket.
Ez a típusú busz működik I2C hardverrel, de tartalmaz második szintű szoftvert, lehetővé téve az eszközök üzem közbeni cseréjét a rendszer újraindítása nélkül. Ez a busz kibővíti az SMBus-t az eszköz parancsainak egyszerű meghatározásával, és kifejezetten teljesítmény-átalakítók kezelésére, az eszköz attribútumainak, például a mért áramerősség, feszültség, hőmérséklet stb.
Az SMBus az I2C szuperkészlete A PMBus az SMBus szuperkészlete
Ez a busz tartalmazza a hálózati és adatkapcsolati réteget is. Ez a busz tartalmazza a szállítási réteget és egy sor parancsot.

Időzítési diagram

Az SMBus időzítési diagram alább látható.

  Az SMBus időzítési diagramja
Az SMBus időzítési diagramja

A TLOW.SEXT az a segédeszköz, amely egyetlen üzeneten belül meghosszabbítja a CLK ciklusokat a START-tól a STOP-ig. Így lehetséges, hogy a mester vagy egy másik szolga eszköz is meghosszabbítja a CLK ciklust, hogy a kombinált CLK alacsony meghosszabbított ideje magasabb legyen, mint a TLOW.SEXT. Így ezt a paramétert egyszerűen a slave eszközön keresztül mérik, mint egy teljes sebességű master egyetlen célpontját.

A TLOW.MEXT az a fő eszköz, amely az üzenet minden bájtjában kiterjeszti a CLK-ciklusokat. Így elképzelhető, hogy egy másik master vagy slave eszköz is kiterjeszti a CLK-t, hogy a kombinált CLK alacsony idejét magasabb legyen a TLOW.MEXT-hez képest egy megadott bájton. Így a paramétereket egyszerűen egy teljes sebességű slave eszközön keresztül mérik, mint a master egyetlen célpontja.

Alkalmazások

Az SMBus alkalmazásai a következőket tartalmazzák.

  • Az SMBus rendszerkomponens chipként használatos, amely a rendszeren belüli kommunikációra szolgál. Pontosabban, lehetővé teszi az akkumulátorok számára, hogy kommunikáljanak a rendszer más összetevőivel, például a tápellátással kapcsolatos alkatrészekkel és a CPU-val.
  • Ezt könnyű kommunikációra használják.
  • Ez a busz a kritikus paraméterek figyelésére szolgál beágyazott rendszerek & PC alaplapjain.
  • Ez a leggyakoribb kommunikációs típus a Texas Instruments fejlett üzemanyagszint-mérőinél.
  • Ezt a kevésbé sávszélesség-alapú rendszerfelügyeleti kommunikációban használják.

Tehát erről szól az egész egy SMBus áttekintése – alkalmazásokkal való munka. Ez egy egyszerű és egyvégű kétvezetékes busz, amelyet könnyű kommunikációra használnak. Ezt a buszt a számítógépek alaplapjaiban használják az áramforrással való kommunikációhoz a BE vagy KI utasításokhoz. Itt egy kérdés, hogy mi az I2C protokoll?