Протокол Умного Дома X10

«Умный дом» — Протокол X10 — основы, часть 5.1

В 2025 году отмечает свой 50-летний юбилей первый в истории протокол Умного дома — X10. Протокол X10 был разработан в 1975 году компанией Pico Electronics из Гленротса (Шотландия), чтобы обеспечить дистанционное управление домашними устройствами и приборами. Это была первая технология домашней автоматизации общего назначения, которая до сих пор остаётся сравнительно доступной.

Популярность данной технологии обеспечила передача управляющих сигналов через стандартную бытовую электропроводку с переменным током 230 В 50 Гц (Европа) и 120 В 60 Гц (США). Масштабировать «Умный дом» с данной технологией довольно просто, так как нет необходимости прокладывать дополнительные провода. Базовые принципы функционирования устройств умного дома, которыми мы пользуемся и сегодня, были заложены именно в X10.

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

Принцип работы X10.

Управление исполнительными устройствами, как мы уже писали ранее, осуществляется через бытовую электрическую сеть переменного тока. Посредством серии коротких, длиной в 1мс, кодированных импульсов частотой 120 кГц устройствам передаются команды в бинарном формате. Протокол X10 подразумевает широковещательную передачу управляющих сигналов — кадров, и чтобы устройства понимали кому предназначается команда, введена система адресации, состоящая из двух символов — одной латинской буквы и одной цифры. Всего доступно 16 «кодов дома» (A-P) и 16 «кодов устройств» (1-16), что в результате дает 256 уникальных комбинаций. Для присвоения адреса на каждом устройстве инфраструктуры X10 имеются специальные переключатели. При необходимости, вы можете устанавливать нескольким устройствам один и тот же адрес, тогда управление ими будет происходить одновременно.

Модуль управления освещением LM12, на передней панели расположены переключатели настройки индивидуального адреса X10
Модуль управления освещением LM12, на передней панели расположены переключатели настройки индивидуального адреса X10
Коды домов и Коды устройств в X10
Коды домов и Коды устройств в X10

Структура каждой команды (кадра) представляет из себя последовательный набор двоичных данных.

Структура (команд) кадров протокола X10
Структура (команд) кадров протокола X10

Передача данных X10 синхронизируется с точкой пересечения нуля амплитуды переменного тока.

Синхронизация передачи кадров X10 с амплитудой электрического тока бытовой электросети
Синхронизация передачи кадров X10 с амплитудой электрического тока бытовой электросети

Для передачи команды x10 нужно сначала отправить кадр с кодом устройства, которому предназначена команда, а за ним – кадр с самой командой. Исключение составляют групповые команды, например «All Units Off» – они отправляются всем устройствам, поэтому код устройства перед ними передавать не нужно. При передаче последовательности адресов и/или команд между каждой парой кадров должен быть промежуток в три цикла переменного напряжения – то есть последовательность 0. Каждый кадр передается два раза подряд – для большей надежности. Каждый информационный бит кадра, за исключением битов стартового кода, сопровождается комплементарным (дополняющим) битом – после 1 идет комплементарный 0, после 0 – единица.Таким образом, для передачи одного кадра необходимо 11 циклов переменного напряжения.

Информационные и комплементарные биты X10
Информационные и комплементарные биты X10
Передача последовательности адреса о команды X10
Передача последовательности адреса о команды X10

Пример пакета протокола X10, который включит модуль-A1
1110 (Запуск), 01101001 (Дом A), 0110100101 (Устройство 1)
1110 (Запуск), 01101001 (Дом A), 0110100101 (Устройство 1)
000000 (Тишина)
1110 (Запуск), 01101001 (Дом A), 0101100110 (Команда Вкл.)
1110 (Запуск), 01101001 (Дом A), 0101100110 (Команда Вкл.)
000000 (Тишина)

