Comments 57
Данная статья была нацелена на новичков в разработке embedded-устройствГлавный вопрос зачем новичку в embedded разработке использовать USB3? Особенно учитывая, что большая часть любительского железа физически не потянет даже 480 Мб/с. Плюс проблемы разводки платы: даже для USB2 уже иногда требуется согласовывать линии.
Иначе говоря, это все уже далеко не уровень новичка.
Новичка не всегда стоит ассоциировать с любителем. Создание конкурентоспособной техники подразумевает использование самых современных интерфейсов. Поэтому многие стажеры и молодые инженеры-разработчики очень скоро будут иметь дело с USB3.2/USB4 интерфейсами.
Потому что спека USB 3.2 сделала все разъемы deprecated, кроме USB-C. https://en.wikipedia.org/wiki/USB#Receptacle_(socket)_identification
Никак не мог пройти мимо с вопросами:
Для высокочастотных дифференциальных пар рекомендуем использовать минимум шестислойную печатную плату
А почему? Скажем, какой-нибудь LGA1151 вместе с памятью и периферией спокойно кладется на 4х слоях. Что дадут 6 слоев?
На этой картинке видно что, вроде как, есть некий вырез под антипад, однако по расположению сигнальных виа и размеру самого антипада это не похоже на 90 Ом- правильно ли я понимаю, Вы не симулировали антипад в EM софте? Помимо всего прочего, с одного бока виа на землю(которое и станет т.н. return via), а с другого на питание- как же преобразование мод? Еще и странный via sharing с конденсатором- зачем?
Вы на полном серьезе предлагаете ставить такие бампы на USB.3.x? И к слову, какое расстояние выход от сигналов на внешних слоях до ближайшей опоры и какое до полигона на внешних же слоях?
А почему? Скажем, какой-нибудь LGA1151 вместе с памятью и периферией спокойно кладется на 4х слоях. Что дадут 6 слоев?
На 6 слоях можно выделить два слоя полностью под землю для формирования опорных слоев. С 4 слоями тоже можно, но сложнее. Многое, конечно же, зависит от специфики устройства и существующих ограничений.
На этой картинке видно что, вроде как, есть некий вырез под антипад, однако по расположению сигнальных виа и размеру самого антипада это не похоже на 90 Ом- правильно ли я понимаю, Вы не симулировали антипад в EM софте?
Да, вырез под антипад есть. Симуляцию мы не проводили, поэтому придерживаемся рекомендаций по трассировке USB 3.х от ведущих компаний, в том числе TI. Конструкция, представленная на рисунке, этим рекомендациям соответствует.
Помимо всего прочего, с одного бока виа на землю(которое и станет т.н. return via), а с другого на питание- как же преобразование мод? Еще и странный via sharing с конденсатором- зачем?
В данном случае конденсатор выполняет соединение опорных слоев питания и земли.
Вы на полном серьезе предлагаете ставить такие бампы на USB.3.x?
Да, тут Вы правы, попался некорректный пример. Рисунок заменили.
И к слову, какое расстояние выход от сигналов на внешних слоях до ближайшей опоры и какое до полигона на внешних же слоях?
0.15 / 0.4
Спасибо за Ваш комментарий!
Расскажите про питание через type-c
2 — Vbus;
2 — GND;
2 — CC пины;
Его можно использовать только для подачи питания — необходимо оба CC пина подтянуть резисторами 5.1 кОМ на землю.
Но мы не рекомендуем использовать такие разъемы, поскольку нет никакой гарантии в их качестве. У нас был печальный опыт использования подобной продукции.
Хорошим примером данного разъема является СX90M-16P от Hirose Connector.
В аналогии с тем, который Вы хотели использовать, подойдет вот этот, но про его качество мы ничего не можем сказать, и Вы покупаете его на свой страх и риск.
Как правильно его подключать смотрите в статье в разделе «Поддержка интерфейса USB2.0».
Какой type C? А паять его кто будет?
Много ли современных микроконтроллеров хотя бы полноценный USB2 умеют?
С внешней физикой — многие STM32 умеют, как и MSP432 от TI, например.
У NXP — есть куча чипов с внутренним HS PHY, вот прямо сейчас у меня в проекте подобный, из семейства LPC4300.
А такие статьи — дико полезные, спасибо большое. Да, у МК USB3 вроде нету, зато его можно прикручивать к FPGA.
Статьи полезные, но явно не для начинающих.
Даже, если у Вас устройство передает данные на ПК раз в секунду, конечному пользователю удобнее будет подключить его по Type-C нежели по micro/miniUSB.Это вопрос скорее разъема, чем интерфейса. И то USB-A все еще гораздо более распространен.
454000 кБ/с — это больше 3 Гбит/с
Буржуи используют десятичную точку, а запятую — как разделитель групп разрядов для удобства чтения больших чисел.
Вопрос про частоту ядра остается. Откуда контроллер берет достаточно данных для usb?
Кому стоит, 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.
Под DIY использованием я подразумеваю следующее:
1) Его можно использовать для типовых DIY-шных MCU (STM32F, ATMEGA/XMEGA c usb-uart)*
2) Для разводки платы не нужны какие-то сокральные знания о согласовании линий, волновом сопротивлении и т.д.
3) Его можно припаять обыным паялником как смд компонент (хотябы 0806)
4) Требования к технологии изготовления ПП достаточные для того, чтбы заказывать у китайцев на jlcpcb ну или на крайняк — в резоните.
* Не нужны какие-то сверхспособности type-c. Тостаточно передачи питания и скоростей usb1/2.
P.S. Даже 0402 паяются паяльником спокойно.
Ну при желании можно… наверное. Или просто взять другой разъём.
Вот только что обнаружил, что он на нашей серверной материнке в производстве не запаян совсем. Шилд запаян, там trough-hole, а SMD ножки — нет. Полез в аналогичную из брэндового масс продакшен — тоже. Еще на одной серийной, другого брэнда — повезло :) там припаяли как-то.
Но его и вправду запаять трудно — ноги прикрыты шилдом со всех сторон, и не прогреваются ничем.
феном...
Теперь по порядку на Ваши вопросы:
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.
Основная проблема заключается в том, что существует огромное разнообразие видов конструкций разъема. Поэтому, главное — внимательно проверить футпринт разъема, которые Вы хотите использовать.
gct.co/connector/usb4110
Вполне можно запаять паяльником. А этот вообще выводной: gct.co/connector/usb4085
Его можно припаять обыным паялником
А зачем вы ограничиваете себя? По-моему, можно один раз разориться на какую-нибудь Lukey 702 (можно купить менее, чем за 5тр новую в локальном магазине в России) или что-то подобное. Для DIY такой станции должно хватить надолго.
Качество и скорость вашей пайки возрастут значительно. И можно больше не бояться небольших QFN и BGA: например, я спокойно такой станцией перепаиваю eMMC (шаг между выводами 0,5 мм) на небольших платах (на больших без станции нижнего подогрева сложнее, но тоже можно научиться для DIY).
Не посоветуете МК, чтобы попробовать USB3? C поддержкой USB2.0 достаточно просто, хоть atmega32u4+LUFA, а вот аппаратного 3.0 с нормальными библиотеками я что-то не видел.
Отсюда логичный вывод — для устройства, которым будут пользоваться часто при небольшом объеме передаваемой информации микроUSB предпочтительнее. Надежнее.
А вот разболтанных micro-USB в доме хватает, он слишком плоский и легко сгибается в поперечном направлении, в отличие от (надеюсь) Type-C.
Странно, не попадались такие разъемы. Все фирменные разъемы, с которыми имел дело, держали кабель прочно. Также при постоянном переподключении не расшатывались. Возможно Вам попались не качественные разъемы. Так как один раз все же закупили китайские разъемы, так они вообще через 10 подключений переставали полностью работать.
Я свой предыдущий смартфон покупал в 2012 году, тот, с которым сейчас хожу — в феврале 2018. Оба с микроUSB, таких проблем нет. Отсюда и вывод. Вообще не понимаю, зачем было делать так, чтобы разъем обязательно в любом из двух положений мог работать. У современных пользователей не хватает интеллекта определить местоположение ключа на разъеме? Если б не это требование, можно было бы фиксаторы сделать…
А надежность в плане расшатывания протестирована достаточно подробно профессионалами и любителями на ютюбе.
Знаю что есть от Molex USB-C коннектор выводной и дешевый.
Знаете кто-нибудь партнамбер?
P.S. ставил USB-C на промышленную аппаратуру еще в 2016 году, когда не на всех телефонах оно еще было! Удобно что по USB-C телефон еще умеет питать аппаратуру, а в анроиде есть драйвера для ft232.
2) Если есть место, то по надёжности нет ничего лучше большого разъема USB-B без всяких микро.
Как начать использовать USB Type-C в своих разработках