Автор Тема: Как изготовить внешнюю USB звуковую карту самому?  (Прочитано 21448 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Denn

  • Global Moderator
  • *****
  • Сообщений: 14277
  • είμαι ο μουσικός και ο ραδιομηχανίκός
    • ICQ клиент - 322153053
    • Просмотр профиля
    • E-mail
Re: Как изготовить внешнюю USB звуковую карту самому?
« Ответ #20 : Февраля 28, 2017, 02:02:53 pm »
@ razorgolf

Были оф. дрова от производителя, которые заодно "убивали" и прошивку карты (много веток форумов трещали по этому поводу). При установке таких дров надо было не тупо жать "нэкст", а заметить в одном из окон галочку и снять её. Я сам когда шаманил с картой, не вляпался. Но как-то валялась она у меня без дела и решил я её продать. Нашёлся покупатель и взял её у меня под манибэк. На след. день звонит, мол, а карта-то не работает (не устанавливается). Я в шоке, "буквально вчера на ней работал"! Ну, мол, неси, бум разбирацца. Принёс, действительно не работает (дрова у меня на компе под неё уже стояли). Я сперва стал разбирать, смотреть электронику - всё ок. Потом снова нырнул в форумы, в общем по симптомам понял, что тот чудик накатил эти дрова-убийцы. Нашёл рецепт восстановления (отката на родные дрова), запустил волшебный файл восстановления, он карту увидел, проблему тоже увидел, начал чего-то делать и примерно на 3/4 прогресса всё остановилось. При этом на экране был грозный транспарант "ни в коем случе не перезагружать комп, не отсоединять карту". Прождал я честно 3 часа, ничего разумеется не изменилось. При этом комп не висел, видимо зависла прога обновления. В итоге таки перезагрузил я комп, теперь карта вообще даже не определяется при подключении: пишет неизвестное устройство (а не EMU0202 как раньше), все индикаторы на карте моргают и всё. Установщики дров карту не видят. Вот такая хрень.

П.С. заменены ОУ на более потребляющие, но не все, а только на воспроизведении, так же сделан глубокий мод питания.

Карта хорошо играла, просто я терпеть ненавижу USB-устройства и сопутствующие им проблемы и глюки, поэтому не пользовался.
« Последнее редактирование: Февраля 28, 2017, 02:04:50 pm от Denn »
Не говорите что мне делать, и я не скажу куда Вам идти.

Лучшее решение из возможных - самое простое. И наоборот.

Прежде чем судить

VAT

  • Сообщений: 1453
    • Просмотр профиля
    • E-mail
Re: Как изготовить внешнюю USB звуковую карту самому?
« Ответ #21 : Февраля 28, 2017, 04:14:09 pm »
>..терпеть ненавижу USB-устройства и сопутствующие им проблемы..
наверное следует читать вместо "USB-устройства" - "программистов микрософт и производителей карт которые не могут написать софт, но берутся"?
USB то здесь причем?

Peratron

  • Сообщений: 13579
  • GTLab - forever!
    • Просмотр профиля
    • E-mail
Re: Как изготовить внешнюю USB звуковую карту самому?
« Ответ #22 : Февраля 28, 2017, 05:29:16 pm »
Цитировать
USB то здесь причем?
USB, будучи последовательным интерфейсом, неспособен обеспечить адекватное латенси - тем паче, что физические проблемы технологии последовательной передачи данных именно в USB усугублены протоколом, принятым в этой разработке: файрвайр при сходной структуре, работает и стабильней, и быстрей.
Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...

VAT

  • Сообщений: 1453
    • Просмотр профиля
    • E-mail
Re: Как изготовить внешнюю USB звуковую карту самому?
« Ответ #23 : Февраля 28, 2017, 07:16:05 pm »
Я читал спецификацию USB1.0  в  1995 г, как она  вышла. В ее  разработке принимали участие солидные фирмы, не хухры мухры. И это никак не тот последовательный интерфейс как мы привыкли видеть - компорт, езернет и тп. Еще тогда были заложены 4 протокола сосущеществующих одновременно и друг другу не мешающих. служебный, прерывание, массив и реальное время. Фрейм 1мс. соответственно около 10кБ для USB 1. 
То что нам интересно - это реальное время. При инициализации определяются потребности и в этом ескалаторе резервируются ступеньки вверх для микрофона и ступеньки вниз для динамиков, а свободные могут быть еще как то задействованы - массив под принтер, прерывание под мышь и клавиатуру. Хотя по сути это такой опрос/рассылка по заранее оговоренной схеме. нет никаких прерываний в нашем привычном понимании.

 Добавляется задержка равная фрейму =1мс.  Буферизация по обеим сторонам есть и в случае PCI карты.
 Но в отличии от ком порта USB работает сам по себе как эскалатор - просто перекачивает данные. Предполагаю что виртуально фрейм  можно программно и поделить например пополам если это критично. Спеки USB2 и USB 3 не читал. Но.. и 2-3 лишних мс не делают особо погоды?

Файрвайр как и все что обычно связывают с Эпл - скорее всего проще на порядок чем USB (но каюсь не изучал, лет 20 не в теме). Обычно там все примитивней - кооперативная многозадачность и тп, но все свое - отсюда псевдонадежность. Плюс маркетинг.
« Последнее редактирование: Февраля 28, 2017, 07:21:40 pm от VAT »

razorgolf

  • Сообщений: 1115
  • GTLab - forever!
    • Просмотр профиля
Re: Как изготовить внешнюю USB звуковую карту самому?
« Ответ #24 : Февраля 28, 2017, 07:48:52 pm »
@ Denn

Интересно, не знал. Видимо я с внешними картами E-MU позже связался( у самого две шт 1212). Использую для тестирования последнюю бету(1.40) и никаких проблем не видел. Впрочем вопросами прошивки озадачился только сейчас, т к в ремонтируемой карте стоит самая старая прошивка, 4.03. Раньше вообще этим вопросом не задавался.

А проблема похоже связана либо с неисправностью флеша, либо какого-то из трёх чипов(проца сreative, плм xilinx или usb philips). Но кмк 0202 не стоит возни. Если только раскопать формат белого разъёма(он д б то ли rs232, то ли разновидность jtag). Но где это искать, не представляю.

@ VAT
Однако это не отменяет факта, что половина usb звуковух работают мягко говоря с проблемами, коих гораздо меньше у внутренних карт.
К тому же многое зависит от реализации USB в чипсетах. Например у Intel начиная с 8х чипсетов(а нынче уже 27х в ходу) проблемы то ли с железом, то ли с драйверами, из-за которых карты, которые нормально работали на предыдущих чипсетах, на современных или определяются через раз, или сыпят артефактами. При всей стандартизации именитыми фирмами.
Справедливости ради надо сказать, что и с 1394 не всё было гладко с совместимостью, но если он работал, то без сбоев. Но сейчас карт на нём уже практически не осталось.


VAT

  • Сообщений: 1453
    • Просмотр профиля
    • E-mail
Re: Как изготовить внешнюю USB звуковую карту самому?
« Ответ #25 : Февраля 28, 2017, 08:41:59 pm »
Я всего лишь хотел сказать, что мне обидно за USB когда хают её, а не тех кто взялся писать софт  и обосрался.
Глянул Википедию.  ФайрВайр тоже не проста - но ! Там предполагается и прямое соединение абонентов. Местами как бы круче. ноо.. за это нужно платить. В USB никто не шелохается сам по себе. Реальное время действительно реально организовать. При  наличии независимых ведущих - невозможно. Если им только график не расписать. Но факт тот что для упомянутой задачи достаточно и USB1

razorgolf

  • Сообщений: 1115
  • GTLab - forever!
    • Просмотр профиля
Re: Как изготовить внешнюю USB звуковую карту самому?
« Ответ #26 : Февраля 28, 2017, 11:59:51 pm »
Цитировать
мне обидно за USB когда хают её, а не тех кто взялся писать софт  и обосрался.
А тех, кто сделал кривую аппаратную реализацию? И стандарт, который очевидно позволяет это сделать.
Цитировать
Но факт тот что для упомянутой задачи достаточно и USB1
Не видел таких звуковух вообще. Более того, единственная реализация, у которой реально маленькие задержки(zoom uac-2), работает только с usb3, при подключении к usb2 задержки увеличиваются. Это что, заговор производителей? Что-то не верится.

Если посчитать например 96000гц х 2канала х24бит х2потока(туда и обратно) = 9216000бит/c, что уже близко к теоретической пропускной способности usb1 12мбит. А если ещё докинуть служебку и crc, то ... Не взлетит.
А ещё мне кажется, что многие usb карты в режиме asio работают не как usb audio, а в режиме прерываний(мониторил как-то). Правда 100% уверенности нет. И сделано это не просто так, а для уменьшения гарантированной задержки. Т к window не является ОС реального времени и там происходит много других процессов. И сам драйвер usb при этом начинает потреблять ресурсы.
В общем там всё не очень просто.

VAT

  • Сообщений: 1453
    • Просмотр профиля
    • E-mail
Ну да -  96кгц/24бита стерео ввод/вывод - для USB1 - это на грани ее возможности. даже наверное за гранью, так как синхронизацию еще нужно выделить из потока данных, соответственно требуется вставка служебных бит. Вроде это отъедает  %20..
С другой стороны для домашнего творчества достаточно и 48кГц ..
В режиме прерываний глуповато работать с USB - но не исключаю, что возможно.  Гарантированная задержка в одну сторону для USB1 = 1мс. Вообще - реальное время - это не максимально быстрая реакция - это конкретное время под которое резервируются все ресурсы - и 2мс за удобство - не особо высокая плата.

Настольные ОС ориентированы на максимальную производительность, а не на реальное время, вот и пытаются исправить это драйвером типа ASIO. Который скорее всего рушит всю концепцию ОС - отсюда и проблемы.  Правда этот драйвер и для PCI карт должен быть нужен.

А что не так со стандартом USB - то? Как он может не позволить производителю например сэкономить на терминальных резисторах?

Мне вот непонятно что - почему задержка уменьшается при увеличении частоты сэмплирования.

crc  для данных протокола реального времени (определенное время-негарантированная доставка) считать смысл небольшой.  Это как раз протокол bulk для этого - гарантированная доставка / неопределенное время.
« Последнее редактирование: Марта 01, 2017, 05:28:19 am от VAT »

Denn

  • Global Moderator
  • *****
  • Сообщений: 14277
  • είμαι ο μουσικός και ο ραδιομηχανίκός
    • ICQ клиент - 322153053
    • Просмотр профиля
    • E-mail
Цитировать
>..терпеть ненавижу USB-устройства и сопутствующие им проблемы..
наверное следует читать вместо "USB-устройства" - "программистов микрософт и производителей карт которые не могут написать софт, но берутся"?
USB то здесь причем?

На самом деле я имел в виду USB-звуковухи, т.к. тема про них.

Вот то, с чем мне пришлось столкнуться:

1). Как правило USB'шные ЗК используют питание от интерфейса (логично, ибо ради мобильности они и создавались), т.е. для звукового тракта используется грязное питание малого напряжения со всеми сопутствующими проблемами;

