Le
specifiche di
SMBus sono almeno quattro (quelle principali): la
BIOS 1.0, del febbraio 1995, firmata oltre che da Intel anche da aziende come
Duracell ed
Energizer, che descrive le caratteristiche principali dell'interfaccia; la
Device Driver e Control Method Interface 1.0, uscita nel dicembre del 1999, che definisce le caratteristiche dei driver di controllo (per Windows 98 e Windows 2000), conformi alle specifiche Windows Driver Model (WDM) e l'
Advanced Configuration and Power Interface (ACPI), poi rinominato
SMBus Control Method Interface (CMI), che rende la trasmissione indipendente dall'hardware controllato; la versione 1.1, uscita nel dicembre 1998 e la
versione 2.0, uscita nell'agosto del 2000.
Come anticipato, l'SMBus
è composto da due linee dati bidirezionali, chiamate
SMBCLK e
SMBDAT, in grado di operare a frequenze tra 10 kHz e 100 kHz. La tensione positiva di alimentazione può variare da 2,7 a 5 volt con un V
IL di 0,8 Volt e un V
IH di 2,1 Volt. Seppure sia possibile collegare in simultanea più di un dispositivo master, solo uno di essi può essere attivo e scambiare dati con gli slave. In tutte le situazioni in cui non sussistono particolari esigenze di velocità, il collegamento
SMBus può scambiare dati di clock, comandi elementari, errori o eventi di sistema, dati di stato o parametri di controllo.
Il protocollo di comunicazione, sottoinsieme di quello I
2C, prevede una verifica della presenza del dispositivo slave (segnale ACK), una specifica segnalazione in caso di byte non ricevuto (segnale NACK), un
Address Resolution Protocol, per l'allocazione dinamica degli indirizzi (supporto all'
hot-plug), un tempo massimo per le comunicazioni (time-out, 35 ms), un controllo degli errori basato su checksum CRC-8 (
Packet Error Checking). Questo bus
è supportato oggi da vari sistemi operativi tra cui Linux, Windows 2000, Windows XP e Windows Vista.