SMBus: darbas, skirtumai ir programos

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





SMBus 1995 m. pristatė „Intel“ ir jis pagrįstas „Philips“ I²C nuosekliosios magistralės protokolu. Ši magistralė neša duomenis, CLK ir instrukcijas, kurių laikrodžio dažnis svyruoja nuo 10 kHz iki 100 kHz. Pagrindinis SMBus tikslas yra leisti nebrangiu ir galingu metodu valdyti ir gauti duomenis iš įrenginių pagrindinėje plokštėje. SMBus paprastai naudojamas asmeniniuose kompiuteriuose temperatūros kontrolei, išmaniesiems akumuliatoriams ir kitam mažo pralaidumo sistemos valdymo ryšiui.


Ši magistralė identifikuoja ryšio ryšį tarp įkroviklio, išmaniosios baterijos ir mikrovaldiklio, kuris bendrauja su likusia sistemos dalimi. Tačiau SMBus taip pat naudojamas įvairiems įrenginiams, pvz., sistemos jutikliams, su maitinimu susijusiems įrenginiams, ryšių įrenginiams, inventoriaus EEPROM, ir tt prijungti. Šiame straipsnyje aptariama SMBus – darbo su programomis apžvalga.



Kas yra SMBus protokolas?

SMBus (sistemos valdymo magistralė) yra 2 laidų sąsaja, dažnai naudojama tarp įvairių pagrindinės plokštės įrenginių mažos spartos sistemos valdymo ryšiui palaikyti. Tokio tipo autobusą suprojektavo I2C protokolas pamatai. Taigi tiek I2C, tiek SMBus gali turėti tam tikrų panašumų ir jie taip pat gali veikti panašioje magistralėje.

Ši magistralė veikia pagal I2C veikimo principus, kurie suteikia valdymo magistralę, ypač skirta sistemai leisti pranešimus į įrenginius arba iš jų, o ne naudoti atskiras valdymo linijas sistemos laidams ir kontaktų skaičiui sumažinti.



Įrenginys su SMBus gali pateikti informaciją apie gamybą, informuoti sistemą apie savo dalies ar modelio numerį, pranešti apie įvairias klaidas, leisti valdymo parametrus ir peržiūrėti savo padėtį.

SMBus specifikacija

SMBus specifikacijos paprasčiausiai nurodo 3 įrenginių tipus: pagrindinį, pagrindinį ir pavaldinį.

  • Pagrindinis kompiuteris yra tam tikras pagrindinis kompiuteris ir suteikia pagrindinę sąsają su sistemos CPU.
  • Pagrindinis įrenginys, kuris pateikia instrukcijas, generuoja laikrodžius ir nutraukia perdavimą.
  • Pagalbinis įrenginys kitaip reaguoja į komandą.

Kaip veikia SMBus?

SMBus ryšiuose naudojami 3 įrenginių tipai, pvz., pagrindinis, pagrindinis ir pavaldus įrenginys, kurie parodyti šioje diagramoje. Šioje magistralėje pagrindinis įrenginys yra specifinė pagrindinio darbo sąsaja su sistemos CPU; tačiau tai ne visada būtina. Kai kurios sistemos, pavyzdžiui, paprastos akumuliatoriaus įkrovimo sistemos, gali būti be pagrindinio kompiuterio.

Pagrindinis įrenginys pradeda ryšį, valdo CLK ir sustabdo perdavimą. Įrenginys gali būti pasirinktas kaip tiesiog pagrindinis arba pagrindinis pagalbinis įrenginys, kur jis gali veikti kaip pagrindinis įrenginys, kitaip kaip pagalbinis įrenginys.

  SMBus diagrama
SMBus diagrama

SMBus sistemoje taip pat yra vienas viršininkas, tačiau tik vienas gali valdyti magistralę bet kuriuo metu. Pavyzdžiui, kai du įrenginiai vienu metu valdo magistralę, tada SMBus suteikia arbitražo mechanizmą, kuris tiesiog priklauso nuo visų SMBus įrenginio sąsajų laidinio IR ryšio su SMBus.

Slave įrenginiai reaguoja į jo adresą, taip pat į komandas ir gali perduoti bei priimti duomenis iš pagrindinio įrenginio ir į jį. Įrenginys gali būti visiškai pasirinktas kaip pavaldinys, kitaip kai kuriuose pavyzdžiuose pavaldinys gali dirbti kaip pagrindinis.

