SMBus (англ. System Management Bus) — последовательный протокол обмена данными для устройств питания. Основан на шине I²C, но использует более низкий уровень сигнального напряжения (3,3 В).SMBus (System Management Bus) – это низкоскоростная последовательная шина для системного управления, которая используется для связи между различными компонентами системы, такими как материнская плата, процессор, память и другие устройства. SMBus основан на шине I2C (Inter-Integrated Circuit) и предоставляет протокол коммуникации между устройствами.
SMBus предназначен для мониторинга и управления различными параметрами системы, такими как температура, напряжение, скорость вращения вентиляторов и другие. Он также может использоваться для передачи данных и команд управления между компонентами системы.
Шина SMBus имеет два типа устройств – главные (master) и подчиненные (slave). Главные устройства контролируют обмен данными на шине и инициируют передачу данных, а подчиненные устройства выполняют команды и предоставляют информацию о состоянии системы.
SMBus поддерживает различные режимы передачи данных, такие как чтение, запись, блочная передача и другие. Он также предоставляет возможность для устройств подключаться к шине в различных режимах, таких как открытый коллектор и открытое затворное положение, что позволяет совместно использовать шину с другими устройствами.
Для работы по шине SMBus устройства должны поддерживать стандартные команды и протоколы обмена данными, определенные спецификацией SMBus. Это позволяет обеспечить совместимость и взаимодействие различных устройств на шине SMBus.
SMBus является распространенным и широко используемым интерфейсом для мониторинга и управления системами, особенно в области системного управления мощными серверами и компьютерами. Был предложен Intel в 1995 году. Используется, например, для получения информации о состоянии аккумуляторной батареи ноутбука (оставшейся заряд аккумуляторной батареи, температура, количество использованных циклов разряда, и т. д.). С версии SMBus 2.0 (2000 год) используется не только для настройки батареи, но и для иных внутренних устройств компьютера.
SMBus является двухпроводным интерфейсом, по которому простые устройства могут обмениваться информацией с остальной системой. Сообщения идут к устройствам и от них, вместо прохождения по отдельным управляющим линиям. Таким образом обеспечиваются преимущества:
- уменьшается количество проводов (не требуются отдельные линии управления);
- гарантируется дальнейшая расширяемость путём приёма сообщений по протоколу I²C (только на низких скоростях).
Назначение SMBus:
- предоставление информации об изготовителе;
- предоставление модели и артикула устройства;
- сохранения состояния устройства при переходе в режим энергосбережения (suspend);
- передача управляющих параметров;
- предоставление сообщений о различных ошибках и статусе;
- определение пониженного напряжения аккумуляторной батареи.
Использование SMBus для настройки ОЗУ:
- определение объёма памяти и её конфигурация (методом последовательного обнаружения — SPD, Serial presence detect),
- поиск свободных соединителей памяти для отключения сигналов тактовой частоты на неиспользуемых каналах.
По сравнению с I²C, SMBus работает на скоростях до 100 кГц и не поддерживает 0,4 и 2-МГц вариантов.
Использование SMBus для доступа к информации о процессоре (PIROM) компании Intel:
- определение числа ядер модели;
- определение типа корпуса (сокета);
- определение значения TDP;
- определение рабочих частот;
- определение напряжения питания;
- определение частоты QPI;
- определение объёма кэш-памяти L2 и L3;
- определение наборов инструкций.