SMBus: работа, отличия и приложения

Попробуйте наш инструмент устранения неполадок





SMBus был запущен в 1995 году компанией Intel и основан на протоколе последовательной шины I²C Philips. Эта шина передает данные, CLK и инструкции, где тактовая частота находится в диапазоне от 10 кГц до 100 кГц. Основная цель SMBus — предоставить недорогой и мощный метод управления и получения данных от устройств на материнской плате. SMBus обычно используется в ПК для контроля температуры, интеллектуальных аккумуляторов и других систем связи с низкой пропускной способностью.


Эта шина идентифицирует канал связи между зарядным устройством, интеллектуальной батареей и микроконтроллером, который взаимодействует с остальной частью системы. Но SMBus также используется для подключения различных устройств, таких как системные датчики, устройства, связанные с питанием, устройства связи, инвентарные EEPROM и т. д. В этой статье обсуждается обзор SMBus — работа с приложениями.



Что такое протокол SMBus?

SMBus (шина управления системой) — это двухпроводной интерфейс, часто используемый между различными устройствами на материнской плате для низкоскоростной связи управления системой. Этот тип автобуса был разработан I2C-протокол фонды. Таким образом, и I2C, и SMBus могут иметь некоторое сходство, и они также могут взаимодействовать на одной и той же шине.

Эта шина работает на принципах работы I2C, которые обеспечивают шину управления, особенно для системы, позволяющей передавать сообщения к устройствам или от них, а не использовать отдельные линии управления для уменьшения количества системных проводов и контактов.



Устройство с SMBus может предоставлять информацию о производителе, информировать систему о номере детали или модели, сообщать о различных типах ошибок, разрешать параметры управления и пересматривать свое положение.

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

Спецификация SMBus просто относится к 3 типам устройств: хост, ведущее и ведомое.

  • Хост — это особый мастер, который обеспечивает основной интерфейс для ЦП системы.
  • Главное устройство, которое выдает инструкции, генерирует часы и завершает передачу.
  • Ведомое устройство получает и иначе реагирует на команду.

Как работает SMBus?

В рамках связи SMBus используются 3 типа устройств, таких как хост, ведущее и ведомое устройство, которые показаны на следующей диаграмме. В этой шине хост-устройство представляет собой особый главный рабочий интерфейс для ЦП системы; однако это не всегда необходимо. Некоторые системы, такие как простые системы зарядки аккумуляторов, могут работать без хоста.

Ведущее устройство начинает связь, запускает CLK и останавливает передачу. Устройство может быть выбрано как просто ведущее или ведущее-ведомое, где оно может работать либо как ведущее устройство, либо как ведомое устройство.

  Схема SMBus
Схема SMBus

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

Ведомые устройства реагируют на его адрес, а также на команды, и они могут передавать и получать данные от и к ведущему устройству. Устройство может быть выбрано полностью как ведомое, в противном случае ведомое устройство может работать как ведущее в некоторых примерах.

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

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

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

Эта шина использует 2 провода для связи, такие как провод SMBDAT и провод SMBCLK, где провод SMBDAT используется для передачи последовательных данных, а провод SMBCLK работает как последовательные часы. В приведенном выше SMBus мастер просто управляет SMBCLK, который находится в диапазоне от 10 до 100 кГц, однако любая линия может управлять 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

После условия СТАРТ мастер находит 7-битный адрес ведомого устройства, и ему необходимо адресоваться на шине. Таким образом, длина адреса составляет 7 бит, за которыми следуют 8 бит, обозначающие направление передачи данных (R/W); ЕДИНИЦА указывает запрос на ЧТЕНИЕ (данные), а НОЛЬ указывает на ЗАПИСЬ (передачу).

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

Передача данных всегда завершается условием STOP, генерируемым мастером.

Каждый байт включает 8 бит, и каждый байт передается по шине SMBus, после чего следует бит подтверждения. Байты сначала передаются через MSB (старший значащий бит).

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

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

Сначала все команды устанавливают условие запуска по шине, после этого начинают передачу путем передачи данных или команды, ждут подтверждения от ведомого устройства во время передачи данных или команды, затем устанавливают условие остановки на шине.

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

Состояние START & STOP сообщения будет определяться двумя уникальными состояниями шины от высокого к низкому и от низкого к высокому.

  Условия запуска и остановки
Условия запуска и остановки

При переходе строки SMBDAT с ВЫСОКОГО на НИЗКИЙ, когда SMBCLK имеет ВЫСОКОЕ значение, это указывает на состояние НАЧАЛА сообщения.

