SMBus: Fungovanie, rozdiely a jeho aplikácie

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





SMBus bol spustený v roku 1995 spoločnosťou Intel a je založený na protokole sériovej zbernice I²C spoločnosti Philips. Táto zbernica prenáša dáta, CLK a inštrukcie, kde sa frekvencia hodín pohybuje od 10 kHz do 100 kHz. Hlavným zámerom SMBus je umožniť nenákladnú a výkonnú metódu na ovládanie a získavanie údajov zo zariadení na základnej doske. SMBus sa bežne používa v počítačoch na riadenie teploty, inteligentné batérie a inú komunikáciu riadenia systému s nízkou šírkou pásma.


Táto zbernica identifikuje komunikačné spojenie medzi nabíjačkou, inteligentnou batériou a mikrokontrolérom, ktoré komunikuje so zvyškom systému. SMBus sa však používa aj na pripojenie rôznych zariadení, ako sú systémové senzory, zariadenia súvisiace s napájaním, komunikačné zariadenia, inventárne EEPROM atď. Tento článok pojednáva o prehľade SMBus – práci s aplikáciami.



Čo je protokol SMBus?

SMBus (System Management Bus) je 2-vodičové rozhranie, ktoré sa často používa medzi rôznymi zariadeniami na základnej doske na nízkorýchlostnú komunikáciu správy systému. Tento druh autobusu bol navrhnutý spoločnosťou I2C protokol základy. Takže I2C aj SMBus môžu mať určité podobnosti a môžu tiež spolupracovať na podobnej zbernici.

Táto zbernica funguje na princípoch fungovania I2C, ktoré poskytujú riadiacu zbernicu, najmä pre systém, ktorý umožňuje správy do alebo zo zariadení namiesto použitia samostatných riadiacich liniek na zníženie počtu systémových vodičov a pinov.



Zariadenie s SMBus môže poskytnúť informácie o výrobe, informovať systém o čísle svojej časti alebo modelu, hlásiť rôzne druhy chýb, povoliť parametre kontroly a prehodnotiť svoju polohu.

Špecifikácia SMBus

Špecifikácia SMBus jednoducho odkazuje na 3 druhy zariadení hostiteľ, master a slave.

  • Hostiteľ je konkrétny master a poskytuje hlavné rozhranie pre CPU systému.
  • Hlavné zariadenie, ktoré vydáva pokyny, generuje hodiny a ukončuje prenos.
  • Podriadené zariadenie prijíma inak reaguje na príkaz.

Ako SMBus funguje?

V rámci komunikácie SMBus sa používajú 3 druhy zariadení, ako je hostiteľ, hlavné a podriadené zariadenie, ktoré sú znázornené na nasledujúcom diagrame. V tejto zbernici je hostiteľské zariadenie špecifické hlavné pracovné rozhranie k CPU systému; nie je to však potrebné vždy. Niektoré systémy, ako napríklad jednoduché systémy nabíjania batérií, môžu byť bez hostiteľa.

Hlavné zariadenie začne komunikáciu, riadi CLK a zastaví prenos. Zariadenie môže byť vybrané jednoducho ako nadriadené alebo nadradené zariadenie, pričom môže fungovať buď ako nadriadené zariadenie, inak ako podriadené zariadenie.

  Diagram SMBus
Diagram SMBus

Na SMBus je tiež nad jedným masterom, avšak iba jeden môže ovládať zbernicu v danom čase. Napríklad, keď dve zariadenia ovládajú zbernicu naraz, potom SMBus poskytuje rozhodovací mechanizmus, ktorý jednoducho závisí od káblového AND pripojenia všetkých rozhraní zariadenia SMBus k SMBus.

Slave zariadenia reagujú na svoju adresu aj príkazy a môžu prenášať a prijímať dáta z a do nadradeného zariadenia. Zariadenie môže byť vybrané úplne ako podriadené, inak je možné, aby podriadené zariadenie v určitých príkladoch pracovalo ako nadriadené.

Podobne ako v protokole I2C je každému podriadenému zariadeniu na tejto zbernici jednoducho pridelená sedembitová podriadená adresa, kde sa k tejto adrese pripojí bit čítania alebo zápisu, aby sa opísalo, či zariadenie číta alebo zapisuje správu prenášanú na zbernici.

Zariadenia musia rozpoznať svoju vlastnú adresu, takže keď zariadenie identifikuje svoju adresu, bude reagovať na príkaz.

Keď je podriadená adresa tejto zbernice v konflikte, potom podporuje protokol ARP alebo Address Resolution Protocol. Akonáhle hostiteľ zaznamená dve zariadenia s podobnou podriadenou adresou, potom postup protokolu na rozlíšenie adries dynamicky pridelí podriadeným zariadeniam novú jedinečnú adresu. Protokol rozlíšenia adries umožní okamžité použitie zariadení bez potreby opätovného spustenia systému.