2). На попадавшихся мне сочетаниях материнок и ЗК были проблемы "выпадения звука" (шелчки, треск и т.п.), причём на этих же платформах PCI-версии ЗК в принципе не имели никаких проблем;

3). USB-устройство можно забыть подсоединить, можно нечаянно выдернуть по-горячему во время работы. Как правило эти случаи фатальны для муз. софта. Так, если я запускаю Самплитьюду при отсутствии карты (забыл включить её), то слетают все настройки аудио и потом их надо заново вспоминать и делать! Аналогично если случайно выдернулся провод из USB во время работы муз. софта. Раз пять я понастраивал и плюнул.

4). Какие-то совершенно левые глюки при подключении других USB-устройств совместно с USB-звуковухой. Например, внешний "винт". Бывает, что ЗК просто "отваливается" (программно), её приходится переподключать, бывает наоборот - зависает "винт". По отдельности всё работает без этих глюков.

5). Проблема земляных петель. Приходится шаманить с ферритовыми бусинками на проводах, отрыванием земель, заморачиваться балансным подключением... на встроенных (конкректно - PCI) ЗК таких проблем нет в принципе.

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

Лучшее решение из возможных - самое простое. И наоборот.

Прежде чем судить

VAT

  • Сообщений: 1453
    • Просмотр профиля
    • E-mail
