SMBus: töö, erinevused ja rakendused

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Intel käivitas SMBusi 1995. aastal ja see põhineb Philipsi I²C jadasiinide protokollil. See siin kannab andmeid, CLK-d ja juhiseid, mille taktsagedus on vahemikus 10 kHz kuni 100 kHz. SMBusi peamine eesmärk on võimaldada odavat ja võimsat meetodit emaplaadi seadmete juhtimiseks ja andmete hankimiseks. SMBus-i kasutatakse tavaliselt personaalarvutites temperatuuri reguleerimiseks, nutikate akude ja muude madala ribalaiusega süsteemihaldusside jaoks.


See siin tuvastab sideühenduse laadija, intelligentse aku ja ülejäänud süsteemiga suhtleva mikrokontrolleri vahel. Kuid SMBus-i kasutatakse ka erinevate seadmete ühendamiseks, nagu süsteemiandurid, toitega seotud seadmed, sideseadmed, inventari EEPROM-id jne. Selles artiklis käsitletakse ülevaadet SMBusist – tööst rakendustega.



Mis on SMBus-protokoll?

SMBus (System Management Bus) on 2-juhtmeline liides, mida kasutatakse sageli emaplaadi erinevate seadmete vahel väikese kiirusega süsteemihaldusside jaoks. Seda tüüpi bussi kavandas I2C protokoll sihtasutused. Nii et nii I2C-l kui ka SMBusil võivad olla sarnasused ja need võivad ka sarnase siiniga koos töötada.

See siin töötab I2C tööpõhimõtetel, mis pakuvad juhtsiini, eriti selleks, et süsteem lubaks sõnumeid seadmetesse või seadmetelt, mitte ei kasutaks eraldi juhtliine süsteemi juhtmete ja kontaktide arvu vähendamiseks.



SMBus-iga seade võib anda teavet tootmise kohta, teavitada süsteemi oma osa või mudeli numbrist, teatada erinevatest vigadest, lubada juhtimisparameetreid ja vaadata uuesti oma asukohta.

SMBus spetsifikatsioon

SMBus-i spetsifikatsioon viitab lihtsalt kolme tüüpi seadmetele, hostile, ülem- ja alamseadmetele.

  • Host on konkreetne juht ja see pakub süsteemi protsessorile peamist liidest.
  • Peaseade, mis väljastab juhiseid, genereerib kellad ja lõpetab ülekande.
  • Alamseade võtab käsule vastu muul viisil reageerivad.

Kuidas SMBus töötab?

SMBus-suhtluses kasutatakse kolme tüüpi seadmeid, nagu host-, ülem- ja alamseade, mis on näidatud järgmisel diagrammil. Selles siinis on hostseade konkreetne põhitöölaadne liides süsteemi CPU-le; see pole aga alati vajalik. Mõned süsteemid, näiteks lihtsad akulaadimissüsteemid, võivad olla ilma hostita.

Peaseade alustab sidet, juhib CLK-d ja peatab ülekande. Seadme võib valida nii, et see oleks lihtsalt ülem- või ülem-alluv, kus see võib töötada kas ülemseadmena, muidu alamseadmena.

  SMBus diagramm
SMBus diagramm

SMBus-is on ka ülalpool üks juht, kuid ainult üks saab siini juhtida igal ajahetkel. Näiteks kui kaks seadet juhivad siini korraga, pakub SMBus arbitraažimehhanismi, mis sõltub lihtsalt SMBus-seadme kõigi liideste juhtmega JA ühendusest SMBusiga.

Slave-seadmed reageerivad nii selle aadressile kui ka käskudele ning saavad andmeid edastada ja vastu võtta ülemseadmest ja sellele. Seadme saab valida täielikult alamseadmeks, vastasel juhul on teatud näidetes võimalik, et alam töötab nagu ülem.

