SMBus: Toiminta, erot ja sen sovellukset

Kokeile Instrumenttia Ongelmien Poistamiseksi





Intel julkaisi SMBusin vuonna 1995, ja se perustuu Philipsin I²C-sarjaväyläprotokollaan. Tämä väylä kuljettaa dataa, CLK:ta ja ohjeita, joissa kellotaajuus on 10 kHz - 100 kHz. SMBus:n päätarkoituksena on mahdollistaa edullinen ja tehokas tapa hallita ja saada tietoja emolevyn laitteista. SMBus-yksikköä käytetään tavallisesti tietokoneissa lämpötilan säätelyyn, älykkäisiin akkuihin ja muuhun alhaisen kaistanleveyden järjestelmänhallintaviestintään.


Tämä väylä tunnistaa viestintälinkin laturin, älykkään akun ja mikro-ohjaimen välillä, joka keskustelee muun järjestelmän kanssa. Mutta SMBus-väylää käytetään myös erilaisten laitteiden, kuten järjestelmäanturien, tehoon liittyvien laitteiden, viestintälaitteiden, varasto-EEPROMien jne. yhdistämiseen. Tässä artikkelissa käsitellään yleiskatsausta SMBus-väylään – sovellusten kanssa työskentelyyn.



Mikä on SMBus-protokolla?

SMBus (System Management Bus) on 2-johtiminen liitäntä, jota käytetään usein emolevyn eri laitteiden välillä hitaaseen järjestelmänhallintaviestintään. Tämäntyyppisen linja-auton on suunnitellut I2C-protokolla säätiöt. Joten sekä I2C- että SMBus-väylillä voi olla joitain yhtäläisyyksiä ja ne voivat myös toimia keskenään samanlaisessa väylässä.

Tämä väylä toimii I2C-toimintaperiaatteilla, jotka tarjoavat ohjausväylän, erityisesti järjestelmälle sallimaan viestit laitteille tai laitteista sen sijaan, että käyttäisivät erillisiä ohjauslinjoja järjestelmän johtojen ja nastamäärän vähentämiseksi.



SMBus-väylällä varustettu laite pystyy antamaan valmistustiedot, ilmoittamaan järjestelmälle osa- tai mallinumeronsa, raportoimaan erilaisista virheistä, sallimaan ohjausparametreja ja tarkistamaan sijaintinsa.

SMBus-määritys

SMBus-määritykset viittaavat yksinkertaisesti kolmenlaisiin laitteisiin isäntä, isäntä ja orja.

  • Isäntä on tietty isäntä ja se tarjoaa päärajapinnan järjestelmän prosessorille.
  • Päälaite, joka antaa ohjeita, luo kellot ja lopettaa siirron.
  • Orjalaite vastaanottaa muutoin reagoivat komentoon.

Kuinka SMBus toimii?

SMBus-viestinnässä käytetään kolmenlaisia ​​laitteita, kuten isäntä-, isäntä- ja orjalaite, jotka on esitetty seuraavassa kaaviossa. Tässä väylässä isäntälaite on erityinen master-työmäinen liitäntä järjestelmän CPU:lle; se ei kuitenkaan aina ole välttämätöntä. Jotkut järjestelmät, kuten yksinkertaiset akun latausjärjestelmät, voivat olla ilman isäntää.

Päälaite aloittaa tiedonsiirron, ohjaa CLK:ta ja pysäyttää siirron. Laite voidaan valita yksinkertaisesti isäntä- tai master-slave-laitteeksi, jolloin se voi toimia joko isäntälaitteena tai orjalaitteena.

  SMBus-kaavio
SMBus-kaavio

SMBusissa on myös yläpuolella yksi isäntä, mutta vain yksi voi hallita väylää kerrallaan. Esimerkiksi kun kaksi laitetta hallitsevat väylää kerralla, SMBus tarjoaa sovittelumekanismin, joka riippuu yksinkertaisesti SMBus-laitteen kaikkien liitäntöjen langallisesta JA-yhteydestä SMBus-väylään.

Orjalaitteet vastaavat sen osoitteeseen ja komentoihin ja voivat lähettää ja vastaanottaa dataa isäntälaitteelta ja siihen. Laite voidaan valita kokonaan orjaksi, muuten on mahdollista, että orja toimii isäntänä tietyissä esimerkeissä.

