|
Проектирование USB аудиокарты, Высокоточный АЦП |
|
|
|
Jan 16 2008, 21:26
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 26-12-07
Пользователь №: 33 639

|
Народ, помогите идеями и конструктивной критикой. У кого есть опыт разработки подобного, может поделитесь инфой. Извините за длинный пост. Итак, Задача - построение USB аудиокарты с максимально возможным качеством оцифровки за цену доступную для простых смертных.  (допустим до 5000р.) Желательно без излишних извращений (читай усложнений схемы в цифровой части). Изначально планировалась только запись, но в перспективе хотелось бы и воспроизведение. ===================================================================== Почему? Готовые изделия нет желания использовать потому, что даже в дорогих устройствах используются далеко не самые лучшие АЦП и ЦАПы. Хорошие, но не лучшие. Экономят буржуи! А если где и используют the best, то цены совершенно заоблачные. Можно говорить что это идиотизм, но те кто работал со звуком меня поймут. ===================================================================== Идея от части моя, от части друга-радиолюбителя. Я сам лично довольно зелен еще, поэтому не удивляйтесь возможным несуразицам  Было предложено использовать АЦП PCM4222 Кратко о нем... смотрим даташит: Supports Linear PCM, 1-Bit Direct Stream Digital (DSD), and Multi-Bit Modulator Output Data – Supports PCM Output Sampling Rates from 8kHz to 216kHz – Select from Classic or Low Group Delay – Choose from 64x or 128x Oversampled Output Rates for DSD Linear Phase Digital Decimation Filtering Digital High-Pass Filtering Removes DC Offset PCM Audio Serial Port Interface Supports Left-Justified, I2S™, and TDM Data Formats Разрешение 16-24 бита. 2 канала. Как видно штука довольно продвинутая и стоит около 800р. (со слов друга) Планировалось юзать до 24b/192kHz x 2канала ===================================================================== Вопрос 1. Ваше мнение об этом АЦП. Какие возможны альтернативы (лучше/дешевле). ===================================================================== Пока только запись. Первые прикидки: Analog part -> ADC -> AVR -> USB-FIFO АЦП подключаю к spi МП Скорость потока: 192кГц*24Б*2 =~ 9.22Мбит/с что уже довольно не мало Соответственно USB FT245 и PDIUSBD12 c 1МБайт/с (8.4МБит) уже не подходят Смотрел ML60851E на 12Мбит/с но у него FIFO буфер какой-то маленький. Еще смотрел ISP1582 на 480МБит (в расчете и на воспроизведение 192 кГц), но больно уж он навороченный, видимо дорогой, и труднонаходимый. Воспроизведение: USB-FIFO -> AVR -> DAC -> Аналог ===================================================================== Вопрос 2. Какой USB конвертер посоветуете? ===================================================================== Вопросы 3 итд. Насколько вообще идиотично такое решение? Как сделать по-другому? ===================================================================== Мои прикидки про по-другому: 1. Использование ПЛИС для организации аудио потока вобход МП, а МП для управления. К сожалению в ПЛИС я пока 0 =( 2. Взять готовый USB-Audio Кодек/Конвертер с цифровыми входом/выходом. НО дело в том, что я пока видел только со встроенными АЦП и ЦАП (посредственного качества), которые не нужны. Иногда еще встроенный МП. Соответственно Вопрос №Очередной Посоветуйте USB-Audio Кодек/Конвертер без лишних наворотов и цифровыми вх/вых ===================================================================== Всем спасибо за посильную помощь!
|
|
|
|
|
 |
Ответов
|
Jan 24 2008, 15:15
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046

|
Фильтр еще будем думать. О гальв.развязке..ее где-то ставят на более-менее крутых картах? сомневаюсь,что она нужна. тогда уж надо делать гальваническую развязку по 3.3в на питание цыфровой части  ) Да.даное устройство никаким боком к usb-audio class не относится. Вот дескриптор для аудио класса.только ацп. Код const struct usbDevDesc UsbDevDesc={ sizeof(struct usbDevDesc), USB_DESCRIPTOR_DEVICE, 0x0200, // USB 2.0 0xEF, // bDeviceClass 0x02, // bDeviceSubclass 0x01, // bDeviceProtocol USB_EP0_MAXSIZE, USB_VENDOR_BRAG, USB_BRAG_PRODUCT_DD, 0x0001, // Serial 0x01, // iManufacturer 0x02, // iProduct 0x00, // iSerialNumber 0x01 //bNumConfigurations };
const struct usbAuCfgDesc UsbCfgDesc={ { sizeof(struct usbStdCfgDesc), USB_DESCRIPTOR_CONFIG, sizeof(struct usbAuCfgDesc), 1, //interfaces 1, //bConfigurationValue 0, //iConfiguration 0xC0, //SelfPowered 0 //bMaxPower }, /* Audio Control Interface */ { sizeof(struct usbStdIfDesc), USB_DESCRIPTOR_IFACE, 0, //bInterfaceNumber 0, //bAlternateSetting 0, //bNumEndpoints 0x01, //AUDIO 0x01, //AUDIOCONTROL 0, 0 //iInterface }, { sizeof(struct usbCsAcDesc), 0x24, //CS_INTERFACE 0x01, //HEADER 0x0100, //bcdADC sizeof(struct usbCsAcDesc)+sizeof(struct usbCsItDesc)+ sizeof(struct usbCsOtDesc), //wTotalLength USB_AUDIO_IFS, 1 //baInterfaceNr }, { sizeof(struct usbCsItDesc), 0x24, //CS_INTERFACE 0x02, //INPUT_TERMINAL 0x01, //bTerminalID 0x0200, //Input Undefined term type 0x00, //bAssocTerminal 2, //bNrChannels 0x00000003, //wChannelConfig 0, //iChannelNames 0 //iTerminal }, { sizeof(struct usbCsOtDesc), 0x24, //CS_INTERFACE 0x03, //OUTPUT_TERMINAL 0x02, //bTerminalID 0x0101, //Usb Streaming 0x00, //bAssocTerminal 0x01, //bSourceID (from input terminal) 0 //iTerminal }, /* Zero Bandwidth (alt setting 0) */ { sizeof(struct usbStdIfDesc), USB_DESCRIPTOR_IFACE, 1, //bInterfaceNumber 0, //bAlternateSetting 0, //bNumEndpoints 0x01, //AUDIO 0x02, //AUDIOSTREAMING 0, 0 //iInterface }, /* Audio Streaming descriptor (alt setting 1) */ { sizeof(struct usbStdIfDesc), USB_DESCRIPTOR_IFACE, 1, //bInterfaceNumber 1, //bAlternateSetting 1, //bNumEndpoints 0x01, //AUDIO 0x02, //AUDIOSTREAMING 0, 0 //iInterface }, { sizeof(struct usbAuCsAsDesc), 0x24, //CS_INTERFACE 0x01, //AS_GENERAL 0x02, //bTerminalLink (Out Terminal) 0x01, //bDelay 0x0001 //wFormatTag (PCM format) }, { sizeof(struct usbAuCsFmt1Desc), 0x24, //CS_INTERFACE 0x02, //FORMAT_TYPE 0x01, //FORMAT_TYPE1 0x02, //bNrChannels 0x03, //3 bytes/frame 24, //24 bits/sample 0x01, //bSamFreqType - One frequency supported {B3VAL(96000)} //tSamFreq }, /* IN ISO Endpoint 1 */ { {sizeof(struct usbAuStdAsIsoEpDesc), USB_DESCRIPTOR_ENDPOINT, 0x81, //IN endpoint 1 0x01, //Isochronous, No synchronous, Data endpoint 64, //wMaxPacketSize 9}, //packets per frame 0,0 //bRefresh, bSynchAddress }, { sizeof(struct usbAuCsAsIsoEpDesc), 0x25, //CS_ENDPOINT 0x01, //EP_GENERAL 0x00, //bmAttributes 0x00, //bLockDelayUnits 0x0000 //wLockDelay } }; Также есть пару примеров в тех ссылках,что я давал. именно аудио. Джиттер нечем мерять...
Сообщение отредактировал brag - Jan 24 2008, 15:21
|
|
|
|
Сообщений в этой теме
MAXvaLL Проектирование USB аудиокарты Jan 16 2008, 21:26 Ozelot Цитата(MAXvaLL @ Jan 17 2008, 01:26) Наро... Jan 17 2008, 07:00 MAXvaLL Спасибо за совет! Буду смотреть...
Цитата(Oze... Jan 17 2008, 14:10  MAXvaLL Уважаемая администрация!
Возможно я не совсем... Jan 17 2008, 21:23 Pole Качественные аудиокарты не зря стоят таких больших... Jan 18 2008, 09:17 khach Если хотите именно 192к, то выбор не особо велик. ... Jan 18 2008, 10:35 ig_z Цитата(khach @ Jan 18 2008, 14:35) К сожа... Jan 18 2008, 11:49  khach Цитата(ig_z @ Jan 18 2008, 14:49) А вы пр... Jan 18 2008, 17:00   MAXvaLL Цитата(khach @ Jan 18 2008, 20:00) А на ч... Jan 18 2008, 18:49    MAXvaLL LPC2880; LPC2888;
16/32-bit ARM microcontrollers; ... Jan 19 2008, 00:43     khach ЦитатаPS А в какой среде под ARMы пишут
То что у N... Jan 19 2008, 11:38 MAXvaLL Посмотрел TAS1020 и TUSB3200
Я так понял - они под... Jan 18 2008, 16:14 MAXvaLL Цитата(khach @ Jan 19 2008, 14:38) Скорее... Jan 19 2008, 12:10 khach Цитата(MAXvaLL @ Jan 19 2008, 15:10) На в... Jan 19 2008, 13:12 MAXvaLL Уважаемый khach!
Буду вам крайне признателен, ... Jan 19 2008, 13:36 Ozelot Цитата(MAXvaLL @ Jan 19 2008, 17:36) А мо... Jan 19 2008, 17:45 MAXvaLL Цитата(Ozelot @ Jan 19 2008, 20:45) Есть ... Jan 19 2008, 20:58 Stanislav Цитата(MAXvaLL @ Jan 19 2008, 23:58) Каче... Jan 19 2008, 22:18  MAXvaLL Цитата(Stanislav @ Jan 20 2008, 01:18) Дл... Jan 19 2008, 22:49   Stanislav Цитата(MAXvaLL @ Jan 20 2008, 01:49) А по... Jan 19 2008, 23:02    MAXvaLL Цитата(Stanislav @ Jan 20 2008, 02:02) Кт... Jan 19 2008, 23:40     Stanislav Цитата(MAXvaLL @ Jan 20 2008, 02:40) Наша... Jan 19 2008, 23:57      rezident Цитата(Stanislav @ Jan 20 2008, 04:57) Пр... Jan 20 2008, 01:00       Stanislav Цитата(rezident @ Jan 20 2008, 04:00) ИМХ... Jan 20 2008, 11:08 khach Четыре канала на ввод и 10 на вывод никакого USB н... Jan 20 2008, 01:15 Stanislav Цитата(khach @ Jan 20 2008, 04:15) Четыре... Jan 20 2008, 10:50  khach Цитата(Stanislav @ Jan 20 2008, 13:50) Пр... Jan 20 2008, 11:15   Stanislav Цитата(khach @ Jan 20 2008, 14:15) Извини... Jan 20 2008, 12:58    VDG Цитата(Stanislav @ Jan 20 2008, 16:58) Зд... Jan 20 2008, 13:57 Alex11 Полный дуплекс 192/24 стерео в виндюках все-таки р... Jan 20 2008, 10:26 blackfin Цитата(Alex11 @ Jan 20 2008, 13:26) Что к... Jan 20 2008, 10:55 Alex11 Да, конечно, sorry, он у меня в каком-то старинном... Jan 20 2008, 10:58 VDG Бюджет проекта 5000р.
Товарищу ещё на Казусе кажды... Jan 20 2008, 12:37 Stanislav Ну, надеюсь, польза от обсуждения вопроса всё же б... Jan 20 2008, 14:01 Okorok Цитата(Stanislav @ Jan 20 2008, 15:01) Ну... Jan 20 2008, 16:26 MAXvaLL Ого народу привалило! Выходной, сразу видно =)... Jan 20 2008, 21:42 brag Значт коротко и по существу. склепал я девайс тоже... Jan 21 2008, 04:10 khach Цитата(brag @ Jan 21 2008, 07:10) Значт к... Jan 21 2008, 21:17 MegaElektronik Уважаемый brag,а не могли бы вы выложить проект зд... Jan 23 2008, 08:43  MegaElektronik Каков протокол аудиоданных на компьютере?
Как их с... Jan 23 2008, 13:50 MAXvaLL Здравствуйте уважаемый brag!
BSOD просто так ... Jan 21 2008, 20:47 brag Пока не мерял по шумам. на 10мм изолировать - дале... Jan 22 2008, 06:14 MAXvaLL 2 brag
Кстати вы не ответели что есть такое MAX30... Jan 22 2008, 13:35  blackfin Цитата(MAXvaLL @ Jan 22 2008, 16:35) Кста... Jan 22 2008, 13:48 Ozelot Только что в новостях увидел ссылку:
http://www.br... Jan 22 2008, 06:59 Alex11 По поводу обхода граблей - это относится собственн... Jan 22 2008, 10:17 MAXvaLL Цитата(brag @ Jan 22 2008, 09:14) Зазор 2... Jan 22 2008, 11:21 brag ЦитатаНу и что что 30мбайт, частота всеравно около... Jan 23 2008, 16:47 khach Цитата(brag @ Jan 23 2008, 19:47) К сожал... Jan 23 2008, 19:51 MAXvaLL Цитата(brag @ Jan 23 2008, 19:47) Изохрон... Jan 23 2008, 20:14 MegaElektronik На счет аудиоданных я имел ввиду чтобы стандартный... Jan 24 2008, 07:44 Alex11 В нормальных условиях взяться им неоткуда. Мы мног... Jan 23 2008, 21:27 brag ЦитатаЕсли можно немного подробнее. Через какой ен... Jan 24 2008, 04:30 brag Во,блин
#1. http://www.usb.org/developers/docs/us... Jan 24 2008, 11:11 khach Цитата(brag @ Jan 24 2008, 14:11) Платку ... Jan 24 2008, 11:57  MAXvaLL brag и Alex 11, благодарю за помощь!
Цитат... Jan 24 2008, 21:15 brag Вот теперь такая платка Jan 24 2008, 19:45 brag ЦитатаВижу, вы все же прислушались к моему совету ... Jan 24 2008, 22:28 MAXvaLL Цитата(brag @ Jan 25 2008, 01:28) ...в то... Jan 24 2008, 22:52 brag ЦитатаЧерез USB?
Кстати, возник вопрос: а зачем s... Jan 24 2008, 23:26 MAXvaLL Цитата(brag @ Jan 25 2008, 02:26) Ну типа... Jan 25 2008, 00:32 brag Читайте даташит на сайперс. шина даных 8бит, шина ... Jan 25 2008, 06:58 MAXvaLL Цитата(brag @ Jan 25 2008, 09:58) Читайте... Jan 25 2008, 17:14 MAXvaLL Цитата(brag @ Jan 25 2008, 09:58) Читайте... Jan 25 2008, 18:19  MAXvaLL Цитата(MAXvaLL @ Jan 25 2008, 21:19) Дык ... Jan 25 2008, 21:00 MegaElektronik braq, а какую ПЛИС вы посоветуете?
MAX2, MAX3000. ... Jan 25 2008, 12:35 brag ПЛИС советую макс2,тк FPGA дорого...
Макс300 подхо... Jan 25 2008, 14:17 brag нет, все происходит аппаратно. контроллер в обмене... Jan 25 2008, 17:20 brag ЦитатаДык в 56 пиновой версии же нет RD,WR,OE
Я ви... Jan 26 2008, 00:38 MAXvaLL Цитата(brag @ Jan 26 2008, 03:38) Я вижу,... Jan 26 2008, 10:52 brag RD,WR,OE - внешняя память(не даром они там выходы)... Jan 26 2008, 12:16 MegaElektronik И все-же непонятно какой аудио-протокол в компьюте... Jan 29 2008, 06:18 MAXvaLL Цитата(MegaElektronik @ Jan 29 2008, 09:1... Jan 29 2008, 12:09 MAXvaLL _ Jan 29 2008, 14:32 MegaElektronik Пока решается вопрос схемотехнического характера. ... Jan 30 2008, 11:47 Uree Безумно любопытно - а какой будет конструкция дева... Jan 30 2008, 15:06 khach Цитата(Uree @ Jan 30 2008, 18:06) Безумно... Jan 30 2008, 16:17 MAXvaLL Цитата(Uree @ Jan 30 2008, 18:06) Безумно... Jan 30 2008, 17:53 alex840 Все уж сделано
http://centrance.com/products/mp/Mi... Jan 30 2008, 20:29 SIA Цитата(alex840 @ Jan 30 2008, 23:29) Все ... Jan 30 2008, 20:41  MAXvaLL Цитата(SIA @ Jan 30 2008, 23:41) Причем р... Jan 30 2008, 21:57   SIA Стандартные средства Win не особенно-то поддержива... Jan 30 2008, 22:58    alex840 Цитата(SIA @ Jan 31 2008, 02:58) Стандарт... Jan 31 2008, 12:48 MegaElektronik Цитата(alex840 @ Jan 30 2008, 23:29) Все ... Jan 31 2008, 05:29  MAXvaLL Цитата(MegaElektronik @ Jan 31 2008, 08:2... Jan 31 2008, 08:35   MegaElektronik Цитата(MAXvaLL @ Jan 31 2008, 11:35) Эти ... Feb 1 2008, 05:47    MAXvaLL Цитата(MegaElektronik @ Feb 1 2008, 08:47... Feb 1 2008, 11:49 Ozelot Может не в тему. Где брать музыку в цифре на 24 ра... Jan 31 2008, 08:47 MAXvaLL Цитата(Ozelot @ Jan 31 2008, 11:47) Может... Jan 31 2008, 08:52  Ozelot Цитата(MAXvaLL @ Jan 31 2008, 12:52) С АЦ... Jan 31 2008, 09:03   MAXvaLL Цитата(Ozelot @ Jan 31 2008, 12:03) Я сер... Jan 31 2008, 09:17   khach Цитата(Ozelot @ Jan 31 2008, 12:03) Я сер... Jan 31 2008, 10:46 brag я сделал фикс. битрейт, уже дописываю дрова. а эта... Jan 31 2008, 10:43 MAXvaLL Цитата(brag @ Jan 31 2008, 13:43) я сдела... Jan 31 2008, 21:30 MegaElektronik Сейчас 44.1k не предпологается, т.к. вызывает труд... Feb 1 2008, 13:49 MAXvaLL Цитата(MegaElektronik @ Feb 1 2008, 16:49... Feb 1 2008, 14:39 brag Так описано в моем драйвере
А так оно уже после... Feb 1 2008, 18:27
2 страниц
1 2 >
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|