Шина системного управления
Шина управления системой (сокращенно SMBus или SMB ) представляет собой несимметричную простую двухпроводную шину, предназначенную для упрощения связи. Чаще всего он встречается в наборах микросхем материнских плат компьютеров для связи с источником питания для инструкций включения/выключения. Точные функциональные возможности и аппаратные интерфейсы различаются у разных поставщиков.
Он получен из I²C для связи с устройствами с низкой пропускной способностью на материнской плате , особенно с микросхемами, связанными с питанием, такими как подсистема аккумуляторной батареи ноутбука (см. Система Smart Battery и ACPI ). Другие устройства могут включать внешние главные хосты, датчик температуры, датчики вентилятора или напряжения, переключатели крышки, тактовый генератор и RGB-подсветку. Карты расширения PCI могут подключаться к сегменту SMBus.
Устройство может предоставлять информацию о производителе, указывать свою модель/номер детали, сохранять свое состояние для события приостановки, сообщать о различных типах ошибок, принимать параметры управления, возвращать статус по SMBus и опрашивать регистры набора микросхем. SMBus обычно не настраивается и не доступен пользователю. Хотя устройства SMBus обычно не могут определить свою функциональность, новая коалиция PMBus расширила SMBus, включив в него соглашения, позволяющие это.
SMBus был разработан Intel и Duracell в 1994 году. [1] основан на протоколе последовательной шины Philips I²C Он передает часы, данные и инструкции и . Диапазон тактовых частот составляет от 10 кГц до 100 кГц. (PMBus расширяет эту частоту до 400 кГц.) Его уровни напряжения и тайминги определены более строго, чем у I²C, но устройства, принадлежащие к двум системам, часто успешно смешиваются на одной шине. [ нужна ссылка ]
SMBus используется в качестве межсоединения в нескольких стандартах управления платформами, включая: ASF , DASH , IPMI .
SMBus используется для доступа к информации о конфигурации DRAM в рамках обнаружения последовательного присутствия . SMBus превратился в широкий спектр вариантов использования системного перечисления, помимо управления питанием.
Совместимость SMBus/I²C
[ редактировать ]Хотя SMBus является производным от I²C, между спецификациями двух шин есть несколько существенных различий в области электрооборудования, синхронизации, протоколов и режимов работы. [2] [3] [4] [5]
Электрический
[ редактировать ]Входное напряжение ( В IL и В IH )
[ редактировать ]При смешивании устройств спецификация I²C определяет входные уровни равными 30 % и 70 % напряжения питания V DD . [4] : 9 которое может составлять 5 В, 3,3 В или какое-либо другое значение. Вместо того, чтобы связывать входные уровни шины с V DD , SMBus определяет их фиксированными значениями 0,8 и 2,1 В. SMBus 2.0 поддерживает V DD в диапазоне от 3 до 5 В.SMBus 3.0 поддерживает напряжение V DD в диапазоне от 1,8 до 5 В и V IH = 1,35 В. [3]
Ток стока ( I OL )
[ редактировать ]SMBus 2.0 определяет класс «Высокая мощность», который включает ток потребления 4 мА, который не может управляться микросхемами I²C, если подтягивающий резистор не рассчитан на уровни шины I²C.
Устройства NXP имеют более высокий набор электрических характеристик по мощности, чем SMBus 1.0. Основное отличие заключается в допустимой токовой нагрузке при = VOL 0,4 В.
- SMBus малой мощности = 350 мкА
- SMBus высокая мощность = 4 мА
- I²C-шина = 3 мА
Устройства высокой мощности SMBus и устройства шины I²C будут работать вместе, если подтягивающий резистор рассчитан на ток 3 мА.
Частота ( F MAX и F MIN )
[ редактировать ]Тактовая частота SMBus определяется от 10 до 100 кГц, а I²C может составлять 0–100 кГц, 0–400 кГц, 0–1 МГц и 0–3,4 МГц, в зависимости от режима. Это означает, что шина I²C, работающая на частоте менее 10 кГц, не будет совместима с SMBus, поскольку устройства SMBus могут выйти из строя. Однако многие устройства SMBus поддерживают более низкие частоты.
SMBus 3.0 добавляет скорости шины 400 кГц и 1 МГц.
Тайминг
[ редактировать ]- SMBus определяет таймаут низкого уровня тактовой частоты, TIMEOUT равный 35 мс. I²C не определяет ограничения по времени ожидания.
- SMBus указывает T LOW:SEXT в качестве совокупного времени продления низкого уровня тактовой частоты для ведомого устройства. I²C не имеет подобной спецификации.
- SMBus определяет T LOW:MEXT в качестве совокупного времени продления низкого уровня тактовой частоты для ведущего устройства. Опять же, I²C не имеет подобной спецификации.
- SMBus определяет время нарастания и спада сигналов шины. I²C нет.
- Спецификации тайм-аута SMBus не препятствуют надежной работе устройств I²C по SMBus. Разработчик несет ответственность за то, чтобы устройства I²C не нарушали эти параметры синхронизации шины.
Протоколы
[ редактировать ]Использование ACK и NACK
[ редактировать ]Существуют следующие различия в использовании сигнализации шины NACK:В I²C ведомому получателю разрешено не подтверждать адрес ведомого устройства, если, например, он не может получить адрес из-за выполнения какой-либо задачи в реальном времени. SMBus требует, чтобы устройства всегда подтверждали свой собственный адрес в качестве механизма обнаружения присутствия съемного устройства на шине (батарея, док-станция и т. д.).
I²C определяет, что ведомое устройство, хотя и может подтвердить свой собственный адрес, через некоторое время во время передачи может решить, что оно не может больше получать байты данных. I²C указывает, что устройство может указать это, генерируя отказ в первом последующем байте.
Помимо индикации состояния занятости ведомого устройства, SMBus также использует механизм NACK для индикации приема недопустимой команды или данных. Поскольку такое условие может возникнуть на последнем байте передачи, требуется, чтобы устройства SMBus имели возможность генерировать подтверждение отказа после передачи каждого байта и до завершения транзакции. Это важно, поскольку SMBus не обеспечивает никакой другой сигнализации повторной отправки. Это различие в использовании сигнализации NACK влияет на конкретную реализацию порта SMBus, особенно в устройствах, обрабатывающих критически важные системные данные, таких как хост SMBus и компоненты SBS.
Протоколы SMBus
[ редактировать ]Каждая транзакция сообщения в SMBus соответствует формату одного из определенных протоколов SMBus. Протоколы SMBus представляют собой подмножество форматов передачи данных, определенных в спецификациях I²C. Устройства I²C, доступ к которым возможен через один из протоколов SMBus, совместимы со спецификациями SMBus. К устройствам I²C, которые не поддерживают эти протоколы, невозможно получить доступ стандартными методами, как определено в спецификациях SMBus и Advanced Configuration and Power Interface (ACPI).
Протокол разрешения адресов
[ редактировать ]SMBus использует аппаратное обеспечение I²C и аппаратную адресацию I²C, но добавляет программное обеспечение второго уровня для построения специальных систем. В частности, его спецификации включают протокол разрешения адресов, который может выполнять динамическое распределение адресов.Динамическая реконфигурация аппаратного и программного обеспечения позволяет«горячего подключения» и используется немедленно, без перезапуска системы. Устройства распознаются автоматически и им присваиваются уникальные адреса. Это преимущество приводит к созданию пользовательского интерфейса, работающего по принципу «включай и работай». В обоих этих протоколах проводится очень полезное различие между системным хостом и всеми другими устройствами в системе, которые могут иметь имена и функции главных или подчиненных устройств.
Функция тайм-аута
[ редактировать ]SMBus имеет функцию тайм-аута, которая сбрасывает устройства, если связь занимает слишком много времени.Этим объясняется минимальная тактовая частота 10 кГц для предотвращения блокировки шины. I²C может быть шиной постоянного тока, что означает, что ведомое устройство растягивает тактовую частоту ведущего устройства при выполнении какой-либо процедуры, пока ведущее устройство имеет к нему доступ. Это уведомит ведущего о том, что ведомое занято, но не хочет терять связь. Ведомое устройство позволит продолжить работу после завершения своей задачи. В протоколе шины I²C нет ограничений на длительность этой задержки, тогда как для системы SMBus она будет ограничена 35 мс.Протокол SMBus просто предполагает, что если что-то происходит слишком долго, то это означает, что на шине возникла проблема и что все устройства должны перезагрузиться, чтобы очистить этот режим. Подчиненным устройствам не разрешается удерживать тактовый сигнал на низком уровне слишком долго.
Проверка ошибок пакетов
[ редактировать ]SMBus 1.1 и более поздние версии определяют дополнительную проверку ошибок пакетов ( PEC ). В этом режиме в конце каждой транзакции добавляется байт PEC (код ошибки пакета). Байт рассчитывается как CRC-8 контрольная сумма , рассчитанная для всего сообщения, включая адрес и бит чтения/записи. Используемый полином x 8 +х 2 +x+1 (алгоритм CRC-8- ATM HEC , инициализированный нулем). [6] [7] [8]
SMBALERT#
[ редактировать ]У SMBus есть дополнительный дополнительный общий сигнал прерывания , называемый SMBALERT#, который может использоваться ведомыми устройствами, чтобы сообщить хосту о необходимости запрашивать свои ведомые устройства о интересующих событиях.SMBus также определяет менее распространенный «Протокол уведомления хоста», предоставляющий аналогичные уведомления, но передающий больше данных и основанный на режиме нескольких главных устройств I²C.
Поддерживать
[ редактировать ]Устройства SMBus поддерживаются FreeBSD , OpenBSD , NetBSD , DragonFly BSD , Linux , Windows 98 и новее, а также Windows CE .
См. также
[ редактировать ]- Список сетевых автобусов
- Встроенный контроллер (EC)
- Супер ввод-вывод
- Малое количество выводов (LPC)
- Последовательный периферийный интерфейс (SPI)
- Интерфейс управления средой платформы (PECI)
- Интерфейс встроенного контроллера хоста (HECI)
- Шина управления питанием (PMBus)
- Контроллер управления системой (SMC)
Ссылки
[ редактировать ]- ^ «DURACELL И INTEL ОБЪЯВЛЯЮТ СПЕЦИФИКАЦИИ «УМНОЙ БАТАРЕИ» ДЛЯ ПОРТАТИВНЫХ КОМПЬЮТЕРОВ — Бесплатная онлайн-библиотека» . Thefreelibrary.com . Проверено 27 октября 2017 г.
- ^ «Спецификация шины управления системой (SMBus), версия 2.0» (PDF) . smbus.org
- ^ Перейти обратно: а б «Спецификация шины управления системой (SMBus), версия 3.0» (PDF) . smbus.org
- ^ Перейти обратно: а б «Спецификация шины I2C и руководство пользователя, версия 7» (PDF) . nxp.com
- ^ «УКАЗАНИЕ ПО ПРИМЕНЕНИЮ 476. Сравнение шины I²C с шиной SMBus» . Максим. 01.12.2000. 090429 maxim-ic.com
- ^ «Проектирование с помощью SMBus 2.0» (PDF) . Sbs-forum.org . Проверено 27 октября 2017 г.
- ^ «Калькулятор CRC-8» . Smbus.org . Проверено 27 октября 2017 г.
- ^ «CRC-8 для SMBus» . Picbasic.co.uk . Проверено 27 октября 2017 г.