1. да внутри ПК разве чище питание?  И там тоже нужно преобразовывать и фильтроввать. На USB1 будет ограничение по мощности 2,5Вт
5. уж где-где а в внутри ПК земля разведена отвратно -  взять крепеж матплаты к корпусу сквозь земляную шину.

Остальное - это все  корявый софт - USB тут непричем
« Последнее редактирование: Марта 01, 2017, 04:46:52 pm от VAT »

razorgolf

  • Сообщений: 1115
  • GTLab - forever!
    • Просмотр профиля
@ Denn

Отчасти соглашусь(тем более что собственные карты - внутренние, pci и pcie), но иногда бывает удобно для каких-то вещей, куда не потащишь стационар.

@ VAT
Как говорил один персонаж - "теоретически она лошадь, а практически она падает".
Теоретически Вы вроде правы, а на практике получается другое. Я не знаю, почему так, могу только предполагать, т к больше практик.
На usb2 обычно реальная(измеренная, а не то что пишет программа)минимальная задержка между аналоговым входом и аналоговым выходом практически не бывает меньше 6мс. У внутренних карт бывает меньше. Это для 44.1кгц.

Также могу сказать, что без нормального для конкретной карты asio-дравера(от производителя, а не профанация типа asio4all) в daw будет всё очень печально. Это данность.
Для целей автора темы другого способа не существует.
И кстати asio нужен не только для гарантированной работы с малым буфером, но и для обхода микшера windows, который в угоду возможности месить сигналы от разных программ с разными сэмплрейтами и битностью корёжит звук.

