SMBus: Práce, rozdíly a její aplikace

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





SMBus byl spuštěn v roce 1995 společností Intel a je založen na protokolu sériové sběrnice I²C společnosti Philips. Tato sběrnice přenáší data, CLK a instrukce, kde se frekvence hodin pohybuje od 10 kHz do 100 kHz. Hlavním záměrem SMBus je umožnit levnou a výkonnou metodu ovládání a získávání dat ze zařízení na základní desce. SMBus se běžně používá v počítačích pro řízení teploty, inteligentní baterie a další komunikaci správy systému s nízkou šířkou pásma.


Tato sběrnice identifikuje komunikační spojení mezi nabíječkou, inteligentní baterií a mikrokontrolérem, které komunikuje se zbytkem systému. SMBus se však také používá k připojení různých zařízení, jako jsou systémové senzory, zařízení související s napájením, komunikační zařízení, inventární paměti EEPROM atd. Tento článek pojednává o přehledu SMBus – práci s aplikacemi.



Co je protokol SMBus?

SMBus (System Management Bus) je 2vodičové rozhraní, které se často používá mezi různými zařízeními na základní desce pro nízkorychlostní komunikaci správy systému. Tento druh autobusu byl navržen společností I2C protokol základy. Takže I2C a SMBus mohou mít určité podobnosti a mohou také spolupracovat na podobné sběrnici.

Tato sběrnice funguje na principech provozu I2C, které poskytují řídicí sběrnici, zejména pro systém, který umožňuje zprávy do nebo ze zařízení spíše než použití samostatných řídicích linek pro snížení systémových vodičů a počtu pinů.



Zařízení s SMBus může poskytnout informace o výrobě, informovat systém o čísle své části nebo modelu, hlásit různé druhy chyb, povolit ovládací parametry a znovu zkontrolovat svou polohu.

Specifikace SMBus

Specifikace SMBus jednoduše odkazuje na 3 druhy zařízení hostitel, master a slave.

  • Hostitel je konkrétní master a poskytuje hlavní rozhraní pro CPU systému.
  • Hlavní zařízení, které vydává instrukce, generuje hodiny a ukončuje přenos.
  • Podřízené zařízení přijímá jinak reaguje na příkaz.

Jak SMBus funguje?

V rámci komunikace SMBus se používají 3 druhy zařízení, jako je hostitelské, hlavní a podřízené zařízení, které jsou znázorněny na následujícím schématu. V této sběrnici je hostitelské zařízení specifické hlavní pracovní rozhraní k CPU systému; není to však vždy nutné. Některé systémy, jako jsou jednoduché systémy nabíjení baterií, mohou být bez hostitele.

Hlavní zařízení zahájí komunikaci, řídí CLK a zastaví přenos. Zařízení může být zvoleno jednoduše jako master nebo master-slave, kde může fungovat buď jako master zařízení, jinak jako slave zařízení.

  Schéma SMBus
Schéma SMBus

Na SMBus je také nad jedním masterem, ale pouze jeden může ovládat sběrnici v daném okamžiku. Například, když dvě zařízení ovládají sběrnici najednou, pak SMBus poskytuje arbitrážní mechanismus, který jednoduše závisí na drátovém AND připojení všech rozhraní zařízení SMBus k SMBus.

Slave zařízení reagují na svou adresu i na příkazy a mohou vysílat a přijímat data z a do nadřízeného zařízení. Zařízení může být vybráno zcela jako slave, jinak je možné, aby slave v určitých příkladech pracoval jako master.

Podobně jako u protokolu I2C je každému slave zařízení na této sběrnici jednoduše přidělena sedmibitová slave adresa, kde je k této adrese připojen bit pro čtení nebo zápis, který popisuje, zda zařízení čte nebo zapisuje zprávu přenášenou na sběrnici.

Zařízení musí rozpoznat svou vlastní adresu, takže jakmile zařízení identifikuje svou adresu, bude reagovat na příkaz.

Pokud je podřízená adresa této sběrnice v konfliktu, podporuje protokol ARP nebo Address Resolution Protocol. Jakmile hostitel zaznamená dvě zařízení s podobnou adresou slave, pak procedura protokolu pro rozlišení adres dynamicky přiřadí novou jedinečnou adresu slave zařízením. Protokol rozlišení adresy umožní okamžité použití zařízení bez nutnosti opětovného spouštění systému.

Tato sběrnice využívá 2 vodiče pro komunikaci, jako je vodič SMBDAT a vodič SMBCLK, kde se vodič SMBDAT používá k přenosu sériových dat a vodič SMBCLK funguje jako sériové hodiny. Ve výše uvedeném SMBus, master jednoduše řídí SMBCLK v rozsahu od 10 do 100 kHz, nicméně jakákoli linka může řídit SMBDAT.

