|
Цифровой HDD-проигрыватель с выходом I2S slave mode |
|
|
|
Sep 26 2011, 11:24
|

Участник

Группа: Участник
Сообщений: 19
Регистрация: 26-09-11
Из: Казань
Пользователь №: 67 386

|
Здравствуйте! Я новичок на этом форуме, равно как и в цифровой электронике вообще. До сих пор мой опыт "общения" с цифровыми схемами ограничивался сборкой готовых устройств по готовым схемам. Теперь интересно сделать нечто самому с нуля. Интересует не устройства на МК вообще, а для начала - совершенно конкретное, описанное в заголовке темы. Я люблю слушать музыку и имею хорошую аппаратуру для воспроизведения, в том числе и ЦАП. Теперь я решил сделать для этого ЦАП'а второй цифровой источник - проигрыватель на жёстком диске (первый - проигрыватель компакт-дисков, у которого обустроен 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-слойки, и плотная компоновка.
|
|
|
|
|
 |
Ответов
(15 - 29)
|
Sep 26 2011, 15:09
|

Участник

Группа: Участник
Сообщений: 19
Регистрация: 26-09-11
Из: Казань
Пользователь №: 67 386

|
Цитата(Uree @ Sep 26 2011, 17:55)  ЦАП главный??? Оригинальный подход... с чего бы вдруг? Обычно ЦАПы, как оконечные устройства в цепочке тактируются как раз сверху, и MCLK это главный вход клока.
PS Открыл линейку DAC-ов от AD - все тактируются снаружи. Чето не то Вы придумываете... Вам правильно сказал ниже forever_student - готовое устройство, а не микросхема, несёт на борту генераторы, и тактирует подключенные транспорты. Метод имеет свои плюсы. Цитата(forever_student) А обязательно ARM нужен? Если нужен только 1 канал I2S, то посмотрите в сторону AT32UC3A3: аппаратный I2S, USB2 HiSpeed host/device, корпус - TQFP. Я делал на нем проект - в 2-слойную плату уложился Спасибо огромное! Качаю даташит, буду изучать. Я верно понимаю, что никаких проблем с двумя несовместимыми сетками частот и с внешним тактированием от ЦАП'а быть не должно? ARM мне вовсе не обязателен, я же и просил в первом посте - посоветуйте комплектуху, ведь я полнейший нуб и даже на самом первом этапе могу совершить ошибку - ладно из пушки по воробьям стрелять, хуже будет, если стану пытаться из рогатки по слону бить... Цитата(DpInRock) Ё-мое. QFP выводными считаются? http://ru.farnell.com/jsp/search/browse.js...Values%3D203063По поводу программирования - Вы меня убедили в том, что это очень сложное ремесло. Я немного программирую для своих нужд на VisualBasic и AutoLISP, но это всё же "немного не то". Какие языки используются в МК - только Си и ассемблер? Какие есть годные книги, кроме кнутовских? А демо-плату я в любом случае собираюсь покупать, без неё и делать нечего. ig_z, спасибо и Вам, этот вариант я тоже рассматривал. Всё замечательно, только по каким-то причинам веговские USB-транспорты судя по отзывам почему-то уступают в звуке приличным ПКД (при работе на один и тот же внешний ЦАП) - видать, биты по дороге иногда теряются. Схема закрыта, это тоже не радует. Ну и самому интересно сделать, конечно же.
|
|
|
|
|
Sep 26 2011, 15:20
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551

|
QUOTE (Звёздочка @ Sep 26 2011, 18:09)  ig_z, спасибо и Вам, этот вариант я тоже рассматривал. Всё замечательно, только по каким-то причинам веговские USB-транспорты судя по отзывам почему-то уступают в звуке приличным ПКД (при работе на один и тот же внешний ЦАП) - видать, биты по дороге иногда теряются. Схема закрыта, это тоже не радует. Ну и самому интересно сделать, конечно же. Пожалуйста  В таком случае вы можете делать транспорт сам. Это намного проще, чем все устройство в целом. По факту вам нужно сделать юсб девайс и i2s слейв. Примеров достаточно у производителей контроллеров. С практической стороны рекомендую посмотреть на tas1020 tusb3200 и lpc23xx lpc17xx. Я очень медленно  занимаюсь похожей проблемой и сделал выбор в пользу lpc2368
|
|
|
|
|
Sep 26 2011, 15:36
|
Местный
  
Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180