Panašiai kaip ir I2C protokole, kiekvienam šios magistralės pavaldiniui paprasčiausiai priskiriamas septynių bitų pagalbinis adresas, kur prie šio adreso pridedamas skaitymo arba rašymo bitas, nurodantis, ar įrenginys skaito ar rašo magistrale perduodamą pranešimą.

Įrenginiai yra būtini, kad atpažintų savo adresą, todėl kai įrenginys identifikuoja savo adresą, jis reaguos į komandą.

Kai šios magistralės vergo adresas nesuderinamas, jis palaiko ARP arba Adreso skyros protokolą. Kai pagrindinis kompiuteris pastebės du įrenginius su panašiu pavaldiniu adresu, adreso nustatymo protokolo procedūra pavaldiniams dinamiškai priskirs naują unikalų adresą. Adreso skyros protokolas leis įrenginius naudoti nedelsiant, nereikės iš naujo paleisti sistemos.

Ši magistralė naudoja 2 laidus ryšiui, pavyzdžiui, SMBDAT laidą ir SMBCLK laidą, kur SMBDAT laidas naudojamas nuosekliajam duomenims perduoti, o SMBCLK laidas veikia kaip nuoseklus laikrodis. Aukščiau pateiktame SMBus pagrindinis kompiuteris tiesiog valdo SMBCLK, kurio dažnis svyruoja nuo 10 iki 100 kHz, tačiau bet kuri linija gali valdyti SMBDAT.

Šie du laidai yra dvikrypčiai, o tai suteikia galimybę įtraukti įspėjamąjį signalą, pvz., SMBALERT, leidžiantį įrenginiams paprašyti pagrindinio kompiuterio dėmesio.

Šios magistralės duomenų paketą sudaro pradžios bitas, ACK arba NACK bitas, 8 duomenų bitai ir sustabdymo bitas. SMBus duomenų perdavimas naudoja kai kurias funkcijas, kitaip skirtingų SMBus protokolus siųsdamas pranešimus, pvz., Siųsti baitą, greitąją komandą, skaityti žodį, rašyti baitą, skaityti baitą, rašyti žodį, apdoroti skambutį, blokuoti rašymą, blokuoti skaitymą, skaitymo procesą ir skambutį. Blokuoti rašymą-blokuoti.

Ši magistralė taip pat palaiko PEC (paketų klaidų tikrinimą), kad pagerintų ryšio patikimumą. Taigi tai galima padaryti kiekvieno pranešimo pabaigoje įtraukus paketo klaidos kodą.

Funkcijos

SMBus funkcijos dar vadinami protokolais. Taigi pagrindiniai SMBus protokolai yra greitoji komanda, siuntimo baitas, gavimo baitas, rašymo baitas, skaitymo baitas, proceso skambutis, blokavimo rašymas / skaitymo blokavimas, rašymo blokas skaitymo proceso iškvietimas, SMBus pagrindinio kompiuterio pranešimo protokolas, rašymo 32 protokolas, skaitymas-32. Protokolas, Rašykite 64 protokolą ir skaitykite 64 protokolą.

SMBUS pranešimo formatas

Pasibaigus START sąlygai, pagrindinis įrenginys suras pagalbinio įrenginio 7 bitų adresą ir jis turi būti adresuotas magistralėje. Taigi, adreso ilgis yra 7 bitai, po kurio seka 8 bitai, reiškiantys duomenų perdavimo kryptį (R/W); a VIENAS nurodo prašymą SKAITYTI (duomenys), o NULIS nurodo RAŠYTI (perdavimą).

  Pranešimo formatas
Pranešimo formatas

Duomenų perdavimas visada baigiamas STOP sąlyga, sugeneruota per pagrindinį įrenginį.

Kiekvienas baitas turi 8 bitus ir kiekvienas baitas perduodamas SMBus ir turėtų būti sekamas per patvirtinimo bitą. Pirmiausia baitai perduodami per MSB (labiausiai reikšmingas bitas).