Почему задержка зависит от размера буфера. Чем выше частота работы буфера(частота сэмплирования), тем быстрее он отрабатывает. Хотя и не во всех картах так, в некоторых буфер увеличивается с увеличением частоты и задержка остаётся постоянной. Но мне такие не попадались, знаю о них только из обзоров.


VAT

  • Сообщений: 1453
    • Просмотр профиля
    • E-mail
> Почему задержка зависит от размера буфера. Чем выше частота работы буфера(частота сэмплирования), тем быстрее он отрабатывает. Хотя и не во всех картах так, в некоторых буфер увеличивается с увеличением частоты и задержка остаётся постоянной. Но мне такие не  попадались, знаю о них только из обзоров.

Неплохо бы еще понять - какой  буфер имеется ввиду в настройках ASIO.
Поскольку обычная рекомендация минимизировать размер этого буфера наощупь по "выпадениям"  - предположу что этот буфер где-то а ОЗУ компа, а не в карте. Зачем в карте вообще какой-то подбор размера буфера если там все предсказуемо - там же нет каких-то нередсказуемых процессов - там как раз реальное время. Небольшие неопределенности возникают изза несинхронности сэмплирования и шины USB - но это все в стандарте описывалось.
А если этот буфер в памяти компа то, честно говоря я не понимаю зачем он нужен - пользуйся буфером куда складыывает данные USB - его размером вроде и вовсе никак не управишь.
В общем хотелось бы понимать, как и что.

« Последнее редактирование: Марта 01, 2017, 07:53:16 pm от VAT »

razorgolf

  • Сообщений: 1115
  • GTLab - forever!
    • Просмотр профиля
Мне кажется, что там этих буферов до ...
Буфер usb не может иметь отношения ни к чему кроме usb. Так устроен windows, к буферу usb имеет доступ только драйвер usb. В большинстве ОС используется т н защищённый режим, когда к памяти, которую использует одна программа(драйвер) нет доступа остальным. А обмениваются они через отдельные куски памяти. Такое построение даёт возможность работать одной программе, когда вторая например упала, т е надёжность.
 
