Шина System Management Bus: описание и применение.
System Management Bus
SMBus: простой двухпроводный интерфейс для материнских плат. Управление питанием, датчики температуры, батареи и другие устройства. ACPI, Smart Battery System.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Простая двухпроводная шина для материнских плат
Simple two wire bus for motherboards
Системная управляющая шина (сокращенно SMBus или SMB) — это однопроводная простая двухпроводная шина, предназначенная для организации упрощенной связи. Чаще всего она встречается в чипсетах компьютерных материнских плат для связи с источником питания с целью передачи команд включения/выключения. Конкретная функциональность и аппаратные интерфейсы могут различаться у разных производителей. Она является производной от I²C и используется для связи с устройствами с низкой пропускной способностью на материнской плате, особенно с чипами, связанными с питанием, такими как подсистема перезаряжаемых батарей ноутбука (см. Smart Battery System и ACPI). Другие устройства могут включать внешние управляющие хосты, датчики температуры, датчики вращения вентилятора или напряжения, датчики открытия крышки, генераторы тактовой частоты и RGB-подсветку. Платы расширения PCI могут подключаться к сегменту SMBus. Устройство может предоставлять информацию об изготовителе, указывать модель/номер детали, сохранять свое состояние перед переходом в режим ожидания, сообщать о различных типах ошибок, принимать управляющие параметры, возвращать статус через SMBus и опрашивать регистры чипсета. SMBus обычно не настраивается и не доступна для пользователя. Хотя устройства SMBus обычно не могут идентифицировать свою функциональность, новая коалиция PMBus расширила SMBus, включив в нее соглашения, позволяющие это делать. SMBus была определена компаниями Intel и Duracell в 1994 году. Она передает тактовые сигналы, данные и инструкции и основана на протоколе последовательной шины I²C, разработанном Philips. Диапазон тактовых частот составляет от 10 кГц до 100 кГц (PMBus расширяет этот диапазон до 400 кГц). Уровни напряжения и временные характеристики SMBus определены более строго, чем у I²C, но устройства, относящиеся к обеим системам, часто успешно работают на одной и той же шине. SMBus используется в качестве интерфейса в нескольких стандартах управления платформой, включая ASF, DASH и IPMI. SMBus используется для доступа к информации о конфигурации DRAM в рамках системы Serial Presence Detect. Область применения SMBus расширилась и включает в себя множество сценариев системной идентификации, помимо управления питанием.
The System Management Bus (abbreviated to SMBus or SMB) is a single ended simple two wire bus for the purpose of lightweight communication. Most commonly it is found in chipsets of computer motherboards for communication with the power source for ON/OFF instructions. The exact functionality and hardware interfaces vary with vendors. It is derived from I²C for communication with low bandwidth devices on a motherboard, especially power related chips such as a laptop's rechargeable battery subsystem (see Smart Battery System and ACPI). Other devices might include external master hosts, temperature sensor, fan or voltage sensors, lid switches, clock generator, and RGB lighting. PCI add in cards may connect to an SMBus segment. A device can provide manufacturer information, indicate its model/part number, save its state for a suspend event, report different types of errors, accept control parameters, return status over SMBus, and poll chipset registers. The SMBus is generally not user configurable or accessible. Although SMBus devices usually can't identify their functionality, a new PMBus coalition has extended SMBus to include conventions allowing that. The SMBus was defined by Intel and Duracell in 1994. It carries clock, data, and instructions and is based on Philips' I²C serial bus protocol. Its clock frequency range is 10 kHz to 100 kHz. (PMBus extends this to 400 kHz.) Its voltage levels and timings are more strictly defined than those of I²C, but devices belonging to the two systems are often successfully mixed on the same bus. SMBus is used as an interconnect in several platform management standards including: ASF, DASH, IPMI. SMBus is used to access DRAM configuration information as part of serial presence detect. SMBus has grown into a wide variety of system enumeration use cases other than power management.
Совместимость SMBus/I2C
Хотя SMBus основан на I²C, между спецификациями этих двух шин существуют существенные различия в области электрических характеристик, временных параметров, протоколов и режимов функционирования.
While SMBus is derived from I²C, there are several major differences between the specifications of the two busses in the areas of electricals, timing, protocols and operating modes.
Входное напряжение (VIL и VIH)
При смешивании устройств спецификация I²C определяет входные уровни как 30% и 70% от напряжения питания VDD, которое может составлять 5 В, 3,3 В или другое значение. В отличие от привязки уровней входа шины к VDD, SMBus определяет их как фиксированные значения 0,8 и 2,1 В. SMBus 2.0 поддерживает VDD в диапазоне от 3 до 5 В. SMBus 3.0 поддерживает VDD в диапазоне от 1,8 до 5 В и VIH = 1,35 В.
When mixing devices, the I²C specification defines the input levels to be 30% and 70% of the supply voltage VDD, which may be 5 V, 3.3 V, or some other value. Instead of relating the bus input levels to VDD, SMBus defines them to be fixed at 0.8 and 2.1 V. SMBus 2.0 supports VDD ranging from 3 to 5 V.
SMBus 3.0 supports VDD ranging from 1.8 to 5 V and VIH = 1.35 V.
Смбалерт.
SMBus имеет дополнительный опциональный общий сигнал прерывания под названием SMBALERT#, который ведомые устройства могут использовать для уведомления хоста о необходимости запросить у них информацию о произошедших событиях. SMBus также определяет менее распространенный "Протокол уведомления хоста", обеспечивающий аналогичные уведомления, но передающий больший объем данных и использующий многомастерный режим I²C.
The SMBus has an extra optional shared interrupt signal called SMBALERT#, which can be used by slaves to tell the host to ask its slaves about events of interest. SMBus also defines a less common "Host Notify Protocol", providing similar notifications but passing more data and building on the I²C multi master mode.
Поддержка
SMBus устройства поддерживаются FreeBSD, OpenBSD, NetBSD, DragonFly BSD, Linux, Windows 98 и более новых версий, а также Windows CE.
SMBus devices are supported by FreeBSD, OpenBSD, NetBSD, DragonFly BSD, Linux, Windows 98 and newer and Windows CE.