Tyto dva vodiče jsou obousměrné, což poskytuje možnost zahrnout výstražný signál, jako je SMBALERT, který umožňuje zařízením vyžadovat pozornost od hostitele.

Datový paket této sběrnice obsahuje Start bit, ACK nebo NACK bit, 8 bitů dat a stop bit. Přenos dat SMBus využívá některé funkce jinak protokoly různých SMBus při odesílání zpráv, jako je Odeslat bajt, Rychlý příkaz, Přečíst slovo, Zapsat bajt, Číst bajt, Zapisovat slovo, Zpracovat volání, Blokovat zápis, Blokovat čtení, Číst procesní volání & Blokovat zápis-blok.

Tato sběrnice také podporuje PEC (kontrolu chyb paketů) pro zlepšení spolehlivosti komunikace. To lze provést vložením kódu chyby paketu na konec každé zprávy.

Funkce

Funkce SMBus se také nazývají protokoly. Hlavními protokoly SMBus jsou tedy rychlé příkazy, odeslání bajtu, příjem bajtu, zápis bajtu, čtení bajtu, volání procesu, blokování zápisu/čtení blok zápisu-blokování volání procesu čtení, protokol oznámení hostitele SMBus, protokol zápis-32, čtení-32 Protocol, Write 64-Protocol & Read 64 Protocol.

Formát zprávy SMBUS

Po podmínce START nalezne master 7bitovou adresu podřízeného zařízení a potřebuje adresu na sběrnici. Délka adresy je tedy 7 bitů a následuje 8 bitů označujících směr přenosu dat (R/W); ONE určuje požadavek na READ (data) a ZERO určuje WRITE (přenos).

  Formát zprávy
Formát zprávy

Přenos dat je vždy ukončen STOP podmínkou generovanou přes master.

Každý bajt obsahuje 8 bitů a každý bajt je přenášen na SMBus a měl by být následován potvrzovacím bitem. Bajty jsou nejprve přenášeny přes MSB (nejvýznamnější bit).

Typické zařízení SMBus obsahuje sadu příkazů, jejichž prostřednictvím lze data jednoduše číst a zapisovat. Délka všech těchto příkazů je 1 bajt, přičemž jejich argumenty, stejně jako návratové hodnoty, se mohou v rámci délky měnit.

Povolení příkazu neexistuje, jinak není podporováno, takže může způsobit chybový stav. V souladu se specifikací SMBus se nejprve přenese MSB.

Nejprve všechny příkazy nastaví spouštěcí podmínku na sběrnici, poté zahájí přenos prostřednictvím přenosu dat nebo příkazu, čekají na přijetí od podřízeného zařízení během přenosu dat nebo příkazů a poté nastaví podmínku zastavení na sběrnici.

Podmínky spuštění a zastavení protokolu SMBus

START & STOP podmínka zprávy bude definována dvěma jedinečnými podmínkami sběrnice vysoká až nízká a nízká až vysoká.

  Podmínky spuštění a zastavení
Podmínky spuštění a zastavení

Při přechodu řádku SMBDAT z VYSOKÉHO na NÍZKÉ, když je SMBCLK VYSOKÝ, znamená to START podmínku zprávy.

Při přechodu řádku SMBDAT z NÍZKÉ na VYSOKÉ, když je SMBCLK VYSOKÉ, pak definuje podmínku STOP zprávy. Tyto dvě podmínky tedy generuje vždy master sběrnice. Autobus je obsazen po podmínce START. Sběrnice se po určité době po stavu STOP opět přepne do nečinnosti.

Hardwarové požadavky SMBus

Hardwarové požadavky SMBus pro umožnění efektivní a bezproblémové komunikace mezi PC a některým z jeho nejdůležitějších hardware jsou dva dráty jako SMBDAT & SMBCLK, PSU (Power Supply Unit), sada IC, ovladače a jeho chladicí ventilátory. . V zásadě tento SMBus Controller umožňuje počítači úspěšně zpracovávat a provádět příkazy, jako je zapínání zdroje a ovládání chladicích ventilátorů.

Přenos dat SMBus používá různé protokoly nebo funkce při přenosu zpráv, jako je Odeslat bajt, Rychlý příkaz, Zapsat bajt, Číst bajt, Zapisovat slovo, Číst slovo, Blokovat čtení, Zpracovat volání, Blokovat zápis atd. Podporuje také kontrolu chyb PEC nebo paketů. zvýšení spolehlivosti komunikace jednoduchým zahrnutím chybového kódu paketu na každý konec zprávy.

Hardware SMBus jednoduše poskytuje řízení časování a řazení používané pro sériové přenosy. Hardware SMBus tedy provádí různé nezávislé aplikační úlohy, jako je řízení časování, sériové datové přenosy a rozpoznávání podřízených adres.