Со временем, количество производителей элементов системы заметно возросло, ассортимент устройств, работающих в экосистеме X10 существенно увеличился. Появились более «умные» устройства с «обратной связью» и гибким управлением яркостью. Они не только умели «слушать» сеть и выполнять команды, но и по запросу направлять данные о своем состоянии (Вкл. /Выкл.), для таких устройств потребовалось дополнить базовый список команд. Новые команды позволяли запрашивать текущее «состояние» подключенных актуаторов и менять яркость осветительных приборов на конкретный заданный уровень.

Extended_commands_X10

Структура команд с расширенными данными несколько отличалась от базовой, описанной выше.

У X10 имеется особенность при работе в трехфазной сети. Сигнал изначально передается по 1 фазе, и чтобы корректно транслировать его на остальные 2 фазы, используют твердотельные конденсаторы или специальные устройства — репитеры. При этом 1-миллисекундные пакеты должны одинаково передаваться три раза, чтобы совпасть с точкой пересечения нуля всех трех фаз в трехфазной системе электроснабжения. На рисунке ниже показано временное соотношение этих пакетов относительно пересечения нуля.

Передача пакетов X10 в условиях трехфазной сети.
Передача пакетов X10 в условиях трехфазной сети.
Передача сигнала X10 в трехфазной электросети с помощью конденсатора.
Передача сигнала X10 в трехфазной электросети с помощью конденсатора.

На изображении выше, показана схема передачи управляющего сигнала по протоколу X10 в бытовой электросети с помощью твердотельных (важно, не электролитических!) конденсаторов. Это самый простой/дешевый метод, но и самый ненадежный. Для создания емкостного межфазного моста требуется конденсатор емкостью 0,1 микрофарада рассчитанный на рабочее напряжение не менее 600 вольт переменного тока. Работает это следующим образом, конденсатор почти без потерь пропускает токи на высокой частоте (120кГц), при этом создает высокое сопротивление токам на частоте 60Гц, что не дает произойти короткому замыканию между фазами. Проверить это несложно с помощью формулы Xc = 1/(2πƒC), где Xc — ёмкостное реактивное сопротивление, ƒ — частота сигнала в герцах (Гц), C — ёмкость конденсатора в фарадах (Ф). При частоте 120кГц сопротивление конденсатора будет составлять 13.26 Ом, а при частоте 60Гц уже 26.53 кОм (в 2000 раз больше!). Главным минусом этого метода является риск замыкания между обкладками конденсатора, что повышает многократно риск возгорания. Дополнительно стоит учитывать, что помехи от устройств работающих на разных фазах, будут также проходить через конденсатор.

Гораздо надежнее и эффективнее использовать специализированные межфазовые ретрансляторы, например, CAT6272, X10 XPCP, Leviton 6299, XTBR и XTB-IIR

Ретранслятор/усилитель сигнала инфраструктуры X10
Ретранслятор/усилитель сигнала инфраструктуры X10

РАСШИРЕННЫЙ ФОРМАТ ПРОТОКОЛА X10 (Extended Protocol X10) и ДОПОЛНЕНИЯ

В 1993 году выходит официальное описание расширенного протокола X10 ExtendedStandard and Extended X10 Code Protocol. Несмотря на то, что в стандартном протоколе X10 уже имелись «расширенные команды», в новой версии X10 изменился принцип их применения, поменялась структура команд.

В 1996 году американская компания Advance Control Technologies Inc. регистрирует патент US-5491463 на модификацию протокола X10 Extended под названием A10. Протокол А10 имел полную совместимость с X10, а его архитектура позволяет существенно расширить адресное пространство (с 256 до 4096 устройств), снизить вероятность сбоев, конфликтов и потери целостности данных, а также реализовать ряд других важных технологических функций.

Micro-Dim/Micro-Bright — команды регулирования яркости с уменьшенным шагом, используемые в ряде модулей. В качестве кодов этих команд используются либо коды команд Dim/Brihgt, но передаваемые не непрерывно, а с интервалом в три периода (в модулях LM465, LM14A и др.), либо коды команд Hail Request/Hail Acknowledge (в модулях фирмы PCS). Дополнительную информацию см. здесь: Dim/Bright vs. Micro-Dim/Micro-Bright Commands.

