EBUS
eBUS (энергетическая шина) - используемая в системах автоматизации зданий технология. Представляет собой 2-проводной цифровой последовательный интерфейс связи с шиной данных, используемый в отопительных устройствах и солнечных батареях, преимущественно немецких производителей.
Первоначально он был предложен компанией Karl Dungs и с тех пор был принят несколькими другими производителями. Интерфейс eBUS также используется энтузиастами домашней автоматизации для подключения своей домашней солнечной или отопительной системы к сетевому ПК для мониторинга или дистанционного управления.
Физический уровеньПравить
2-проводной интерфейс eBUS представляет собой асинхронный последовательный порт с активным низким напряжением, по которому пересылаются 8-битные байты со стартовыми и (одиночными) стоповыми битами (без бита четности) со скоростью передачи символов 2400 бод с допуском ±1,2%.
Он может быть реализован с помощью стандартный UART в комбинации с преобразователни напряжения. eBUS отличается от интерфейса RS-232, от которого он произошел, тем, что уровни напряжения были выбраны так, чтобы шина также могла подавать питание устройствам, подключённым к ней, которые могут использовать стабилизатор напряжения для получения внутреннего источника питания 5 В:
Уровень | Передатчик | Приёмник |
---|---|---|
HIGH = 1 | > 15V DC | > 15V DC...до 24VDC |
LOW = 0 | <= 10V DC
>= 8V DC (typisch 9V DC) |
<= 12 V DC
>= 8 V DC |
Уровень передачи данныхПравить
Подключённые к шине устройства являются могут работать в режимах master и slave.
Только master-устройство может инициировать команду, выдав пакет данных, состоящий из:
- 8-битного адреса источника (4 младших бита: класс приоритета, 4 старших бита: адрес мастера шины)
- 8-битного адреса назначения (254 одноадресных пункта назначения, 0xfe = широковещательная рассылка)
- 16-битного кода команды (8-битный основной командный байт и 8-битный вторичный командный байт)
- 8-битного индикатора длины данных: 0–16 (не считая дополнительных байтов, вставленных по правилу вставки байтов)
- 0–16 байт данных
- 8-битного байта CRC (полином:x8+x7+x4+x3+x+1)
Получатели подтверждают такую команду одним байтом подтверждения 0x00 (получено правильно) или 0xff (получено неправильно). Ведомые устройства следуют за своим байтом подтверждения ответом, состоящим из байта длины и байтов данных 0–16 плюс CRC, который принимающий мастер, в свою очередь, подтверждает байтом подтверждения. На последнем этапе обмена данными мастер завершает команду отправкой байта синхронизации SYN (0xaa). Это сигнализирует другим ведущим устройствам, что шина снова доступна для использования. Правило вставки байтов (0xa9 -> 0xa9 0x00, 0xaa -> 0xa9 0x01) применяется ко всем остальным отправленным байтам, чтобы гарантировать, что 0xaa не появится в сети как часть каких-либо передаваемых данных, кроме как в последнем байте синхронизации. Передача команды может произойти только сразу после того, как байт SYN был замечен на шине. Если в течение 35 мс на шине не появился байт SYN, питание шины передает его, чтобы гарантировать, что возможности передачи остаются (AUTO-SYN). Каждый мастер шины, обращающийся к шине сразу после SYN, должен проверить (в буфере приемника своего UART), что отправленный им байт адреса источника действительно появился на шине неповрежденным и не конфликтовал с попыткой передачи другого ведущего устройства. В последнем случае передача должна быть прервана и инициирована процедура разрешения коллизий: при следующем AUTO-SYN участники с классом приоритета ниже самого высокого, участвовавшего в последней коллизии, не должны предпринимать попытку повторной передачи (и ждать, пока следующий SYN).
Уровень приложенийПравить
Стандарт eBUS определяет ряд стандартных пакетов, используемых для управления компонентами системы отопления. Некоторые производители дополнили их своими собственными пакетами расширенных данных. Например, котлы Vaillant используют в своем интерфейсе eBUS в основном собственные пакеты данных, тем самым обеспечивая совместимость с реализациями eBUS других производителей, главным образом, на физическом уровне и уровне каналов передачи данных.
СпецификацияПравить
Документы по спецификациям eBUS в период с 2001 по 2009 год поддерживались группой по интересам eBUS под руководством профессора Лоренца в Брауншвейгском Университете прикладных наук Вольфенбюттеля.
Сейчас они доступны на сайте немецком любительском сайте eBus.
- Документы по eBUS в Информатории
Устройства, совместимые с протоколомПравить
ЛитератураПравить
Внешние ссылкиПравить
- eBus Wiki – Немецкий веб-сайт для энтузиастов eBus содержит последние версии официальных немецких и английских спецификаций eBUS и сопутствующих документов.
- eBUS Interest Group –доступна только в веб-архиве
- eBUS daemon – Написанный на C++ демон для связи с системами отопления, использующими eBUS.