Kuten I2C-protokollassa, jokaiselle tämän väylän orjalle osoitetaan yksinkertaisesti seitsemän bitin orjaosoite, jossa luku- tai kirjoitusbitti liitetään tähän osoitteeseen kuvaamaan, lukeeko vai kirjoittaako laite väylällä lähetettävää viestiä.

Laitteet ovat välttämättömiä oman osoitteensa tunnistamiseksi, joten kun laite tunnistaa osoitteensa, se reagoi komentoon.

Kun tämän väylän orjaosoite on ristiriidassa, se tukee ARP- tai Address Resolution Protocol -protokollaa. Kun isäntä havaitsee kaksi laitetta, joilla on samanlainen orjaosoite, osoitteenselvitysprotokollaproseduuri antaa orjille dynaamisesti uuden yksilöllisen osoitteen. Osoitteenratkaisuprotokolla mahdollistaa laitteiden käytön välittömästi ilman tarvetta käynnistää järjestelmä uudelleen.

Tämä väylä käyttää 2-johtimista tiedonsiirtoon, kuten SMBDAT-johto ja SMBCLK-johto, jossa SMBDAT-johtoa käytetään sarjatietojen siirtoon ja SMBCLK-johto toimii kuten sarjakello. Yllä olevassa SMBus-väylässä isäntä yksinkertaisesti ohjaa SMBCLK:tä, joka vaihtelee välillä 10-100 kHz, mutta mikä tahansa linja voi ohjata SMBDAT:ia.

Nämä kaksi johtoa ovat kaksisuuntaisia, mikä tarjoaa mahdollisuuden sisällyttää hälytyssignaalin, kuten SMBALERT, jonka avulla laitteet voivat pyytää huomiota isännältä.

Tämän väylän datapaketti sisältää aloitusbitin, ACK- tai NACK-bitin, 8 bittiä dataa ja Stop-bitin. SMBusin tiedonsiirrossa käytetään joitain toimintoja, muuten eri SMBus-protokollia lähetettäessä viestejä, kuten Send Byte, Quick Command, Read Word, Write Byte, Read Byte, Write Word, Process Call, Block Write, Block Read, Read Process Call & Estä Write-Block.

Tämä väylä tukee myös PEC:tä (pakettivirheiden tarkistus) tiedonsiirron luotettavuuden parantamiseksi. Joten tämä voidaan tehdä lisäämällä pakettivirhekoodi jokaisen viestin loppuun.

Toiminnot

SMBus-toiminnot kutsutaan myös protokolliksi. Joten SMBus:n pääprotokollat ​​ovat pikakomento, lähetystavu, vastaanottotavu, kirjoitustavu, lukutavu, prosessikutsu, lohkokirjoitus/lukulohko kirjoitus-esto lukuprosessikutsu, SMBus-isäntäilmoitusprotokolla, kirjoitus-32-protokolla, luku-32. Protokolla, Write 64-Protocol & Read 64 Protocol.

SMBUS-viestimuoto

KÄYNNISTYS-ehdon jälkeen isäntä paikantaa orjalaitteen 7-bittisen osoitteen ja sen on osoitettava väylällä. Osoitteen pituus on siis 7 bittiä, jota seuraa tiedonsiirtosuuntaa (R/W) osoittava 8-bittinen; a ONE määrittää pyynnön READ (data) ja ZERO määrittää WRITE (lähetys).

  Viestin muoto
Viestin muoto

Tiedonsiirron lopettaa aina isäntälaitteen kautta generoitu STOP-ehto.

Jokainen tavu sisältää 8 bittiä ja jokainen tavu siirretään SMBus-väylällä ja sitä tulisi seurata kuittausbitin kautta. Tavut lähetetään ensin MSB:n (kaikki merkittävin bitti) kautta.

Tyypillinen SMBus-laite sisältää joukon komentoja, joiden avulla tietoja voidaan yksinkertaisesti lukea ja kirjoittaa. Kaikkien näiden komentojen pituus on 1 tavu, kun taas niiden argumentit sekä palautusarvot voivat muuttua pituuden sisällä.

