
Приветствую, Хабр!
Так много уже было сказано о стандарте 10BASE-T1L, но я не нашел ни одного решения (я именно про схемотехнику, которую можно применить в своем устройстве). И вот, как по заказу, потребовалась реализация передачи данных на длинные расстояния. Как альтернативы рассматривались, конечно, DSL и RS-485, но так как гнать нужно звук, я решил попробовать 10BASE-T1L.
Итак, для начала, что же такое 10BASE-T1L? Это стандарт физического уровня Ethernet (IEEE 802.3cg-2019) со скоростью передачи данных всего 10 Мбит. Но длина линии связи может достигать одного километра (по некоторым источникам, до двух километров), и все это по одной витой паре проводов.
Я нашел только две микросхемы приемопередатчиков T1L: это DP83TD510ERHBR (от Texas Instruments) и ADIN1100CCPZ (от Analog Devices). Остановиться решил на втором варианте, так как уже встречался с физиками Ethernet от аналога и показали они себя неплохо, а также они доступны к заказу, что на данный момент очень актуально.

По схеме выше видно (слева), что на вход микросхемы от хоста нам нужен MAC-уровень MII/RMII. Соответственно, в своем проекте я могу подключить микросхему напрямую к RMII процессора/контроллера без каких-либо преобразований. Даже скажу больше — можно сделать отдельные модули, устанавливая которые можно получать на выходе устройства 10BASE-T1L либо стандартный Ethernet 10/100/1000.
Удалось найти описание некого кита «DEMO-ADIN1100D2Z», в котором была структурная схема, представленная ниже. На ней видно, что отладка реализована на двух микросхемах физики, соединенных по RGMII.

Для тестирования и отладки микросхемы будет довольно удобно использовать двойное преобразование 10BASE-T <-> RMII <-> 10BASE-T1L (и обратно). Получается, можно разработать устройство в виде отдельного блока и попробовать подключения с разными кабелями и между различными устройствами. Вторую физику можно выбрать любую, но пара ADIN1100 + ADIN1200 стоят в розницу около 1 000 рублей (на данный момент), что вполне приемлемо.
Так как мне не нужно никакого программного конфигурирования микросхем, я смело могу выкинуть из данной схемы микроконтроллер, USB/UART и т. д. Передача питания по линии данных (PoDL) мне тоже не нужна, хотя микросхема это позволяет.
Обеим физикам необходимо всего одно внешнее питание 3,3В. Чтобы диапазон входного напряжения был широким (до 60В), я использовал DC/DC TPS54560DDAR (от Texas Instruments), тем более что появился его аналог (pin-to-pin) RT6365GSP (от Richtek). Таким образом, у меня получилось три микросхемы на плате.
Находим в даташитах, как необходимо реализовать клоки микросхем.

Отлично. Можно поставить один генератор на 50 МГц. Ниже представлена схема устройства. Самые глазастые могут заметить, что схема несколько отличается от фотографии платы. Я удалил некоторые конфигурационные резисторы (которые точно не пригодятся в дальнейшем) и тестовые точки, так как все отладил на первой итерации платы.

Что примечательно, ADIN1100 очень чувствительна к подтяжкам. Решил немного оптимизировать схему по номиналам, а нет. Например, для сигнала сброса микросхемы не подойдет резистор 1 кОм, а для выбора режимов работы не подойдут 10 кОм. Потратил на эту проблему два дня.
Для удобства тестирования, а может и для дальнейшего применения, решил развести плату в розетке Ethernet. Для одного из прошлых проектов было куплено пара сотен розеток, половина осталась.

Для тестирования использовал несколько катушек кабеля cat.5e, соединенных последовательно (одна пара). Общая длина получилась 590 метров. Длина кабеля от 56 метров до 590 никак не влияет на скорость соединения. На прием/передачу у меня получилось в среднем 7-9 Мбит. Пока не понял, почему не дотягивает до 10, хотя в моменте бывает и 12.

Игровой сервер с криперами и порталом в Незер. Добывайте ресурсы, стройте объекты, исследуйте мир Selectel в Minecraft и получайте призы.
Первая итерация платы была сделана на четырех слоях, но, если убрать всю ненужную конфигурацию, вполне реально развести и на двух. Пока прикинул новую плату (по схеме выше), получается примерно так. Монтаж односторонний.

Неожиданно при скорости интернета 20 Мбит, 8,5 на ПК кажутся вполне себе нормальными для серфинга в интернете, но задача, конечно, не в том, чтобы увеличить расстояние от роутера до компьютера.

Также решил попробовать на разных кабелях. По замерам витая пара ведет себя лучше, чем обычный провод, что, в принципе, логично.

Светодиоды на Ethernet-разъеме отображают линк и данные. Около разъема питания, соответственно, наличие питания и линк по T1L.
Подводя итоги: вполне реально реализовать длинную линию Ethernet, хоть и на низкой скорости. Достаточно пары таких коммутаторов и длинного кабеля. Надеюсь, схема устройства кому-то пригодится в своих проектах.
Спасибо за внимание и успехов!