Įprastas SMBus įrenginys apima komandų rinkinį, per kurį duomenis galima tiesiog skaityti ir rašyti. Visų šių komandų ilgis yra 1 baitas, o jų argumentai ir grąžinimo reikšmės gali keistis per ilgį.

Komandos leidimas neegzistuoja, kitaip ji nepalaikoma, todėl gali atsirasti klaidos sąlyga. Vadovaujantis SMBus specifikacija, pirmiausia perduodamas MSB.

Pirma, visos komandos nustato paleidimo sąlygą per magistralę, po to pradedamas perdavimas perduodant duomenis arba komandą, laukiama, kol bus priimtas pavaldinis įrenginys per visą duomenų ar komandų perdavimą, tada magistralėje nustatoma sustabdymo sąlyga.

SMBus protokolo pradžios ir sustabdymo sąlygos

Pranešimo START & STOP sąlygos bus apibrėžiamos dviem unikaliomis magistralės sąlygomis nuo aukšto iki žemo ir nuo žemo iki aukšto.

  Starto ir sustabdymo sąlygos
Starto ir sustabdymo sąlygos

Kai SMBDAT linija pereina nuo HIGH iki LOW, kai SMBCLK yra HIGH, tai rodo pranešimo START sąlygą.

Kai SMBDAT eilutės perėjimas LOW į HIGH, kai SMBCLK yra AUKŠTAS, jis apibrėžia pranešimo STOP sąlygą. Taigi šias dvi sąlygas visada sukuria magistralės šeimininkas. Autobusas užimtas po START sąlygos. Po tam tikro laiko autobusas vėl pradės veikti tuščiąja eiga po STOP sąlygos.

SMBus aparatinės įrangos reikalavimai

SMBus techninės įrangos reikalavimai, kad būtų užtikrintas efektyvus ir sklandus ryšys tarp kompiuterio ir kai kurios svarbiausios jo techninės įrangos, yra du laidai, tokie kaip SMBDAT ir SMBCLK, PSU (maitinimo blokas), IC rinkinys, tvarkyklės ir jo aušinimo ventiliatoriai. . Iš esmės šis SMBus valdiklis leidžia kompiuteriui sėkmingai valdyti ir vykdyti komandas, pvz., ĮJUNGTI PSU ir valdyti aušinimo ventiliatorius.

SMBus duomenų perdavimas naudoja skirtingus protokolus arba funkcijas perduodant pranešimus, pvz., Siųsti baitą, Greitąją komandą, Rašymo baitą, Skaitymo baitą, Rašyti žodį, Skaityti žodį, Blokuoti skaitymą, Apdoroti skambutį, Blokuoti rašymą ir kt. Jis taip pat palaiko PEC arba paketo klaidų tikrinimą padidinti ryšio patikimumą tiesiog įtraukiant paketo klaidos kodą kiekviename pranešimo gale.

SMBus aparatinė įranga tiesiog suteikia laiko ir perjungimo valdymą, naudojamą serijiniams perdavimams. Taigi SMBus aparatinė įranga atlieka įvairias nepriklausomas programos užduotis, tokias kaip laiko valdymas, nuoseklus duomenų perdavimas ir vergų adresų atpažinimas.

SMBus vs I2C

The skirtumas tarp SMBus ir I2C apima toliau nurodytus dalykus.

SMBus

2C

Terminas SMBus reiškia „sistemos valdymo magistralę“. Terminas I2C reiškia „Inter-Integrated Circuit“.
SMBus yra 2 laidų valdymo magistralė, naudojama energijos ir sistemų valdymo užduotims atlikti. I2C yra integruotas ryšio protokolas, naudojamas mažam pralaidumui ir nedideliems atstumams.
Sistema gali naudoti šią magistralę, kad nukreiptų pranešimus iš ir į įrenginius, o ne suaktyvintų atskiras valdymo linijas.

I2C paprastai naudojamas mažos spartos periferiniams įrenginiams, pvz., mikrovaldikliams ir jutikliams, prijungti prie procesorių, esančių trumpais atstumais IC.
Didžiausias CLK greitis yra 100 kHz. Maksimalus CLK greitis yra 400 kHz.
Mažiausias CLK greitis yra 10 kHz. Nėra minimalaus CLK greičio.
35 ms mažas CLK skirtasis laikas. Laiko pabaigos nėra.
Jis turi fiksuotus loginius lygius. Jo loginiai lygiai priklauso nuo VDD.
Jame yra įvairių tipų adresai, tokie kaip rezervuotas, dinaminis ir kt. Jis turi skirtingus adresų tipus, pvz., bendrąjį skambučio vergo adresą, 7 bitų ir 10 bitų.
Jis turi įvairius magistralės protokolus, tokius kaip proceso skambučiai, greitos komandos ir kt. Jame nėra autobusų protokolų.

