SMBus: работа, разлики и приложенията му

Опитайте Нашия Инструмент За Премахване На Проблемите





SMBus стартира през 1995 г. от Intel и се основава на I²C протокола за серийна шина на Philips. Тази шина пренася данни, CLK и инструкции, където тактовата честота варира от 10 kHz до 100 kHz. Основното намерение на SMBus е да позволи евтин и мощен метод за контрол и получаване на данни от устройства на дънна платка. SMBus обикновено се използва в компютри за контрол на температурата, интелигентни батерии и друга комуникация за управление на системата с ниска честотна лента.


Тази шина идентифицира комуникационната връзка между зарядно устройство, интелигентна батерия и микроконтролер, който общува с останалата част от системата. Но SMBus се използва и за свързване на различни устройства като системни сензори, свързани със захранването устройства, комуникационни устройства, инвентарни EEPROM и т.н. Тази статия обсъжда общ преглед на SMBus – работа с приложения.



Какво е SMBus протокол?

SMBus (шина за управление на системата) е двупроводен интерфейс, често използван между различни устройства на дънната платка за нискоскоростна комуникация за управление на системата. Този вид автобус е проектиран от I2C протокол основи. Така че както I2C, така и SMBus може да имат някои прилики и те също могат да работят взаимно на подобна шина.

Тази шина работи на принципите на работа на I2C, които осигуряват контролна шина, особено за системата, която позволява съобщения към или от устройствата, вместо да използва отделни контролни линии за намаляване на системните проводници и броя на щифтовете.



Устройство с SMBus може да предостави информация за производството, да информира системата за номера на своята част или модел, да докладва различни видове грешки, да позволи контролни параметри и да преразгледа своята позиция.

SMBus спецификация

Спецификацията на SMBus просто се отнася до 3 вида устройства хост, главен и подчинен.

  • Хостът е конкретен главен и осигурява основния интерфейс към процесора на системата.
  • Главно устройство, което издава инструкции, генерира часовниците и прекратява трансфера.
  • Подчинено устройство получава иначе реагира на команда.

Как работи SMBus?

Има 3 вида устройства, използвани в SMBus комуникация като хост, главно и подчинено устройство, които са показани на следната диаграма. В тази шина хост устройството е специфичен главен, подобен на работа интерфейс към CPU на системата; обаче не винаги е необходимо. Някои системи като прости системи за зареждане на батерии могат да бъдат без хост.

Главно устройство започва комуникацията, управлява CLK и спира трансфера. Едно устройство може да бъде избрано да бъде просто главно или главно-подчинено, където може да работи или като главно устройство, в противен случай като подчинено устройство.

  SMBus диаграма
SMBus диаграма

В SMBus също има над един главен, но само един може да управлява шината във всеки един момент. Например, когато двете устройства управляват шината наведнъж, тогава SMBus предоставя механизъм за арбитраж, който просто зависи от кабелната И връзка на всички интерфейси на SMBus устройството към SMBus.

Подчинените устройства отговарят на неговия адрес, както и на команди и могат да предават и получават данни от и към главно устройство. Едно устройство може да бъде избрано изцяло като подчинено, в противен случай е постижимо подчиненото устройство да работи като главно в определени примери.

Подобно на протокола I2C, всеки подчинен на тази шина просто се разпределя със седембитов подчинен адрес, където битът за четене или запис се добавя към този адрес, за да опише дали устройството чете или записва съобщението, което се предава по шината.

Устройствата са необходими, за да разпознаят собствения си адрес, така че след като устройството идентифицира своя адрес, то ще реагира на командата.

Когато подчиненият адрес на тази шина е в конфликт, тогава тя поддържа ARP или протокол за разрешаване на адреси. След като хостът забележи две устройства с подобен подчинен адрес, тогава процедурата на протокола за разрешаване на адрес ще присвои нов уникален адрес динамично на подчинените. Протоколът за разрешаване на адреси ще позволи на устройствата да бъдат използвани незабавно, без да е необходимо да стартирате отново системата.

Тази шина използва 2 проводника за комуникация като SMBDAT проводника и SMBCLK проводника, където SMBDAT проводникът се използва за прехвърляне на серийни данни, а SMBCLK проводникът работи като серийния часовник. В горната SMBus главният просто управлява SMBCLK, който варира от 10 до 100 kHz, но всяка линия може да управлява SMBDAT.

