Jump to content

    
Sign in to follow this  
MAXvaLL

Проектирование USB аудиокарты

Recommended Posts

Бюджет проекта 5000р.

Товарищу ещё на Казусе каждый второй внятно объяснил что ни денег ни имеющихся скудных знаний ни разумного времени ему с товарищем не хватит на решение поставленной задачи.

Share this post


Link to post
Share on other sites
Извините, чего пропускная способность?
Канала. HS USB.

 

...Во первых, у АРМа (2368) USB2.0 FULL speed (а не HIGH) что дает нам на шине 12 Мб "грязными", реальных мегаБАЙТА 1.5-1.8 если спользовать фичи типа ДМА и мультиплекстрованны буферов.
А кто говорит о фулл-спиде?

Автор темы уже в первом посте недвусмысленно дал понять, что ему нужен хай-спид.

Кроме того, ARM я настоятельно не рекомендую использовать для таких применений.

"Реальных мегаБАЙТА 1,5-1,8" при фулл-спиде не получится. Потому, что получится в лучшем случае 1 мегаБАЙТ. :)

 

А 400Мб это только в страшном сне приснится (или имеется ввиду USB3?).
Простите, а в чём Вы считаете? Я - в битах в секунду, что совершенно понятно из подсчёта. Вы - вроде тоже, когда писали о фулл-спиде... Не понимаю тогда, что Вас смутило?

 

ЗЫ. А-а, кажется, понял. Вы, видимо, перепутали теоретическую скорость фулл-спид УСБ в мегабитах и мегабайтах. :)

 

...На специально заточенных виндах, только при определенных контроллерах USB2 high speed на материнках народ выжимал из Cypress 45МБАЙТ в одну сторону, а обычно получалось 28-35 МБ.
Ну, вот и посчитайте. Этого за глаза хватит. :)

 

Бюджет проекта 5000р.

Товарищу ещё на Казусе каждый второй внятно объяснил что ни денег ни имеющихся скудных знаний ни разумного времени ему с товарищем не хватит на решение поставленной задачи.

Здесь, вроде, шла речь о (себе)стоимости готового изделия, без учёта затрат на разработку. Естественно, они будут более, чем на два порядка выше.

Share this post


Link to post
Share on other sites
Здесь, вроде, шла речь о (себе)стоимости готового изделия, без учёта затрат на разработку. Естественно, они будут более, чем на два порядка выше.

Да что Вы... нет конечно же. Два студента не могут скинуться на профессиональную карту аудиозахвата. Денег есть 5000р. Вот на них нужно и разработать и изготовить _одну_единственную_штуку_ чисто для себя. :) Начало темы на казусе в разделе микроконтроллеров. Я указал автору на одни только затраты изготовления на _один_ порядок больше всего их бюджета, так это было принято им на смех.

 

Автор темы уже в первом посте недвусмысленно дал понять, что ему нужен хай-спид.

Хайспид, фуллспид.... Автор темы такие слова впервые узнал пару дней назад. :) Как и то, что существует такой контроллер как ARM. Видели бы вы первоначальную постановку задачи на переходнике FTDI :biggrin:

Edited by VDG

Share this post


Link to post
Share on other sites

Ого народу привалило! Выходной, сразу видно =)

А я вот только с экзамена. Сессия закрыта - приступим вплотную к проекту.

 

Лучше сразу заложиться, чтобы потом не переделывать.

 

ARM-ы несколько дешевле, ПЛИС и DSP сравнимы по цене.

Стоимость разработки для ARM и DSP примерно одинакова. Для ПЛИС стоимость разработки во много раз выше.

 

ЗЫ. В качестве курьёза:

http://www.ixbt.com/proaudio/lynx-two.shtml

Фуфло, короче...

Согласен, заложится есть смысл, если это не архинакладно выйдет.

Пожалуй буду смотреть DSP.

 

Если кто может подсказать подходящие (кроме тех что указал Stanislav), буду премного благодарен!

 

Именнно из-за таких серийных карт и начата разработка.

 

Четыре канала на ввод и 10 на вывод никакого USB не хватит.

 

Хотя прослушать себя можно- поток с АЦП отправляется в комп по USB и на DAC для самоконтроля.

 

А вот смикшировать в винде по цифре и обратно выпихнуть по USB- уже неполучится.

 