|
Цитата(Звёздочка @ Sep 26 2011, 19:09)  ...Я верно понимаю, что никаких проблем с двумя несовместимыми сетками частот и с внешним тактированием от ЦАП'а быть не должно?... Не будет Цитата(Звёздочка @ Sep 26 2011, 19:09)  ...Какие языки используются в МК - только Си и ассемблер? Какие есть годные книги, кроме кнутовских? ... Для UC3A3 - Си. На нем есть SF, где выложены примеры ( те, что я проверял - все рабочие) работы периферии, в том числе USB и SSP (этот модуль поддерживает синхронные последовательные протоколы (I2S) По семейству UC3 есть книга П.П.Редькина - практически перевод Datasheet - ов, иногда с ошибками Цитата(Звёздочка @ Sep 26 2011, 19:09)  ...Всё замечательно, только по каким-то причинам веговские USB-транспорты судя по отзывам почему-то уступают в звуке приличным ПКД (при работе на один и тот же внешний ЦАП) - видать, биты по дороге иногда теряются... А как же bit-perfect? Цитата(Звёздочка @ Sep 26 2011, 19:09)  ...Схема закрыта, это тоже не радует... Странно, а мне все больше открытые схемы попадались
|
|
|
|
|
Sep 26 2011, 15:42
|

Участник

Группа: Участник
Сообщений: 19
Регистрация: 26-09-11
Из: Казань
Пользователь №: 67 386

|
Цитата(Uree @ Sep 26 2011, 19:20)  Странное дело. Вот почему работу с деревом(столярку в смысле) в школе начинают с банального простейшего табурета? А тут самокритичное "я нуб" - зато сразу буду "пилить" гарнитур из 8 шкафов... Где логика? Ну я тоже начну с покупки демоплаты и мигания лампочкой, но хочется через n итераций сделать сабж. Я сейчас интересуюсь принципиальной возможностью сделать это своими силами и наиболее подходящей платформой. Если и дальше проводить деревянную аналогию, то мой вопрос будет звучать так - "я никогда не работал по дереву, но хочу сделать гарнитур из восьми шкафов, потому что магазинные мне не нравятся, но я в общих чертах знаю, чего хочу. Хотел делать деревянный дом со встроенными шкафами (это я хотел поначалу SATA-диск непосредственно к МК подключить), но мне указали, что стоимость производственной линии - дороже, чем сам дом, и работать на ней надо уметь, я этого не осилю, поэтому только шкаф. Как лучше отделывать готовые шкафы, какие брать инструменты, какое использовать дерево. Хорошо, сделаю сначала несколько табуреток и стол." Цитата Кстати: "Метод имеет свои плюсы" - какие? Просто интересно. Например - позволит применить один максимально качественный генератор в ЦАП'е и отвязаться от их качества в транспортах, которых может быть несколько. Кроме того, насколько мне известно (я могу ошибаться) одна из мер уменьшить нестабильность опорной частоты, приходящей на микросхему ЦАП - разместить генератор физически максимально близко к ней, и тактировать её непосредственно от генератора. Наконец, ЦАП у меня - собранный, он меня вполне удовлетворяет и я не собираюсь его далее ковырять. Цитата(ig_z) Пожалуйста В таком случае вы можете делать транспорт сам. Это намного проще, чем все устройство в целом. Ну да. А я о чём спрашивал? Цитата По факту вам нужно сделать юсб девайс и i2s слейв. Примеров достаточно у производителей контроллеров. С практической стороны рекомендую посмотреть на tas1020 tusb3200 и lpc23xx lpc17xx. Я очень медленно занимаюсь похожей проблемой и сделал выбор в пользу lpc2368 Очень здорово! Надо же, не ожидал, что у Вас похожий интерес. Можно надеяться на некоторую помощь, нам же примерно по пути?
Сообщение отредактировал Звёздочка - Sep 26 2011, 15:46
|
|
|
|
|
Sep 26 2011, 16:16
|

Участник

Группа: Участник
Сообщений: 19
Регистрация: 26-09-11
Из: Казань
Пользователь №: 67 386

