SMBus: funcionament, diferències i les seves aplicacions

Proveu El Nostre Instrument Per Eliminar Problemes





El SMBus va ser llançat l'any 1995 per Intel i es basa en el protocol de bus sèrie I²C de Philips. Aquest bus transporta dades, CLK i instruccions on la freqüència del rellotge oscil·la entre 10 kHz i 100 kHz. La intenció principal de SMBus és permetre un mètode barat i potent per controlar i obtenir dades dels dispositius d'una placa base. SMBus s'utilitza normalment en ordinadors per al control de temperatura, bateries intel·ligents i altres comunicacions de gestió de sistemes d'ample de banda baix.


Aquest bus identifica l'enllaç de comunicació entre un carregador, una bateria intel·ligent i un microcontrolador que conversa amb la resta del sistema. Però, SMBus també s'utilitza per connectar diferents dispositius com sensors del sistema, dispositius relacionats amb l'alimentació, dispositius de comunicacions, EEPROM d'inventari, etc. Aquest article tracta una visió general d'un SMBus: treballar amb aplicacions.



Què és el protocol SMBus?

El SMBus (System Management Bus) és una interfície de 2 fils, que s'utilitza freqüentment entre diversos dispositius d'una placa base per a la comunicació de gestió del sistema de baixa velocitat. Aquest tipus d'autobús va ser dissenyat per la Protocol I2C fonaments. Així, tant l'I2C com l'SMBus poden tenir algunes similituds i també poden interaccionar en un bus similar.

Aquest bus funciona segons els principis de funcionament I2C que proporcionen un bus de control, especialment perquè el sistema permeti missatges cap als dispositius o des dels seus en lloc d'utilitzar línies de control separades per reduir el nombre de cables i pins del sistema.



Un dispositiu amb un SMBus pot proporcionar la informació de fabricació, informar al sistema de la seva peça o número de model, informar de diferents tipus d'errors, permetre els paràmetres de control i revisar la seva posició.

Especificació SMBus

L'especificació de SMBus simplement es refereix a 3 tipus de dispositius host, mestre i esclau.

  • Un host és un mestre particular i proporciona la interfície principal a la CPU del sistema.
  • Un dispositiu mestre que emet instruccions, genera els rellotges i finalitza la transferència.
  • Un dispositiu esclau rep, en cas contrari, reacciona a una ordre.

Com funciona SMBus?

Hi ha 3 tipus de dispositius utilitzats a la comunicació SMBus com un host, un mestre i un dispositiu esclau que es mostren al diagrama següent. En aquest bus, el dispositiu amfitrió és una interfície mestra com a treball específica per a la CPU del sistema; tanmateix, no sempre és necessari. Alguns sistemes com els sistemes simples de càrrega de bateries poden estar sense host.

Un dispositiu mestre comença la comunicació, condueix el CLK i atura la transferència. Es pot seleccionar un dispositiu perquè sigui simplement un mestre o un mestre-esclau, on pot funcionar com a dispositiu mestre o com a dispositiu esclau.

  Diagrama SMBus
Diagrama SMBus

A SMBus, també hi ha més d'un mestre, però només un pot dominar l'autobús en un moment donat. Per exemple, quan els dos dispositius dominen el bus alhora, llavors SMBus proporciona un mecanisme d'arbitratge que simplement depèn de la connexió per cable I de totes les interfícies del dispositiu SMBus a l'SMBus.

Els dispositius esclaus responen a la seva adreça així com a les ordres i poden transmetre i rebre dades des i cap a un dispositiu mestre. Un dispositiu es pot seleccionar totalment com a esclau, en cas contrari, és possible que l'esclau funcioni com un mestre en alguns exemples.

De manera similar al protocol I2C, cada esclau d'aquest bus s'assigna simplement amb una adreça esclau de set bits on el bit de lectura o escriptura s'afegeix a aquesta adreça per descriure si el dispositiu està llegint o escrivint el missatge que s'està transmetent al bus.

Els dispositius són necessaris per reconèixer la seva pròpia adreça, per tant, una vegada que un dispositiu identifiqui la seva adreça, reaccionarà a l'ordre.

Quan l'adreça esclau d'aquest bus entra en conflicte, admet ARP o Protocol de resolució d'adreces. Un cop l'amfitrió noti dos dispositius amb una adreça esclau similar, el procediment de protocol de resolució d'adreces assignarà una nova adreça única de manera dinàmica als esclaus. El protocol de resolució d'adreces permetrà utilitzar els dispositius immediatament sense necessitat de tornar a iniciar el sistema.

Aquest bus utilitza 2 cables per a la comunicació com el cable SMBDAT i el cable SMBCLK on el cable SMBDAT s'utilitza per transferir dades en sèrie i el cable SMBCLK funciona com el rellotge sèrie. A l'SMBus anterior, el mestre simplement condueix l'SMBCLK que oscil·la entre 10 i 100 kHz, però, qualsevol línia pot conduir l'SMBDAT.