Хотя можно смотреть в сторону Эзернета.

 

По поводу DMA у LPC2368.

 

А про связку ATmega162+PDIUSB12 можно подробнее? PDIUSB12 не в DMA работала? Нечто подобное тоже рисовал, но Атмега8 только конфигурила PDIUSB12 и следила за ошибками протокола. Сам трансфер был по DMA в сериалайзер на XC9572 (карта была только на выход).

Имелось ввиду всего 10 каналов 5.1 выход + 2 стерео входа

 

Ну если уж на то пошло, то можно сразу слушать себя через аналог, зачем перецифровывать? =)

Дело в том, что на ПК может еще риалтайм происходить обработка. (Ну, на мощном ПК)

 

Выпихнути при USB 2.0 хайспид получится.

 

Езернет - изврат. И главное зачем?

 

LPC2368 не потянет.

 

Про АТмегу+... посмотрите тут: http://www.circuitcellar.com/AVR2004/HA3553.html

Там поток все же через мегу.

 

Если можно, поделитесь пожалуйста информацией по ваш вариант. Будет интересно посмотреть.

 

Полный дуплекс 192/24 стерео в виндюках все-таки работает. У меня такое устройство уже второй год серийно выпускается (правда, в виде блока, а не карты). Проблемы с драйверами есть, но преодолимые.

 

Проблемы с драйверами в том, что в Win XP (младше не работает вообще) в изохроне у мелкомягкого работает только режим, когда в фрейме задействован один микрофрейм, в котором можно передать до 3 пакетов данных, а обычно периферийные чипы при увеличении загрузки стремятся использовать несколько микрофреймов во фрейме и один пакет в микрофрейме. При воспроизведении в этом месте проще, но зато есть засада с синхронизацией. Либо надо делать очень большие буфера в периферийном устройстве, либо старательно обманывать дядю Билли, т.к. при попытке слегка увеличить или уменьшить поток виндюки делают это через неделю.

 

Что касается действительно хорошего АЦП, то я знаю только один - EK5394A, который и был использован в этом устройстве. От него действительно можно получить 120 дБ сигнал/шум (если Вам нужно столько).

То что работает - это радует.

А как ВЫ обходили грабли?

 

AK5394A надо глянуть....

 

Простите, но мне кажется, что Вы обрисовали вопрос не совсем правильно.

 

2. Драйвера для такого чюда, скорее всего, придётся писать самому. Не уверен, что со "стандартными" вообще получится что-то путное.

 

3. А никто и не заставляет под виндой делать какое-либо микширование, равно как и вообще какую-либо реал-тайм обработку. Именно для этого на аудиокартах ставится DSP, который делает всё "на месте": поддерживает ввод-вывод, буферизацию данных по каналам, микширование, спецэффекты и т.д. Без данного устройства современную, даже недорогую, компьютерную аудиосистему представить себе уже трудно...

 

Тут дело не в HS, а в том, чтобы "прикинуться" стандартным USB устройством. Тогда поймёт. Хотя, эта затея более, чем сомнительна (не в смысле сложности реализации - протоколы обмена неплохо документированы)...

Реалтайм на ПК очень даже желателен.

 

Все же хочется "прикинутся". Хотя бы на первое время. Потом всегда можно дописать.

 

А кто говорит о фулл-спиде?

Автор темы уже в первом посте недвусмысленно дал понять, что ему нужен хай-спид.

 

Ну, вот и посчитайте. Этого за глаза хватит. :)

 

Здесь, вроде, шла речь о (себе)стоимости готового изделия, без учёта затрат на разработку. Естественно, они будут более, чем на два порядка выше.

Вот именно! Я же указывал не просто так тех. задание. Из него очевидно что нухен хайспид!

 

Вот и я говорю что хватит!

 

Вот именно! Без учета затрат на разработку!

Зачем бы я пост создавал, если бы хотел заказать разработку? =)

 

Да что Вы... нет конечно же. Два студента не могут скинуться на профессиональную карту аудиозахвата. Денег есть 5000р. Вот на них нужно и разработать и изготовить _одну_единственную_штуку_ чисто для себя. :) Начало темы на казусе в разделе микроконтроллеров. Я указал автору на одни только затраты изготовления на _один_ порядок больше всего их бюджета, так это было принято им на смех.