SMBus vs Pmbus

Skirtumas tarp SMBus ir Pmbus yra toks.

SMBus

Pmbus

SMBus yra 2 laidų, vieno galo magistralė, naudojama lengvam ryšiui. SMBus plėtinys yra Pmbus ir tai nebrangus protokolas, daugiausia naudojamas ryšiui tarp energijos valdymo įrenginių.
Šios magistralės pagalbinis režimas leidžia naudoti tokias duomenų perdavimo spartos reikšmes kaip 10 kbps, 50 kbps, 100 kbps ir 400 kbps. Šios magistralės pagalbinis režimas tiesiog leidžia duomenų perdavimo spartos reikšmes, tokias kaip 100 kbps ir 400 kbps.
Šio tipo magistralė veikia su I2C aparatine įranga, tačiau ji apima antrojo lygio programinę įrangą, leidžiančią įrenginius keisti karštuoju režimu, nepaleidžiant sistemos iš naujo. Ši magistralė išplečia SMBus tiesiog apibrėždama įrenginio komandų rinkinį ir yra ypač sukurta valdyti galios keitiklius, atskleisti įrenginio atributus, tokius kaip išmatuota srovė, įtampa, temperatūra ir kt.
SMBus yra I2C superrinkinys PMBus yra SMBus superrinkinys
Ši magistralė apima tinklo ir duomenų ryšio sluoksnius. Ši magistralė apima transportavimo sluoksnį ir komandų rinkinį.

Laiko diagrama

The SMBus laiko diagrama parodyta žemiau.

  SMBus laiko diagrama
SMBus laiko diagrama

TLOW.SEXT yra pagalbinis įrenginys, kuris vienu pranešimu pratęsia CLK ciklus nuo START iki STOP. Taigi gali būti, kad pagrindinis arba kitas pagalbinis įrenginys taip pat pratęs CLK ciklą, kad žemas pailgintas kombinuoto CLK laikas būtų didesnis nei TLOW.SEXT. Taigi, šis parametras tiesiog matuojamas per pagalbinį įrenginį, kaip vienas viso greičio pagrindinio įrenginio taikinys.

TLOW.MEXT yra pagrindinis įrenginys, prailginantis CLK ciklus kiekviename pranešimo baite. Taigi gali būti, kad kitas pagrindinis arba pagalbinis įrenginys taip pat išplėstų CLK, kad kombinuoto CLK žemasis laikas būtų didesnis, palyginti su TLOW.MEXT nurodytame baite. Taigi, parametrai tiesiog matuojami per pilno greičio pavaldinį įrenginį, pavyzdžiui, vieną pagrindinio įrenginio taikinį.

Programos

The SMBus programos įtraukti toliau nurodytus dalykus.

  • SMBus naudojamas kaip sistemos komponento lustas, naudojamas palaikyti ryšį sistemoje. Konkrečiau, tai leidžia baterijoms susisiekti su kitais sistemos komponentais, tokiais kaip su galia susiję komponentai ir centrinis procesorius.
  • Tai naudojama lengvam ryšiui.
  • Ši magistralė naudojama kritiniams parametrams stebėti įterptinės sistemos ir kompiuterio pagrindinėse plokštėse.
  • Tai yra labiausiai paplitęs pažangių „Texas Instruments“ degalų matuoklių ryšio būdas.
  • Tai naudojama mažesnio pralaidumo sistemos valdymo komunikacijai.

Taigi, visa tai yra apie SMBus apžvalga – darbas su programomis. Tai paprasta ir vieno galo dviejų laidų magistralė, naudojama lengvam ryšiui. Ši magistralė naudojama kompiuterių pagrindinėse plokštėse ryšiui su maitinimo šaltiniu įjungti arba išjungti nurodymams. Štai jums klausimas, kas yra I2C protokolas?