Sarnaselt I2C-protokollile eraldatakse selle siini igale alluvale lihtsalt seitsmebitine alam-aadress, kus sellele aadressile lisatakse lugemis- või kirjutamisbitt, et kirjeldada, kas seade loeb või kirjutab siinil edastatavat sõnumit.

Seadmed on vajalikud oma aadressi äratundmiseks, seega kui seade oma aadressi tuvastab, reageerib see käsule.

Kui selle siini alam-aadress on vastuolus, toetab see ARP-i või Address Resolution Protocoli. Kui host märkab kahte sarnase alam-aadressiga seadet, määrab aadressi eraldusprotokolli protseduur alamseadmetele dünaamiliselt uue kordumatu aadressi. Aadressi eraldusprotokoll võimaldab seadmeid koheselt kasutusele võtta, ilma et oleks vaja süsteemi uuesti käivitada.

See siin kasutab sidepidamiseks 2-juhtmest, nagu SMBDAT-juhe ja SMBCLK-juhe, kus SMBDAT-traati kasutatakse jadaandmete edastamiseks ja SMBCLK-juhe töötab nagu jadakell. Ülaltoodud SMBus-is juhib juht lihtsalt SMBCLK-d, mis jääb vahemikku 10–100 kHz, kuid SMBDAT-i saab juhtida iga liin.

Need kaks juhet on kahesuunalised, mis annab võimaluse lisada hoiatussignaal, nagu SMBALERT, mis võimaldab seadmetel nõuda hostilt tähelepanu.

Selle siini andmepakett sisaldab Start-bitti, ACK- või NACK-bitti, 8-bitti andmeid ja Stop-bitti. SMBus-i andmeedastus kasutab sõnumite saatmisel mõnda funktsiooni, muidu erinevate SMBus-ide protokolle, nagu bait, kiirkäsklus, sõna lugemine, bait kirjutamise lugemine, bait lugemise, sõna kirjutamise, kõne töötlemise blokeerimine, lugemise blokeerimine, lugemine, kõne ja protsessi lugemine. Blokeeri kirjutamine-blokeeri.

See siin toetab side usaldusväärsuse parandamiseks ka PEC-i (paketitõrke kontrollimine). Seda saab teha, lisades iga sõnumi lõppu paketi veakoodi.

Funktsioonid

SMBus funktsioonid nimetatakse ka protokollideks. Seega on SMBus-i peamised protokollid kiirkäsklus, saatmisbait, vastuvõtmise bait, kirjutamisbait, lugemisbait, töötlemiskutse, kirjutamise/lugemise blokeeringu kirjutamise-ploki lugemise protsessikõne, SMBus-i hosti teavitusprotokoll, protokolli kirjutamine-32, lugemine-32. Protokoll, 64-protokolli kirjutamine ja 64-protokolli lugemine.

SMBUS-i sõnumivorming

Pärast START tingimust tuvastab ülemseade alamseadme 7-bitise aadressi ja see peab aadressima siinis. Seega on aadressi pikkus 7 bitti, millele järgneb 8-bitine andmeedastussuunda (R/W); ÜKS määrab LOE (andmed) päringu ja NULL määrab WRITE (edastus).

  Sõnumi vorming
Sõnumi vorming

Andmete edastamise lõpetab alati juhtseadme kaudu genereeritud STOP tingimus.

Iga bait sisaldab 8 bitti ja iga bait edastatakse SMBus-i kaudu ja seda tuleks järgida kinnitusbiti kaudu. Esimesena edastatakse baidid läbi MSB (kõige olulisem bitt).

Tüüpiline SMBus-seade sisaldab käskude komplekti, mille kaudu saab andmeid lihtsalt lugeda ja kirjutada. Kõigi nende käskude pikkus on 1 bait, samas kui nende argumendid ja ka tagastusväärtused võivad pikkuse piires muutuda.

Käsu lubamist ei eksisteeri, muidu seda ei toetata, seega võib see põhjustada tõrke. Vastavalt SMBusi spetsifikatsioonile kantakse esmalt üle MSB.