SMBus vs I2C

The rozdíl mezi SMBus a I2C zahrnuje následující.

SMBus

2C

Termín SMBus znamená „System Management Bus“. Termín I2C znamená „Inter-Integrated Circuit“.
SMBus je 2vodičová řídicí sběrnice používaná v úlohách správy energie a systému. I2C je integrovaný komunikační protokol používaný pro nízkou šířku pásma a krátké vzdálenosti.
Systém může využít tuto sběrnici ke směrování zpráv z a do zařízení spíše než k aktivaci jednotlivých řídicích linek.

I2C se běžně používá pro připojení nízkorychlostních periferií, jako jsou mikrokontroléry a senzory, k procesorům na krátké vzdálenosti v IC.
Maximální rychlost CLK je 100 kHz. Maximální rychlost CLK je 400 kHz.
Minimální rychlost CLK je 10 kHz. Žádná minimální rychlost CLK.
35 ms nízký časový limit CLK. Neexistuje žádný časový limit.
Má pevné logické úrovně. Jeho logické úrovně závisí na VDD.
Má různé typy adres, jako je vyhrazená, dynamická atd. Má různé typy adres, jako je obecná adresa podřízeného volání, 7bitová a 10bitová.
Má různé protokoly sběrnice, jako jsou procesní volání, rychlé příkazy atd. Nemá sběrnicové protokoly.

SMBus vs Pmbus

Rozdíl mezi SMBus a Pmbus zahrnuje následující.

SMBus

Pmbus

SMBus je 2vodičová sběrnice s jedním zakončením používaná pro nenáročnou komunikaci. Rozšířením SMBus je Pmbus a jedná se o nízkonákladový protokol používaný především pro komunikaci mezi zařízeními pro správu napájení.
Režim slave této sběrnice umožňuje hodnoty datových rychlostí jako 10 kbps, 50 kbps, 100 kbps a 400 kbps. Režim slave této sběrnice jednoduše umožňuje hodnoty datové rychlosti jako 100 kbps & 400 kbps.
Tento typ sběrnice funguje s hardwarem I2C, obsahuje však software druhé úrovně, protože umožňuje výměnu zařízení za provozu bez restartování systému. Tato sběrnice rozšiřuje SMBus jednoduchým definováním sady příkazů zařízení a je speciálně navržena pro manipulaci s měniči výkonu, odhalování atributů zařízení, jako je měřený proud, napětí, teplota atd.
SMBus je nadmnožinou I2C PMBus je nadmnožinou SMBus
Tato sběrnice zahrnuje síťovou i datovou linkovou vrstvu. Tato sběrnice obsahuje transportní vrstvu a sadu příkazů.

Časový diagram

The Časový diagram SMBus je zobrazen níže.

  Časový diagram SMBus
Časový diagram SMBus

TLOW.SEXT je podřízené zařízení, které prodlužuje cykly CLK v rámci jedné zprávy od START do STOP. Je tedy možné, že hlavní nebo jiné podřízené zařízení také prodlouží cyklus CLK tak, že nízký prodloužený čas kombinovaného CLK bude vyšší než TLOW.SEXT. Tento parametr je tedy jednoduše měřen prostřednictvím podřízeného zařízení jako jediný cíl hlavního zařízení s plnou rychlostí.

TLOW.MEXT je hlavní zařízení, které rozšiřuje cykly CLK v každém bajtu zprávy. Je tedy možné, že další master nebo slave zařízení také rozšíří CLK, aby způsobilo, že nízký čas kombinovaného CLK bude vyšší ve srovnání s TLOW.MEXT na specifikovaném byte. Parametry jsou tedy jednoduše měřeny pomocí podřízeného zařízení s plnou rychlostí, jako je jediný cíl hlavního zařízení.

Aplikace

The aplikace SMBus zahrnout následující.

  • SMBus se používá jako čip systémové komponenty používaný ke komunikaci v rámci systému. Konkrétněji umožňuje bateriím komunikovat s ostatními součástmi systému, jako jsou součásti související s napájením a CPU.
  • To se používá pro odlehčenou komunikaci.
  • Tato sběrnice se používá pro monitorování kritických parametrů v vestavěné systémy a na základních deskách PC.
  • Toto je nejběžnější typ komunikace pro pokročilé palivoměry společnosti Texas Instruments.
  • Toho se využívá při komunikaci správy systému s menší šířkou pásma.

Tak, to je všechno o přehled SMBus – práce s aplikacemi. Jedná se o jednoduchou a jednokoncovou dvouvodičovou sběrnici používanou pro nenáročnou komunikaci. Tato sběrnice se používá na základních deskách počítačů pro komunikaci se zdrojem pro instrukce ON nebo OFF. Zde je pro vás otázka, co je protokol I2C?