Перейти к содержанию
    

Цифровой HDD-проигрыватель с выходом I2S slave mode

Здравствуйте!

Я новичок на этом форуме, равно как и в цифровой электронике вообще. До сих пор мой опыт "общения" с цифровыми схемами ограничивался сборкой готовых устройств по готовым схемам. Теперь интересно сделать нечто самому с нуля. Интересует не устройства на МК вообще, а для начала - совершенно конкретное, описанное в заголовке темы.

Я люблю слушать музыку и имею хорошую аппаратуру для воспроизведения, в том числе и ЦАП. Теперь я решил сделать для этого ЦАП'а второй цифровой источник - проигрыватель на жёстком диске (первый - проигрыватель компакт-дисков, у которого обустроен I2S-выход в уровнях RS485). Жёсткие диски привлекают невысокой ценой, удобством эксплуатации и замены и огромными доступными объёмами, чего нельзя сказать о флеш-памяти.

Мне требуется цифровой источник с выходом в формате I2S, работающий в подчиненном режиме - то есть сигнал Master clock приходит на источник с ЦАП'а, а он может иметь частоту, кратную 44.1 или 48 кГц (в зависимости от установок в ЦАП'е включается тот или иной генератор частоты). Соответственно контроллер должен "уметь" работать с этими частотными сетками, и в то же самое время - связываться с HDD.

Поначалу я хотел разработать "устройство на одной плате" - грубо говоря, с одной стороны втыкается шлейф SATA, с другой стороны выходят витые пары RS485. Мне указали на то, что SATA может работать строго с пропускной способностью 1.5Тб/с и никак не меньше, и что такое устройство мне не по зубам, поэтому нужно использовать переходник SATA->USB. С USB, насколько я знаю, могут работать контроллеры ARM, у них же есть и выход I2S. Поэтому тему я создал в этом разделе.

 

Меня интересует - может ли ARM работать одновременно с USB-устройством (работающим на частоте 12МГц) и при этом - с I2S-приёмником, задающим мастерклок, причём с частотой, совершенно некратной USB'шным двенадцати мегагерцам (16,9344МГц или 18,432МГц)?

 

Какую именно модель МК следует выбрать? Может, я плохо искал, и есть уже совершенно готовые устройства, полностью отвечающие моим потребностям? Какие могут быть подводные камни у подобного устройства?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Меня интересует - может ли ARM работать одновременно с USB-устройством (работающим на частоте 12МГц) и при этом - с I2S-приёмником, задающим мастерклок, причём с частотой, совершенно некратной USB'шным двенадцати мегагерцам (16,9344МГц или 18,432МГц)?

Конечно может.. :rolleyes:

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

...

Какую именно модель МК следует выбрать?

Вот, на "вкус и цвет": ARM'ы.. :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так что доступны и 4-слойки
Круто.

 

есть уже совершенно готовые устройства, полностью отвечающие моим потребностям

IBM PC. Примерно вчетверо дешевле, чем любое устройство, которое вы решите изготовить.

Выбор аудиокарт широк до безобразия. Со всякими внешними интерфейсами. В том числе и I2S.

Также выбор безвентиляторных компьютеров имеет место быть.

 

Но если это все затеяно не с практической целью, а просто так, то купите себе какой-нибудь кит http://www.starterkit.ru/html/index.php

и потренируйтесь.

http://www.starterkit.ru/html/index.php?na...=view&id=48

Например с помощью этого легко сделать требуемое устройство.

(Примечание. "Легко" - означает принципиальную возможность).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

=SSN=, спасибо, теперь благодаря Вам я знаю о принципиальной возможности сделать сабж :D А есть развернутые мануалы? Я читал даташит на STM32F105, там есть схема проигрывателя - но работающего в ведущем режиме, и, насколько я понял, только с сеткой частот 48кГц. Если я неправ - спорить не буду, просто поправьте :D

 

DpInRock - судя по никнейму, у Вас одинаковые со мной музыкальные предпочтения :D Но это оффтопик, конечно же.

 

Примерно вчетверо дешевле, чем любое устройство, которое вы решите изготовить.

