SMBus : Delovanje, razlike in njegove aplikacije

Preizkusite Naš Instrument Za Odpravo Težav





SMBus je leta 1995 lansiral Intel in temelji na Philipsovem protokolu serijskega vodila I²C. To vodilo prenaša podatke, CLK in navodila, kjer je urna frekvenca od 10 kHz do 100 kHz. Glavni namen SMBus je omogočiti poceni in zmogljivo metodo za nadzor in pridobivanje podatkov iz naprav na matični plošči. SMBus se običajno uporablja v osebnih računalnikih za nadzor temperature, pametne baterije in drugo komunikacijo upravljanja sistema z nizko pasovno širino.


To vodilo identificira komunikacijsko povezavo med polnilnikom, inteligentno baterijo in mikrokrmilnikom, ki se pogovarja s preostalim sistemom. Toda SMBus se uporablja tudi za povezovanje različnih naprav, kot so sistemski senzorji, naprave, povezane z napajanjem, komunikacijske naprave, inventar EEPROM itd. Ta članek obravnava pregled SMBus – delo z aplikacijami.



Kaj je protokol SMBus?

SMBus (System Management Bus) je 2-žilni vmesnik, ki se pogosto uporablja med različnimi napravami na matični plošči za nizkohitrostno komunikacijo upravljanja sistema. Tovrsten avtobus je zasnoval protokol I2C fundacije. Tako imata I2C in SMBus lahko nekaj podobnosti in lahko tudi medsebojno delujeta na podobnem vodilu.

To vodilo deluje na principih delovanja I2C, ki zagotavljajo krmilno vodilo, zlasti za sistem, ki omogoča sporočila do ali iz naprav, namesto da uporablja ločene krmilne linije za zmanjšanje števila sistemskih žic in pinov.



Naprava s SMBus lahko zagotovi informacije o izdelavi, obvesti sistem o svojem delu ali številki modela, poroča o različnih vrstah napak, omogoči nadzor parametrov in ponovno pregleda svoj položaj.

Specifikacija SMBus

Specifikacija SMBus se preprosto nanaša na 3 vrste naprav gostitelja, glavnega in podrejenega.

  • Gostitelj je poseben glavni in zagotavlja glavni vmesnik za CPE sistema.
  • Glavna naprava, ki izdaja navodila, generira ure in prekine prenos.
  • Podrejena naprava prejme drugače reagira na ukaz.

Kako deluje SMBus?

V komunikaciji SMBus se uporabljajo 3 vrste naprav, kot so gostiteljska, glavna in podrejena naprava, ki so prikazane na naslednjem diagramu. V tem vodilu je gostiteljska naprava poseben glavni delu podoben vmesnik za CPE sistema; ni pa vedno potrebno. Nekateri sistemi, kot so preprosti sistemi za polnjenje baterij, so lahko brez gostitelja.

Glavna naprava začne komunikacijo, poganja CLK in ustavi prenos. Naprava je lahko izbrana kot glavna ali glavna-podrejena, kjer lahko deluje bodisi kot glavna naprava, bodisi kot podrejena naprava.

  SMBus diagram
SMBus diagram

Na SMBus je tudi nad enim glavnim, vendar lahko samo eden obvladuje vodilo v danem trenutku. Na primer, ko obe napravi hkrati obvladujeta vodilo, SMBus zagotavlja arbitražni mehanizem, ki je preprosto odvisen od žične IN povezave vseh vmesnikov naprave SMBus s SMBus.

Podrejene naprave se odzivajo na njen naslov in ukaze ter lahko prenašajo in sprejemajo podatke iz in v glavno napravo. Napravo lahko v celoti izberete kot podrejeno, sicer je v nekaterih primerih mogoče doseči, da podrejena deluje kot nadrejena.

Podobno kot pri protokolu I2C je vsakemu podrejenemu na tem vodilu preprosto dodeljen sedembitni podrejeni naslov, kjer je temu naslovu dodan bit za branje ali pisanje, ki opisuje, ali naprava bere ali piše sporočilo, ki se prenaša po vodilu.

Naprave morajo prepoznati svoj naslov, torej ko naprava identificira svoj naslov, se bo odzvala na ukaz.

Ko je podrejeni naslov tega vodila v konfliktu, potem podpira ARP ali protokol za razreševanje naslovov. Ko gostitelj opazi dve napravi s podobnim podrejenim naslovom, bo postopek protokola za razrešitev naslova podrejenim napravam dinamično dodelil nov edinstven naslov. Protokol ločljivosti naslovov bo omogočil takojšnjo uporabo naprav brez potrebe po ponovnem zagonu sistema.

To vodilo uporablja 2-žici za komunikacijo, kot sta žica SMBDAT in žica SMBCLK, kjer se žica SMBDAT uporablja za prenos serijskih podatkov, žica SMBCLK pa deluje kot serijska ura. V zgornjem vodilu SMBus nadrejeni preprosto poganja SMBCLK, ki sega od 10 do 100 kHz, vendar lahko katera koli linija poganja SMBDAT.