При переходе строки SMBDAT с НИЗКОГО на ВЫСОКИЙ, когда SMBCLK имеет ВЫСОКОЕ значение, это определяет состояние STOP сообщения. Таким образом, эти два условия всегда генерируются мастером шины. Автобус становится занятым после условия СТАРТ. Шина снова станет бездействующей через определенное время после состояния STOP.

Аппаратные требования SMBus

Аппаратные требования SMBus для обеспечения эффективной и бесперебойной связи между ПК и некоторыми из его наиболее важных аппаратных средств — это два провода, такие как SMBDAT и SMBCLK, блок питания (блок питания), набор микросхем, драйверов и его охлаждающих вентиляторов. . По сути, этот контроллер SMBus позволяет компьютеру успешно обрабатывать и выполнять команды, такие как включение блока питания и управление вентиляторами охлаждения.

Передача данных SMBus использует различные протоколы или функции при передаче таких сообщений, как «Отправить байт», «Быстрая команда», «Запись байта», «Чтение байта», «Запись слова», «Чтение слова», «Чтение блока», «Обработать вызов», «Запись блока» и т. д. Он также поддерживает проверку ошибок PEC или пакетов для повышение надежности связи за счет простого включения кода ошибки пакета в конце каждого сообщения.

Аппаратное обеспечение SMBus просто обеспечивает управление синхронизацией и сдвигом, используемое для последовательной передачи. Таким образом, аппаратное обеспечение SMBus выполняет различные независимые прикладные задачи, такие как контроль времени, последовательная передача данных и распознавание подчиненных адресов.

SMBus против I2C

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

SMBus

Термин SMBus расшифровывается как «Шина управления системой». Термин I2C расшифровывается как «Inter-Integrated Circuit».
SMBus — это 2-проводная шина управления, используемая в задачах управления энергией и системой. I2C — это встроенный протокол связи, используемый для низкой пропускной способности и коротких расстояний.
Система может использовать эту шину для маршрутизации сообщений от и к устройствам, а не для активации отдельных линий управления.

I2C обычно используется для подключения низкоскоростных периферийных устройств, таких как микроконтроллеры и датчики, к процессорам на коротких расстояниях в ИС.
Максимальная скорость CLK составляет 100 кГц. Максимальная скорость CLK составляет 400 кГц.
Минимальная скорость CLK составляет 10 кГц. Нет минимальной скорости CLK.
Тайм-аут низкого CLK 35 мс. Тайм-аута нет.
Он имеет фиксированные логические уровни. Его логические уровни зависят от VDD.
Он имеет различные типы адресов, такие как зарезервированные, динамические и т. Д. Он имеет различные типы адресов, такие как общий адрес ведомого вызова, 7-битный и 10-битный.
Он имеет различные протоколы шины, такие как вызовы процессов, быстрые команды и т. Д. У него нет протоколов шины.

SMBus против Pmbus

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

SMBus

Пмбус

SMBus — это двухпроводная несимметричная шина, используемая для облегченной связи. Расширением SMBus является Pmbus, и это недорогой протокол, в основном используемый для связи между устройствами управления питанием.
Ведомый режим этой шины допускает такие значения скорости передачи данных, как 10 кбит/с, 50 ​​кбит/с, 100 кбит/с и 400 кбит/с. Ведомый режим этой шины просто допускает значения скорости передачи данных, такие как 100 кбит/с и 400 кбит/с.
Этот тип шины работает с аппаратным обеспечением I2C, однако он включает в себя программное обеспечение второго уровня, позволяющее производить горячую замену устройств без перезапуска системы. Эта шина расширяет SMBus, просто определяя набор команд устройства, и она специально разработана для работы с силовыми преобразователями, показывая атрибуты устройства, такие как измеренный ток, напряжение, температура и т. д.
SMBus — это надмножество I2C. PMBus — это надмножество SMBus.
Эта шина включает в себя как сетевой уровень, так и уровень канала передачи данных. Эта шина включает в себя транспортный уровень и набор команд.

Временная диаграмма

Временная диаграмма SMBus показано ниже.

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

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

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

Приложения

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

  • SMBus используется в качестве чипа системного компонента, используемого для связи внутри системы. В частности, он позволяет батареям обмениваться данными с другими компонентами системы, такими как компоненты, связанные с питанием, и ЦП.
  • Это используется для легкого общения.
  • Эта шина используется для мониторинга критических параметров в встроенные системы и на материнских платах ПК.
  • Это наиболее распространенный тип связи для продвинутых указателей уровня топлива Texas Instruments.
  • Это используется в связи управления системой с меньшей пропускной способностью.

Таким образом, это все о обзор SMBus – работа с приложениями. Это простая и несимметричная двухпроводная шина, используемая для упрощенной связи. Эта шина используется в материнских платах компьютеров для связи с источником питания для инструкций ON или OFF. Вот вопрос к вам, что такое протокол I2C?