|
Цитата(forever_student @ Sep 26 2011, 19:36)  Не будет Ну и отлично, тем лучше для меня Цитата Для UC3A3 - Си. На нем есть SF, где выложены примеры ( те, что я проверял - все рабочие) работы периферии, в том числе USB и SSP (этот модуль поддерживает синхронные последовательные протоколы (I2S) По семейству UC3 есть книга П.П.Редькина - практически перевод Datasheet - ов, иногда с ошибками SF - это что? Даташит остаётся прочесть на языке оригинала, раз перевод с ошибками.
Сообщение отредактировал Звёздочка - Sep 26 2011, 16:19
|
|
|
|
|
Sep 26 2011, 16:20
|
Местный
  
Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180

|
Цитата(Звёздочка @ Sep 26 2011, 20:16)  ...SF - это что? ... Software Framework
|
|
|
|
|
Sep 26 2011, 16:22
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Звёздочка @ Sep 26 2011, 20:16)  SF - это что? Мракобесное творение погромистов производителя. "Работают". Цитата(Звёздочка @ Sep 26 2011, 20:16)  Даташит остаётся прочесть на языке оригинала, раз перевод с ошибками. Это правильно.
|
|
|
|
|
Sep 26 2011, 16:27
|

Участник

Группа: Участник
Сообщений: 19
Регистрация: 26-09-11
Из: Казань
Пользователь №: 67 386

|
Цитата(aaarrr @ Sep 26 2011, 20:22)  Мракобесное творение погромистов производителя. "Работают". Типа как у Хоровица-Хила - "так делать не надо"? Или просто примеры, сделанные на "отстань", которые лучше переписать, но можно и так оставить? Что нужно для того, чтобы приступить к работе? У меня есть осциллограф и генераторы сигналов, но, боюсь, в "цифре" они мне не сильно понадобятся. Логический анализатор я закажу в этом месяце, одновременно с ним - и демо-плату на выбранный контроллер. Какие ещё приборы необходимы?
|
|
|
|
|
Sep 26 2011, 16:36
|
Местный
  
Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180

|
Цитата(Звёздочка @ Sep 26 2011, 20:27)  Типа как у Хоровица-Хила - "так делать не надо"? Или просто примеры, сделанные на "отстань", которые лучше переписать, но можно и так оставить?... Мне они очень помогли. Потом (когда понял что к чему), что-то переписывал. Лучше SF пользоваться, чем нет (особенно для начинающего) (последнее - imho)
|
|
|
|
|
Sep 26 2011, 16:48
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Звёздочка @ Sep 26 2011, 20:27)  Типа как у Хоровица-Хила - "так делать не надо"? Или просто примеры, сделанные на "отстань", которые лучше переписать, но можно и так оставить? Не совсем. Структура проектов у них отвратительная, оверхед по писанине 200%, наверное. Многочисленные "индусизмы" в коде. Ну и просто ошибки, куда же без них. То есть лучше не пользоваться, если можете. Цитата(Звёздочка @ Sep 26 2011, 20:27)  Что нужно для того, чтобы приступить к работе? У меня есть осциллограф и генераторы сигналов, но, боюсь, в "цифре" они мне не сильно понадобятся. Логический анализатор я закажу в этом месяце, одновременно с ним - и демо-плату на выбранный контроллер. Какие ещё приборы необходимы? ИМХО, нужен только хороший осциллограф. Анализатор для данной задачи не нужен совсем.
|
|
|
|
|
Sep 26 2011, 16:58
|

Участник

Группа: Участник
Сообщений: 19
Регистрация: 26-09-11
Из: Казань
Пользователь №: 67 386

|
Цитата(aaarrr @ Sep 26 2011, 20:48)  Не совсем. Структура проектов у них отвратительная, оверхед по писанине 200%, наверное. Многочисленные "индусизмы" в коде. Ну и просто ошибки, куда же без них. То есть лучше не пользоваться, если можете. Понятно. Надеюсь, хоть разобраться помогут. Цитата ИМХО, нужен только хороший осциллограф. Анализатор для данной задачи не нужен совсем. У меня пока только С1-93, он хорошо если на 30МГц работает. Устройства на 400МГц, какие выше советовали, даже рядом не посмотришь.
|
|
|
|
|
Sep 26 2011, 17:16
|
Местный
  
Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180

|
Цитата(Звёздочка @ Sep 26 2011, 20:58)  ...Надеюсь, хоть разобраться помогут... Именно для этого и написаны Цитата(Звёздочка @ Sep 26 2011, 20:58)  ...Устройства на 400МГц,... Если будете использовать UC3A3, то у него максимальная тактовая частота - 66 МГц. Для Вашего случая - с избытком.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|