![](https://habrastorage.org/webt/te/e6/ll/tee6ll8li2mhqpyznoq9ql4-qiy.png)
5 февраля этого года был утверждён новый стандарт на 10-мегабитный Ethernet. Да, вы верно прочитали: десять мегабит в секунду.
Для чего в 21-м веке нужна такая «маленькая» скорость? Для замены того зоопарка, который скрывается под ёмким названием «полевая шина» — Profibus, Modbus, CC-Link, CAN, FlexRay, HART и т.д. Их слишком много, они несовместимы между собой и относительно сложны в настройке. А хочется просто воткнуть кабель в коммутатор, и всё. Как с обычным Ethernet.
И вскоре это станет возможным! Знакомьтесь: «802.3cg-2019 — IEEE Standard for Ethernet — Amendment 5:Physical Layer Specifications and Management Parameters for 10 Mb/s Operation and Associated Power Delivery over a Single Balanced Pair of Conductors».
Чем же интересен этот новый Ethernet? Прежде всего – он работает по одной витой паре, а не по четырём. Поэтому у него меньше разъёмы и тоньше кабели. И можно использовать уже проложенную витую пару, идущую к датчикам и исполнительным механизмам.
Вы можете возразить, что Ethernet работает до 100 метров, а датчики расположены гораздо дальше. Действительно, раньше это было проблемой. Но 802.3cg работает на расстоянии до 1 км! По одной паре! Неплохо?
На самом деле, ещё лучше: по этой же паре может подаваться и электропитание. Вот с него и начнём.
IEEE 802.3bu Power over Data Lines (PoDL)
Думаю, многие из вас слышали о PoE (Power over Ethernet) и знают, что для передачи питания нужны 2 пары проводов. Ввод/вывод питания сделан в средних точках трансформаторов каждой пары. Используя одну пару такое сделать невозможно. Поэтому пришлось делать по-другому. Как именно – показано на рисунке внизу. Для примера добавлен и классический PoE.
![](https://habrastorage.org/webt/io/rw/o1/iorwo1psicmn8h6otirwferb6t8.png)
Здесь:
PSE – power sourcing equipment (источник питания)
PD – powered device (устройство на дальнем конце, потребляющее электричество)
Изначально 802.3bu имел 10 классов электропитания:
![](https://habrastorage.org/webt/pm/to/a7/pmtoa75el4zplotgmon8il5xffq.png)
Цветом выделены три условных градации напряжения источника: 12, 24 и 48В.
Обозначения:
Vpse — напряжение источника питания, В
Vpd min — минимальное напряжение на PD, В
I max — максимальный ток в линии, А
Ppd max — максимальная потребляемая мощность PD, Вт
С появлением протокола 802.3cg добавилось ещё 6 классов:
![](https://habrastorage.org/webt/w3/zw/ng/w3zwng1_qupoya2p_nc0ogt18vg.png)
Разумеется, при таком многообразии PSE и PD должны согласовывать класс электропитания перед подачей полного напряжения. Делается это с помощью SCCP ( Serial Communications Classification Protocol). Это низкоскоростной протокол (333 бит/с), основанный на 1-Wire. Он работает только тогда, когда в линию не подано основное питание (в т.ч. в спящем режиме).
На блок-схеме показано, как выполняется подача питания:
- подаётся ток 10мА и проверяется наличие на том конце стабилитрона на 4В
- производится согласование класса питания
- подаётся основное питание
- если потребление падает меньше 10мА – включается спящий режим (подача дежурного питания 3.3В)
- если потребление превышает 1мА – происходит выход из спящего режима
![](https://habrastorage.org/webt/zp/c3/yg/zpc3ygtx9p5j8xqw1svunwxvjcs.png)
Согласование класса питания можно не делать, если он заранее известен. Такой вариант называется Fast Startup Mode. Применяется, например, в автомобилях, т.к. там нет необходимости менять конфигурацию подключенного оборудования.
Инициировать переход в спящий режим может как PSE, так и PD.
Теперь перейдём к описанию передачи данных. Там тоже интересно: в стандарте определены два режима работы – дальнобойный и для небольших расстояний.
10BASE-T1L
Это вариант для большой дальности (long reach). Основные характеристики следующие:
- дальность действия – до 1км
- проводники 18AWG (0.8мм2)
- до 10 промежуточных разъёмов (и два оконечных)
- режим работы точка-точка
- полный дуплекс
- символьная скорость 7.5Мбод
- модуляция PAM-3, кодирование 4B3T
- сигнал с амплитудой 1В (1Vpp) или 2.4В
- поддержка Energy Efficient Ethernet (“quiet/refresh” EEE)
Очевидно, что этот вариант предназначен для индустриального применения, систем контроля доступа, автоматизации зданий, лифтов. Для управления расположенными на крышах чиллерами, кондиционерами, вентиляторами. Или находящимися в технических помещениях отопительными котлами и насосами. То есть, уйма всяких применений помимо промышленности. Не говоря уже про интернет вещей (IoT).
Стоит упомянуть, что 10BASE-T1 только один из стандартов Single Pair Ethernet (SPE). Есть ещё 100BASE-T1 (802.3bw) и 1000BASE-T1 (802.3bp). Правда, они разрабатывались для автомобильных применений, поэтому там дальность только 15 (UTP) или 40 метров (STP). Однако, в планах уже есть и дальнобойный 100BASE-T1L. Так что в будущем добавят автосогласование скорости.
А пока согласование не используется – заявлен «быстрый старт» интерфейса: меньше 100мс от подачи питания до начала обмена данными.
Ещё одна опция (необязательная) – увеличение амплитуды передачи с 1 до 2.4В для улучшения отношения сигнал/шум, уменьшения количества ошибок, противодействия индустриальным помехам.
Ну и, разумеется, EEE. Это способ экономить электричество за счёт отключения передатчика, если в данный момент нет данных для передачи. На диаграмме показано, как это выглядит:
![](https://habrastorage.org/webt/i6/wq/v3/i6wqv3x3lcsldyimjsextapzapg.png)
Нет данных – отсылаем сообщение “я ушла спать” и отключаемся. Изредка просыпаемся и отсылаем сообщение “я ещё здесь”. Когда появляются данные, противоположной стороне выдаётся предупреждение “я просыпаюсь” и начинается передача. То есть, постоянно работают только приёмники.
Теперь посмотрим, что придумали со вторым вариантом стандарта.
10BASE-T1S
Уже по последней букве понятно, что это протокол для коротких расстояний (short reach). Но зачем он нужен, если на коротких расстояниях и T1L работает? Читаем характеристики:
- дальность действия до 15м в режиме точка-точка
- дуплекс или полудуплекс
- проводники 24-26AWG (0.2-0.13мм2)
- символьная скорость 12.5Мбод
- DME, кодирование 4B5B
- сигнал с амплитудой 1В (1Vpp)
- до 4-х промежуточных разъёмов (и два оконечных)
- нет поддержки EEE
Вроде бы ничего особенного. Так для чего же он нужен? А вот для этого:
- дальность действия до 25м в режиме мультипоинт (до 8 узлов)
И этого:
- режим работы с предотвращением коллизий PLCA RS (PHY-Level Collision Avoidance Reconciliation Sublayer)
И это уже гораздо интереснее, не правда ли? Т.к. помогает сильно уменьшить количество проводов в управляющих шкафах, станках, роботах, автомобилях. И уже есть предложения использовать его как замену I2C в серверах, коммутаторах и прочей электронике.
![](https://habrastorage.org/webt/sl/df/o-/sldfo-d9ezphfjlo2mvzeonvmya.png)
Но у режима мультипоинт есть недостатки. Основной из них – разделяемая среда передачи данных. Конечно, коллизии разрешаются с помощью CSMA/CD. Но неизвестно, какая при этом будет задержка. А для некоторых применений это критично. Поэтому в новом стандарте дополнили мультипоинт специальным режимом PLCA RS (см. следующий раздел).
Второй недостаток – в мультипоинте не работает PoDL. То есть питание придётся подавать по отдельному кабелю или брать где-то на месте.
Впрочем, в режиме точка-точка PoDL работает и на T1S.
PLCA RS
Работает этот режим следующим образом:
- узлы распределяют между собой идентификаторы, узел с ID=0 становится координатором
- координатор выдаёт в сеть BEACON signal, означающий начало нового цикла передачи и передаёт свой пакет данных
- после передачи пакета данных очередь на передачу переходит к следующему узлу
- если в течение времени, необходимого для передачи 20 бит узел не начал передачу, очередь переходит к следующему узлу
- когда все узлы передали данные (или пропустили свою очередь), координатор начинает новый цикл
В целом это напоминает TDMA. Но с той особенностью, что узел не использует свой временной фрейм, если ему нечего передавать. И размер фрейма жёстко не задан, т.к. зависит от размера пакета данных, передаваемого узлом. И всё это работает поверх стандартных фреймов Ethernet 802.3 (PLCA RS не обязателен, поэтому должна быть совместимость).
Результат использования PLCA – внизу на графиках. Первый – задержка в зависимости от загрузки, второй – пропускная способность в зависимости от количества передающих узлов. Хорошо заметно, что задержка стала гораздо более предсказуемой. И она в худшем случае на 2 порядка меньше, чем в худшем случае CSMA/CD:
![](https://habrastorage.org/webt/ps/_n/q0/ps_nq021fdfo2kdrjih-fiuxc9e.png)
И пропускная способность канала в случае PLCA выше, т.к. не расходуется на разрешение коллизий:
![](https://habrastorage.org/webt/of/4l/jo/of4ljonbs7lgbobs8utjab2cpgo.png)
Разъёмы
Изначально выбирали из 6-ти вариантов разъёмов, предложенных разными фирмами. В результате остановились на этих двух вариантах:
![](https://habrastorage.org/webt/3u/du/wp/3uduwpww_pxike1cn0bglcv6ouc.png)
Для обычных условий эксплуатации был выбран LC разъём IEC 63171-1 компании CommScope.
![](https://habrastorage.org/webt/xd/ds/vu/xddsvu2iu6ddjomdvfhx_fyv3hq.png)
Для суровых условий эксплуатации – семейство разъёмов IEC 63171-6 (бывший 61076-3-125) компании HARTING. Эти разъёмы рассчитаны на степени защиты от IP20 до IP67.
![](https://habrastorage.org/webt/be/mn/xg/bemnxgq3go9s_w1oodrzy42ai7u.png)
Разумеется, разъёмы и кабели могут быть как UTP, так и STP.
Прочее
Можно применять обычный четырёхпарный кабель Ethernet, используя каждую пару для отдельного канала SPE. Чтобы не тянуть куда-то вдаль четыре отдельных кабеля. Или использовать однопарный кабель, а на дальнем конце поставить коммутатор однопарного Ethernet.
А можно подключить этот коммутатор прямо в локальную сеть предприятия, если в дальние дали уже протянута сеть по оптоволокну. Воткнуть там в него датчики, а показания с них смотреть здесь. Прямо по сети. Без конвертеров интерфейсов и шлюзов.
И ведь это не обязательно должны быть датчики. Могут быть видеокамеры, домофоны или «умные» лампочки. Приводы каких-нибудь клапанов или турникеты на проходных.
Так что перспективы открываются интересные. Вряд ли, конечно, SPE заменит все полевые шины. Но изрядный кусок он у них откусит. Уж в автомобилях-то точно.
PS Я не нашёл текст стандарта в открытом доступе. Приведенная выше информация собиралась по кусочкам из разных презентаций и доступных в интернете материалов. Так что в ней могут быть неточности.