RCS bi-directional X10 Protocol — двунаправленный модифицированный протокол X10 для термостатов фирмы Residental Control Systems Inc. (см. Model TXB16 X10 Powerline Communicating Thermostat Installation and Oparation Manual). Термостатам этой фирмы для задания и мониторинга режимов работы и для обмена данными с внешними датчиками требуется большое число команд и констант, поэтому код адреса устройства пакета X10 используется в качестве префикса команд On/Off, формируя таким образом 32 новые команды, а также в качестве префикса команд Pre-Set Dim 1/2 (вместо кода адреса здания, как это предусмотрено в стандартном X10) с использованием их по новому назначению. Также по новому назначению используются и команды All Lights On/Off. Данный набор внешних команд используется для формирования внутренних команд с помощью таблиц декодирования. Кроме того, предусмотрен развитый двунаправленный обмен, в т.ч. подтверждение приема и исполнения команды, эхо-ответ и запрос-ответ по различным статусным параметрам.

Протокол X10-IR для ИК-канала.

Для ИК-пультов в сетях X10 используется протокол X10-IR. Официальные спецификации, в т.ч. в документации на модули и пульты ДУ на него отсутствуют. На момент написания данного обзора единственным доступным в Сети документом, описывающим формат пакетов X10 IR, оказалась краткая справка на сайте известного специалиста по X10 Дэйва Хьюстона (Dave Houston) X10 IR Protocol. Согласно этому документу в качестве несущей используется ИК-сигнал, модулированный частотой 40 кгц. Формат пакета предусматривает наличие стартового (START) и стопового (STOP) импульсов, кодирование битов длительностью импульса и их дублирование инверсными значениями. Длительность стартового импульса и импульса логической единицы — 4 мс, логического нуля — 1,2 мс, стопового импульса — 12 мс. Импульсы следуют с интервалом 8 мс относительно их переднего фронта.

В базовой версии, реализованной в панели IR543, предусмотрено использование кода адреса устройства и кода команды в полном соответствии с системой кодирования проводного X10, однако перечень команд ограничен командами On/Off, All Lights On/Off, Dim/Bright. Получив от пульта ДУ пакеты адреса и команды, IR543 преобразует их в проводной формат и отправляет в электросеть, при этом адрес здания формируется в соответствии с установленным на панели. В панелях IR543AH и IR7243W реализован расширенный вариант протокола, который дополнительно к пакетам адреса устройства и команды позволяет транслировать в сеть пакет адреса здания, задаваемого с пульта ДУ, команды Pre-Set Dim 1/2, а также пакеты команд расширенного формата.

Протокол X10-RF для радиоканала.

Протокол X10-RF используется для беспроводных датчиков, а также для стационарных и ручных пультов ДУ. Также, как и в случае с X10-IR, официальные документы по данной версии протокола не были обнаружены, но на сайте все того же Дэйва Хьюстона нашелся краткий документ X10 RF Protocol, описывающий, хотя и весьма поверхностно, формат пакетов X10-RF. Кроме того, на сайте, посвященном модулю CM19A, нашелся документ X10 Radio Frequency (RF) Transmission Theory, а на персональном сайте инженера NASA Эдварда Чеунга — документ Data format for X-10 wireless units. Наиболее полный и адекватный документ X10 RF Receiver был найден на непрофильном для X10 сайте printcapture.com. В соответствии с данными источниками за основу для X10-RF взят протокол фирмы NEC для ИК-пультов ПДУ, реализуемый микросхемой NEC µPD5120, которая была использована для первого X10-RF пульта KC674.

Использованные материалы:

Платформа X10: общий обзор (Janto.Ru 2015 год)

ЭЛЕКТРОНИКА: Наука, Технология, Бизнес 7/2007 (Статья ТЕХНОЛОГИЯ X10 — Управление умным домом, автор Н.Елисеев, к.т.н.)

Автор: Роман Городников
Категория: Разное