Bus pro správu systému - System Management Bus

Vedení Bus System (zkráceně SMBus nebo SMB ) je single-skončil jednoduché dvoudrátové sběrnice pro účely lehkého komunikace. Nejčastěji se nachází na základních deskách počítačů pro komunikaci se zdrojem energie pro instrukce ON / OFF.

Je odvozen z I²C pro komunikaci s nízkopásmovými zařízeními na základní desce , zejména s čipy souvisejícími s napájením, jako je subsystém dobíjecí baterie notebooku (viz Smart Battery System ). Mezi další zařízení patří snímače teploty, ventilátoru nebo napětí, spínače víka, generátor hodin a osvětlení RGB. Doplňkové karty PCI se mohou připojit k segmentu SMBus.

Zařízení může poskytovat informace o výrobci, označovat jeho číslo modelu / dílu, ukládat jeho stav pro událost pozastavení, hlásit různé typy chyb, přijímat řídicí parametry a stav vrácení. SMBus obecně není uživatelsky konfigurovatelný ani přístupný. Ačkoli zařízení SMBus obvykle nemohou identifikovat jejich funkčnost, nová koalice PMBus rozšířila SMBus tak, aby obsahoval konvence, které to umožňují.

SMBus byl definován Intel a Duracellu v roce 1994. Nese hodiny, data a pokyny, a je založen na Philips ' I²C protokol sériové sběrnice. Jeho frekvenční rozsah je 10 kHz až 100 kHz. (PMBus to rozšiřuje na 400 kHz.) Jeho napěťové úrovně a časování jsou přesněji definovány než u I²C, ale zařízení patřící do těchto dvou systémů jsou často úspěšně smíchána na stejné sběrnici.

SMBus se používá jako propojení v několika standardech správy platforem, včetně: ASF , DASH , IPMI .

SMBus se používá pro přístup k informacím o konfiguraci DRAM jako součást detekce sériové přítomnosti . SMBus se rozrostl do široké škály případů použití výčtu systémů jiných než správa napájení.

Interoperabilita SMBus / I²C

Zatímco SMBus je odvozen z I²C, existuje několik hlavních rozdílů mezi specifikacemi těchto dvou sběrnic v oblastech elektrické energie, časování, protokolů a provozních režimů.

Elektrický

Vstupní napětí ( V IL a V IH )

Při směšování zařízení specifikace I²C definuje vstupní úrovně na 30% a 70% napájecího napětí V DD , což může být 5 V, 3,3 V nebo nějaká jiná hodnota. Namísto přiřazení vstupních úrovní sběrnice k V DD je SMBus definuje jako fixní na 0,8 a 2,1 V. SMBus 2.0 podporuje V DD v rozmezí od 3 do 5 V. SMBus 3.0 podporuje V DD v rozmezí od 1,8 do 5 V.

Sink Current ( I OL )

SMBus 2.0 definuje třídu „vysokého výkonu“, která zahrnuje proud 4 mA, který nemůže být poháněn I²C čipy, pokud není pull-up rezistor dimenzován na úroveň I²C-sběrnice.

Zařízení NXP mají vyšší výkonovou sadu elektrických charakteristik než SMBus 1.0. Hlavním rozdílem je schopnost proudového jímače s V OL = 0,4 V.

  • Nízký výkon SMBus = 350 μA
  • Vysoký výkon SMBus = 4 mA
  • I²C-bus = 3 mA

„Vysoce výkonná“ zařízení SMBus a zařízení I2C-bus budou spolupracovat, pokud je velikost vytahovacího odporu 3 mA.

Frekvence ( F MAX a F MIN )

Hodiny SMBus jsou definovány v rozsahu 10–100 kHz, zatímco I²C může být v závislosti na režimu 0–100 kHz, 0–400 kHz, 0–1 MHz a 0–3,4 MHz. To znamená, že sběrnice I²C běžící na méně než 10 kHz nebude kompatibilní se SMBus, protože zařízení SMBus mohou vypršet. Mnoho zařízení SMBus však bude podporovat nižší frekvence.

SMBus 3.0 přidává rychlosti sběrnice 400 kHz a 1 MHz.

Načasování

  • SMBus definuje časovou prodlevu, TIMEOUT 35 ms. I²C neurčuje žádný časový limit.
  • SMBus specifikuje T LOW: SEXT jako kumulativní čas minimálního prodloužení hodin pro podřízené zařízení. I²C nemá podobnou specifikaci.
  • SMBus specifikuje T LOW: MEXT jako kumulativní čas minimálního prodloužení hodin pro hlavní zařízení. I²C opět nemá podobnou specifikaci.
  • SMBus definuje čas náběhu i doběhu signálů sběrnice. I²C ne.
  • Specifikace časového limitu SMBus nevylučuje spolehlivou spolupráci zařízení I²C na SMBus. Je odpovědností projektanta zajistit, aby zařízení I²C neporušovala tyto parametry časování sběrnice.

Protokoly

Použití ACK a NACK