Aquests dos cables són bidireccionals, cosa que ofereix una opció per incloure un senyal d'alerta com SMBALERT que permet als dispositius sol·licitar atenció a l'amfitrió.

El paquet de dades d'aquest bus conté un bit d'inici, un bit ACK o NACK, 8 bits de dades i un bit d'aturada. La transferència de dades de SMBus utilitza algunes de les funcions, d'altra banda, protocols de diferents SMBus mentre s'envia missatges com Enviar byte, Comando ràpid, Read Word, Write Byte, Read Byte, Write Word, Process Call, Block Write, Block Read, Read Process Call i Bloc d'escriptura-Bloc.

Aquest bus també admet PEC (comprovació d'errors de paquets) per millorar la fiabilitat de la comunicació. Per tant, això es pot fer incloent un codi d'error de paquet al final de cada missatge.

Funcions

Funcions SMBus també s'anomenen protocols. Així, els principals protocols de SMBus són Quick Command, Send Byte, Receive Byte, Write Byte, Read Byte, Process Call, Block Write/Read Block Write-Block Read Process Call, SMBus Host Notify Protocol, Write-32 Protocol, Read-32 Protocol, protocol d'escriptura 64 i protocol de lectura 64.

Format de missatge SMBUS

Després de la condició d'START, el mestre localitzarà l'adreça de 7 bits del dispositiu esclau i s'ha d'adreçar al bus. Així, la longitud de l'adreça és de 7 bits seguit d'un 8 bits que significa la direcció de transferència de dades (R/W); un ONE especifica una sol·licitud de LECTURA (dades) i un ZERO especifica una escriptura (transmissió).

  Format del missatge
Format del missatge

La transferència de dades s'acaba sempre per una condició STOP generada a través del mestre.

Cada byte inclou 8 bits i cada byte es transfereix a l'SMBus i s'ha de seguir a través d'un bit de reconeixement. Els bytes es transmeten primer a través del MSB (bit més significatiu).

Un dispositiu SMBus típic inclou un conjunt d'ordres mitjançant les quals les dades es poden llegir i escriure simplement. La longitud de totes aquestes ordres és d'1 byte, mentre que els seus arguments, així com els valors de retorn, poden canviar dins de la longitud.

Permetre una ordre no existeix, en cas contrari, no és compatible, de manera que pot provocar una condició d'error. D'acord amb l'especificació SMBus, primer es transfereix l'MSB.

En primer lloc, totes les ordres estableixen una condició d'inici a l'autobús, després inicien la transmissió mitjançant la transmissió de dades o ordres, espereu una acceptació del dispositiu esclau durant tota la transmissió de dades o ordres i, a continuació, estableix una condició d'aturada al bus.

Condicions d'inici i aturada del protocol SMBus

La condició d'inici i parada d'un missatge es definirà per dues condicions de bus úniques d'alt a baix i de baix a alt.

  Condicions d'inici i parada
Condicions d'inici i parada

En una transició de línia ALTA a BAIXA SMBDAT, quan l'SMBCLK és ALTA, indica una condició d'inici d'un missatge.

En una transició de línia SMBDAT LOW a HIGH, quan SMBCLK és HIGH, defineix una condició STOP d'un missatge. Per tant, aquestes dues condicions les genera sempre el mestre de l'autobús. L'autobús s'ocupa després de l'estat d'arrencada. L'autobús tornarà a estar inactiu després d'un temps determinat després d'una condició de PARADA.

Requisits de maquinari SMBus

Els requisits de maquinari de SMBus per permetre una comunicació eficient, així com una comunicació perfecta entre un ordinador i alguns dels seus maquinari més essencials, són dos cables com SMBDAT i SMBCLK, PSU (Unitat d'alimentació), conjunt de circuits integrats, controladors i els seus ventiladors de refrigeració. . Bàsicament, aquest controlador SMBus permet a un ordinador gestionar i executar ordres amb èxit, com ara encendre la seva PSU i controlar els seus ventiladors de refrigeració.

La transferència de dades SMBus utilitza diferents protocols o funcions durant la transferència de missatges, com ara Send Byte, Quick Command, Write Byte, Read Byte, Write Word, Read Word, Block Read, Process Call, Block Write, etc. També admet PEC o la comprovació d'errors de paquets. millorant la fiabilitat de la comunicació simplement incloent un codi d'error de paquet al final de cada missatge.

El maquinari SMBus simplement proporciona control de temps i canvi utilitzat per a les transferències en sèrie. Així, el maquinari de SMBus realitza les diferents tasques d'aplicació independents com el control de temps, les transferències de dades en sèrie i el reconeixement d'adreces esclaus.

SMBus vs I2C

El diferència entre SMBus i I2C inclou el següent.

SMBus

2C

El terme SMBus significa 'bus de gestió del sistema'. El terme I2C significa 'Inter-Integrated Circuit'.
El SMBus és un bus de control de 2 fils utilitzat en tasques de gestió d'energia i sistemes. I2C és un protocol de comunicació integrat que s'utilitza per a una amplada de banda baixa i distàncies curtes.
Un sistema pot utilitzar aquest bus per dirigir missatges des de i cap a dispositius en lloc d'activar línies de control individuals.

I2C s'utilitza normalment per connectar perifèrics basats en baixa velocitat com microcontroladors i sensors a processadors per sobre de distàncies curtes en un IC.
La velocitat màxima CLK és de 100 kHz. La velocitat màxima CLK és de 400 kHz.
La velocitat mínima CLK és de 10 kHz. No hi ha velocitat mínima CLK.
Temps d'espera CLK baix de 35 ms. No hi ha temps d'espera.
Té nivells lògics fixos. Els seus nivells lògics depenen del VDD.
Té diversos tipus d'adreces com ara reservades, dinàmiques, etc. Té diferents tipus d'adreces com l'adreça general de l'esclau de trucada, de 7 bits i de 10 bits.
Té diversos protocols de bus com trucades de procés, ordres ràpides, etc. No té protocols d'autobús.

SMBus vs Pmbus

La diferència entre SMBus i Pmbus inclou les següents.

SMBus

Pmbus

El SMBus és un bus d'un sol extrem de 2 cables utilitzat per a una comunicació lleugera. L'extensió de SMBus és Pmbus i és un protocol de baix cost que s'utilitza principalment per a la comunicació entre dispositius de gestió d'energia.
El mode esclau d'aquest bus permet valors de velocitat de dades com 10 kbps, 50 kbps, 100 kbps i 400 kbps. El mode esclau d'aquest bus només permet valors de velocitat de dades com 100 kbps i 400 kbps.
Aquest tipus de bus funciona amb maquinari I2C, però inclou programari de segon nivell, ja que permet intercanviar dispositius en calent sense reiniciar el sistema. Aquest bus expandeix SMBus simplement definint un conjunt d'ordres del dispositiu i està especialment dissenyat per manejar convertidors de potència, exposant atributs del dispositiu com el corrent mesurat, la tensió, la temperatura, etc.
SMBus és un superconjunt d'I2C PMBus és un superconjunt de SMBus
Aquest bus inclou les capes de xarxa i d'enllaç de dades. Aquest bus inclou la capa de transport i un conjunt d'ordres.

Diagrama de temps

El Diagrama de temps SMBus es mostra a continuació.

  Diagrama de temps de SMBus
Diagrama de temps de SMBus

El TLOW.SEXT és el dispositiu esclau que amplia els cicles CLK dins d'un sol missatge des d'START fins a STOP. Per tant, és factible que, el mestre o un altre dispositiu esclau també estenguin el cicle CLK per provocar que el temps prolongat baix de CLK combinat sigui superior a TLOW.SEXT. Així, aquest paràmetre es mesura simplement a través del dispositiu esclau com l'únic objectiu d'un mestre a tota velocitat.

TLOW.MEXT és el dispositiu mestre que amplia els cicles CLK en cada byte d'un missatge. Per tant, és factible que un altre dispositiu mestre o esclau també ampliï el CLK per fer que el temps baix del CLK combinat sigui més elevat en comparació amb TLOW.MEXT en un byte especificat. Així, els paràmetres es mesuren simplement mitjançant un dispositiu esclau de velocitat completa com l'únic objectiu del mestre.

Aplicacions

El aplicacions de SMBus incloure el següent.

  • SMBus s'utilitza com a xip de components del sistema que s'utilitza per comunicar-se dins d'un sistema. Més concretament, permet que les bateries es comuniquin amb altres components del sistema, com ara components relacionats amb l'alimentació i la CPU.
  • S'utilitza per a una comunicació lleugera.
  • Aquest bus s'utilitza per supervisar paràmetres crítics a sistemes encastats i a les plaques base del PC.
  • Aquest és el tipus de comunicació més comú per als indicadors de combustible avançats de Texas Instruments.
  • Això s'utilitza en la comunicació de gestió del sistema basada en menys ample de banda.

Per tant, tot això es tracta una visió general d'un SMBus - Treballar amb aplicacions. Aquest és un bus de dos cables senzill i d'un sol extrem utilitzat per a una comunicació lleugera. Aquest bus s'utilitza a les plaques base dels ordinadors per a la comunicació amb la font d'alimentació per a instruccions d'encesa o apagat. Aquí teniu una pregunta per a vosaltres, què és el protocol I2C?