Хайспид, фуллспид.... Автор темы такие слова впервые узнал пару дней назад. :) Как и то, что существует такой контроллер как ARM. Видели бы вы первоначальную постановку задачи на переходнике FTDI :biggrin:

Извиняюсь за оффтоп - несдержался... устал уже что мне все время пытаются доказать что я верблюд.

 

Уважаемый VDG, не стоит настолько свысока смотреть на людей, о которых вы ничего не знаете!

Все когда-то были студентами, и вы тоже. Между прочим умный студент лучше плохого препода. (с) Народная мудрость.

Причем не просто 2 студента, а схемотехник и программист с опытом работы.

 

Про ARM и USB HiSpeed я узнал не вчера и даже не позавчера.

Просто идея постоянно развивалась и дошли до этого. И правда, начиналось с AVR, но были другие задачи (96КГц симплекс)

Теперь видим что и ARMа нам мало.

 

Вы хоть сходили по ссылке которую я давал про PDIUSB12? ( http://www.circuitcellar.com/AVR2004/HA3553.html )

Вы вот не знали (как я понял) что это реализуемо. А оно работает!

Про FTDI спорить не буду т.к. точно не разобрался.

 

По существу:

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

Да и вообще, глянем выше и видми пример фуфла за 1,5 косаря зелени. Кроме того интерес. ВОТ причина!

 

Денег у нас не 5т.

5т. - это примерная стоимость ГОТОВОГО девайса: детали + сборка.

 

Без обид. (с) VDG

 

Ну, надеюсь, польза от обсуждения вопроса всё же будет, и не только для автора темы. :)

Это было бы просто здорово! =))

 

ЗЫ Большая благодарность 2 Stanislav за человеческое отношение и ответы по теме.

 

ЗЗЫ Уффф... Упарился писать :)

Edited by MAXvaLL

Share this post


Link to post
Share on other sites

:)

Значт коротко и по существу. склепал я девайс тоже подобного назначения.

Обошлось все примерно в 60$.

Имеем:

1.Cypress CY7C68013A (High Speed)

2.Altera EPM3064A-TC44 - плисина

3.Analog devices AD1871 - 96khz 24bit АЦП

4.Analog devices AD1854 - 96khz 24bit ЦАП

5.Генератор на 74НС00

5.EEPROM и рассыпуха.

Плату делал фотоспособом, использовал покупной текстолит с фоторезистом.

ЦАП и АЦП не супер-пупер,но взял из того,что было.

CY7C68013A - отличный чип ;)

Все это дело после отлова многочисленных глюков(ну ее в жопу тот MAX3000, надо MAX2 юзать), учитывая,что это мой первый проект на ПЛИС-е, заработало на ура.

С софта юзал SDCC(8051 компіллер), Altera Quartus 7.2(задолбался качать через мобилу), текстовые редакторы тип.

Устройство работает в дуплексе.

С железом все, теперь надо попарится с дровами под винду(а там черт все на свете себе переломает, очень тяжело дается человеку, работающему под Unix-ом,да и документации и примерв,что кот наплакал),тк народ хочет винду. А девайс делался и отлаживаля в FreeBSD.под виндой только Alter-у мучал в квартусе.

 

Плата 2слойная,рисовал в Eagle.

 

По поводу стандартного USB аудио драйвера в винде - не связывайтесь. в win2000 оно глючит жестоко. BSOD не с того не с сего. usbasio еще не пробовал. В FreeBSD такой драйвер хоть как-то работает, хотя даже там написано, что если оно заработало - вы везунчик :)

 

И забудьте про всякие АРМ и ДСП. нах оно надо? вы звук собираетесь писать или херней маятся?(всякими там спецэффектами) :)

 

Вот еще ложу разводку платы..для критикования ;)

Share this post


Link to post
Share on other sites

Здравствуйте уважаемый brag!

 

BSOD просто так не бывает =) (обычно)

Может ошибка на стороне МК в обработке сервисных пакетов?

 

А что есть такое MAX3000 и MAX2?

 

Не могли бы вы поделится исходниками и схемами? (игл есть)

Если не сложно, то еще описание, в 2х словах.

Буду оч. признателен!

