Если говорить о высококачественных реализациях USB-C, то на рынке существует продукт, обладающий целым рядом привлекательных сторон, основанных на этом стандарте. Его также можно привести в качестве блестящего примера правильной реализации USB-C. Речь идёт о ноутбуке Framework, в котором центральное место занимают платы расширения USB-C.
Прим. пер.: Это продолжение серии про USB-C, посвящённой всестороннему анализу этой технологии. Остальные части доступны здесь:
Буду откровенна — эту статью я набираю именно на Framework, который получила бесплатно от компании-производителя. Правда, предоставили мне его не для обзора на Hackaday. Дело в том, что я в качестве хобби занимаюсь разработкой оборудования для этого ноутбука, в частности плат, интересным образом расширяющих его функциональные возможности. В рамках программы поддержки разработчиков своего сообщества компания прислала мне ноутбук, который я бы не смогла получить для подобного хобби иным путём. Являясь членом сообщества Framework, я за время работы с этим устройством выявила как ряд положительных его особенностей, так и некоторые недочёты. Только эта статья не о том, что мне нравится или не нравится во Framework — таких и без того уже полно.
Единственное, чем я за этот ноутбук заплатила — это созданием множества интересных плат расширения, что доставило мне массу удовольствия, как и возможность общения с создателями других крутых штуковин. Я очень люблю всячески экспериментировать с ноутбуками, и причина, по которой мне хочется поведать вам именно про Framework, в том, что он олицетворяет лучший пример реализации USB-C и возможностей работы с этой технологией.
▍ На борту исключительно USB-C
Во Framework присутствует четыре порта USB-C, все из которых можно использовать для зарядки в качестве USB3, DisplayPort или Thunderbolt 3. Отчасти причина в том, что других портов, за исключением гнезда под наушники, в системе нет, и за каждым из имеющихся закреплён контроллер Thunderbolt и PD. Однако, в отличие от MacBook, с донглами здесь не поиграешься — все порты глубоко утоплены в корпус, и для всех своих нужд приходится использовать подключаемые к ним платы расширения, иначе говоря, модули. Самая простая, карта USB-C, просто выносит наружу порт, в который подключается. По сути, это расширение USB-C, но из разряда соответствующих стандарту. Внутри этой платы отсутствуют активные компоненты, и она просто пробрасывает контакты 1:1, наследуя все свойства базовых портов.
Существуют и другие карты вроде HDMI, DisplayPort, USB-A, Ethernet, а также модули расширения хранилища. Несложно догадаться, что они активируют альтернативные режимы портов USB-C, к которым подключаются. При этом и DisplayPort, и HDMI используют альтернативный режим DP – плата первого просто проводит высокоскоростные контакты с активированным альтернативным режимом, а в плате второго установлена активная микросхема преобразования DisplayPort-HDMI. USB-A действует как переходник USB-C «папа» — USB-A 3.1 «мама», Ethernet подключается по USB3, и платы расширения хранилища, похоже, тоже.
Это решает немало проблем. Если вам нужен ноутбук с очень специфичным сочетанием портов, то здесь вы наверняка сможете такое сочетание реализовать. Вам не придётся таскать с собой всяческие донглы – модули расширения компактные и очень удобные. Вы можете закинуть их горсть в сумку ноутбука и при необходимости использовать только модуль DisplayPort, подключая вместо него модули USB-C или USB-A в других случаях. Если порт вдруг выйдет из строя, вам больше не придётся заменять и чинить материнскую плату — просто установите другой модуль. Ах да, если у вас есть ещё один ноутбук с USB-C, то все платы расширения в крайнем случае можно будет использовать в нём в качестве донглов USB-C, если их торчащие корпуса не станут для вас проблемой.
▍ Платы сообщества
С самого начала разработчики Framework опубликовали файлы, чтобы другие могли создавать собственные платы расширения — шаблон KiCad с номерами деталей, образец платы с микроконтроллером STM32 и макеты корпусов для 3D-печати. Они также обязались поддерживать разработчиков сообщества, спонсируя производство прототипов — именно под эту программу я и попала. И хотя одинокий электронщик может не потянуть разработку устройства с Thunderbolt, вы всё равно получите вывод 5 В и порт USB 2.0 с возможностью реализовать USB 3.0, если решите попробовать свои силы в согласовании импеданса. Кроме того, естественно, при условии сохранения линий CC здесь мы имеем возможность зарядки через USB-C.
С тех пор форум Framework ожил. Люди начали изобретать, обсуждать, разрабатывать и дорабатывать проекты плат расширения, реализуя идеи от модема LTE до MagSafe. В итоге сообщество уже выпустило несколько модулей вроде магнитной платы зарядки USB-C, которую может собрать любой, используя 3D-печатный корпус и компоненты с AliExpress. Причём на её основе желающие реализуют уже более продвинутые модели. Кроме того, кто-то в Discord сейчас разрабатывает платы для последовательного порта, miniDisplayPort и порта VGA. Вот-вот планируется выпуск плат вроде RP2040 и двухпортового USB-C, и в будущем мы также можем увидеть некоторые неожиданные решения. В действительности проект по разработке платы Ethernet существовал в сообществе ещё задолго до появления в магазине Framework соответствующего модуля.
К сожалению, не все разрабатываемые сообществом проекты модулей расширения дошли до стадии производства. Хотя не думаю, что это проблема Framework — скорее, дело в типичных сложностях, связанных с «воплощением проекта аппаратного устройства в реальность», которые мне тоже приходилось решать, и с которыми до сих пор приходится временами повозиться. Было бы здорово, если бы в сообществе разрабатывалось больше плат расширения. Думаю, что при иных обстоятельствах эти проекты процветали бы более успешно.
▍ Основные недочёты — в периферии
Если говорить о USB-C, то не всё во Framework идеально. Например, платы расширения ввиду своего миниатюрного размера и плотной компоновки деталей имеют свойство нагреваться. При их использовании было обнаружено, что контроллеры модулей хранилища в результате перегрева могут начинать троттлить, что сказывается на скорости чтения/записи. Тем не менее каждый такой ноутбук комплектуется отвёрткой, и есть инструкция о том, как можно с её помощью добавить в модуль хранилища теплоотвод, который снизит нагрев платы и исключит троттлинг. Однако эта проблема встречается не только в модулях хранилища — выпущенная сообществом плата LTE тоже может испытывать проблемы с перегревом, причина которого всё в том же тесном расположении внутренних компонентов.
Все платы расширения, за исключением проходной платы USB-C, по сути являются устройствами постоянного подключения и потребляют энергию. Каждая из этих плат содержит подтягивающий к земле резистор на 5,1 кОм, который обнаруживается контроллером Thunderbolt, выводя его из режима ожидания и приводя к активации запрашиваемого платой альтернативного режима. При этом контроллер также переключает внутреннюю линию 5 В на порт USB-C, в результате чего плата получает питание. Я думаю, что именно два этих фактора и вызывают тот расход энергии модулями расширения, о котором сообщают некоторые люди. Основная часть этого расхода в определённый момент была компенсирована обновлениями прошивки, хотя в некоторой степени он неизбежно сохраняется.
Зарядка по USB-C тоже оказалась не лишена недочётов. Мне попадались зарядные устройства, с которыми Framework не работал. Однажды мне даже пришлось потрудиться найти другой блок питания с USB-C взамен того, который, на мой взгляд, должен был подойти. Не факт, что вина была именно в блоке питания, и BIOS я тоже не обновляла, значит, скорее всего, мой ноутбук просто требует очередной версии прошивки для лучшей совместимости.
Кроме того, в определённых партиях материнских плат FET-транзистор в цепи питания имел характеристики, отличные от заложенных в схеме, в связи с чем плохо работала зарядка при 15 В, не позволяя использовать определённые пауэрбанки и зарядные устройства. Учитывая, что родной блок питания Framework работает при 20 В, вполне понятно, что этот недочёт могли упустить. К счастью, можно заказать на замену подходящую модель транзистора и повторно активировать зарядку при 15 В во встроенном контроллере (EC) — напомню, что у EC есть опенсорсная прошивка.
▍ Открытый и ясный путь вперёд
Об этих недочётах интересно говорить, но они оказываются незначительны, когда дело доходит до повседневного использования реализованных во Framework портов USB-C. В целом выполнены они в нём превосходно, и многие другие ноутбуки даже близко не достигают предоставляемого ими уровня функциональности.
Степень открытости разработчиков в плане проектных решений и недочётов тоже несопоставима. Ни один другой производитель ноутбуков из всех, с какими мы вас знакомили, не показал бы, куда нужно добавить теплоотвод, и не предоставил бы транзистор на замену ущербному экземпляру для восполнения функциональности зарядки по USB-C. Другие компании не публикуют в таком объёме схемы и информацию о разъёмах для сообщества любителей-электронщиков.
При этом вскормленная Framework экосистема USB-C действительно впечатляет. Я с нетерпением ожидаю плодов её деятельности как для пользовательской базы Framework, так и в плане косвенного стимулирования грамотных и разнообразных технологических решений в других ноутбуках.
Telegram-канал с розыгрышами призов, новостями IT и постами о ретроиграх