Шина управления питанием — Power Management Bus
Управления питанием шина (PMBus) представляет собой вариант шины системного управления (SMBus) , который ориентирован на цифровом управлении источниками питания . Как и SMBus, это относительно медленный протокол двухпроводной связи, основанный на I²C . В отличие от любого из этих стандартов, он определяет значительное количество специфичных для предметной области команд, а не просто говорит, как общаться с помощью команд, определенных читателем.
СОДЕРЖАНИЕ
Обзор
В первой части дается обзор с особым упором на SMBus, а во второй части подробно рассматриваются все команды, определенные для устройств PMBus. Существуют как стандартизированные команды, так и команды, специфичные для производителя. Требования соответствия для PMBus минимальны и описаны в Части I спецификации. См. Подробную информацию в спецификации PMBus 1.1.
Сравнение с SMBus
На самом низком уровне PMBus следует за SMBus 1.1 с некоторыми отличиями. Эта информация более подробно представлена в Части I спецификации PMBus:
- Допускается скорость шины 400 кГц (по сравнению с пределом 100 кГц для SMBus)
- В PMBus блоки могут включать до 255 байтов (по сравнению с 32-байтовым пределом SMbus).
- Как и в SMBus 2.0, используется только семибитная адресация.
- Некоторые команды используют вызовы блочного процесса SMBus 2.0.
- Для уведомления хоста о сбоях можно использовать механизм SMBALERT # или протокол уведомления хоста SMBus 2.0.
- Устройства PMBus должны поддерживать групповой протокол, в котором устройства откладывают выполнение команд до тех пор, пока не получат завершающий STOP. Поскольку перед этим STOP команды могут быть отправлены множеству различных устройств, это позволяет мастеру PMBus синхронизировать свои действия.
- Определен протокол «расширенных команд», в котором второй командный байт используется для добавления еще 256 кодов для стандартных и специфичных для производителя команд.
Команды PMBus
Командное пространство PMBus можно рассматривать как доступ к разнообразным читаемым и часто записываемым атрибутам устройства, таким как измеренные уровни напряжения и тока, температуры, скорости вращения вентиляторов и т. Д. У разных устройств будут разные атрибуты. Некоторые устройства могут отображать такие атрибуты на нескольких «страницах», как, например, одна страница, управляющая каждой шиной питания (возможно, 3,3 В, 5 В, 12 В, –12 В и программируемый источник питания, поддерживающий 1,0–1,8 В). Устройство может устанавливать пределы предупреждений и ошибок, превышение которых будет предупреждать хост и, возможно, запускать восстановление после сбоя. Разные устройства будут предлагать разные возможности.
Возможность запрашивать у устройства PMBus 1.1 его возможности может быть особенно полезной при создании инструментов, особенно в сочетании с возможностью хранить пользовательские данные в устройствах (например, в EEPROM ). Без такой возможности запроса доступны только подверженные ошибкам внешние данные конфигурации.
Часть II спецификации PMBus охватывает все стандартные команды PMBus. В нем также описаны модели для управления выходной мощностью и током, управления неисправностями, преобразования значений в форматы, понятные для данного устройства и из них, и доступа к предоставленной производителем информации, такой как данные инвентаризации (модель, серийный номер и т. Д.) И рейтинги устройства. .
Реализации
По состоянию на лето 2007 года PMBus является относительно новым, поэтому не так много продуктов рекламируют его поддержку. Учитывая богатство спецификации, реализации, основанные на микропрограммном обеспечении, работающие в микроконтроллерах , вероятно, проще всего обеспечить, хотя некоторые из текущих продуктов не включают микроконтроллеры. Одним из примеров на основе прошивки является Texas Instruments UCD9112 . Другой использует около 2 Кбайт кода на 8-битном микроконтроллере Atmel AVR на контроллере платы NGW100 .
Осенью 2009 года будет доступно больше товаров. NXP PIP8000 и Maxim MAX16064 — два недавно анонсированных чипа, которые имеют предоставляемый поставщиком графический интерфейс пользователя (непереносимый: только для MS-Windows).
По мере развертывания систем PMBus инструменты для управления этими системами должны стать важными. Некоторые из них можно использовать просто во время производства, чтобы настроить системные параметры, используемые с реконфигурируемыми подсистемами питания. Другие будут полезны для оптимизации времени выполнения, например, с фермами серверов.
Вопросы патентования
В январе 2008 года Power-One выиграла судебный процесс о нарушении патентных прав между ними и Artesyn Technologies в отношении преобразователей с поддержкой PMBus. Power-One утверждает, что приложениям PMBus нужна их лицензия. Потенциальные пользователи PMBus должны сами изучить проблему. Смотрите внешние ссылки.
Интерфейсы I2C, SMBus и PMBus
I 2 C (Inter-Integrated Circuit) – широко используемый последовательный протокол связи между микросхемами. Специалисты компании Analog Devices рассматривают его основные функции и описывают протоколы SMBus (System Management Bus) и PMBus (Power Management Bus), основанные на шине I 2 C, а также приводят различия данных протоколов и раскрывают специфику их использования.
Шина I 2 C разработана компанией Philips для организации простой связи между компонентами на одной печатной плате. I 2 C использует всего две двунаправленные линии для передачи и приема информации и является последовательным синхронным интерфейсом, то есть два или более устройств при обмене данными используют общую тактовую линию.
I 2 C широко применяется для подключения низкоскоростной периферии (светодиодных дисплеев, датчиков и т.д.) к микропроцессорам и микроконтроллерам. В этом интерфейсе есть поддержка подключения нескольких ведомых к одному ведущему и нескольких ведущих к нескольким ведомым. Такая функция полезна для оптимизации работы системы, например, для того, чтобы один микроконтроллер записывал данные на карту памяти и выводил текстовые сообщения на ЖК-дисплей, используя одну и ту же шину.
Кроме популярного стандартного интерфейса I 2 C, существуют два дополнительных протокола, использующих ту же шину: SMBus и PMBus. Эти протоколы ориентированы на управление системами и устройствами питания и позволяют существенно ускорить процесс разработки.
Описание шины I 2 C
За счет использования последовательной линии данных, линии тактовой частоты и общей земли для всех устройств количество соединений в I 2 C минимально. Каждое устройство, поддерживающее подключение по I 2 C, должно иметь два вывода (рисунок 1):
1) SDA – для приема и передачи данных от ведущего к ведомому и наоборот.
2) SCL – для передачи тактового сигнала. Тактовый сигнал всегда генерируется ведущим.
Рис. 1. Подключение микросхем по интерфейсу I 2 C
Важной частью аппаратной реализации I 2 C являются подтягивающие резисторы на линиях SDA и SCL (рисунок 2). При отсутствии передачи данных линии шины находятся в высоком состоянии. Устройства с поддержкой I 2 C подключаются к шине выводами с открытым коллектором и при передаче данных меняют уровни напряжений на шине: с высокого состояния в низкое и наоборот. Биты данных тактируются по спаду тактового импульса.
Рис. 2. Подключение подтягивающих резисторов на шине I 2 C
Для установки высокого уровня напряжения выводы с открытым коллектором должны быть внешне подтянуты к напряжению питания (VDD). При питании 5 В наиболее часто используются подтягивающие резисторы номиналом 4700 Ом.
I 2 C является синхронным интерфейсом: передача бит синхронизируется с приемом с помощью тактового сигнала, совместно используемого ведущим и ведомым. Тактовый сигнал всегда исходит от ведущего. Максимальное количество устройств на шине I 2 C может достигать 2 7 или 2 10 , однако 16 адресов зарезервированы (таблица 1).
Таблица 1. Зарезервированные адреса I 2 C
7-битный адрес узла | Значение бита записи/чтения | Назначение |
---|---|---|
0000 000 | 0 | Общий адрес |
0000 000 | 1 | Стартовый байт |
0000 001 | X | Адрес CBUS |
0000 010 | X | Зарезервировано для другого формата передачи |
0000 011 | X | Для будущих задач |
0000 1XX | X | Код ведущего в высокоскоростном режиме |
1111 1XX | X | Для будущих задач |
1111 0XX | X | 10-битный адрес ведомого |
Максимальная длина шины зависит от емкости кабеля и скорости передачи. Например, экранированная витая пара AWG имеет емкость от 100 до 240 пФ/м. При ее использовании максимальная длина шины I 2 C может составлять до 1 м при скорости 100 кбит/с или 10 м при скорости 10 кбит/с. Неэкранированный кабель обычно имеет гораздо меньшую емкость, но его следует использовать только в экранированном корпусе.
В таблице 2 приведены основные характеристики I 2 C.
Таблица 2. Основные характеристики I 2 C
Данные для передачи по шине I 2 C разбиваются на кадры и передаются в формате сообщений, показанном на рисунке 3. Сообщение I 2 C содержит также адресный кадр с двоичным адресом устройства, бит чтения или записи, а также биты подтверждения после каждого кадра.
Рис. 3. Сообщение I 2 C
Микросхемы с поддержкой I 2 C должны соответствовать временным характеристикам шины, перечисленным в таблице 3. Для каждой скорости передачи данных определены значения временных параметров, которые должны соблюдаться ведущим и ведомым для корректной передачи данных.
Таблица 3. Временные параметры I 2 C
Обозначение | Параметр | Единицы измерения |
---|---|---|
fSCL | Тактовая частота | кГц |
tHD(STA) | Время удержания сигналов при начале или повторе передачи | мкс |
tLOW | Период низкого состояния линии SCL | мкс |
tHIGH | Период высокого состояния линии SCL | мкс |
tSU(STA) | Время установки сигналов при повторе передачи | мкс |
tHD(DAT) | Время удержания данных | мкс |
tSU(DAT) | Время установки данных | нс |
tr | Время нарастания сигнала на SDA | нс |
tf | Время спада сигнала на SDA | нс |
tSU(STO) | Время установки сигналов для окончания передачи | мкс |
Протокол передачи I 2 C
Передача по шине является операцией чтения или записи. Протокол I 2 C описывает процедуру начала и окончания передачи, повтор сообщения, порядок передачи адреса и данных, а также подтверждение получения.
Передача сообщения всегда инициируется ведущим устройством. Для того, чтобы начать передачу, ведущий переключает линию SDA в низкий уровень до спада тактового импульса на линии SCL (рисунок 4).
Рис. 4. Начало передачи сообщения
После передачи одного сообщения ведущий может снова переключить линию SDA до спада SCL и повторно передать данные. Повтор передачи (рисунок 5) используется для перенаправления данных другому ведомому, для повторной попытки передачи, синхронизации нескольких микросхем или для связи с последовательной памятью.
Рис. 5. Повторная передача
В I 2 C нет выделенных линий для выбора микросхемы, как в SPI. Для того, чтобы сообщить устройству, что данные отправляются именно ему, используется адресация. Адресный кадр всегда отправляется после процедуры начала передачи в новом сообщении и имеет размер 7 или 10 бит (рисунок 6). Ведущий отправляет адрес всем подключенным к нему устройствам. Каждое устройство сравнивает полученный адрес со своим собственным и при совпадении отправляет ведущему бит подтверждения (ACK) низкого уровня. Если адрес не совпадает, устройство ничего не делает, и линия SDA остается в высоком состоянии.
Рис. 6. Адресный кадр сообщения
В конце адресного кадра отправляется бит, который задает операцию чтения или записи. Если ведущий собирается записать данные в устройство, отправляется нулевой бит, при чтении отправляется единица (рисунок 7).
Рис. 7. Бит чтения/записи
После каждого кадра в сообщении на шине ожидается бит подтверждения ACK. Если адресный кадр или кадр данных был успешно получен, то возвращается бит подтверждения (на рисунках 4…9 этот бит обозначен белым).
После получения бита подтверждения отправляется первый кадр данных. Кадр данных всегда имеет длину 8 бит и отправляется старшим битом вперед. После каждого кадра ожидается бит подтверждения, чтобы удостовериться в успешном получении данных (рисунок 8).
Рис. 8. Кадр данных
После передачи всех кадров данных ведущий проводит процедуру окончания передачи. Для этого ведущий переводит линию SDA с низкого состояния в высокое после установки тактового сигнала в высокий уровень (рисунок 9). Линия SCL остается в высоком состоянии.
Рис. 9. Окончание передачи
Операция записи на I 2 C
На рисунке 10 представлена временная диаграмма передачи данных по I 2 C при записи.
Рис. 10. Передача по I 2 C при записи
Пошаговая последовательность действий при операции записи следующая:
1) Ведущий инициирует начало передачи для всех подключенных устройств, переключая линию SDA с высокого состояния в низкое перед спадом сигнала на SCL.
2) Ведущий отправляет всем 7- или 10-битный адрес устройства вместе с битом записи. Например, при 7-битном адресе устройства 0x2D ведущий, добавив нулевой бит записи, отправляет на шину 0x5A.
3) Каждое устройство на шине сравнивает адрес, отправленный ведущим, со своим собственным. Если адрес совпадает, устройство возвращает бит подтверждения ACK, переключая линию SDA в низкое состояние на девятом такте SCL. Если адрес не совпадает, устройство оставляет линию SDA в высоком состоянии.
4) Ведущий отправляет кадры данных: указатель адреса для записи (ADDR) и сами данные.
5) После передачи каждого кадра данных ведомое устройство возвращает ведущему нулевой бит подтверждения ACK, обозначая успешное получение кадра либо единичный бит NACK при сбое записи.
6) Для окончания передачи ведущий переключает линию SCL в высокое состояние после нарастания сигнала на линии SDA.
Операция чтения на I 2 C
На рисунке 11 показана передача данных при операции чтения по I 2 C.
Рис. 11. Передача по I 2 C при чтении
Пошаговая последовательность действий при операции чтения следующая:
1) Ведущий инициирует начало передачи для всех подключенных устройств, переключая линию SDA с высокого состояния в низкое перед спадом сигнала на SCL.
2) Ведущий отправляет всем 7- или 10-битный адрес устройства вместе с битом записи. Например, при 7-битном адресе устройства 0x2D ведущий, добавив нулевой бит записи, отправляет на шину 0x5A.
3) Каждое устройство на шине сравнивает адрес, отправленный ведущим, со своим собственным. Если адрес совпадает, устройство возвращает бит подтверждения ACK, переключая линию SDA в низкое состояние на девятом такте SCL. Если адрес не совпадает, устройство оставляет линию SDA в высоком состоянии.
4) После передачи и подтверждения указателя адреса для чтения (ADDR) ведущий повторно инициирует передачу.
5) Ведущий отправляет всем 7- или 10-битный адрес устройства вместе с битом чтения. Например, при 7-битном адресе устройства 0x2D ведущий, добавив единичный бит чтения, отправляет на шину 0x5B.
6) Каждое устройство на шине сравнивает адрес, отправленный ведущим, со своим собственным. Если адрес совпадает, устройство возвращает бит подтверждения ACK, переключая линию SDA в низкое состояние на девятом такте SCL. Если адрес не совпадает, устройство оставляет линию SDA в высоком состоянии.
7) После подтверждения ведущий считывает кадр данных от ведомого устройства.
8) После получения каждого кадра данных ведущий возвращает нулевой бит подтверждения ACK ведомому, обозначая успешное получение кадра либо единичный бит NACK при сбое считывания.
9) Для окончания передачи ведущий переключает линию SCL в высокое состояние после нарастания сигнала на линии SDA.
Арбитраж на шине I 2 C
Адресация протокола I 2 C позволяет управлять несколькими устройствами от одного ведущего. При 7-битном адресе доступно 128 (2 7 ) уникальных адресов. Использование 10-битного адреса встречается реже. Для подключения нескольких устройств к шине на линиях SDA и SCL необходимы подтягивающие резисторы 4,7 кОм. Кроме этого, к одному или нескольким устройствам можно подключить несколько ведущих. Чтобы исключить ситуацию, когда несколько ведущих одновременно используют линию SDA, каждый ведущий должен отслеживать состояние линии SDA перед передачей сообщения. Если линия SDA в низком состоянии, то шиной уже управляет другой ведущий, и необходимо дождаться окончания передачи. Для подключения нескольких ведущих используется схема, показанная на рисунке 12.
Рис. 12. Подключение нескольких ведущих к ведомым
Однако есть вероятность, что два ведущих начнут передачу одновременно. Тогда, если ведущий обнаруживает низкое состояние на линии данных в момент передачи высокого уровня, он прекращает передачу, считая, что активен другой ведущий. Такой процесс называется арбитражем. То есть, как только ведущие пытаются установить на линии разные логические уровни, побеждает тот ведущий, который задает сигнал низкого уровня, другие ведущие прекращают передачу. Если логические уровни от ведущих совпадают, ничего не происходит.
Такая процедура арбитража проста и эффективна:
1) Победивший ведущий продолжает передачу без прерывания, потому что нет испорченных данных, нет конфликтов на шине, нет необходимости перезапускать передачу сообщения.
2) Теоретически проигравший может прослушивать адрес ведомого во время арбитража и корректно отвечать.
3) Если ведущие запрашивают данные у одного и того же устройства, процесс арбитража не прерывает передачу, так как несоответствие не будет обнаружено, и ведомый будет передавать данные на шину сразу для нескольких ведущих.
Задержка тактового сигнала
Тактовая частота всегда генерируется ведущим и синхронизирует обмен данными между ведущим и ведомым. Спецификация I 2 C не регламентирует каких-либо тайм-аутов на тактовый сигнал, то есть любое устройство на шине может удерживать линию SCL в низком состоянии неограниченное время. Такая процедура называется задержкой тактового сигнала и полезна в случаях, когда ведомое устройство не может сразу отправить ответные данные и снижает скорость шины, удерживая линию SCL в низком состоянии. Например, ведомому микроконтроллеру или какому-либо другому обрабатывающему устройству может потребоваться дополнительное время для обработки прерывания, приема данных и для выполнения каких-либо функций. В таком случае ведущий считывает состояние SCL и дожидается, когда ведомый вернет линию в высокое состояние. Для более простых устройств, например, EEPROM, задержка частоты не требуется, так как они не выполняют обработку данных.
Задержка тактового сигнала может значительно снизить общую пропускную способность шины. Необходимо это учитывать, чтобы сохранить надежность передачи и скорость обмена данными, особенно при подключении нескольких устройств на одну шину.
Регистры I 2 C
Техническое описание и регистры I 2 C в документации различных микросхем могут отличаться в зависимости от производителя. На рисунке 13 показан пример описания микроконтроллера с поддержкой I 2 C, а в таблице 4 приведены основные регистры интерфейса. Названия регистров и их описания могут быть другими, однако их назначение и использование – общее для всех устройств.
Рис. 13. Регистры памяти микроконтроллера
Таблица 4. Описание регистров I 2 C
Название | Описание |
---|---|
I2C_ADDR1 | Первый байт адреса ведущего |
I2C_ADDR2 | Второй байт адреса ведущего |
I2C_BYT | Стартовый байт |
I2C_ID | Адрес ведомого |
I2C_MCTL | Регистр управления ведущим |
I2C_MRX | Данные, полученные ведущим |
I2C_SCTL | Регистр управления ведомым |
I2C_SRX | Данные, полученные ведомым |
I2C_STAT | Статус FIFO ведомого или ведущего |
Программная реализация I 2 C варьируется в зависимости от задачи. В таблице 5 показан пример основных составляющих API-драйвера I 2 C.
Таблица 5. Программная реализация I 2 C
На стороне ведущего | На стороне ведомого |
---|---|
Инициализация | |
Обработчик приема данных (Tx Handler) | Обработчик приема данных (Tx Handler) |
Обработчик передачи данных (Rx Handler) | Обработчик передачи данных (Rx Handler) |
Прерывание по событию | |
Прерывание по ошибке |
Описание протокола SMBus
SMBus как правило используется в компьютерных материнских платах и встроенных системах и имеет расширенную спецификацию для мониторинга температуры, напряжения питания, управления вентиляторами и встроенными микросхемами. Шина SMBus аналогична I 2 C и имеет две линии: линию тактовой частоты SMBCLK и линию данных SMBDAT (рисунок 14). I 2 C и SMBus совместимы, однако имеют значительные отличия:
1) Пороги логических уровней SMBus фиксированы и не пропорциональны напряжению питания устройств, что позволяет устройствам с разным питанием работать на одной и той же шине. Например, на одной шине SMBus могут быть устройства с питанием 1,8; 3,3 и 5 В.
2) Обе шины работают со скоростью до 100 кГц, но I 2 C имеет варианты на 400 кГц и 2 МГц.
3) Для повышения надежности шины SMBus регламентирует минимальную тактовую частоту и ограничивает количество тактов, которое можно задержать при передаче одного сообщения. При нарушении этого ограничения устройства перезапускают шину, сбрасывая свои выводы. Таймаут SMBus составляет 35 мс при минимальной тактовой частоте 10 кГц.
4) В SMBus есть проверка ошибок в пакетах. Байт кода ошибки добавляется в конце каждого сообщения.
5) Также есть ряд различий, включающий типы передачи, линию оповещения, линию приостановки и включение/отключение питания.
Устройства на шине SMBus должны отправлять подтверждение каждый раз в ответ на получение своего адреса независимо от своей занятости. Это гарантирует, что ведущий сможет точно определить, какие устройства активны на шине. Все посылки на шине регламентируются различными спецификациями протокола SMBus. Опционально SMBus может иметь дополнительный сигнал SMBALERT#, который используется ведомыми для уведомления ведущего о появлении новой информации или, например, для быстрого оповещения о неисправности.
Рис. 14. Подключение на шине SMBus
Адреса в протоколе SMBus имеют длину 7 бит и обычно выражаются в бинарном формате, например, 0110 110b. К этим 7 битам добавляется один бит чтения/записи. Ведущий может отправлять искомый адрес на одно или несколько устройств (в случае широковещательной передачи).
На рисунке 15 представлен формат сообщения SMBus. Начало и окончание передачи происходит по фронтам и спадам сигналов на линиях шины, поэтому они обозначены без количества битов.
Рис. 15. Сообщение SMBus
В таблице 6 перечислены отображенные также на рисунке 16 временные параметры шины, которые регламентирует спецификация SMBus.
Таблица 6. Временные параметры SMBus
Обозначение | Параметр | Единицы измерения |
---|---|---|
fSMB | Рабочая частота SMBus | кГц |
tBUF | Время между окончанием передачи и началом новой передачи | мкс |
THD-STA | Время удержания сигналов при начале или повторе передачи | мкс |
TSU-STA | Время установки сигналов при повторе передачи | мкс |
tSU(STO) | Время установки сигналов при окончании передачи | мкс |
tHD(DAT) | Время удержания данных | нс |
tSU(DAT) | Время установки данных | нс |
tTIMEOUT | Таймаут низкого состояния тактовой линии | мс |
tLOW | Полупериод низкого состояния тактовой линии | мкс |
tHIGH | Полупериод высокого состояния тактовой линии | мкс |
Рис. 16. Временная диаграмма передачи данных на шине SMBus
Описание протокола PMBus
В дополнение к SMBus существует протокол PMBus. PMBus – это открытый стандарт управления питанием, который является гибким и универсальным средством для обмена данными между устройствами в цифровом или аналоговом виде. PMBus обеспечивает полную совместимость устройств, упрощая их подключение и сокращая время разработки систем.
PMBus используется для подключения источников питания с функциями управления. В этом протоколе есть поддержка команд и описаны структуры, наиболее часто используемые в задачах управления питанием. Например, протокол PMBus предоставляет команду для установки и считывания значений перенапряжений, что является одной из важнейших задач в управлении питания. Протокол работает поверх шин SMBus и I 2 C и дополняет их функциональность. То есть, I 2 C и PMBus совместимы по электрическим параметрам и семантике команд. Однако спецификация I 2 C описывает только физический уровень, синхронизацию и управление потоком данных на шине. I 2 C не описывает формат сообщений, в отличие от SMBus, и не описывает содержание сообщений, в отличие от PMBus. Другими словами, PMBus добавляет транспортный уровень сети, регламентируя передачу битов и байтов и их значение.
Реализация PMBus
Для систем с резервированием можно использовать до трех сигналов для установки адреса источника питания. В случае остальных систем для адресации используются два сигнала, а указатель адреса начинается со значения B0h. В таблице 7 представлены возможные коды адресов в PMBus.
Таблица 7. Адресация PMBus
Используемые адреса | Основная адресация, используемая для большинства источников питания с двумя адресными выводами | Дополнительные адреса для источников питания с тремя адресными выводами | ||||||
---|---|---|---|---|---|---|---|---|
Адресация в системе: Адрес2/ Адрес1/ Адрес0 |
0/0/0 | 0/0/1 | 0/1/0 | 0/1/1 | 1/0/0 | 1/0/1 | 1/1/0 | 1/1/1 |
Адрес устройства PMBus | B0h/B1h | B2h/B3h | B4h/B5h | B6h/B7h | B8h/B9h | BAh/BBh | BCh/BDh | BEh/BFh |
Подключенные к шине источники питания должны быть совместимы со спецификацией SMBus 2.0 для высокого напряжения. Шина должна работать при напряжении питания 3,3 В.
Схему подключения к PMBus необходимо питать от отдельного выхода источника. В случае систем с резервированием питание должно подаваться от одного из нескольких параллельно подключенных источников. Внутри источников на линиях SCL или SDA могут быть подключены подтягивающие резисторы небольших номиналов. Основные подтягивающие резисторы устанавливаются внешне и подтягивают линии к напряжению 3,3 или 5 В.
Источник питания с PMBus должен поддерживать максимальную скорость SMBus 100 кбит/с и по возможности не использовать функцию задержки тактовой частоты, так как это замедляет работу шины.
Заключение
SMBus изначально разработан для облегчения разработки систем управления питанием. Этот протокол использует шину I 2 C и дополняет ее спецификациями более высокого уровня, которые позволяют заменять устройства на шине без перезагрузки всей системы. PMBus в свою очередь расширяет возможности SMBus, добавляя в протокол набор команд для управления источниками питания и предоставляя пользователю такие атрибуты устройств как напряжение, ток, температура и т.д. В общем случае, устройства поддержкой I 2 C, SMBus или PMBus могут использовать одну и ту же шину совместно без каких-либо существенных проблем.
Все три протокола широко используются и имеют следующие преимущества:
- Использование только двух проводов для подключения;
- Наличие подтверждения получения сообщений;
- Возможность подключения нескольких ведущих и нескольких ведомых на одну шину;
- Простота аппаратной реализации (проще, чем UART).
Недостатком протоколов является ограничение кадра данных 8 битами. Кроме того, эти протоколы работают при более низкой скорости передачи данных и имеют более сложный физический уровень в сравнении с интерфейсом SPI.
I 2 C, SMBus и PMBus применяются для работы с различными датчиками, EEPROM, тачскринами, для соединения микроконтроллеров и для отладки, в управлении питанием, а также в бытовой технике.
В таблице 8 представлены общие технические характеристики всех трех протоколов I 2 C, SMBus и PMBus: используемые сигналы, временные и электрические параметры.
Шина управления питанием — Power Management Bus
В Шина управления питанием (PMBus) — это вариант Системная шина управления (SMBus), предназначенный для цифрового управления Источники питания. Как и SMBus, это относительно медленный двухпроводной протокол связи на основе I²C. В отличие от любого из этих стандартов, он определяет значительное количество специфичных для предметной области команд, а не просто говорит, как взаимодействовать с помощью команд, определенных читателем.
Содержание
Обзор
Первая часть дает обзор с особым упором на SMBus, а вторая часть подробно описывает все команды, определенные для устройств PMBus. Существуют как стандартизированные команды, так и команды, специфичные для производителя. Требования соответствия для PMBus минимальны и описаны в Части I спецификации. См. Полную информацию в спецификации PMBus 1.1.
Сравнение с SMBus
На самом низком уровне PMBus следует за SMBus 1.1 с некоторыми отличиями. Эта информация представлена более подробно в Части I спецификации PMBus:
- Допускается скорость шины 400 кГц (по сравнению с пределом 100 кГц для SMBus)
- В PMBus блоки могут включать до 255 байтов (по сравнению с 32-байтовым пределом SMbus).
- Как и в SMBus 2.0, используется только семибитная адресация.
- Некоторые команды используют вызовы блочного процесса SMBus 2.0.
- Для уведомления хоста о сбоях можно использовать механизм SMBALERT # или протокол уведомления хоста SMBus 2.0.
- Устройства PMBus должны поддерживать групповой протокол, согласно которому устройства откладывают выполнение команд до тех пор, пока не получат завершающий STOP. Поскольку перед этим STOP команды могут быть отправлены множеству различных устройств, это позволяет мастеру PMBus синхронизировать свои действия.
- Определен протокол «расширенных команд», использующий второй командный байт для добавления еще 256 кодов для стандартных и специфичных для производителя команд.
Команды PMBus
Командное пространство PMBus можно рассматривать как доступное для чтения и часто записываемых атрибутов устройства, таких как измеренные уровни напряжения и тока, температуры, скорости вращения вентиляторов и т. Д. На разных устройствах будут отображаться разные атрибуты. Некоторые устройства могут отображать такие атрибуты на нескольких «страницах», как, например, одна страница, управляющая каждой шиной питания (возможно, 3,3 В, 5 В, 12 В, –12 В и программируемый источник питания, поддерживающий 1,0–1,8 В). Устройство может устанавливать пределы предупреждений и ошибок, превышение которых будет предупреждать хост и, возможно, запускать восстановление после сбоя. Разные устройства будут предлагать разные возможности.
Возможность запрашивать у устройства PMBus 1.1 о его возможностях может быть особенно полезной при создании инструментов, особенно в сочетании с возможностью хранить пользовательские данные на устройствах (например, в EEPROM ). Без такой возможности запроса доступны только подверженные ошибкам внешние данные конфигурации.
Часть II спецификации PMBus охватывает все стандартные команды PMBus. В нем также описаны модели для управления выходной мощностью и током, управления неисправностями, преобразования значений в форматы, понятные для данного устройства, и из них, а также доступа к предоставленной производителем информации, такой как данные инвентаризации (модель, серийный номер и т. Д.) И рейтинги устройства. .
Реализации
По состоянию на лето 2007 года PMBus является относительно новым, поэтому не многие продукты рекламируют его поддержку. Учитывая богатство спецификации, реализации на базе микропрограмм, работающие в микроконтроллеры вероятно, проще всего обеспечить, хотя некоторые из текущих продуктов не включают микроконтроллеры. Одним из примеров на основе прошивки является Texas Instruments. UCD9112. Другой использует около 2 Кбайт кода на Atmel AVR 8-битный микроконтроллер на Контроллер платы NGW100.
Осенью 2009 года будет доступно больше товаров. NXP PIP8000 и Maxim MAX16064 — два недавно анонсированных чипа, которые имеют графический пользовательский интерфейс, предоставляемый поставщиком (непереносимый: только для MS-Windows).
По мере развертывания систем PMBus инструменты для управления этими системами должны стать важными. Некоторые из них можно использовать просто во время производства, чтобы настроить параметры системы, используемые с реконфигурируемыми подсистемами питания. Другие будут полезны для оптимизации времени выполнения, например, с фермами серверов.
Вопросы патентования
В январе 2008 года Power-One выиграла судебный процесс о нарушении патентных прав между ними и Artesyn Technologies в отношении преобразователей, поддерживающих PMBus. Power-One утверждает, что приложениям PMBus нужна их лицензия. Потенциальные пользователи PMBus должны сами изучить проблему. Смотрите внешние ссылки.