|
Проектирование 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, 04:30
|
Профессионал
    
Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046

|
Цитата Если можно немного подробнее. Через какой ендпоинт гонится поток? Поток изохронный? Можете ли поделится дескриптором устройства? Формат и скорость жестко забиты или ими можно управлять с компа? Частота кварца? Очень большое пожалуста ответить. Какая разница, через какой. через какой захотел,через такой и погнал. сейчас 2-OUT,4-IN. Сейчас Bulk. Причем сдесь скорость? или вы о частоте дискретизации? - тогда жестко. мне надо макс. разрешение. Одного 24.000мгц. второго 24.576мгц. Тоже из серии - почитай даташит... дескриптор: Код // Device Descriptor { 0x12, // bLength USB_DESCRIPTOR_DEVICE, // bDescriptorType USBW(0x0200), // USB 2.0 0xFF, // bDeviceClass 0x00, // bDeviceSubclass 0x00, // bDeviceProtocol 0x40, // bMaxPacketSize0 USBW(USB_VENDOR_BRAG), // idVendor USBW(USB_PRODUCT_BRAG_DD2), // idProduct USBW(0x0001), // bcdDevice :Device Release Number 0x01, // iManufacturer 0x02, // iProduct 0x00, // iSerialNumber 0x01 // bNumConfigurations },
// Configuration Descriptor { // std configuration descriptor 0x09, // bLength USB_DESCRIPTOR_CONFIG, // bDescriptorType USBW(USB_CFGDESCSIZE), // wTotalLength 0x01, // bNumInterfaces 0x01, // bConfigurationValue 0x00, // iConfiguration 0xC0, // bmAttributes 0x00, // bMaxPower
// Interface descriptor 0x09, // bLength USB_DESCRIPTOR_IFACE, // bDescriptorType 0x00, // bInterfaceNumber 0x00, // bAlternateSetting 0x03, // bNumEndpoints 0xFF, // bInterfaceClass 0x00, // bInterfaceSubClass 0x00, // bInterfaceProtocol 0x00, // iInterface
// Endpoint descriptor (OUT EP2) 0x07, // bLength USB_DESCRIPTOR_ENDPOINT, // bDescriptorType 0x02, // bEndpointAddress : D0..D3 - ep num; D7 - IN endpoint 0x02, // bmAttributes USBW(0x200), // wMaxPacketSize 0x01, // bInterval
// Endpoint descriptor (IN EP4) 0x07, // bLength USB_DESCRIPTOR_ENDPOINT, // bDescriptorType 0x84, // bEndpointAddress : D0..D3 - ep num; D7 - IN endpoint 0x02, // bmAttributes USBW(0x200), // wMaxPacketSize 0x01, // bInterval
// Endpoint descriptor (IN EP1) 0x07, // bLength USB_DESCRIPTOR_ENDPOINT, // bDescriptorType 0x81, // bEndpointAddress : D0..D3 - ep num; D7 - IN endpoint 0x02, // bmAttributes USBW(0x40), // wMaxPacketSize 0x80 // bInterval }, #if USB_CFGDESCSIZE & 1 0, #endif
// LangID {USB_DESCRIPTOR_STRING_SIZE(1),USB_DESCRIPTOR_STRING,USB_LANG_EN_US}, // Manufacturer { USB_DESCRIPTOR_STRING_SIZE(4),USB_DESCRIPTOR_STRING, 'B',0,'r',0,'a',0,'g',0 }, // Product { USB_DESCRIPTOR_STRING_SIZE(12),USB_DESCRIPTOR_STRING, 'D',0,'i',0,'g',0,'i',0,'D',0,'e',0,'g',0,'a',0,'n',0,' ',0,'I',0,'I',0 } Толку вам от него? Дескрипторов никогда не видели?  Где-то видел страницу - сборник дескрипторов популярных усб-устройств, типа для коллекции :D Код С изохрлоном ясно. А ошибки-то вот откуда возьмутся, если используем хороший экранированный USB кабель, и нормально разведена плата? Вы изохрон пользуете? Ошибки дажа на шинах ATA,SATA,DDR,... есть, не даром есть такие вещи,как ECC, CRC итп..а вы тут о usb.. Читайте доку с usb.org Ошибки - это не подвисание драйвера. Это просто ошибки и они всегда могут встретится. usb_20.pdf say: Цитата isochronous transfers have the general implication of constant-rate, errortolerant transfers. In the USB environment, requesting an isochronous transfer type provides the requester with the following: • Guaranteed access to USB bandwidth with bounded latency • Guaranteed constant data rate through the pipe as long as data is provided to the pipe • In the case of a delivery failure due to error, no retrying of the attempt to deliver the data и еще Цитата USB Communication Flow Transfer |Bandwidth |Error Detection |Retrying
Control |Not guaranteed |Yes |Automatic Isochronous |Guaranteed |Yes |No Interrupt |Not guaranteed |Yes |Yes Bulk |Not guaranteed |Yes |Yes USB-audio мягкий не по карману.глючный он сильно,особенно в win2000 В FreeBSD он и то более-менее работает
Сообщение отредактировал brag - Jan 24 2008, 04:49
|
|
|
|
Сообщений в этой теме
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 Во,блин
#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, 15: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 >
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|