Komennon sallimista ei ole olemassa, muuten sitä ei tueta, joten se voi aiheuttaa virhetilan. SMBus-määrityksen mukaisesti MSB siirretään ensin.

Ensin kaikki komennot asettavat aloitusehdon väylän yli, sen jälkeen käynnistävät lähetyksen lähettämällä dataa tai komentoa, odottavat orjalaitteelta hyväksyntää koko tiedon tai komennon lähetyksen ajan ja asettavat sitten pysäytysehdon väylään.

SMBus-protokollan aloitus- ja lopetusehdot

Viestin START & STOP -ehto määritellään kahdella ainutlaatuisella väyläehdon avulla korkeasta matalaan ja matalasta korkeaan.

  Aloitus- ja lopetusehdot
Aloitus- ja lopetusehdot

SMBDAT-linjasiirtymässä KORKEAsta LOW-tilaan, kun SMBCLK on KORKEA, se osoittaa viestin START-tilan.

SMBDAT-linjasiirtymässä LOW to HIGH, kun SMBCLK on KORKEA, se määrittää sanoman STOP-ehdon. Joten nämä kaksi ehtoa generoi aina väylän isäntä. Bussi on kiireinen START-tilan jälkeen. Väylä siirtyy jälleen tyhjäkäynnille tietyn ajan kuluttua STOP-tilan jälkeen.

SMBus-laitteistovaatimukset

SMBus:n laitteistovaatimukset tehokkaan ja saumattoman tiedonsiirron mahdollistamiseksi PC:n ja joidenkin sen tärkeimpien laitteistojen välillä ovat kaksi johtoa, kuten SMBDAT & SMBCLK, PSU (Power Supply Unit), IC-sarja, ajurit ja sen jäähdytystuulettimet. . Pohjimmiltaan tämä SMBus-ohjain sallii tietokoneen käsitellä ja suorittaa komentoja onnistuneesti, kuten käynnistää virtalähteensä ja ohjata jäähdytystuulettimia.

SMBus-tiedonsiirto käyttää erilaisia ​​protokollia tai toimintoja siirtäessään viestejä, kuten lähetystavua, pikakomentoa, kirjoitustavua, lukutavua, kirjoitussanaa, lue sanaa, lohkolukemista, käsittelykutsua, lohkokirjoitusta jne. Se tukee myös PEC- tai pakettivirheiden tarkistusta parantaa viestinnän luotettavuutta yksinkertaisesti sisällyttämällä paketin virhekoodi jokaiseen viestin loppuun.

SMBus-laitteisto tarjoaa yksinkertaisesti ajoituksen ja vaihdon ohjauksen, jota käytetään sarjasiirtoihin. Joten SMBus-laitteisto suorittaa erilaisia ​​itsenäisiä sovellustehtäviä, kuten ajoituksen ohjaus, sarjatiedonsiirrot ja orja-osoitteiden tunnistaminen.

SMBus vs I2C

The ero SMBus:n ja I2C:n välillä sisältää seuraavat.

SMBus

2C

Termi SMBus tulee sanoista 'System Management Bus'. Termi I2C tarkoittaa 'Inter-Integrated Circuit'.
SMBus on 2-johtiminen ohjausväylä, jota käytetään energia- ja järjestelmänhallintatehtävissä. I2C on sisäänrakennettu tiedonsiirtoprotokolla, jota käytetään alhaisella kaistanleveydellä ja lyhyillä etäisyyksillä.
Järjestelmä voi käyttää tätä väylää reitittämään viestit laitteista ja laitteille yksittäisten ohjauslinjojen aktivoimisen sijaan.

I2C:tä käytetään tavallisesti hitaisiin nopeuksiin perustuvien oheislaitteiden, kuten mikro-ohjainten ja antureiden, liittämiseen prosessoreihin lyhyiden välimatkojen yläpuolella IC:ssä.
Suurin CLK-nopeus on 100 kHz. Suurin CLK-nopeus on 400 kHz.
CLK:n miniminopeus on 10 kHz. Ei minimi CLK-nopeutta.
35 ms alhainen CLK-aikakatkaisu. Aikakatkaisua ei ole.
Siinä on kiinteät logiikkatasot. Sen logiikkatasot riippuvat VDD:stä.
Siinä on erilaisia ​​​​osoitetyyppejä, kuten varattu, dynaaminen jne. Siinä on erilaisia ​​osoitetyyppejä, kuten yleinen puhelun orjaosoite, 7-bittinen ja 10-bittinen.
Siinä on erilaisia ​​väyläprotokollia, kuten prosessikutsut, pikakomennot jne. Siinä ei ole väyläprotokollia.