Есть ещё буфер обработки, т к она производится кусками по несколько сэмплов. Вот его мы судя по всему и выбираем в панели управления asio.
Причём его размер обычно указывается либо в сэмплах, либо в мс. Но заметил, что в среднем это значение занижено в 2 раза(на самом деле чуть больше). Тот же cubase например говорит о входной задержке и выходной задержке. И каждая из них в первом приближении равна задержке, выставляемой в панели управления asio.
А дело тут в том, что например для софтового инструмента входной задержки не будет, т к он играет по миди(там своя задержка). А для гитары, подключенной к аналоговому входу все задержки будут суммироваться(если мы хотим обрабатывать её софтом и сразу слышать результат).

А ещё есть буфер в самой карте, причём на запись и воспроизведения отдельный.
Так вот суммарная задержка скорее всего будет складываться из суммы всех этих буферов. Отсюда наверное и все эти цифры.

Нужны все эти буфера как минимум для синхронизации, т к в разных местах цепочки разная скорость(а может ещё и размер блока). К тому же блочная передача как правило быстрее, чем передача одиночного байта, а вот размер блока в разных буферах неодинаков.

Зачем в карте регулируется буфер. Как ни странно, чем меньше размер буфера, тем больше нагрузка на процессор при обработке. Поэтому если у нас проект ненагруженный(т е мало дорожек и обработок), то можно буфер уменьшить и тем самым повысить комфорт для игры. Но когда количество дорожек и обработок растёт, то есть смысл буфер увеличивать, т к в какой-то момент процессор перестанет успевать обрабатывать всё это. А при большем буфере он это делает более эффективно.

Откуда я сделал вывод, что в карте свой буфер. Во первых скорость usb не соответствует сэмплрейту. Поэтому сначала копится буфер со скоростью, определяемой частотой сэмплирования, а потом он быстренько уходит через интетерфейс(usb).
А во вторых подключал как-то внешнюю карту по spdif к внутренней для увеличения количества входов. Так вот измеренная задержка такого варианта включения была на 32(или около того, точно не помню) сэмпла больше, чем задержка с собственного аналогового входа внутренней карты. А значит в карте есть какой-то буфер, хотя в данном случае это буфер самого spdif, который нужен опять же для синхронизации. И это несмотря на то, что в spdif частота совпадает с частотой сэмплирования(в отличии от usb).

Ещё одно наблюдение. Меняя задержку в панели управления asio, по измерению видно, что меняется только часть суммарной задержки, а не пропорционально изменению цифр в панели. Что подтверждает вышеизложенное.
« Последнее редактирование: Марта 01, 2017, 09:45:02 pm от razorgolf »

Denn

  • Global Moderator
  • *****
  • Сообщений: 14277
  • είμαι ο μουσικός και ο ραδιομηχανίκός
    • ICQ клиент - 322153053
    • Просмотр профиля
    • E-mail
Цитировать
1. да внутри ПК разве чище питание?  И там тоже нужно преобразовывать и фильтроввать.

Во-первых, внутри ПК карта получает человеческую землю - непосредственное (короткое) подключение к полигонам, в нескольких точках. В случае USB-девайса ЗК получает землю по длинному проводу непойми какого качества, по этой земле в т.ч. текут токи цифровой части и выравнивания потенциалов между ПК и аудиотрактом, подключенным к ЗК.
Во-вторых, питание честное двуполярное, оно достаточной мощности и амплитуды для работы стабилизаторов. Самое грязное "+5в" для питания аналоговой части (конкретно - ОУ) ЗК не используется!
В-третьих, на встроенных картах не нужно экономить место, в т.ч. за счёт удешевления питания аналоговой части, как это делают в компактных мобильных USB-братьях.


Цитировать
5. уж где-где а в внутри ПК земля разведена отвратно -  взять крепеж матплаты к корпусу сквозь земляную шину.

Внутри ПК земля разведена грамотно, т.к. требования к её качеству для цифровой части ПК гораздо выше. А именно - самое важное - она не тонкая и не одним проводком, а отдельным слоем PCB, подключение к ней производится в нескольких точках.


Цитировать
Остальное - это все  корявый софт - USB тут непричем

Меня, как пользователя, это совершенно не волнует. Есть PCI-карты, есть некоторое кол-во разных ПК и есть опыт: PCI-карты работают без проблем (все, на любых платформах) и есть USB-карты, ни одна из которых не работает нормально/комфортно и без шаманств. А уж при чём тут сам интерфейс или нет - без разницы.
« Последнее редактирование: Марта 02, 2017, 09:06:00 am от Denn »
Не говорите что мне делать, и я не скажу куда Вам идти.