Táto zbernica využíva 2-drôty na komunikáciu, ako je SMBDAT vodič a SMBCLK vodič, kde sa SMBDAT vodič používa na prenos sériových dát a vodič SMBCLK funguje ako sériové hodiny. Vo vyššie uvedenom SMBus, master jednoducho riadi SMBCLK v rozsahu od 10 do 100 kHz, avšak akákoľvek linka môže riadiť SMBDAT.

Tieto dva vodiče sú obojsmerné, čo poskytuje možnosť zahrnúť výstražný signál, ako je SMBALERT, ktorý umožňuje zariadeniam vyžiadať si pozornosť od hostiteľa.

Dátový paket tejto zbernice obsahuje Start bit, ACK alebo NACK bit, 8 bitov dát a stop bit. Prenos dát SMBus využíva niektoré funkcie inak protokoly rôznych SMBus pri odosielaní správ, ako napríklad Send Byte, Quick Command, Read Word, Write Byte, Read Byte, Write Word, Proces Call, Block Write, Block Read, Read Process Call & Block Write-Block.

Táto zbernica tiež podporuje PEC (kontrola chýb paketov) na zlepšenie spoľahlivosti komunikácie. Takže to možno vykonať zahrnutím kódu chyby paketu na koniec každej správy.

Funkcie

Funkcie SMBus sa nazývajú aj protokoly. Hlavnými protokolmi SMBus sú teda rýchle príkazy, odosielanie bajtov, prijímanie bajtov, zápis bajtov, čítanie bajtov, volanie procesu, blokovanie zápisu/ čítania blok zápisu-blokovanie čítania procesu čítania, protokol oznamovania hostiteľa SMBus, protokol zápisu-32, čítanie-32 Protocol, Write 64-Protocol & Read 64 Protocol.

Formát správy SMBUS

Po splnení podmienky START, master nájde 7-bitovú adresu slave zariadenia a potrebuje adresu na zbernici. Dĺžka adresy je teda 7 bitov, za ktorými nasleduje 8 bitov označujúcich smer prenosu dát (R/W); ONE určuje požiadavku na READ (údaje) a NULA určuje WRITE (prenos).

  Formát správy
Formát správy

Prenos dát je ukončený vždy STOP podmienkou vygenerovanou cez master.

Každý bajt obsahuje 8 bitov a každý bajt sa prenáša na SMBus a mal by nasledovať potvrdzovací bit. Bajty sa prenášajú cez MSB (najdôležitejší bit) ako prvé.

Typické zariadenie SMBus obsahuje súbor príkazov, pomocou ktorých možno údaje jednoducho čítať a zapisovať. Dĺžka všetkých týchto príkazov je 1 bajt, pričom ich argumenty, ako aj návratové hodnoty sa môžu v rámci dĺžky meniť.

Povolenie príkazu neexistuje, inak nie je podporované, takže môže spôsobiť chybový stav. V súlade so špecifikáciou SMBus sa najskôr prenesie MSB.

Najprv všetky príkazy nastavia štartovaciu podmienku cez zbernicu, potom spustia prenos prostredníctvom prenosu dát alebo príkazu, počkajú na prijatie od podriadeného zariadenia počas prenosu dát alebo príkazov a potom nastavia podmienku zastavenia na zbernici.

Podmienky spustenia a zastavenia protokolu SMBus

Podmienka START & STOP správy bude definovaná dvomi jedinečnými podmienkami zbernice – od vysokej k nízkej a od nízkej k vysokej.

  Podmienky štartu a zastavenia
Podmienky štartu a zastavenia

Keď je SMBCLK pri prechode z HIGH na LOW SMBDAT riadku VYSOKÝ, potom to indikuje stav START správy.

Pri prechode z LOW na HIGH SMBDAT riadku, keď je SMBCLK HIGH, potom definuje STOP podmienku správy. Takže tieto dve podmienky generuje vždy master zbernice. Autobus je obsadený po splnení podmienky ŠTART. Po určitom čase po stave STOP sa autobus opäť prepne do nečinnosti.

Hardvérové ​​požiadavky SMBus

Hardvérové ​​požiadavky SMBus na umožnenie efektívnej, ako aj bezproblémovej komunikácie medzi PC a niektorým z jeho najdôležitejších hardvérov, sú dva vodiče ako SMBDAT & SMBCLK, PSU (Power Supply Unit), sada integrovaných obvodov, ovládače a jeho chladiace ventilátory. . Tento ovládač SMBus v podstate umožňuje počítaču úspešne spracovávať a vykonávať príkazy, ako je zapnutie zdroja napájania a ovládanie chladiacich ventilátorov.

Prenos dát SMBus využíva rôzne protokoly alebo funkcie pri prenose správ, ako napríklad Send Byte, Quick Command, Write Byte, Read Byte, Write Word, Read Word, Block Read, Process Call, Block Write, atď. Podporuje tiež PEC alebo kontrolu chýb paketov. zvýšenie spoľahlivosti komunikácie jednoduchým zahrnutím chybového kódu paketu na každý koniec správy.

Hardvér SMBus jednoducho poskytuje riadenie časovania a radenia používané na sériové prenosy. Hardvér SMBus teda vykonáva rôzne nezávislé aplikačné úlohy, ako je riadenie časovania, sériové prenosy dát a rozpoznávanie adries slave.

