Как начать использовать USB Type-C в своих разработках


    В современных embedded-устройствах используется огромное количество различных разъемов, таких как USB Type-B, miniUSB, microUSB и так далее. Все они отличаются форм-фактором, максимальной пропускной способностью и другими различными характеристиками. Самым верным решением в данной ситуации было бы минимизировать количество используемых разъемов и остановиться на каком-то одном, «едином» для большинства разработок. Наиболее перспективным выглядит использование разъема Type-C. В нем объединены невероятная пропускная способность с высокой мощностью питания. Такие производители, как Apple, Huawei, Sony уже внедряют разъем Type-C в свои разработки, постепенно отказываясь от использования «старых» разъемов. А чем embedded-разработчики хуже?


    В данной статье мы приведем общую информацию, необходимую для практического применения Type-C. Наиболее полезной она будет для новичков в сфере embedded, но надеемся, что каждый найдет в ней что-то интересное.


    Почему Type-C?


    Если так получилось, что вы не доверяете выбору разработчиков таких интерфейсов, как USB4, Thunderbolt 3 (TBT3), DisplayPort 2.0 (DP) (все они работают через USB Type-C), то в Интернете достаточно много статей, описывающих различные преимущества разъема Type-C, более подробно можно почитать тут и тут. Мы же хотим представить вам небольшую, но полезную «шпаргалку», содержащую основные характеристики и примеры практического применения.


    Далее будут приведены основные характеристики разъема Type-C, которые необходимо знать.


    Структура разъема


    В Type-C реализовано множество функций для различных пинов:



    Рассмотрим их назначение:


    VBUS – источник питания для устройства


    Описание: существует множество различных режимов передачи питания: от 5 В – 500 мА (2,5 Вт) до 20 В – 5 А (100 Вт). Но просто так заставить устройство работать на питании 20 В не получится, к тому же это было бы небезопасно. Для согласования напряжения между устройством и источником, значение которого превышает 5 В, используется протокол Power Delivery (PD). Без использования данного протокола максимальная мощность, которую может выдать хост-устройство, составляет 15 Вт (5 В – 3 А). Этого вполне достаточно практически для любого embedded-устройства, но, к сожалению, данное значение мощности (15 Вт) зависит от конфигурации хост-устройства и не всегда может быть достигнуто.
    Power Delivery (PD) – это стандарт, устанавливающий роли «источник/потребитель» между устройствами, а также оптимальный уровень мощности между ними. Более подробно про данный протокол можно прочитать в этой статье.


    Характеристики:


    • максимальная мощность без использования протокола PD – 15 Вт (U = 5 В, I = 3 А);
    • максимальная мощность с использованием протокола PD – 100 Вт (U = 20 В, I = 5 A).

    CC1/CC2 – Configuration Channel (CC)


    Описание: именно эти пины отвечают за определение ориентации подключения кабеля. Также один из этих пинов, в зависимости от ориентации подключения кабеля, становится источником питания (Vconn) для внутренних интегральных схем подключаемого активного кабеля. Общение между устройствами по протоколу PD происходит по второму оставшемуся пину. Для более простых устройств, в которых не требуется использовать протокол PD, подключение определяется пассивным способом: за счет резистивного делителя, образовавшегося на данной линии между устройствами.


    Характеристики:


    • напряжение питания на линии Vconn – 5 В;
    • максимальный ток на линии Vconn – 200 мА;
    • уровень сигнала на линии данных – 0–5 В;
    • частота изменения сигнала на линии данных – 400 кГц (по протоколу PD).

    SBU1/SBU2 – Sideband Use (Auxiliary Signal Pins)


    Описание: данные пины являются дополнительными для различных интерфейсов. Для таких интерфейсов, как USB2/3.2 данные пины не используются. Во время работы интерфейса USB4 по этим пинам происходит инициализация интерфейса и дополнительная настройка его работы, а также инициализация линий данных и их направления. Для интерфейса DP эти пины выполняют работу AUX-канала. В режиме аудиоадаптера один из них (в зависимости от ориентации подключения) используется в качестве аналогового сигнала микрофона, второй же используется в качестве аналоговой «земли».


    Характеристики:


    • USB4 – используется последовательный порт (Serial Port) со скоростью работы 1 Мбит/c;
    • DisplayPort – используется передача данных со скоростью до 720 Мбит/c. Заблуждением является мнение, что звук передается по этому каналу, на самом деле аудиопакеты передаются вместе с видеопакетами по основному каналу передачи (TX1± TX2± RX1± RX2±). AUX-канал необходим для обмена служебными сообщениями между устройствами, например для процесса инициализации на линии и так далее;
    • Aудиоадаптер – используется аналоговый сигнал [-0,3–3,3 В].
    • USB2/3.2 – не используется;

    D+/D- – Data (USB2.0)


    Описание: стандартные линии данных для интерфейса USB 2.0. Сигналы симметрично повторяются на двух сторонах разъема для возможности работы с любой ориентацией кабеля. Для других интерфейсов, таких как USB3.2/USB4/TBT3/DP данные пины не используются. Таким образом, USB2.0 может работать параллельно с другими интерфейсами. В режиме аудиоадаптера эти пины используются в качестве правого и левого каналов аудиосигнала.


    Характеристики:


    • USB 2.0 – используется передача данных со скоростью до 480 Мбит/c;
    • Aудиоадаптер – используется аналоговый сигнал [-3,0–3,0 В].
    • USB3.2/USB4/TBT3/DP – не используются;

    TX1± TX2± RX1± RX2± – Data (USB3.2/USB4/TBT3/DP)


    Описание: высокочастотные дифференциальные пары, необходимые для передачи данных. Для различных интерфейсов скорость передачи отличается. Для интерфейсов USB4/TBT3/DP имеется возможность настроить все линии для передачи данных в одном направлении (режим Simplex). Таким образом, скорость передачи данных увеличивается в два раза.


    Характеристики:


    • USB3.2 Gen 1 / Gen 2 – используются только две линии из четырех (TX1/RX1 или TX2/RX2) в зависимости от ориентации разъема. Максимальная скорость передачи данных на каждой линии составляет 5 Гбит/c (Gen1) и 10 Гбит/c (Gen2) ;
    • USB3.2 Gen 2 x 2 – используются все четыре дифференциальные пары (TX1/RX1 и TX2/RX2).
      Вообще, в интерфейсах USB3.X достаточно много путаницы, более подробно о них можно почитать тут.
    • USB4/TBT3/DP – используются все четыре дифференциальные пары (TX1/RX1 и TX2/RX2). Максимальная скорость передачи данных на каждой линии составляет 20 Гбит/c. В итоге общая скорость передачи составляет 40 Гбит/c (в обе стороны) и 80 Гбит/с в дуплексном и симплексном режимах соответственно.
    • USB 2.0 – не используются;

    Полезные ссылки


    Ниже приведены ссылки на официальную документацию упомянутых стандартов:



    Активные кабели



    В спецификациях определение active cable (активный кабель) отличается. Так, в спецификации для протокола PD прописано, что активным считается тот кабель, который имеет поддержку SOP (Start of packet), то есть способен отвечать на запросы, отправленные ему протоколом PD, и сообщать свои характеристики (какие интерфейсы и варианты питания он способен поддерживать).


    A cable with a USB Plug on each end at least one of which is a Cable Plug supporting SOP’, that also incorporates data bus signal conditioning circuits...

    В соответствии со спецификацией на Type-C активным кабелем является тот, который имеет внутри себя различные повторители, необходимые для улучшения передаваемого сигнала.


    Active cables are USB Full-Featured Type-C Cables that incorporate repeaters in the USB 3.2 data path. All active cables, regardless of length, are expected to comply with this specification, the USB 3.2...

    Так как на данный момент по спецификации все кабели Type-C должны иметь электронную маркировку (Emark), то есть иметь поддержку SOP, правильнее будет считать активными кабелями только те, которые имеют различные ретаймеры и редрайверы.


    ReTimer (ретаймер) и ReDriver (редрайвер) – микросхемы, установленные в линиях данных. Они обеспечивают улучшение проходящего сигнала. Ретаймеры и редрайверы могут устанавливаться на всем пути передачи сигнала: и в кабеле, и на печатных платах источника/получателя (если это необходимо).



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



    С появлением новых интерфейсов увеличивается скорость передачи данных, тем самым уменьшается и расстояние, на которое можно передать эти данные. Это видно, если обратить внимание на длину стандартных кабелей:


    • USB2.0 (480 Мбит/c) ~ до 4 м;
    • USB3.2 Gen1 (10 Гбит/c) ~ 2 м;
    • USB3.2 Gen2 (20 Гбит/c) ~ 1 м;
    • USB4/TBT3 (40 Гбит/c) ~ 0.8 м.

    И это с учетом того, что длина 0,8 м достижима только с использованием активных кабелей. Пассивные кабели (без использования различных повторителей) имеют длину только ~ 0,3 м.


    Кабель Optically Isolated Active (OIA). За счет своей внутренней структуры данный кабель способен передавать данные на расстояние более чем 50 м, тем самым увеличивая границу использования таких интерфейсов, как USB3.2/TBT3. Этот кабель электрически изолирован между двумя штекерами и должен иметь поддержку SOP с каждой из сторон. Но нужно учитывать, что кабель передает данные только дифференциальных пар RX/TX, поэтому питание и интерфейс USB2.0 не поддерживаются данным интерфейсом. Также необходимо, чтобы каждый из двух подключаемых устройств имел поддержку Vconn для питания внутренних интегральных схем кабеля. Уже в этом году ожидается разработка OIA-кабелей для интерфейса USB4.


    Также необходимо помнить, что не все кабели способны поддерживать все интерфейсы, поэтому лучшим на данный момент решением будет использовать кабель для TBT3-устройств, так как он поддерживает и максимальную передачу данных, и максимальную мощность питания (имеются в виду короткие кабели до 0,8 м).


    Обратная совместимость с разъемами предыдущего поколения. Для поддержки подключения устройств с Type-C к устройствам с разъемами предыдущего поколения существуют следующие типы кабелей:


    • кабели USB Type-C – USB3.1 Type-A / Type-B / Type micro-B;
    • кабели USB Type-C – USB2.0 Type-A / Type-B / Type mini-B / Type micro-B.

    Описание структуры и подробная информация обо всех вышеперечисленных кабелях приведена в спецификации на кабель и разъем Type-C.


    Основные отличия структуры штекера (plug) от разъема (receptacle):



    • На штекере дифференциальная пара USB2.0 (D+/D-) присутствует только на пинах A6–A7, на пинах B6–B7 – отсутствует. Это связано с тем, что дважды передавать один и тот же сигнал не требуется. В зависимости от ориентации кабеля пины A6–A7 на штекере будут соединяться с одной из двух пар пинов коннектора.
    • На штекере пины CC1/CC2 отсутствуют, но вместо них присутствуют пины CC (A5) и Vconn (B5). CC отвечает за ориентацию кабеля и передачу данных по протоколу PD. Vconn является источником питания для внутренних интегральных схем кабеля. Важно запомнить, что в отличие от всех остальных линий в кабеле пины Vconn не соединены между собой напрямую.

    От слов к практике


    Выбор разъема


    Перед тем как выбрать разъем, необходимо определиться, передачу какого интерфейса необходимо поддерживать в своей разработке. На данный момент в embedded-разработке основными являются интерфейсы USB2/USB3, поэтому далее мы будем рассматривать именно их.


    Важно понимать, что разъем USB является одной из самых часто используемых и наиболее сильно подверженных износу частей вашего устройства, поэтому необходимо, чтобы он был изготовлен качественно и выдерживал большое количество подключений.


    Большинство производителей предлагают широкий спектр различных разъемов. Рассмотрим основные параметры, на которые стоит обратить внимание.


    Важно! Если устройство не является единичным и подразумевается последующий серийный выпуск, следует обратить внимание на такой параметр, как Part Status. Если он имеет статус Active, то данный разъем является активным и в ближайшее время будет поддерживаться производителем. Если же компонент имеет иной статус, есть вероятность, что в будущем купить такой разъем еще раз не получится.


    Количество контактов


    В зависимости от поддерживаемых интерфейсов разъем может иметь меньшее количество контактов. Так, если поддержка высокочастотных интерфейсов, работающих на RX/TX-линиях (USB3.2/USB4/TBT3/DP), не требуется, то можно выбрать разъемы с 16 контактами или меньше:


    • 24 контакта – поддерживаются все интерфейсы;
    • 16/14 контактов – поддерживаются только интерфейсы, которые не используют высокоскоростные дифференциальные пары (TX1± TX2± RX1± RX2±), например USB 2.0, PD и другие. Пример: CX90M-16P от Hirose Connector.

    Способ установки разъема


    Существуют различные способы установки разъема. Все они отличаются параметрами, мы рассмотрим только основные из них.


    • Тип установки разъема на печатную плату:


      • Surface Mount / поверхностный монтаж – разъем устанавливается на поверхность печатной платы. Пример: CX90B1-24P от Hirose Connector;
      • Board Cutout / вырез в печатной плате – под разъем вырезается место на печатной плате. Пример: CX90M-16P от Hirose Connector.

      Примеры в картинках

      Surface Mount / поверхностный монтаж



      Board Cutout / вырез в печатной плате





    • Ориентация разъема относительно печатной платы:


      • Right Angle / прямой угол – стандартный тип установки разъема под прямым углом к печатной плате. Пример: CX90B1-24P от Hirose Connector;
      • Vertical/вертикальный – разъем устанавливается перпендикулярно печатной плате. Пример: CX80B1-24P от Hirose Connector;
      • Vertical Right Angle / вертикальный под прямым углом – разъем устанавливается под прямым углом, но в вертикальном положении. Пример: KUSBX-SL-CS1N14-B от Kycon.

      Примеры в картинках

      Right Angle / прямой угол



      Vertical/вертикальный



      Vertical Right Angle / вертикальный под прямым углом





    • Тип установки контактов на печатную плату:


      • Поверхностный монтаж – все контакты разъема устанавливаются посредством поверхностного монтажа. Пример: 12401544E4#2A от Amphenol;
      • Выводной монтаж – все контакты устанавливаются с помощью выводного монтажа. Таких разъемов достаточно мало, все они имеют 16/14 контактов, то есть подходят для поддержки только интерфейса USB2.0. Пример: KUSBX-SL-CS1N14-B от Kycon;
      • Поверхностно-выводной монтаж – часть контактов устанавливается посредством поверхностного монтажа, остальные – с помощью выводного монтажа. За счет выводных контактов при ручном монтаже данный тип разъема легче точно спозиционировать. Пример: 632723300011 от Wurth Elektronik.

      Примеры в картинках

      Поверхностный монтаж контактов



      Выводной монтаж контактов



      Поверхностно-выводной монтаж





    Важно! При выборе разъема следует обратить внимание на длину выводных контактов, так как некоторые производители предлагают несколько вариантов одного и того же разъема для печатных плат разной толщины.


    Тип разъема


    Многие разъемы внешне сильно отличаются друг от друга, так как предназначены для работы в различных условиях. Многие из производимых разъемов имеют различные степени защиты (Ingress Protection), IP65, IPX2 и так далее. В связи с этими требованиями внешняя конструкция разъема достаточно специфическая, поэтому использовать его в стандартных тонкостенных корпусах затруднительно. Поэтому, если нет необходимости, рекомендуем использовать стандартные разъемы без каких-либо степеней защиты.


    Примеры в картинках

    Разъем со степенью защиты IPX7



    Стандартный разъем



    Внедрение в проект


    В данной статье мы рассматриваем только UFP (Upstream Facing Port) Sink, то есть USB-устройства, которые не могут идентифицироваться при подключении как хост-устройство или источник питания. Более подробную информацию по UFP и разработке DFP (Downstream Facing Port) и Source-устройств (источник питания) можно найти в спецификациях, ссылки на которые были приведены выше.


    Рассмотрим два варианта подключения:


    • только с поддержкой интерфейса USB2.0;
    • с поддержкой интерфейсов USB2/3.2.

    Поддержка интерфейса USB2.0


    Необходимо выполнить следующее:


    • К пинам A5/B5 (CC1/CC2) подключить резисторы (Rd resistor) с подтяжкой к «земле» номиналом 5,1 кОм ± 20 %, как показано на рисунке ниже. При подключении устройства к кабелю пара резисторов Rp–Rd образует делитель напряжения. Измеряя полученное напряжение, хост устанавливает, какой из CC-пинов подключился к хосту, тем самым определяет ориентацию кабеля. В связи с тем, что используется только USB 2.0, ориентация не имеет значения, поэтому на каждый из CC-пинов подключается резистор Rd. Если резистор Rd подключить только к одному из пинов, а другой оставить «в воздухе», то устройство будет работать только с определенной ориентацией кабеля. Резисторы Ra установлены внутри кабеля и имеют номинальное значение, отличное от Rd.



    • Соединить пины A6–B6 (D+) и A7–B7 (D-). Данный шаг необходим для успешной работы устройства с любой ориентацией кабеля.


    • Также у большинства разъемов Type-C присутствуют пины, соединенные с корпусом разъема (Shield). Их также рекомендуется подключить к «земле» через схему защиты. Размещать схему защиты необходимо как можно ближе к разъему. В зависимости от цели и характеристик устройств схема защиты может отличаться. Пример схемы защиты представлен ниже под спойлером.


    • RX1/TX1, RX2/TX2, SBU1/SBU2 не используются, подключать их не требуется.



    Схема для интерфейса USB2.0

    Печатная плата:


    • Для поддержки USB 2.0 достаточно двухсторонней печатной платы.
    • Параметры линий для USB 2.0:
      • дифференциальный импеданс – 90 Ом ± 10 %;
      • максимальная разница длины внутри парных линий – 1,1 мм;
      • максимальная длина дорожки на плате – 200 мм.

    Пример трассировки разъема Type-C для интерфейса USB2.0

    Пример трассировки разъема Type-C для интерфейса USB2.0 (разъем: 2129691-1 от TE Connectivity)



    Поддержка интерфейсов USB2.0/USB3.2 Gen 1 / Gen 2


    Необходимо выполнить следующее:


    • Соединить пины A6–B6(D+) и A7–B7(D-).

    С пинами CC1/CC2 в данном примере все чуть сложнее. Если бы наше устройство поддерживало интерфейс USB 3.2 Gen 2x2, то было бы достаточно подтянуть пины СС1/CC2 к «земле» через резисторы Rd с номиналом 5,1 кОм. При любой ориентации кабеля все высокочастотные дифференциальные пары соединялись бы друг с другом.


    Так как в нашем случае используются только две высокочастотные дифференциальные пары (RX/TX) вместо четырех, возникает следующая проблема: данные могут передаваться либо по первой паре, либо по второй, в зависимости от ориентации подключения.


    • Для решения данной проблемы можно использовать связку из двух микросхем:


      • микросхемы определения ориентации, подключаемой к пинам CC. Она необходима для определения ориентации подключаемого кабеля. Пример: TUSB320 от TI и PTN5150A от NXP;
      • мультиплексора 2 в 1 для USB 3. После того как микросхема определит ориентацию подключения, она напрямую или через микроконтроллер выставляет мультиплексор в режим, при котором дифференциальные линии устройства соединяются с активными дифференциальными линиями кабеля. Пример: CBTU02043 от NXP.

    • RX1/TX1 и RX2/TX2 подключить к мультиплексору.


    • Подключить схему защиты к контактам Shield.


    • SBU1/SBU2 не используются, подключать их не требуется.



    Схема для интерфейса USB3.2 Gen2x2

    Схема для интерфейса USB3.2 Gen1/Gen2

    Печатная плата:


    • Для высокочастотных дифференциальных пар рекомендуем использовать минимум шестислойную печатную плату, при этом опорные слои необходимо полностью отводить под GND. Иначе при переходе линий между верхним и нижним слоями необходимо будет использовать для соединения опорных слоев конденсаторы (stitching capacitor) вместо простых переходных отверстий. Для уменьшения паразитных отростков (stub) рекомендуется подводить дорожки к разъему с выводными контактами с нижнего слоя (если разъем установлен на верхнем слое).
    • Параметры линий для USB3.2 Gen 1:
      • дифференциальный импеданс – 90 Ом ± 10 %;
      • максимальная разница длины внутри парных линий – 0,15 мм;
      • максимальная длина дорожки на плате – 200 мм;
      • AC coupling capacitors – 100нФ (рекомендуется корпус 0402).

    Пример трассировки разъема Type-C для интерфейсов USB2.0/3.2

    Четырехслойная печатная плата с использованием конденсаторов, соединяющих опорные слои (разъем: 2305018-2 от TE Connectivity)



    Шестислойная печатная плата (С1, С2,R1 – shield), (632723300011 от Wurth Elektronik)



    Заключение


    Данная статья была нацелена на новичков в разработке embedded-устройств, но мы старались представить информацию таким образом, чтобы каждый нашел в ней что-то полезное. Надеемся, нам удалось показать, насколько перспективно, легко и удобно использование многофункционального разъема Type-C. Он может стать универсальным элементом в растущем количестве разрабатываемых устройств. И с каждым годом количество разрабатываемых устройств с использованием Type-C будет только расти. Пишите в комментариях, какой информации вам не хватило, и мы обязательно постараемся ее добавить.



    Raccoon Security – специальная команда экспертов НТЦ «Вулкан» в области практической информационной безопасности, криптографии, схемотехники, обратной разработки и создания низкоуровневого программного обеспечения.

    НТЦ Вулкан
    Исследуем, разрабатываем, защищаем

    Comments 53

      +6
      Данная статья была нацелена на новичков в разработке embedded-устройств
      Главный вопрос зачем новичку в embedded разработке использовать USB3? Особенно учитывая, что большая часть любительского железа физически не потянет даже 480 Мб/с. Плюс проблемы разводки платы: даже для USB2 уже иногда требуется согласовывать линии.
      Иначе говоря, это все уже далеко не уровень новичка.
        +2
        Многие любительские устройства работают на интерфейсах USB2.0 FS или LS. Там скорости не такие большие, и согласование линий не так сильно влияет на работоспособность.
        Новичка не всегда стоит ассоциировать с любителем. Создание конкурентоспособной техники подразумевает использование самых современных интерфейсов. Поэтому многие стажеры и молодые инженеры-разработчики очень скоро будут иметь дело с USB3.2/USB4 интерфейсами.
      +1
      Здравствуйте,

      Никак не мог пройти мимо с вопросами:
      Для высокочастотных дифференциальных пар рекомендуем использовать минимум шестислойную печатную плату

      А почему? Скажем, какой-нибудь LGA1151 вместе с памятью и периферией спокойно кладется на 4х слоях. Что дадут 6 слоев?
      image
      На этой картинке видно что, вроде как, есть некий вырез под антипад, однако по расположению сигнальных виа и размеру самого антипада это не похоже на 90 Ом- правильно ли я понимаю, Вы не симулировали антипад в EM софте? Помимо всего прочего, с одного бока виа на землю(которое и станет т.н. return via), а с другого на питание- как же преобразование мод? Еще и странный via sharing с конденсатором- зачем?
      image
      Вы на полном серьезе предлагаете ставить такие бампы на USB.3.x? И к слову, какое расстояние выход от сигналов на внешних слоях до ближайшей опоры и какое до полигона на внешних же слоях?

        +1
        А почему? Скажем, какой-нибудь LGA1151 вместе с памятью и периферией спокойно кладется на 4х слоях. Что дадут 6 слоев?

        На 6 слоях можно выделить два слоя полностью под землю для формирования опорных слоев. С 4 слоями тоже можно, но сложнее. Многое, конечно же, зависит от специфики устройства и существующих ограничений.

        На этой картинке видно что, вроде как, есть некий вырез под антипад, однако по расположению сигнальных виа и размеру самого антипада это не похоже на 90 Ом- правильно ли я понимаю, Вы не симулировали антипад в EM софте?

        Да, вырез под антипад есть. Симуляцию мы не проводили, поэтому придерживаемся рекомендаций по трассировке USB 3.х от ведущих компаний, в том числе TI. Конструкция, представленная на рисунке, этим рекомендациям соответствует.

        Помимо всего прочего, с одного бока виа на землю(которое и станет т.н. return via), а с другого на питание- как же преобразование мод? Еще и странный via sharing с конденсатором- зачем?

        В данном случае конденсатор выполняет соединение опорных слоев питания и земли.

        Вы на полном серьезе предлагаете ставить такие бампы на USB.3.x?

        Да, тут Вы правы, попался некорректный пример. Рисунок заменили.

        И к слову, какое расстояние выход от сигналов на внешних слоях до ближайшей опоры и какое до полигона на внешних же слоях?

        0.15 / 0.4

        Спасибо за Ваш комментарий!
        0
        Спасибо за статью! Требуется ли подтяжка пинов A5/B5 (CC1/CC2) к земле через резистор, если разъём нужен только для питания?
          +1
          Да, данные резисторы все равно необходимы. Без них хост-устройство не сможет проинициализировать устройства на линии и не будет подавать питание.
          +2

          Расскажите про питание через type-c

            0
            Что конкретно Вы хотели бы услышать? Про протокол Power Delivery? На Хабре есть хорошая статья на эту тему.
              0
              мне интересно просто питание 5V получать + USB 2.0 FS.
              только чтобы симметрия работала, вот на таком разъёме

              То есть я просто хочу заменить на microusb и получить симметричность
                0
                По приведенной Вами ссылке есть информация о распиновке данного разъема. К сожалению, он имеет только 6 пинов:
                2 — Vbus;
                2 — GND;
                2 — CC пины;
                Его можно использовать только для подачи питания — необходимо оба CC пина подтянуть резисторами 5.1 кОМ на землю.

                Но мы не рекомендуем использовать такие разъемы, поскольку нет никакой гарантии в их качестве. У нас был печальный опыт использования подобной продукции.
                  0
                  а какой можно использовать и для питания и для USB 2.0?
                    +1
                    Можно использовать любой разъем, главное проверить распиновку и убедиться, что присутствуют пины DP(D+) и DM(D-).
                    Хорошим примером данного разъема является СX90M-16P от Hirose Connector.
                    В аналогии с тем, который Вы хотели использовать, подойдет вот этот, но про его качество мы ничего не можем сказать, и Вы покупаете его на свой страх и риск.
                    Как правильно его подключать смотрите в статье в разделе «Поддержка интерфейса USB2.0».
                      0
                      понятно, спасибо
            0
            Какой USB3? Много ли современных микроконтроллеров хотя бы полноценный USB2 умеют? А много ли программистов правильно осилят написать все необходимое, чтобы шина работала полноценно?
            Какой type C? А паять его кто будет?
              +1
              Много ли современных микроконтроллеров хотя бы полноценный USB2 умеют?

              С внешней физикой — многие STM32 умеют, как и MSP432 от TI, например.
              У NXP — есть куча чипов с внутренним HS PHY, вот прямо сейчас у меня в проекте подобный, из семейства LPC4300.

              А такие статьи — дико полезные, спасибо большое. Да, у МК USB3 вроде нету, зато его можно прикручивать к FPGA.
                –2
                Имеется в виду не usb1 со скоростью 1.5 Мб/с или 12 Мб/с, пусть даже с расширенными возможностями. А хотя бы о 480 Мб/с. У большинства контроллеров не хватит быстродействия хотя бы для подготовки данных.
                Статьи полезные, но явно не для начинающих.
                  +1
                  Используя DMA и прерывания можно выжать хорошие скорости. Тем не менее Type-C не только про скорость, но и про удобство использования. Даже, если у Вас устройство передает данные на ПК раз в секунду, конечному пользователю удобнее будет подключить его по Type-C нежели по micro/miniUSB.
                    –3
                    При частоте порядка 100 МГц никакие программные и аппаратные ухищрения не помогут генерировать достаточно данных хотя бы на USB2.0
                    Даже, если у Вас устройство передает данные на ПК раз в секунду, конечному пользователю удобнее будет подключить его по Type-C нежели по micro/miniUSB.
                    Это вопрос скорее разъема, чем интерфейса. И то USB-A все еще гораздо более распространен.
                  0
                  Есть серия FX3 от Cypress. Там полноценный USB3 с достаточно быстродействующим ядром.
                    0
                    По первой ссылке в гугле вылез контроллер в 120-выводном BGA (уже ясно, что не для новичков) и с частотой 200 МГц. Как эта частота согласуется с 5 Гб/с пока непонятно.
                      +1
                      Да, данный контроллер не запаять паяльником на плату, но преимущества USB3.0 он способен раскрыть практически на полную. Если интересно, вот документ , в котором производители тестируют его пропускную способность.
                        –3
                        Глубоко документ не смотрел, но судя по таблицам, максимум что смогли выжать это 454 кБ/с, то есть менее 5 Мб/с. Это скорость USB1.1
                          0

                          454000 кБ/с — это больше 3 Гбит/с

                            –2
                            но в таблице написано 454,300, а не 454300. Впрочем, в другом месте, не в таблице, действительно пишут 403.2 MB/s. Частоту ядра я там не нашел, как и соотношения его со скоростью обмена.
                              0

                              Буржуи используют десятичную точку, а запятую — как разделитель групп разрядов для удобства чтения больших чисел.

                                –2
                                Именно поэтому в тексте стоит использовать пробелы или одинарные кавычки: 454 300 или 454`300.
                                Вопрос про частоту ядра остается. Откуда контроллер берет достаточно данных для usb?
                                  0

                                  Кому стоит, Cypress Semiconductor в своём документе на американском английском? Нет, не стоит. Они пишут в согласии с типографическими правилами английского языка и там для разделения используются именно запятые.


                                  Ни в тексте данной статьи, ни даже в комментариях к ней, кроме вашего комментария, я не вижу использования запятой в качестве разделителя разрядов в тексте на русском языке. Если я пропустил и таковое всё же имеется в тексте статьи: выделить текст, Ctrl+Enter и написать сообщение автору.


                                  Вопрос про частоту ядра остается. Откуда контроллер берет достаточно данных для usb?

                                  Вам уже сказали, что частота ядра здесь вообще ни при чём. ПДП (DMA) и либо уже готовые данные в памяти, либо от внешнего устройства, опять же, с использованием DMA.


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


                                  А частота для USB получается via Phase-locked loop (PLL):


                                  Many electronic systems include processors of various sorts that operate at hundreds of megahertz. Typically, the clocks supplied to these processors come from clock generator PLLs, which multiply a lower-frequency reference clock (usually 50 or 100 MHz) up to the operating frequency of the processor. The multiplication factor can be quite large in cases where the operating frequency is multiple gigahertz and the reference crystal is just tens or hundreds of megahertz.

                                  Или, вот ещё ссылка: Phase-locked loops with frequency dividers.

                0
                Вы лучше скажите прямо — для DIY он подходит?
                Под DIY использованием я подразумеваю следующее:
                1) Его можно использовать для типовых DIY-шных MCU (STM32F, ATMEGA/XMEGA c usb-uart)*
                2) Для разводки платы не нужны какие-то сокральные знания о согласовании линий, волновом сопротивлении и т.д.
                3) Его можно припаять обыным паялником как смд компонент (хотябы 0806)
                4) Требования к технологии изготовления ПП достаточные для того, чтбы заказывать у китайцев на jlcpcb ну или на крайняк — в резоните.

                * Не нужны какие-то сверхспособности type-c. Тостаточно передачи питания и скоростей usb1/2.
                  +2
                  Почему нет? В статье же сказано, что заведены обычные линии 2.0, так что используйте на здоровье.
                  P.S. Даже 0402 паяются паяльником спокойно.
                    0
                    Наверно я плохо рассмотрел, но в примере трассировки в статье — SMD выводы от разъема находятся довольно далеко от края корпуса. Как паяльником до них добраться чтобы припаять?
                      0
                      image
                      Ну при желании можно… наверное. Или просто взять другой разъём.
                        +1
                        Скажу больше — если брать Foxconn разъем UT12113-11601-7H с двойным рядом SMD ножек, похожего футпринтом на тот, что на рисунке в статье — он и на производстве плохо запаивается.
                        Вот только что обнаружил, что он на нашей серверной материнке в производстве не запаян совсем. Шилд запаян, там trough-hole, а SMD ножки — нет. Полез в аналогичную из брэндового масс продакшен — тоже. Еще на одной серийной, другого брэнда — повезло :) там припаяли как-то.
                        Но его и вправду запаять трудно — ноги прикрыты шилдом со всех сторон, и не прогреваются ничем.
                        0

                        феном...

                      +1
                      Да, он подходит для DIY устройств.
                      Теперь по порядку на Ваши вопросы:
                      1) Нет никаких проблем использования с перечисленными MCU. В подобных решения USB-UART, при использовании mini/microUSB и тд., задействуются линии D+/D-. Те же самые линии данных присутствуют и в разъеме USB Type C.
                      2) Нет, это ведь всего лишь разъем. )) Все эти «сакральные» знания необходимы для правильной трассировки высокочастотных сигналов. Для устройств, использующих USB LS/FS USB-Uart и т.п., этот вопрос не является принципиальным.
                      3) Возможно и паяльником, но надо понимать, что разъемов Type C великое множество, и все они немного отличаются свой конструкцией. Для DIY решений, которые не используют какие-то высокочастотные сигналы (USB3.2 и т.д.), хорошим вариантом можно считать CX90M-16P от Hirose Connector. Данный вариант можно посчитать достаточно дорогостоящим, поэтому есть и более дешевая альтернатива из комментария выше. У подобных разъемов контактов не так много и они все легко доступны для пайки.
                      4) И «Резонит» и «JLCPCB» обладают технологиями, достаточными для изготовления ПП c разъемом Type C.
                      Основная проблема заключается в том, что существует огромное разнообразие видов конструкций разъема. Поэтому, главное — внимательно проверить футпринт разъема, которые Вы хотите использовать.
                        0
                        спасибо за разъяснения, буду пробовать
                        0
                        gct.co/connector/usb4105
                        gct.co/connector/usb4110
                        Вполне можно запаять паяльником. А этот вообще выводной: gct.co/connector/usb4085
                          0
                          выводной — просто супер! пошел заказывать.
                          0
                          Его можно припаять обыным паялником

                          А зачем вы ограничиваете себя? По-моему, можно один раз разориться на какую-нибудь Lukey 702 (можно купить менее, чем за 5тр новую в локальном магазине в России) или что-то подобное. Для DIY такой станции должно хватить надолго.


                          Качество и скорость вашей пайки возрастут значительно. И можно больше не бояться небольших QFN и BGA: например, я спокойно такой станцией перепаиваю eMMC (шаг между выводами 0,5 мм) на небольших платах (на больших без станции нижнего подогрева сложнее, но тоже можно научиться для DIY).

                          0

                          Не посоветуете МК, чтобы попробовать USB3? C поддержкой USB2.0 достаточно просто, хоть atmega32u4+LUFA, а вот аппаратного 3.0 с нормальными библиотеками я что-то не видел.

                            0
                            Если рассматривать именно микроконтроллеры со встроенным USB3.0, то кроме FX3 от Cypress вроде бы и нет вариантов. SDK у них неплохой, но исходники закрыты. Посмотреть, что дергают функции на уровне регистров не получится. Хотя скорее всего это и не понадобится.
                              0

                              Исходники старого SDK точно есть, они выкладывали их на своем форуме вместе с инструкцией по сборке.

                            0
                            У Type-C есть один важный недостаток — отсутствие фиксаторов. Как следствие, при частом использовании вилка очень скоро начинает весьма слабо фиксироваться в розетке и даже при слабом усилии может выпадать. МикроUSB случайно не извлечь, два его зуба-фиксатора держат вилку в розетке довольно прочно.
                            Отсюда логичный вывод — для устройства, которым будут пользоваться часто при небольшом объеме передаваемой информации микроUSB предпочтительнее. Надежнее.
                              0
                              У Type-C разъёма на моей материнке недостаток другой — он слишком тугой, тяжело вставляется флешка. Зато симметричность Type-C бывает очень кстати.
                              А вот разболтанных micro-USB в доме хватает, он слишком плоский и легко сгибается в поперечном направлении, в отличие от (надеюсь) Type-C.
                                +1
                                в отличие от (надеюсь) Type-C.

                                )) Я уже 2 кабеля погнул от ноута. Они работают, но погнуты. А они дорогие эти кабели, которые 3A пропускают.
                                Но всё равно у меня ощущение что Type-C надёжнее чем микро usb.
                                0

                                Странно, не попадались такие разъемы. Все фирменные разъемы, с которыми имел дело, держали кабель прочно. Также при постоянном переподключении не расшатывались. Возможно Вам попались не качественные разъемы. Так как один раз все же закупили китайские разъемы, так они вообще через 10 подключений переставали полностью работать.

                                  0
                                  Родственник смартфон купил с USB Type-C, так месяцев через 7-8 начало происходить именно это — при очень легком усилии зарядный кабель выпадает из разъема.
                                  Я свой предыдущий смартфон покупал в 2012 году, тот, с которым сейчас хожу — в феврале 2018. Оба с микроUSB, таких проблем нет. Отсюда и вывод. Вообще не понимаю, зачем было делать так, чтобы разъем обязательно в любом из двух положений мог работать. У современных пользователей не хватает интеллекта определить местоположение ключа на разъеме? Если б не это требование, можно было бы фиксаторы сделать…
                                    0

                                    У меня была такая фигня, правда не так быстро проявилась, в разъём что-то попало скорее всего, на стороне телефона, надо тонкой иголочкой аккуратно почистить. Возможно поможет.

                                      0
                                      Если б не это требование, можно было бы фиксаторы сделать…

                                      фиксаторы можно было и с этими требованиями сделать.

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

                                    А надежность в плане расшатывания протестирована достаточно подробно профессионалами и любителями на ютюбе.
                                    0
                                    На практике из USB3 контроллеров все равно нет ничего лучше Cypress FX3 который в теории дает 3.2 Gbps (по 32 * SE 100 Mbps), а на практике модно выжать 3 Gbps. Альтернативы — дорогие IP блоки на ПЛИС.
                                      0
                                      Вот без резисторов на CC1/CC2 можно поймать забавное: с кабелем USBA-USBC все работает, так как за неимением этих контактов в USBA питание подается постоянно, а с USBC-USBC питания нет. Причем этим страдают даже китайские платки с USBC, видимо, рассчитанные и тестированные на компы с обычными разъёмами.
                                        0

                                        Знаю что есть от Molex USB-C коннектор выводной и дешевый.
                                        Знаете кто-нибудь партнамбер?


                                        P.S. ставил USB-C на промышленную аппаратуру еще в 2016 году, когда не на всех телефонах оно еще было! Удобно что по USB-C телефон еще умеет питать аппаратуру, а в анроиде есть драйвера для ft232.

                                        Only users with full accounts can post comments. Log in, please.