Тези два проводника са двупосочни, което предоставя опция за включване на предупредителен сигнал като SMBALERT, който позволява на устройствата да поискат внимание от хоста.

Пакетът данни на тази шина съдържа начален бит, ACK или NACK бит, 8 бита данни и стоп бит. Прехвърлянето на данни на SMBus използва някои от функциите, иначе протоколи на различни SMBus, докато изпраща съобщения като изпращане на байт, бърза команда, четене на дума, писане на байт, четене на байт, писане на дума, процес на повикване, блокиране на запис, блокиране на четене, четене на процес на повикване & Блокиране на запис-блокиране.

Тази шина също поддържа PEC (проверка на пакетни грешки) за подобряване на надеждността на комуникацията. Така че това може да се извърши чрез включване на код за грешка на пакета в края на всяко съобщение.

Функции

SMBus функции се наричат ​​още протоколи. Така че основните протоколи на SMBus са 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 Протокол, запис на 64-протокол и четене на 64 протокол.

Формат на съобщение SMBUS

След условието START, главният ще намери 7-битовия адрес на подчиненото устройство и то трябва да адресира в шината. И така, дължината на адреса е 7 бита, последвана от 8 бита, обозначаващи посоката на трансфер на данни (R/W); ЕДНО указва заявка за ЧЕТЕНЕ (данни), а НУЛА указва ЗАПИС (предаване).

  Формат на съобщението
Формат на съобщението

Прехвърлянето на данни се прекратява винаги чрез условие STOP, генерирано от главния.

Всеки байт включва 8 бита и всеки байт се прехвърля по SMBus и трябва да бъде последван от бит за потвърждение. Байтовете се предават първо през MSB (най-значимия бит).

Типично SMBus устройство включва набор от команди, чрез които данните могат просто да се четат и записват. Дължината на всички тези команди е 1 байт, докато техните аргументи, както и върнатите стойности, могат да се променят в рамките на дължината.

Разрешаването на команда не съществува, в противен случай не се поддържа, така че може да причини състояние на грешка. В съответствие със спецификацията на SMBus първо се прехвърля MSB.

Първо, всички команди задават условие за стартиране по шината, след това започват предаването чрез предаване на данни или команда, изчакват приемане от подчиненото устройство по време на предаването на данни или команда, след което задават условие за спиране на шината.

Условия за стартиране и спиране за SMBus протокол

Състоянието START & STOP на дадено съобщение ще се дефинира от две уникални условия на шината от високо към ниско и от ниско към високо.

  Условия за стартиране и спиране
Условия за стартиране и спиране

При преход от ВИСОКО към НИСКО SMBDAT ред, когато SMBCLK е ВИСОКО, това показва условие за СТАРТ на съобщение.

При преход от LOW към HIGH SMBDAT ред, когато SMBCLK е HIGH, тогава той дефинира условие STOP на съобщение. Така че тези две условия се генерират винаги от капитана на автобуса. Автобусът става зает след условието START. Автобусът отново ще спре след определено време след състояние STOP.

Хардуерни изисквания за SMBus

Хардуерните изисквания на SMBus за осигуряване на ефективна, както и безпроблемна комуникация между компютър и някои от най-съществения му хардуер, са два проводника като SMBDAT & SMBCLK, PSU (захранващ блок), набор от интегрални схеми, драйвери и неговите охлаждащи вентилатори . По принцип този SMBus контролер позволява на компютъра да обработва и изпълнява команди успешно, като например включване на захранването и управление на охлаждащите вентилатори.

Прехвърлянето на данни SMBus използва различни протоколи или функции, докато прехвърля съобщения като Изпращане на байт, Бърза команда, Писане на байт, Четене на байт, Писане на дума, Четене на дума, Блокиране на четене, Процес на повикване, Блокиране на запис и т.н. Той също така поддържа PEC или проверка на пакетни грешки за повишаване на надеждността на комуникацията чрез просто включване на код за грешка на пакет в края на всяко съобщение.

SMBus хардуерът просто осигурява контрол на времето и превключването, използвани за серийните трансфери. Така че хардуерът на SMBus изпълнява различни независими приложни задачи като контрол на времето, серийни трансфери на данни и разпознаване на подчинени адреси.