Ti dve žici sta dvosmerni, kar omogoča vključitev opozorilnega signala, kot je SMBALERT, ki omogoča napravam, da zahtevajo pozornost od gostitelja.

Podatkovni paket tega vodila vsebuje začetni bit, ACK ali NACK bit, 8 bitov podatkov in stop bit. Prenos podatkov SMBus uporablja nekatere funkcije sicer protokolov različnih SMBus med pošiljanjem sporočil, kot so pošiljanje bajta, hitri ukaz, branje besede, pisanje bajta, branje bajta, pisanje besede, procesni klic, blokiranje pisanja, blokiranje branja, branje procesnega klica & Blok Pisanje-Blok.

To vodilo podpira tudi PEC (preverjanje napak paketov) za izboljšanje zanesljivosti komunikacije. To lahko storite tako, da na koncu vsakega sporočila vključite kodo napake paketa.

Funkcije

Funkcije SMBus imenujemo tudi protokoli. Glavni protokoli SMBus so torej hitri ukaz, pošiljanje bajta, prejemanje bajta, pisanje bajta, branje bajta, procesni klic, blok pisanje/branje, blok pisanje-blok branje, klic procesa branja, protokol obveščanja gostitelja SMBus, protokol pisanja-32, branje-32 Protokol, pisanje 64-protokola in branje 64 protokola.

Oblika sporočila SMBUS

Po pogoju START bo glavni poiskal 7-bitni naslov podrejene naprave in mora nasloviti na vodilo. Torej je dolžina naslova dolga 7 bitov, ki ji sledi 8-bitni, ki označuje smer prenosa podatkov (R/W); ENA določa zahtevo za READ (podatki) in ZERO določa WRITE (prenos).

  Oblika sporočila
Oblika sporočila

Prenos podatkov se vedno prekine s pogojem STOP, ki ga generira master.

Vsak bajt vključuje 8 bitov in vsak bajt se prenese po SMBus in mu mora slediti potrditveni bit. Bajti se najprej prenašajo skozi MSB (najpomembnejši bit).

Tipična naprava SMBus vključuje nabor ukazov, prek katerih je mogoče podatke preprosto prebrati in zapisati. Dolžina vseh teh ukazov je dolga 1 bajt, medtem ko se njihovi argumenti in povratne vrednosti lahko spreminjajo znotraj dolžine.

Dovolitev ukaza ne obstaja, sicer ni podprta, zato lahko povzroči napako. V skladu s specifikacijo SMBus se najprej prenese MSB.

Najprej vsi ukazi nastavijo pogoj za začetek preko vodila, nato začnejo prenos s prenosom podatkov ali ukaza, počakajo na sprejem podrejene naprave med prenosom podatkov ali ukaza, nato nastavijo pogoj za zaustavitev na vodilu.

Pogoji za zagon in zaustavitev za protokol SMBus

Stanje START & STOP sporočila bo definirano z dvema edinstvenima stanjema vodila od visokega do nizkega in od nizkega do visokega.

  Pogoji za začetek in zaustavitev
Pogoji za začetek in zaustavitev

Pri prehodu vrstice HIGH v LOW SMBDAT, ko je SMBCLK HIGH, označuje START pogoj sporočila.

Pri prehodu vrstice LOW v HIGH SMBDAT, ko je SMBCLK HIGH, definira pogoj STOP za sporočilo. Torej ta dva pogoja vedno ustvari poveljnik vodila. Avtobus postane zaseden po pogoju START. Avtobus bo po določenem času po stanju STOP spet miroval.

Zahteve za strojno opremo SMBus

Zahteve glede strojne opreme SMBus za omogočanje učinkovite in brezhibne komunikacije med osebnim računalnikom in nekaj njegove najbolj bistvene strojne opreme so dve žici, kot sta SMBDAT in SMBCLK, PSU (napajalna enota), komplet IC, gonilniki in njegovi hladilni ventilatorji . V bistvu ta krmilnik SMBus omogoča računalniku, da uspešno upravlja in izvaja ukaze, kot je vklop napajalne enote in krmiljenje hladilnih ventilatorjev.

Prenos podatkov SMBus uporablja različne protokole ali funkcije med prenosom sporočil, kot so pošiljanje bajta, hitri ukaz, pisanje bajta, branje bajta, pisanje besede, branje besede, blokiranje branja, procesni klic, blokiranje pisanja itd. Podpira tudi preverjanje napak PEC ali paketov za izboljšanje zanesljivosti komunikacije s preprosto vključitvijo kode napake paketa na koncu vsakega sporočila.

Strojna oprema SMBus preprosto zagotavlja krmiljenje časa in prestavljanja, ki se uporablja za serijske prenose. Tako strojna oprema SMBus izvaja različne neodvisne naloge aplikacij, kot so časovni nadzor, serijski prenosi podatkov in prepoznavanje podrejenih naslovov.