Лучшее решение из возможных - самое простое. И наоборот.

Прежде чем судить

VAT

  • Сообщений: 1453
    • Просмотр профиля
    • E-mail
razorgolf,
да вот и я к тому что с этой буферизацией хрен разберешь. Гдеб почитать для чайников.


Peratron

  • Сообщений: 13579
  • GTLab - forever!
    • Просмотр профиля
    • E-mail
Цитировать
В случае USB-девайса ЗК получает землю по длинному проводу непойми какого качества, по этой земле в т.ч. текут токи цифровой части и выравнивания потенциалов между ПК и аудиотрактом, подключенным к ЗК.
Это с какой же такой радости то?!
 :o
Какое отношение имеет аналоговая земля отдельного модуля к цифровой земле компьютера?

Цитировать
Во-вторых, питание честное двуполярное, оно достаточной мощности и амплитуды для работы стабилизаторов.
Какие проблемы получить идеальное питание от +5 В/500 мА?

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

Цитировать
Внутри ПК земля разведена грамотно
Какое отношение цифровая земля имеет к аналоговой сигнальной????????
 :o :o :o :o :o :o :o :o :o

Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...

Peratron

  • Сообщений: 13579
  • GTLab - forever!
    • Просмотр профиля
    • E-mail
Цитировать
razorgolf,
да вот и я к тому что с этой буферизацией хрен разберешь. Гдеб почитать для чайников.
 
Такая темя - явно не для чайников. По определению.
Схемотехническая мантра: титцешенкохоровицехилл. Повторять до просветления...

razorgolf

  • Сообщений: 1115
  • GTLab - forever!
    • Просмотр профиля
@ VAT
 
Цитировать
Гдеб почитать
Сам бы не отказался.
А так только фрагментарно что-то попадалось в инете плюс собственный опыт с разным оборудованием. Причём я не претендую на 100% попадание в предыдущем сообщении, просто у меня сложилась такая картина.

VAT

  • Сообщений: 1453
    • Просмотр профиля
    • E-mail
Ну.. в принципе есть же стандарт USB - можно его почитать - это сотни страниц - но описание интересующих нас частей не так велико - и все равно это и правда не для чайников.
Когда-то я не был чайником,  читал его для общего развития. Это когда реальных устройств-то не было.
Читал так же и PCI стандарт и после этого беря в руки плату PCI сразу было видно, что электронщики рекомендации не выполнили. Может и не брали в руки документ. Но как-то таки работало. То ж и с USB - тут вообще экономия на спичках, но тем не менее нарушали все подряд и американские фирмы с именем тоже .

Denn, соединять цифровую землю (фактически слой в печатной плате) с корпусом компа во множестве точек - это не моветон? и кожуха разъемов на адаптерах распаивать на сигнальную землю?
В разводке земли есть компромиссы - но есть и правила. В принципе на эту тему есть аплликейшн ноты от аналдевайсов.   
Вот опять же глядя на адаптеры PS/2 (микроканал) производства IBM проникаешься уважением к их школе.  Надо было в свое время заныкать и под стекло. А потом все пошло тяп-ляп. 
« Последнее редактирование: Марта 02, 2017, 06:04:50 pm от VAT »

Denn

  • Global Moderator
  • *****
  • Сообщений: 14277
  • είμαι ο μουσικός και ο ραδιομηχανίκός
    • ICQ клиент - 322153053
    • Просмотр профиля
    • E-mail
Цитировать
Denn, соединять цифровую землю (фактически слой в печатной плате) с корпусом компа во множестве точек - это не моветон?

Я не вижу в этом проблемы. По сути это работает как доп. утолщение земляного слоя платы - пусть будет. Расстояние от платы до стенки корпуса мизерное, "рамка с током" получается ни о чём, так что вреда точно не может быть.
Не говорите что мне делать, и я не скажу куда Вам идти.

Лучшее решение из возможных - самое простое. И наоборот.

Прежде чем судить