Při používání signalizace sběrnice NACK existují následující rozdíly: V I²C může podřízený přijímač neuznávat podřízenou adresu, pokud například není schopen přijímat, protože provádí nějakou úlohu v reálném čase. SMBus vyžaduje, aby zařízení vždy potvrdila svou vlastní adresu, jako mechanismus k detekci přítomnosti vyměnitelného zařízení na sběrnici (baterie, dokovací stanice atd.)

I²C specifikuje, že podřízené zařízení, i když může potvrdit svou vlastní adresu, může se rozhodnout, později v přenosu, že nemůže přijímat žádné další datové bajty. I²C specifikuje, že zařízení to může označit generováním nepotvrzení na prvním bajtu, který má následovat.

Kromě indikace stavu zaneprázdněnosti zařízení slave používá SMBus také mechanismus NACK k indikaci přijetí neplatného příkazu nebo nulového bodu. Protože taková podmínka může nastat na posledním bajtu přenosu, je nutné, aby zařízení SMBus byla schopna generovat nepotvrzení po přenosu každého bajtu a před dokončením transakce. To je důležité, protože SMBus neposkytuje žádnou další signalizaci opětovného odeslání. Tento rozdíl v použití signalizace NACK má důsledky pro konkrétní implementaci portu SMBus, zejména v zařízeních, která zpracovávají kritická data systému, jako je hostitel SMBus a komponenty SBS.

Protokoly SMBus

Každá transakce se zprávou na SMBus se řídí formátem jednoho z definovaných protokolů SMBus. Protokoly SMBus jsou podmnožinou formátů pro přenos dat definovaných ve specifikacích I²C. Zařízení I²C, ke kterým lze přistupovat prostřednictvím jednoho z protokolů SMBus, jsou kompatibilní se specifikacemi SMBus. K zařízením I²C, která nedodržují tyto protokoly, nelze získat přístup standardními metodami, jak jsou definovány ve specifikacích SMBus a Advanced Configuration and Power Interface (ACPI).

Protokol pro řešení adres

SMBus používá hardware I²C a hardwarové adresování I²C, ale přidává software druhé úrovně pro vytváření speciálních systémů. Mezi jeho specifikace patří zejména protokol pro řešení adres, který umožňuje dynamické přidělování adres. Dynamická rekonfigurace hardwaru a softwaru umožňuje, aby zařízení sběrnice byla „připojena za provozu“ a okamžitě použita, aniž by bylo nutné restartovat systém. Zařízení jsou rozpoznána automaticky a jsou jim přiřazeny jedinečné adresy. Výsledkem této výhody je uživatelské rozhraní typu plug-and-play. V obou těchto protokolech je velmi užitečné rozlišovat mezi hostitelem systému a všemi ostatními zařízeními v systému, která mohou mít jména a funkce nadřízených nebo podřízených.

Funkce časového limitu

SMBus má funkci časového limitu, která resetuje zařízení, pokud komunikace trvá příliš dlouho. To vysvětluje minimální taktovací frekvenci 10 kHz, aby se zabránilo zablokování sběrnice. I²C může být „DC“ sběrnice, což znamená, že podřízené zařízení roztahuje hlavní hodiny, když provádí nějakou rutinu, zatímco hlavní k ní přistupuje. Toto oznámí nadřízenému, že slave je zaneprázdněn, ale nechce ztratit komunikaci. Podřízené zařízení umožní pokračování po dokončení úkolu. V protokolu I²C-bus neexistuje žádné omezení, jak dlouhé může toto zpoždění být, zatímco u systému SMBus by to bylo omezeno na 35 ms. Protokol SMBus pouze předpokládá, že pokud něco trvá příliš dlouho, znamená to, že je problém na sběrnici a že všechna zařízení se musí resetovat, aby byl tento režim vymazán. Podřízeným zařízením pak není dovoleno držet hodiny LOW příliš dlouho.

Kontrola chyb paketů

SMBus 1.1 a novější definují volitelnou kontrolu chyb paketů ( PEC ). V tomto režimu se na konci každé transakce připojí bajt PEC (kód chyby paketu). Bajt se počítá jako kontrolní součet CRC-8 , počítaný pro celou zprávu včetně adresy a bitu pro čtení / zápis. Použitý polynom je x 8 + x 2 + x + 1 ( algoritmus CRC-8- ATM HEC , inicializovaný na nulu).

SMBALERT #

SMBus má navíc volitelný sdílený signál přerušení s názvem SMBALERT #, který může být použit podřízenými jednotkami pro informování hostitele, aby se zeptal svých podřízených na události, které nás zajímají. SMBus také definuje méně obvyklý „Host Notify Protocol“, který poskytuje podobná oznámení, ale předává více dat a staví na režimu I²C multi-master.

Podpěra, podpora

Zařízení SMBus jsou podporována systémy FreeBSD , OpenBSD , NetBSD , DragonFly BSD , Linux , Windows 2000 a novějšími a Windows CE .

Viz také

Reference

externí odkazy

Tento článek je založen na materiálu převzatém z Free On-line Dictionary of Computing před 1. listopadem 2008 a začleněného za podmínek „relicensing“ GFDL , verze 1.3 nebo novější.