Шина системного управления

редактировать

Bus Management System (сокращенно SMBus или SMB ) является несимметричной простой двухпроводной шиной с целью легкого общения. Чаще всего он встречается в материнских платах компьютеров для связи с источником питания для инструкций ВКЛ / ВЫКЛ.

Он основан на I²C для связи с устройствами с низкой пропускной способностью на материнской плате, особенно с микросхемами, связанными с питанием, такими как подсистема перезаряжаемых аккумуляторов портативного компьютера (см. Smart Battery System ). Другие устройства могут включать в себя датчики температуры, вентилятора или напряжения, переключатели крышки, тактовый генератор и RGB-освещение. Карты расширения PCI могут подключаться к сегменту SMBus.

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

SMBus была определена Intel и Duracell в 1994 году проводит часы, данные и инструкции и основан на Philips ' I²C протокол последовательной шины. Диапазон его тактовой частоты составляет от 10 кГц до 100 кГц. (PMBus расширяет это значение до 400 кГц.) Его уровни напряжения и тайминги определены более строго, чем у I²C, но устройства, принадлежащие двум системам, часто успешно смешиваются на одной шине.

SMBus используется в качестве межсоединения в нескольких стандартах управления платформами, включая ASF, DASH, IPMI.

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

СОДЕРЖАНИЕ
  • 1 Взаимодействие SMBus / I²C
    • 1.1 Электрооборудование
      • 1.1.1 Входное напряжение ( V IL и V IH )
      • 1.1.2 Потребляемый ток ( I OL )
      • 1.1.3 Частота ( F MAX и F MIN )
      • 1.1.4 Время
    • 1.2 Протоколы
      • 1.2.1 Использование ACK и NACK
      • 1.2.2 Протоколы SMBus
      • 1.2.3 Протокол разрешения адресов
      • 1.2.4 Функция тайм-аута
      • 1.2.5 Проверка ошибок пакета
      • 1.2.6 SMBALERT #
  • 2 Поддержка
  • 3 См. Также
  • 4 ссылки
  • 5 Внешние ссылки
Совместимость SMBus / I²C

Хотя SMBus является производным от I²C, есть несколько основных различий между спецификациями этих двух шин в области электричества, синхронизации, протоколов и режимов работы.

Электрические

Входное напряжение ( В IL и В IH )

При смешивании устройств спецификация I²C определяет входные уровни от 30% до 70% от напряжения питания V DD, которое может составлять 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 В.

Потребляемый ток ( I OL )

SMBus 2.0 определяет класс «высокой мощности», который включает в себя потребляемый ток 4 мА, который не может управляться микросхемами I²C, если только подтягивающий резистор не рассчитан на уровни шины I²C.

Устройства NXP имеют более высокий набор электрических характеристик мощности, чем SMBus 1.0. Основное отличие заключается в способности потребителя тока при V OL = 0,4 В.

  • SMBus малой мощности = 350 мкА
  • SMBus высокая мощность = 4 мА
  • I²C-bus = 3 мА

«Мощные» устройства SMBus и устройства I²C-bus будут работать вместе, если нагрузочный резистор рассчитан на 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, но добавляет программное обеспечение второго уровня для построения специальных систем. В частности, его спецификации включают протокол разрешения адресов, который может выполнять динамическое распределение адресов. Динамическая реконфигурация аппаратного и программного обеспечения позволяет подключать устройства шины «в горячем режиме» и использовать их немедленно, без перезапуска системы. Устройства распознаются автоматически, и им присваиваются уникальные адреса. Это преимущество приводит к созданию пользовательского интерфейса plug-and-play. В обоих этих протоколах есть очень полезное различие между системным хостом и всеми другими устройствами в системе, которые могут иметь имена и функции ведущих или ведомых устройств.

Функция тайм-аута

SMBus имеет функцию тайм-аута, которая сбрасывает устройства, если связь занимает слишком много времени. Это объясняет минимальную тактовую частоту 10 кГц для предотвращения блокировки шины. I²C может быть шиной «постоянного тока», что означает, что ведомое устройство растягивает основные часы при выполнении некоторой процедуры, в то время как ведущее устройство обращается к ним. Это уведомит ведущее устройство о том, что ведомое устройство занято, но не хочет терять связь. Подчиненное устройство позволит продолжить работу после завершения своей задачи. В протоколе шины I²C нет ограничений на продолжительность этой задержки, тогда как для системы SMBus она ограничена 35 мс. Протокол SMBus просто предполагает, что если что-то длится слишком долго, это означает, что на шине возникла проблема и что все устройства должны перезагрузиться, чтобы сбросить этот режим. В этом случае ведомым устройствам не разрешается слишком долго удерживать часы на НИЗКОМ уровне.

Проверка ошибок пакета

SMBus 1.1 и более поздние версии определяют дополнительную проверку ошибок пакетов ( PEC ). В этом режиме байт PEC (код ошибки пакета) добавляется в конце каждой транзакции. Байт рассчитывается как контрольная сумма CRC-8, рассчитанная для всего сообщения, включая адрес и бит чтения / записи. Используемый полином равен x 8 + x 2 + x + 1 ( алгоритм CRC-8- ATM HEC, инициализированный нулем).

SMBALERT #

SMBus имеет дополнительный необязательный общий сигнал прерывания, называемый SMBALERT #, который может использоваться ведомыми устройствами, чтобы сообщить хосту, чтобы он запрашивал его ведомые устройства об интересующих событиях. SMBus также определяет менее распространенный «протокол уведомления хоста», предоставляющий аналогичные уведомления, но с передачей большего количества данных и основанный на режиме с несколькими мастерами I²C.

Поддерживать

Устройства SMBus поддерживаются FreeBSD, OpenBSD, NetBSD, DragonFly BSD, Linux, Windows 2000 и новее и Windows CE.

Смотрите также
Рекомендации
внешняя ссылка

Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенных в соответствии с условиями «перелицензирования» GFDL версии 1.3 или новее.

Последняя правка сделана 2024-01-08 05:27:27
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте