[Из песочницы] Делаем свою USB звуковую карту с гальванической развязкой
Началось все как обычно, от нефиг делать от избытка свободного времени я решил сделать что-то эдакое. Тут я вспомнил, что друзья жалуются в дискорде на мой микрофон, слышны какие-то цифровые помехи, а если начать копировать файлы на компьютере то вообще. Купить нормальную звуковую карту? Это не про нас.
Кого заинтересовало прошу под кат.
Выбор микросхемы кодека
Вообще я не любитель делать электронику из чего попало, даже для себя, особенно из китайских компонентов с али, по этому первым делом идем на digikey и ищем что-нибудь. Первой мыслью было взять полноценную микросхему кодека и подключить его к STM32, а уж от него USB. В принципе это не сложно, но в какой-то момент я понял, что не хочу так заморачиваться и решил найти что-то «все в одном». Гугл настойчиво выдавал CM108 от C-Media Electronics, производитель в Тайвани. Что ж, ну ладно, пусть будет так
Кодек требует себе EEPROM, и даже предлагает конкретную, аналог от STMicroelectronics M93C46-WMN6TP быстро нашелся на том же digikey (Integrated Circuits (ICs) > Memory). На всякий случай подключил его питание через фильтр, чтобы не привел нам ничего плохого в питание кодека.
Так же кварц, и т.к. я любитель сделать все по меньше и компактней то ставлю серию ABM3 (ABM3–12.000MHZ-B2-T) 5 на 3.2 мм (не ставить же гигантский HC-49)
Аудио коннекторы
После ищем сами коннекторы для наушников и микрофона. Я лично предпочитаю CUI для аудио и простых бытовых коннекторов питания 5.5, всегда их ставлю, конечно же поиск на digikey (Connectors, Interconnects > Barrel — Audio Connectors).
В моем случае у меня уже был готов компонент в библиотеке под SJ2–3574A-SMT т.к. раньше я его уже использовал, можно было бы выбрать разноцветные (у CUI есть), но мне не хотелось (для себя же делаю, как-нибудь разберусь).
Обычно последовательно ставят конденсаторы (0.47uF или 1uF, можно 4.7uF), это может быть тантал или керамика, но лучше всего использовать пленочные. В референс схеме в даташите предлагают 470uF, что слишком уж много, выбираем 0.47uF (если нужны очень низкие басы то можно и 1uF). Пленочные конденсаторы есть в SMD корпусах, что очень удобно, я поставил ECP-U1C474MA5 в корпусе 1206.
Гальваническая развязка по питанию
А теперь самое интересное
CM108 имеет 2 режима, 100mA и 500mA, разумеется я выбрал по жирнее, чтобы с размахом, 500mA * 5V = 2.5W, немного с запасом нам нужно найти развязку где-то на 3W, выставляем параметры (в разделе Power Supplies — Board Mount > DC DC Converters) и смотрим, что по дешевле, так же не забывая отсеивать производителей которым вы не очень доверяете. Выбор пал на CC3–0505SF-E от TDK (хотя мне очень хотелось поставить от мураты!). Стоит он жирно, 11 баксов, но ничего не поделаешь.
После него я поставил фильтр, не забывая про конденсаторы 0.01uF и 0.001uF чтобы отсеять всякую ВЧ ерись т.к. она пролезает даже через гальванику. Ещё 100uF электролит, он точно лишним не будет.
Развязка интерфейса
Развязка питания это хорошо, но не помешает развязать и сам USB интерфейс. В разделе Digital Isolators (Isolators > Digital Isolators) можно найти подходящее, я выбрал ADUM4160 от Analog Devices.
Не забываем подтянуть DATA P на USB интерфейсе к 3.3V, т.к. это говорит хосту (ПК), что в порт воткнули девайс и надо бы начать с ним работать, по хорошему в микросхеме эта подтяжка должна быть внутри, но её почему-то нет.
Ну и по мелочи
Сам USB конектор конечно же от Molex, ещё можно от TE или Wurth. Или поискать и у других, но я считаю что подобные конекторы лучше выбирать у этих трех, остальные хороши, но в другом.
Так же я решил, что если столько денег ушло на чистое питание, то делать надо все хорошо до конца, и развязка цифровой земли и аналоговой не исключение. Более того, вместо обычной перемычки на плате я поставил фильтр BLM15 (при разводки платы разделение земли лучше пододвинуть по ближе к главной земле, т.е. к GND выводу нашего изолятора по питанию, там и должна расходится цифровая и аналоговая земля)
Заключение
Ну, на этом все, плату я развел в 4 слоя стандартного класса, после подготовки производства она будет стоить около 130р. Так же 4 слоя лучше в плане того, что полигоны питания, земли и цифровой земли лучше делать собственно полноценными полигонами, по хорошему вообще на каждое питание свой слой, но у меня питание и цифровая земля на одном.
От идеи до полной разводки ушло где-то полтора часа. Плата вышла размером 22 на 66 мм.
Честно говоря, пока писал статью уже расхотелось заказывать плату (ну как всегда), так что пусть будет хотя бы статья.
P.S. Частенько убиваю время вот так разводя разные проекты, от простых беспроводных зарядок до разводки процессоров и… оставляю их пылится в папке жесткого диска т.к. теряю интерес в большинстве случаев (и потому что it’s free, не надо тратить деньги на компоненты). Если вам интересны такие статьи то можете предлагать свои идеи для следующих проектов
P.P. S. Из-за того что плату не заказывал и не проверял возможны ошибки.