SMBus срещу I2C

The разлика между SMBus и I2C включва следното.

SMBus

2C

Терминът SMBus означава „шина за управление на системата“. Терминът I2C означава „интегрирана схема“.
SMBus е двупроводна управляваща шина, използвана при задачи за управление на енергия и система. I2C е вграден комуникационен протокол, използван за ниска честотна лента и къси разстояния.
Системата може да използва тази шина, за да маршрутизира съобщения от и към устройства, вместо да активира отделни контролни линии.

I2C обикновено се използва за свързване на нискоскоростни периферни устройства като микроконтролери и сензори към процесори на къси разстояния в IC.
Максималната CLK скорост е 100 kHz. Максималната CLK скорост е 400 kHz.
Минималната CLK скорост е 10 kHz. Няма минимална скорост на CLK.
35ms ниско CLK таймаут. Няма таймаут.
Има фиксирани логически нива. Неговите логически нива зависят от VDD.
Има различни типове адреси като резервиран, динамичен и т.н. Той има различни типове адреси като общ адрес на подчинен телефон, 7-битов и 10-битов.
Той има различни протоколи за шина като извиквания на процеси, бързи команди и т.н. Той няма шинни протоколи.

SMBus срещу Pmbus

Разликата между SMBus и Pmbus включва следното.

SMBus

Pmbus

SMBus е двупроводна шина с един край, използвана за лека комуникация. Разширението на SMBus е Pmbus и е евтин протокол, използван главно за комуникация между устройства за управление на мощността.
Подчиненият режим на тази шина позволява стойности на скорости на данни като 10 kbps, 50 kbps, 100 kbps и 400 kbps. Подчиненият режим на тази шина просто позволява стойности на скоростта на данни като 100 kbps и 400 kbps.
Този тип шина работи с I2C хардуер, но включва софтуер от второ ниво, като позволява на устройствата да се сменят горещо без рестартиране на системата. Тази шина разширява SMBus чрез просто дефиниране на набор от команди на устройството и е специално проектирана за работа с преобразуватели на мощност, излагане на атрибути на устройството като измерен ток, напрежение, температура и т.н.
SMBus е надмножество на I2C PMBus е надмножество на SMBus
Тази шина включва както слоя на мрежата, така и слоя на връзката за данни. Тази шина включва транспортния слой и набор от команди.

Времева диаграма

The Времева диаграма на SMBus е показано по-долу.

  Времева диаграма на SMBus
Времева диаграма на SMBus

TLOW.SEXT е подчинено устройство, което разширява CLK циклите в рамките на едно съобщение от START до STOP. Така че е възможно главното или друго подчинено устройство също да удължи CLK цикъла, за да причини ниското удължено време на комбинирания CLK да бъде по-високо от TLOW.SEXT. По този начин този параметър просто се измерва чрез подчинено устройство като единична цел на пълноскоростно главно устройство.

TLOW.MEXT е главното устройство, което разширява CLK циклите във всеки байт на съобщението. Така че е възможно друго главно или подчинено устройство също да разшири CLK, за да причини ниското време на комбинирания CLK да бъде по-високо в сравнение с TLOW.MEXT на определен байт. По този начин параметрите просто се измерват чрез подчинено устройство с пълна скорост като единичната цел на главния.

Приложения

The приложения на SMBus включват следното.

  • SMBus се използва като чип на системен компонент, използван за комуникация в системата. По-конкретно, той позволява батерии за комуникация с други компоненти на системата като компоненти, свързани със захранването и процесора.
  • Това се използва за лека комуникация.
  • Тази шина се използва за наблюдение на критични параметри в вградени системи & на дънни платки на компютър.
  • Това е най-често срещаният тип комуникация за усъвършенствани измервателни уреди за гориво на Texas Instruments.
  • Това се използва при по-малко базирана на честотна лента комуникация за управление на системата.

И така, това е всичко преглед на SMBus – работа с приложения. Това е проста и еднокрайна двупроводна шина, използвана за лека комуникация. Тази шина се използва в дънни платки на компютри за комуникация с източника на захранване за инструкции за включване или изключване. Ето един въпрос към вас, какво представлява протоколът I2C?