Esiteks seavad kõik käsud siini kaudu käivitustingimuse, seejärel alustavad edastust andmete või käsu edastamise kaudu, ootavad alluva seadmelt kogu andmete või käsuedastuse ajal vastuvõtmist, seejärel seavad siinile seiskamise tingimuse.

SMBus-protokolli käivitus- ja seiskamistingimused

Sõnumi START & STOP tingimus määratakse kahe ainulaadse siini tingimusega kõrgest madalani ja madalast kõrgeni.

  Käivitus- ja peatumistingimused
Käivitus- ja peatumistingimused

Kui SMBDAT liini üleminekul HIGH to LOW, kui SMBCLK on HIGH, näitab see sõnumi START tingimust.

Kui SMBDAT liini üleminekul LOW to HIGH, kui SMBCLK on HIGH, määratleb see sõnumi STOP-tingimuse. Seega genereerib need kaks tingimust alati siini juht. Buss on hõivatud pärast START tingimust. Buss jääb pärast STOP-tingimust teatud aja möödudes taas jõude.

SMBusi riistvaranõuded

SMBus-i riistvaranõuded tõhusa ja sujuva suhtluse võimaldamiseks arvuti ja mõne selle kõige olulisema riistvara vahel on kaks juhet, nagu SMBDAT ja SMBCLK, PSU (toiteplokk), IC-de komplekt, draiverid ja selle jahutusventilaatorid. . Põhimõtteliselt võimaldab see SMBus-kontroller arvutil edukalt käsitseda ja täita käske, nagu PSU SISSE lülitamine ja jahutusventilaatorite juhtimine.

SMBus-i andmeedastus kasutab sõnumite edastamisel erinevaid protokolle või funktsioone, nagu saatmisbait, kiirkäsk, kirjutamisbait, lugemisbait, sõna kirjutamine, sõna lugemine, lugemine blokeerimine, kõne töötlemine, kirjutamise blokeerimine jne. Samuti toetab see PEC-i või paketivigade kontrollimist side usaldusväärsuse suurendamine, lisades lihtsalt paketi veakoodi igasse sõnumi lõppu.

SMBus-i riistvara pakub lihtsalt jadaedastuste jaoks kasutatavat ajastuse ja käiguvahetuse juhtimist. Seega täidab SMBusi riistvara erinevaid sõltumatuid rakenduste ülesandeid, nagu ajastuse juhtimine, jadaandmete edastamine ja alam-aadresside tuvastamine.

SMBus vs I2C

The erinevus SMBus ja I2C vahel sisaldab järgmist.

SMBus

2C

Mõiste SMBus tähistab 'süsteemihaldusbussi'. Mõiste I2C tähistab 'integreeritud vooluringi'.
SMBus on 2-juhtmeline juhtsiin, mida kasutatakse energia- ja süsteemihaldusülesannetes. I2C on pardal olev sideprotokoll, mida kasutatakse väikese ribalaiuse ja lühikeste vahemaade jaoks.
Süsteem saab kasutada seda siini sõnumite suunamiseks seadmetest ja seadmetesse, mitte üksikute juhtliinide aktiveerimiseks.

I2C kasutatakse tavaliselt väikese kiirusega välisseadmete (nt mikrokontrollerite ja andurite) ühendamiseks protsessoritega, mis asuvad IC-s lühikese vahemaa tagant.
CLK maksimaalne kiirus on 100 kHz. CLK maksimaalne kiirus on 400 kHz.
Minimaalne CLK kiirus on 10 kHz. Minimaalne CLK kiirus puudub.
35 ms madal CLK ajalõpp. Aegumist ei ole.
Sellel on fikseeritud loogikatasemed. Selle loogikatasemed sõltuvad VDD-st.
Sellel on erinevat tüüpi aadressid, nagu reserveeritud, dünaamiline jne. Sellel on erinevad aadressitüübid, nagu üldine kõne alluva aadress, 7-bitine ja 10-bitine.
Sellel on erinevad siiniprotokollid, nagu protsessikõned, kiirkäsud jne. Sellel pole siiniprotokolle.