SMBus vs Pmbus

SMBus- ja Pmbus-erot ovat seuraavat.

SMBus

Pmbus

SMBus on 2-johtiminen yksipäinen väylä, jota käytetään kevyeen viestintään. SMBus-laajennus on Pmbus ja se on edullinen protokolla, jota käytetään pääasiassa virranhallintalaitteiden väliseen viestintään.
Tämän väylän orjatila sallii datanopeudet, kuten 10 kbps, 50 kbps, 100 kbps ja 400 kbps. Tämän väylän orjatila sallii yksinkertaisesti datanopeusarvot, kuten 100 kbps ja 400 kbps.
Tämän tyyppinen väylä toimii I2C-laitteiston kanssa, mutta se sisältää toisen tason ohjelmiston mahdollistamalla laitteiden hot-swapin ilman järjestelmän uudelleenkäynnistystä. Tämä väylä laajentaa SMBus-väylää yksinkertaisesti määrittelemällä laitteen komentoja, ja se on erityisesti suunniteltu tehomuuntimien käsittelyyn, paljastamaan laitteen ominaisuuksia, kuten mitattu virta, jännite, lämpötila jne.
SMBus on I2C:n superjoukko PMBus on SMBus-superjoukko
Tämä väylä sisältää sekä verkko- että datalinkkikerrokset. Tämä väylä sisältää siirtokerroksen ja joukon komentoja.

Ajoituskaavio

The SMBus-aikakaavio näkyy alla.

  SMBusin ajoituskaavio
SMBusin ajoituskaavio

TLOW.SEXT on orjalaite, joka pidentää CLK-jaksoja yhden viestin sisällä START-tilasta STOP-tilaan. On siis mahdollista, että isäntä- tai muu orjalaite pidentää myös CLK-jaksoa, jolloin yhdistetyn CLK:n alhainen pidennetty aika on korkeampi kuin TLOW.SEXT. Siten tämä parametri yksinkertaisesti mitataan orjalaitteen kautta, kuten täyden nopeuden isäntälaitteen yksittäinen kohde.

TLOW.MEXT on päälaite, joka laajentaa CLK-jaksoja viestin jokaisessa tavussa. On siis mahdollista, että toinen isäntä- tai orjalaite laajentaa myös CLK:ta, jolloin yhdistetyn CLK:n alhainen aika on korkeampi kuin TLOW.MEXT tietyllä tavulla. Näin ollen parametrit yksinkertaisesti mitataan täyden nopeuden orjalaitteen kautta, kuten isäntälaitteen yksittäinen kohde.

Sovellukset

The SMBus-sovellukset Sisällytä seuraavat.

  • SMBus käytetään järjestelmäkomponenttisiruna, jota käytetään kommunikoimaan järjestelmän sisällä. Tarkemmin sanottuna se mahdollistaa akkujen kommunikoinnin järjestelmän muiden osien, kuten tehoon liittyvien komponenttien ja CPU:n kanssa.
  • Tätä käytetään kevyeen viestintään.
  • Tätä väylää käytetään kriittisten parametrien valvontaan sisällytetty järjestelmä & PC:n emolevyillä.
  • Tämä on yleisin viestintätapa Texas Instrumentsin edistyneille polttoainemittareille.
  • Tätä käytetään vähemmän kaistanleveyteen perustuvassa järjestelmänhallintaviestinnässä.

Tästä siis kaikesta on kyse yleiskatsaus pk-yrityksestä – sovellusten parissa työskenteleminen. Tämä on yksinkertainen ja yksipäinen kaksijohtiminen väylä, jota käytetään kevyeen viestintään. Tätä väylää käytetään tietokoneiden emolevyissä tiedonsiirtoon virtalähteen kanssa ON- tai OFF-ohjeita varten. Tässä on sinulle kysymys, mikä on I2C-protokolla?