Что же это за пека такой? Или я плохо представляю себе цену устройств на МК, неужели они вчетверо дороже ПК, да ещё и в безвентиляторном исполнении (один лишь безвентиляторный БП стоит 100-120 евро)?

 

Выбор аудиокарт широк до безобразия. Со всякими внешними интерфейсами. В том числе и I2S.

Только вот работать они могут в большинстве случаев только с 48кГц (44.1 пересчитывается в 48), I2S обычно приходится выводить своими силами, результат не сильно-то и радует - и не очень хочется курочить не самую дешёвую аудиокарту. В абсолютном большинстве случаев - I2S не может принимать внешний мастерклок (вообще-то мне не известна ни одна карточка, которая может принимать его, но наверняка такие есть).

 

Да и стоят приличные карточки с большим набором интерфейсов немало, тем более странен тезис о том, что ПК будет вчетверо дешевле.

 

За ссылку на киты - большое спасибо!

 

Uree - из айпода можно вывести I2S, но он не сможет работать в подчиненном режиме.

Изменено пользователем Звёздочка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ай красота... трэк оцифрован на 44.1кГц, а Вы его принудительно на 48кГц хотите выдать. Ничего не напрягает? В принципе конечно немного математики и можно все пересчитать, только боюсь не для АРМа задача.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Uree Нет, ни в коем случае не хочу! Никаких пересчётов, в случае, если трек на 48/96/192кГц - в ЦАП'е включается генератор на 18.432МГц, если трек в 44.1 - то генератор на 16.9344МГц.

 

Пересчёт 44.1-48 производится во некоторых аудиокартах ПК, это я имел ввиду.

Изменено пользователем Звёздочка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тогда зачем I2S должен быть в слэйв-режиме?

Затем, что ведущее устройство - ЦАП со своими генераторами и выводом сигнала MCLK.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или я плохо представляю себе цену устройств на МК

Просто не представляете.

R примеру, разок заказать 4 слойную плату встанет вам баксов в 150.

Припаять компоненты (сами вы BGA не припаяете). Еще баксов 20.

Купить оные. По штучке. Еще баксов 50.

Итого, один подход 200 баксов. Это очень упрощенно.

Но раз хотите звук, чтоб все hi-end и летало - 6 слоев плата. ( С учетом DDR2 памяти, самый оно) - цену платы умножаем на 2.

 

С первого раза все сделать - врядли (можно, конечно, но в общем случае - врядли).

 

Итого - еще раз на 2.

 

И я совсем ничего не говорю про программирование.

Посмотрите форум. Люди светодиодиками мигают и радуются. И это не говорит о том, что люди глупые, а говорит о том, что задача не такая простая.

У вас опыт близок к нулю. Ваша личная гениальность не сильно вам поможет.

К примеру, Эйнштейну слабо сколотить табуретку. С первого раза. Да и со второго - тоже.

 

Посему - стартер кит - самый оно. Очень недорого - 4000 руб. У вас изготовить тоже самое выйдет намного дороже.

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

 

Тем более выбор там широк.

Лично я предпочитаю Atmel.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

R примеру, разок заказать 4 слойную плату встанет вам баксов в 150.

Припаять компоненты (сами вы BGA не припаяете). Еще баксов 20.

Купить оные. По штучке. Еще баксов 50.

Итого, один подход 200 баксов. Это очень упрощенно.

Спасибо за ответ, но я заказывал платы на заводе, знаю, что примерно столько они и стоят, и эта цена меня не очень пугает.

BGA я паял, вроде всё нормально до сих пор. Но те же STM32 или ARM7/9 есть в Фарнелле в выводных корпусах.

 

Но раз хотите звук, чтоб все hi-end и летало - 6 слоев плата. ( С учетом DDR2 памяти, самый оно) - цену платы умножаем на 2.

А зачем такие навороты? :wacko: Неужели считать PCM-файл и вывести его на канал SDATA - это настолько сложно и требует DDR-2 памяти и прочего?

 

Посмотрите форум. Люди светодиодиками мигают и радуются. И это не говорит о том, что люди глупые, а говорит о том, что задача не такая простая.