SMBus vs Pmbus

Erinevused SMBusi ja Pmbusi vahel on järgmised.

SMBus

Pmbus

SMBus on 2-juhtmeline ühe otsaga siin, mida kasutatakse kergeks sideks. SMBusi laiendus on Pmbus ja see on odav protokoll, mida kasutatakse peamiselt toitehaldusseadmete vaheliseks suhtluseks.
Selle siini alamrežiim võimaldab andmeedastuskiiruse väärtusi nagu 10 kbps, 50 kbps, 100 kbps ja 400 kbps. Selle siini alamrežiim võimaldab lihtsalt andmeedastuskiiruse väärtusi, nagu 100 kbps ja 400 kbps.
Seda tüüpi siinid töötavad I2C riistvaraga, kuid see sisaldab teise taseme tarkvara, võimaldades seadmeid kuumvahetust ilma süsteemi taaskäivitamata. See siin laiendab SMBus-i, määratledes lihtsalt seadme käskude komplekti, ja see on spetsiaalselt loodud võimsusmuundurite käsitsemiseks, seadme atribuutide, nagu mõõdetud voolu, pinge, temperatuuri jne paljastamiseks.
SMBus on I2C superkomplekt PMBus on SMBusi superkomplekt
See siin sisaldab nii võrgu- kui ka andmeside kihte. See siin sisaldab transpordikihti ja käskude komplekti.

Ajastusskeem

The SMBusi ajastusskeem on näidatud allpool.

  SMBusi ajastusskeem
SMBusi ajastusskeem

TLOW.SEXT on alamseade, mis pikendab CLK tsükleid ühe teate jooksul alates START kuni STOP. Seega on võimalik, et ülem- või muu alamseade pikendab ka CLK tsüklit, et kombineeritud CLK madal pikendatud aeg oleks kõrgem kui TLOW.SEXT. Seega mõõdetakse seda parameetrit lihtsalt alluva seadme kaudu nagu täiskiiruse ülemseadme üksikut sihtmärki.

TLOW.MEXT on põhiseade, mis pikendab CLK tsükleid sõnumi igas baidis. Seega on võimalik, et mõni teine ​​ülem- või alamseade laiendab ka CLK-d, et kombineeritud CLK madal aeg oleks kõrgem kui TLOW.MEXT määratud baidil. Seega mõõdetakse parameetreid lihtsalt täiskiirusega alamseadme kaudu, nagu ülemseadme üks sihtmärk.

Rakendused

The SMBusi rakendused sisaldama järgmist.

  • SMBus-i kasutatakse süsteemikomponendi kiibina, mida kasutatakse süsteemisiseseks suhtlemiseks. Täpsemalt võimaldab see akudel suhelda süsteemi teiste komponentidega, nagu toitega seotud komponendid ja protsessor.
  • Seda kasutatakse kergeks suhtluseks.
  • Seda siini kasutatakse kriitiliste parameetrite jälgimiseks manustatud süsteemid & arvuti emaplaatidel.
  • See on Texas Instrumentsi täiustatud kütusenäidikute jaoks kõige levinum side.
  • Seda kasutatakse vähem ribalaiusel põhinevas süsteemihaldussuhtluses.

Seega on see kõik umbes ülevaade SMBusist - rakendustega töötamine. See on lihtne ja ühe otsaga kahejuhtmeline siin, mida kasutatakse kergeks sidepidamiseks. Seda siini kasutatakse arvutite emaplaatidel toiteallikaga suhtlemiseks sisse- või väljalülitusjuhiste jaoks. Siin on teile küsimus, mis on I2C protokoll?