Мой mail: shvetsov@kivinet.ru

 

И еще, подскажите, где лучше читать про плис, если еще не работал с ними?

 

По поводу критики платы:

1. Надо бы сделать гальваничискую развязку аналога и цифры.

2. В даташите к Cypress написанно, что следует особое внимание уделить разводке.

 

чтём: 12.0 PCB Layout Recommendations

 

ставлю +/-/? : выполнено ИМХО требование или нет. (? сам не знаю)

 

- At least a four-layer impedance controlled boards are required to maintain signal quality.

? Specify impedance targets (ask your board vendor what they can achieve). To control impedance, maintain trace widths and trace spacing.

? Minimize stubs to minimize reflected signals.

+ Connections between the USB connector shell and signal ground must be done near the USB connector.

+ Bypass/flyback caps on VBus, near connector, are recommended.

- DPLUS and DMINUS trace lengths should be kept to within two mm of each other in length, with preferred length of 20-30 mm.

- Maintain a solid ground plane under the DPLUS and DMINUS traces. Do not allow the plane to be split under these traces.

- It is preferred is to have no vias placed on the DPLUS or DMINUS trace routing.

- Isolate the DPLUS and DMINUS traces from all other signal traces by no less than 10 mm.

 

Возможно где-то неверно оценил (хреновый англицкий у меня, да и масштаб платы на глаз сложно оценить), но в любом случае несколько минусов наберется полюбому! Конечно ясно, что самому 4 слоя не сделать, но с разводкой DP/DM надо повнимательнее ИМХО.

 

Может глюки из-за этого? 500МГц, это не шутки вам!

 

PS Извените, если излишне придираюсь.

Edited by MAXvaLL

Share this post


Link to post
Share on other sites
Значт коротко и по существу. склепал я девайс тоже подобного назначения.

Вот еще ложу разводку платы..для критикования ;)

Красиво. А что по RMAA получилось (уровень шумов)? Может поделитесь проектом ( не корысти ради, а токмо для углубления знания)?

А вот за ссылку на usbasio Спасибо огромное!! Не подскажите, где взять полный и описание поддерживаемых протоколов?

Share this post


Link to post
Share on other sites

Пока не мерял по шумам. на 10мм изолировать - далековато :)

Зазор 2мм - можно сделать...хотя надо ли.данные гонятся 30мбайт/сек.по моему нормально.

Без переходных не подключить - разьем со стороны компонентов ;)

"At least a four-layer" - да пошли они.сделать можно,но геморно.я делал.

"Maintain a solid ground" - ну можно сделать.вобще я е читал это все.так плату делл,как привык.и ниче,работает.

Гальваническая развязка - бред наверное.не тут ей место...

хотя надо потестить еще.

спасибо

Share this post


Link to post
Share on other sites

Только что в новостях увидел ссылку:

http://www.bridgeco.com/index.php?option=c...6&Itemid=44

 

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

Share this post


Link to post
Share on other sites

По поводу обхода граблей - это относится собственно к кристаллам ISP158x. Идеологически - я сказал в прошлом посте. Если Вы на этот кристалл упадете - пишите в личку, расскажу подробно. А так лень - долго писать.

Share this post


Link to post
Share on other sites
Зазор 2мм - можно сделать...хотя надо ли.данные гонятся 30мбайт/сек.по моему нормально.

 

так плату делл,как привык.и ниче,работает.

спасибо

Ну и что что 30мбайт, частота всеравно около 500МГц, вне зависимости от скорости. Или я не прав?

Конечно работает, но вы же сами на глюки жаловались... Или там глюки другого рода?

 

Только что в новостях увидел ссылку:

http://www.bridgeco.com/index.php?option=c...6&Itemid=44

 

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

Дааа, наворочено-то. Для общего развития если тока =)

 

По поводу обхода граблей - это относится собственно к кристаллам ISP158x. Идеологически - я сказал в прошлом посте. Если Вы на этот кристалл упадете - пишите в личку, расскажу подробно. А так лень - долго писать.

Понял. Спасибо!

 

Выше предлагали использовать неизохронный режим USB. Какая макс. скорость возможна?

Из за чего могут быть потери в изохронном режиме? (если используем хороший экранированный USB кабель, и нормально разведена плата)

Edited by MAXvaLL

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this