Можно ли подружить без потери данных из-за различия в тайминге?
Можно ли подружить без потери данных из-за различия в тайминге?
ИМХО, с IDE - это немного не в ту сторону. 44/16 - это 150КБайт в секунду. 24/192 - 570К. Неужели ради таких потоков надо заморачиваться с IDE?
Тем более, что (на мой взгляд) у USB AUDIO две проблеммы:
А) плохая "изохронность" изохронного трансфера по USB в случае USB Audio.
Б) основное "преимущество" - когда внешнее устройство на той же PCM290х распознается как внешняя звуковуха и Винда начинает радостно гнать на нее звук через свой микшер, DSP и прочие улучшалки.
В то время как со вторым можно успешно (хоть и муторно) бороться програмно (ASIO, Kernel Streaming и т.д.) то с первым - только большой FIFO уже на I2S, ИМХО.
Если переход с USB на IDE - это попытка решить первый недостаток изохронности USB AUDIO), то не проще ли сделать USB-I2S конвертор на FT245, который не будет совместим с USB Audio и сможет проигрывать поток только под управлением специально написанного софтового проигрывателя. Драйвера D2XX (теперь уже CDM) FTDI раздает бесплатно (http://www.ftdichip.com/Drivers/D2XX.htm). Большой буфер достаточно легко организовать после FT245. То есть FT245->8бит->буфер->регистр_24(16)_to_I2S. Буфер делается на микроконтроллере или ПЛИС. По хорошему там же и регистр 24->I2S. ИМХО, это намного проще, чем делать IDE контроллер "с нуля".
Теперь по поводу пунктов касающихся IDE-реализации:
1. Тормозить Винда будет не сильно, поскольку поток данных по меркам IDE очень мал. Но это только при условии что IDE-контроллер и его софт будут реализованы правильно. Вообще-то говоря, тут и есть основной Вопрос - а надо ли решать такую нетривиальную задачу как создание правильного(!) IDE-устройства только для реализации невидимой виндой звуковухи, когда вокруг столько USB микрух которые сделают тоже самое даже на Full Speed режиме. Тот же FT245 в режиме D2XX позволяет качать до 1Мбайт/сек. Кстати, Винда трансфера по USB на таких скоростях вообще не замечает и тормозить не будет, ИМХО.
2. "в виде пустого HDD с FAT" распознаваемого BIOS означает, что вся логика преобразования FAT->WAV->I2S вынесена в контроллер. Не получится ли, что такое устройство потребует неразумных затрат сил и времени на разработку. И кроме того, как при этом будут реализованы "кнопочки" Play, Pause, громкость и т.д. а также выбор альбома/трэка? Или это будут физические кнопки и экран на самом устройстве? Или как ATAPI-команды?
Последний раз редактировалось andrey_s; 10.10.2006 в 20:01.
Для записи в порт одного файла потребуется всего лишь несколько строк стандартного кода на делфи - для программиста не проблема.
Это в случае прямого доступа к портам. Нужно в WinXp установить универcальный драйвер (лежит в инернете).Под досом у меня
это получалось.
Эмуляция HDD или FAT нам не нужна.
Формат остаточно пустить 16/44.1 . Ведь 24/192 мы все равно не сможем декодировать.
Offтопик:
Ну кто мне обьяснит, зачем вообще здесь нужен компьютер! Или если есть, то почему не использовать?! Так можно на нем, при должной мощности и навыках, и цифровой фильтр сгондобить и при этом еще и светом в комнате управлять!
если на такой "диск" приходят данные - он их играет. Не приходят - молчит. Заголовки WAV и прочая служебная инфа пропускается.
Громкость регулировать по аналогу, переменником или через реле.
записывать нужно не когда винда квант времени выделит, а в соответствии с тактовой частотой ЦАП, при опустошении буфера на N%. И с малой загрузкой процессора.
24/176 и даже 32/768 получатся после программного цифрового фильтра. ЦАП с такими входными возможностями существуют много лет. Записей выше 16 бит и 44 кГц уже прилично выпущено, их можно ещё наделать - с катушек и винила.
Offтопик:VRDS-ов и CDM2PRo на всех не хватит, по мере снятия с производства чистых CD-проигрывателей с качественными транспортами, запчасти к точной механике будут дорожать с той же скоростью, как и всё связанное, например, с винилом... ну и жаба конечно, тоже давит, никто и не отрицаетНу кто мне обьяснит, зачем вообще здесь нужен компьютер! Или если есть, то почему не использовать?! Так можно на нем, при должной мощности и навыках, и цифровой фильтр сгондобить и при этом еще и светом в комнате управлять!
Ну раз IDE интерфейс такой могучий, что вывод звука для него семечки, значит надо подумать, как его так нагрузить, чтобы он забирал клок и выдавал данные на ЦАП безо фсяких ПЛИСок, буферов, контроллеров и т.д.
Да это понятно. То есть:
1. Кнопка Play - начинаем копировать трэк на "диск".
2. Stop - жмем Cancel на Виндовом окне копирования...
3. Pause, Next, Prev - ?
Не напряжет такой "интерфейс"-то?
Если уж городить IDE контроллер то неплохо бы и мышкой иметь возможность (хотя и не принципиально).Громкость регулировать по аналогу, переменником или через реле.
100% правильно! Только ИМХО, воплотить это в железе - ОЧЕНЬ слабо реально. Хотя бы потому, что в процессор на стороне контроллера придется загнать логику управления IDE шиной, что ИМХО, в отличии от разбора WAV - гораздо более трудоемкая задача. Кстати, оборудование для отлядки протокола понадобится тоже вполне серьезное. У меня, к примеру, >16 канального логического анализатора на >33MHz нет.записывать нужно не когда винда квант времени выделит, а в соответствии с тактовой частотой ЦАП, при опустошении буфера на N%. И с малой загрузкой процессора.
Кстати, еще момент: если я правильно помню, то IDE шина будет работать со скоростью самого медленного устройства на ней. То есть, куда этот "диск" вешать-то? У меня оба IDE канала уже заняты, и тормозить устройства на них этим "диском" совсем не хочется.
Добавлено через 4 минуты
Клок откуда и зачем забирал-то? КАК без буфера этот "могучий" интерфейс сможет выдать действительно изохронные данные? Клок от ЦАПа должен руководить выдачей данных на стороне контроллера, ИМХО.
Последний раз редактировалось andrey_s; 11.10.2006 в 17:52. Причина: Добавлено сообщение
**То есть, куда этот "диск" вешать-то? У меня оба IDE канала уже заняты, и тормозить устройства на них этим "диском" совсем не хочется.***
аналогично, на некоторых новых матерях под конрое IDE то ли всего 1 разъём, то ли вообще отсутствует...
повторяю: во многих проигрывателях имеются готовые модули вывода в файл. В стандартной поставке.
Или тут: http://winamp.com/plugins/details.php?id=96985
USB, SATA, 1394 свободные есть? Ассортимент переходников можно увидеть тут:
http://www.nix.ru/autocatalog/cc/hdd_accessories.html
P.S. можно переделывать прошивку не HDD, а CD-RW или DVD-RW - у них флэш-память меньше объёмом, а утилиты для прошивки ничего не стоят.
В файл идет ВЫВОД плейера. К оригинальному WAV-файлу трэка это имеет очень отдаленное отношение.
P.P.S. то есть Вы надеетесь, что можно просто перешить в готовом HDD (CD-RW) прошивку и получить внешнюю звуковуху?P.S. можно переделывать прошивку не HDD, а CD-RW или DVD-RW - у них флэш-память меньше объёмом, а утилиты для прошивки ничего не стоят.
Удачи!
Всетаки IDE почти у всех заняты другими устройствами, а использовать переходник, например USB-IDE - это по моему слегка через задницу.
Использовать USB в чистом виде может всетаки интереснее.
Ave,
был у меня летом переходник IDE<->USB/SATA2 из недешёвых, в комплекте с крутым алюминиевым боксом... сдох на 3-й день без объяснения причин, ладно хоть винт с информацией не угробил.. выбирал я его заочно в инете, с учётом мнений реальных пользователей о них, остальные были или хуже, или ценой за 200$ в комплекте с винтом на 250-300 гиг
ну может пара байт в заголовке отличается. Если поставить галку "raw output" и проигрывать PCM файл, то выход равен входу. А что, у вас получалось иначе?
Да.Offтопик:. Ещё кварц сменить, регистр пересинхронизации добавить и 4 проводка до ЦАП припаять.
дорогие звуковухи уже имеют выносные блоки в 5,25" отсек, готовы к переходу на IDE
С CD-приводами проблема - во многих есть флэш-память, имеются утилиты для прошивки, но система команд их контроллера (например CDROM Acer 650: Mediatek MT1189AE, flash 39SF010) нигде не описана.
Некоторые старые жёсткие диски использовали микроконтроллеры Intel, к которым много исходников, вплоть до цифровых фильтров http://www.intel.com/design/mcs96/technote/2318.htm. Но перед ними стоят "чёрным ящиком" ATA-контроллеры без описаний, например Adaptec AIC-6070, AIC-8381 или Western Digital. Так что у кого валяются старые "винты" c хорошо документированными микросхемами, напишите о них.
много переходников работают годами, а дохнут только по причине неправильно выведенного USB на переднюю панель корпуса, из-за переполюсовки питания.
Добавлено через 26 минут
Программирование HDD UDMA
Последний раз редактировалось Эзотехник; 16.10.2006 в 11:19. Причина: Добавлено сообщение
Социальные закладки