SMBus proti I2C

The razlika med SMBus in I2C vključuje naslednje.

SMBus

2C

Izraz SMBus pomeni 'vodilo za upravljanje sistema'. Izraz I2C pomeni 'Inter-Integrated Circuit'.
SMBus je 2-žilno krmilno vodilo, ki se uporablja pri nalogah upravljanja energije in sistema. I2C je vgrajeni komunikacijski protokol, ki se uporablja za nizke pasovne širine in kratke razdalje.
Sistem lahko uporabi to vodilo za usmerjanje sporočil od in do naprav, namesto da aktivira posamezne nadzorne linije.

I2C se običajno uporablja za povezovanje perifernih naprav z nizko hitrostjo, kot so mikrokontrolerji in senzorji, s procesorji na kratkih razdaljah v IC.
Največja hitrost CLK je 100 kHz. Največja hitrost CLK je 400 kHz.
Najmanjša hitrost CLK je 10 kHz. Ni minimalne hitrosti CLK.
35ms nizka časovna omejitev CLK. Ni časovne omejitve.
Ima fiksne logične ravni. Njegovi logični nivoji so odvisni od VDD.
Ima različne vrste naslovov, kot so rezervirani, dinamični itd. Ima različne vrste naslovov, kot so splošni klicni podrejeni naslov, 7-bitni in 10-bitni.
Ima različne protokole vodila, kot so procesni klici, hitri ukazi itd. Nima protokolov vodila.

SMBus proti Pmbusu

Razlika med SMBus in Pmbus vključuje naslednje.

SMBus

Pmbus

SMBus je 2-žično enosmerno vodilo, ki se uporablja za lahko komunikacijo. Razširitev SMBus je Pmbus in je nizkocenovni protokol, ki se uporablja predvsem za komunikacijo med napravami za upravljanje porabe energije.
Podrejeni način tega vodila omogoča vrednosti podatkovnih hitrosti, kot so 10 kbps, 50 kbps, 100 kbps in 400 kbps. Podrejeni način tega vodila preprosto omogoča vrednosti podatkovne hitrosti, kot sta 100 kbps in 400 kbps.
Ta vrsta vodila deluje s strojno opremo I2C, vendar vključuje programsko opremo druge ravni, tako da omogoča vročo zamenjavo naprav brez ponovnega zagona sistema. To vodilo razširi SMBus s preprosto definiranjem nabora ukazov naprave in je posebej zasnovano za upravljanje pretvornikov moči, razkrivanje atributov naprave, kot so izmerjeni tok, napetost, temperatura itd.
SMBus je nadnabor I2C PMBus je nadmnožica SMBus
To vodilo vključuje omrežni sloj in sloj podatkovne povezave. To vodilo vključuje transportno plast in nabor ukazov.

Časovni diagram

The Časovni diagram SMBus je prikazano spodaj.

  Časovni diagram SMBus
Časovni diagram SMBus

TLOW.SEXT je podrejena naprava, ki razširi cikle CLK znotraj enega sporočila od START do STOP. Tako je izvedljivo, da bo glavna ali druga podrejena naprava prav tako podaljšala cikel CLK, da bo nizek podaljšani čas kombiniranega CLK višji od TLOW.SEXT. Tako se ta parameter preprosto meri s pomožno napravo kot posamezna tarča glavne naprave s polno hitrostjo.

TLOW.MEXT je glavna naprava, ki razširi cikle CLK v vsakem bajtu sporočila. Tako je izvedljivo, da bo tudi druga glavna ali podrejena naprava razširila CLK, da bo nizki čas kombiniranega CLK višji v primerjavi z TLOW.MEXT na določenem bajtu. Tako se parametri preprosto merijo prek podrejene naprave s polno hitrostjo, kot je posamezna tarča glavnega.

Aplikacije

The aplikacije SMBus vključujejo naslednje.

  • SMBus se uporablja kot čip sistemske komponente, ki se uporablja za komunikacijo znotraj sistema. Natančneje, omogoča baterijam komunikacijo z drugimi komponentami sistema, kot so komponente, povezane z napajanjem, in CPE.
  • To se uporablja za enostavno komunikacijo.
  • To vodilo se uporablja za spremljanje kritičnih parametrov v vgrajeni sistemi & na matičnih ploščah osebnih računalnikov.
  • To je najpogostejša vrsta komunikacije za napredne merilnike goriva Texas Instruments.
  • To se uporablja pri komunikaciji upravljanja sistema, ki je manj odvisna od pasovne širine.

Torej gre za vse pregled SMBus – delo z aplikacijami. To je preprosto in enosmerno dvožično vodilo, ki se uporablja za lahko komunikacijo. To vodilo se uporablja v matičnih ploščah računalnikov za komunikacijo z virom napajanja za ukaze VKLOP ali IZKLOP. Tukaj je vprašanje za vas, kaj je protokol I2C?