SMBus vs I2C

The rozdiel medzi SMBus a I2C zahŕňa nasledujúce.

SMBus

2C

Termín SMBus znamená „System Management Bus“. Termín I2C znamená „Inter-Integrated Circuit“.
SMBus je 2-vodičová riadiaca zbernica používaná v úlohách správy energie a systému. I2C je palubný komunikačný protokol používaný pre nízku šírku pásma a krátke vzdialenosti.
Systém môže využiť túto zbernicu na smerovanie správ zo zariadení a do zariadení namiesto aktivácie jednotlivých riadiacich liniek.

I2C sa bežne používa na pripojenie nízkorýchlostných periférií, ako sú mikrokontroléry a senzory, k procesorom na krátke vzdialenosti v IC.
Maximálna rýchlosť CLK je 100 kHz. Maximálna rýchlosť CLK je 400 kHz.
Minimálna rýchlosť CLK je 10 kHz. Žiadna minimálna rýchlosť CLK.
35 ms nízky časový limit CLK. Neexistuje žiadny časový limit.
Má pevné logické úrovne. Jeho logické úrovne závisia od VDD.
Má rôzne typy adries, ako je rezervovaná, dynamická atď. Má rôzne typy adries, ako je všeobecná adresa podriadeného volania, 7-bitová a 10-bitová.
Má rôzne zbernicové protokoly, ako sú procesné volania, rýchle príkazy atď. Nemá zbernicové protokoly.

SMBus vs Pmbus

Rozdiel medzi SMBus a Pmbus zahŕňa nasledujúce.

SMBus

Pmbus

SMBus je 2-vodičová, jednokoncová zbernica používaná na ľahkú komunikáciu. Rozšírením SMBus je Pmbus a je to nízkonákladový protokol používaný hlavne na komunikáciu medzi zariadeniami na správu napájania.
Režim slave tejto zbernice umožňuje hodnoty rýchlosti prenosu dát ako 10 kbps, 50 kbps, 100 kbps a 400 kbps. Režim slave tejto zbernice jednoducho umožňuje hodnoty rýchlosti prenosu dát ako 100 kbps & 400 kbps.
Tento typ zbernice funguje s hardvérom I2C, obsahuje však softvér druhej úrovne tým, že umožňuje výmenu zariadení za chodu bez reštartovania systému. Táto zbernica rozširuje SMBus jednoduchým definovaním množiny príkazov zariadenia a je špeciálne navrhnutá na obsluhu výkonových meničov, odhaľovanie atribútov zariadenia ako nameraný prúd, napätie, teplota atď.
SMBus je nadmnožinou I2C PMBus je nadmnožinou SMBus
Táto zbernica zahŕňa sieťovú aj dátovú linkovú vrstvu. Táto zbernica obsahuje transportnú vrstvu a sadu príkazov.

Časový diagram

The Časový diagram SMBus je znázornené nižšie.

  Schéma časovania SMBus
Schéma časovania SMBus

TLOW.SEXT je podriadené zariadenie, ktoré predlžuje cykly CLK v rámci jednej správy od ŠTART do STOP. Je teda možné, že hlavné alebo iné podriadené zariadenie tiež predĺži cyklus CLK, čím spôsobí, že nízky predĺžený čas kombinovaného CLK bude vyšší ako TLOW.SEXT. Tento parameter sa teda jednoducho meria cez podriadené zariadenie ako jediný cieľ hlavného zariadenia s plnou rýchlosťou.

TLOW.MEXT je hlavné zariadenie, ktoré rozširuje cykly CLK v každom byte správy. Je teda možné, že ďalšie hlavné alebo podriadené zariadenie tiež rozšíri CLK, aby spôsobilo, že nízky čas kombinovaného CLK bude vyšší v porovnaní s TLOW.MEXT na špecifikovanom byte. Parametre sa teda jednoducho merajú pomocou podriadeného zariadenia s plnou rýchlosťou, ako je jediný cieľ hlavného zariadenia.

Aplikácie

The aplikácie SMBus zahŕňajú nasledujúce.

  • SMBus sa používa ako systémový komponentný čip používaný na komunikáciu v rámci systému. Konkrétnejšie umožňuje batériám komunikovať s ostatnými komponentmi systému, ako sú komponenty súvisiace s napájaním a CPU.
  • Používa sa na ľahkú komunikáciu.
  • Táto zbernica sa používa na monitorovanie kritických parametrov v vložené systémy a na základných doskách PC.
  • Toto je najbežnejší typ komunikácie pre pokročilé palivomery Texas Instruments.
  • Toto sa využíva pri komunikácii riadenia systému s menšou šírkou pásma.

Ide teda o všetko prehľad SMBus - práca s aplikáciami. Ide o jednoduchú a jednokoncovú dvojvodičovú zbernicu používanú na ľahkú komunikáciu. Táto zbernica sa používa na základných doskách počítačov na komunikáciu so zdrojom pre inštrukcie ON alebo OFF. Tu je otázka pre vás, čo je protokol I2C?