Я смотрю. Я же не говорю, что сразу хочу сделать такое, начинать я буду с малого, но желаемое в итоге обрисовал в первом посте.

 

У вас опыт близок к нулю. Ваша личная гениальность не сильно вам поможет.

К примеру, Эйнштейну слабо сколотить табуретку. С первого раза. Да и со второго - тоже.

Да, согласен. Только, боюсь, до Эйнштейна мне далеко, всё же не гений я.

 

Посему - стартер кит - самый оно. Очень недорого - 4000 руб. У вас изготовить тоже самое выйдет намного дороже.

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

Я не против, устройства по Вашей ссылке очень хорошие!

 

Тем более выбор там широк.

Лично я предпочитаю Atmel.

А чем Атмел лучше? Можете дать ссылку на стартап-документ? Может, такой МК лучше подойдёт для моей задачи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ЦАП главный??? Оригинальный подход... с чего бы вдруг? Обычно ЦАПы, как оконечные устройства в цепочке тактируются как раз сверху, и MCLK это главный вход клока.

 

PS Открыл линейку DAC-ов от AD - все тактируются снаружи. Чето не то Вы придумываете...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...Меня интересует - может ли ARM работать одновременно с USB-устройством (работающим на частоте 12МГц) и при этом - с I2S-приёмником, задающим мастерклок, причём с частотой, совершенно некратной USB'шным двенадцати мегагерцам (16,9344МГц или 18,432МГц)?...

А обязательно ARM нужен?

Если нужен только 1 канал I2S, то посмотрите в сторону AT32UC3A3: аппаратный I2S, USB2 HiSpeed host/device, корпус - TQFP. Я делал на нем проект - в 2-слойную плату уложился

 

...PS Открыл линейку DAC-ов от AD - все тактируются снаружи. Чето не то Вы придумываете...

Наверное, имеется в виду плата DAC - т.е. готовое устройство

Изменено пользователем forever_student

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но те же STM32 или ARM7/9 есть в Фарнелле в выводных корпусах.

Ё-мое.

Неужели считать PCM-файл и вывести его на канал SDATA - это настолько сложно и требует DDR-2 памяти и прочего?

К тому времени, как вы помигав светодиодом перейдете в к программированию USB хоста ( к примеру, для подключения USB HDD - а другого способа (кроме в большинстве случаев хренового IDE) у вас не будет), пройдет столько времени, что SDRAM обычную уже перестанут производить. А вот DDR2 - хоть завались.

 

Ну и кроме того, хороший программист решит задачу и на маломощном процессоре. А вот неопытному лучше взять что побыстрее. А вот "побыстрее" с выводными корпусами не существует.

 

Кроме того, цена вопроса выводного и BGA для единичного устройства одинакова. А раз так, зачем использовать всякий старый отстой? Обращайте внимание на процы с частотой ядра от 400 Мгц. Остальные - на свалку.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне требуется цифровой источник с выходом в формате I2S, работающий в подчиненном режиме - то есть сигнал Master clock приходит на источник с ЦАП'а, а он может иметь частоту, кратную 44.1 или 48 кГц (в зависимости от установок в ЦАП'е включается тот или иной генератор частоты). Соответственно контроллер должен "уметь" работать с этими частотными сетками, и в то же самое время - связываться с HDD.

 

Проще всего эту задачу решить покупкой 2-х устройств:

1. Какой нибудь одноплатник на атоме/арме с виндовзом/линуксом. Должен присутствовать юсб хост.

2. Юсб аудио траспорт, работающий в изохронном асинхронном (обязательно) режиме. Ищется в аудиофильских местах типа вегалаба.

 

При правильном включении начнет работать сразу :)

 

Если желаете ручками и на микроконтроллере, то нужно найти или сделать самому драйвер юсб хоста или ата интерфейса для винта, файловую систему, декодер аудиоформатов, вывод в i2s. Все это ищется в сети в том или ином виде. Вам останется собрать это все вместе и добавить красивый и удобный юзер интерфейс.

 

Довольно приличный кусок работы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...