Автор Тема: [ПРОЕКТ] преобразователь USB 2.0 - I2S  (Прочитано 190358 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #120 : 21 Января 2013, 00:54:20 »
0
прикрутили и автодетект который если правильно помню по битлоку определяет чатоту и переключает генератор нужной сетки
:o
Битклок - это частота генератора, деленная на некую константу. Соответственно, чтобы изменился битклок, сначала надо переключить генератор

и добавил...
Поздравляю, коллега! Очень симпатичненько!
Благодарю всех, кто помогал советами и идеями. Дмитрий, Вам персональная благодарность за помощь !

и добавил...
Регулировки громкости наверно не будет. Выяснилось, что те ноги контроллера, которые я зарезервировал для подобных применений, недоступны из программы, когда идет передача данных из буфера USB на внешнюю шину. В документации про это ни слова. Хотя может я и пропустил. Такого запутанного мануала еще поискать. А индийский супп́орт  - это что-то  >:(

и добавил...
Что-то туплю с форматами вывода. С I2S и LJ все ясно, они аналогичны, за исключением того, что LRCK инвертирован и сдвинут на время одного бита

А вот с RJ  непонятно. Как в нем задается разрядность данных? Она должна быть фиксированной?
« Последнее редактирование: 21 Января 2013, 09:24:27 от blindman »

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #121 : 21 Января 2013, 09:43:21 »
0
с RJ  непонятно. Как в нем задается разрядность данных? Она должна быть фиксированной
Да, она объявляется и фиксируется заранее, и, если в исходном потоке разрядность оказывается меньше, то младшие разряды заполняются нулями.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #122 : 21 Января 2013, 09:52:08 »
0
Понятно. Значит делаю 2 варианта - 24 и 32 бита.

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #123 : 21 Января 2013, 09:56:58 »
0
Если есть возможность - лучше 3: 16, 24 и 32.
16 разрядный режим может быть полезен при прямой стыковке малоразрядных (16, 18, 20) ЦАП с устройством. таких приборов осталось еще немало.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #124 : 21 Января 2013, 10:00:38 »
0
Если хватит контактов конфигурации.

Хотя, а есть ли тогда смысл вообще в применении этого устройства? Интерфейсов 16бит/192 кГц уже и так есть

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #125 : 21 Января 2013, 10:15:06 »
0
blindman, если ног хватит - надо. все таки универсал делаешь. вот захочу сравнить имеющийся цап 32/384 с каким нибудь олдскульным 16/48 и что, еще один интерфейс городить?) лишним не будет в общем

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #126 : 21 Января 2013, 10:19:24 »
0
Если хватит контактов конфигурации.
В этом случае лучше сделать 16 и 24. 32-х разрядных ЦАП не так уж и много, а фонограмм (не дизерингованных в 32 разряда, а истинных) - нет вообще.


Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #127 : 21 Января 2013, 10:23:45 »
0
В этом случае лучше сделать 16 и 24
есть еще вариант лить прошивку по желанию заказщика.

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #128 : 21 Января 2013, 10:33:00 »
0
Скорее всего для Андрея этот вариант будет неинтересен...
Более того, если вдуматься - 24 разряда - это 146дБ (!!!!!!) динамического диапазона. Ни один из существующих ЦАП такой ДД не обеспечивает и вряд ли (судя по развитию технологии и физики полупроводников) в ближайшие 10 лет можно ожидать хоть какого-то реального приближения к этой цифре...
Думаю, что через 10 лет скорее потеряет актуальность USB формат, нежели появятся реальные 24-разрядные по аналоговому выходу (а не по длине входного слова!) ЦАПы.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #129 : 21 Января 2013, 10:33:17 »
0
Не, плодить прошивки не хочу, сам в них запутаюсь. Лучше откажусь от независимой установки частот генераторов. Изначально планировалось, что для одного можно выбрать 22.5792, 33.8688 или 45.1584, а для другого независимо - 24.576, 36.864 или 49,152. Итого 9 вариантов. Думаю, что применение генераторов с разной кратностью по отношению к Fs - все же экзотика. Сделаю выбор одного из 3 вариантов - 22.5792+24.576 или 33.8688+36.864 или 45.1584+49.152.  2 джампера освободятся.



Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #130 : 21 Января 2013, 15:37:27 »
0
Сделаю выбор одного из 3 вариантов - 22.5792+24.576 или 33.8688+36.864 или 45.1584+49.152
очень разумное решение!
Генераторы обычно всегда бывают парные, да и для ЦАП всегда предпочтительнее иметь одинаковую кратность частот дискретизации и мастерклока в режимах одинаковой кратности ЧД.

Оффлайн dimitry

  • Хороший знакомый
  • **
  • Сообщений: 124
  • Репутация: 0
  • Дмитрий
  • Поблагодарили: +3
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #131 : 21 Января 2013, 17:44:50 »
0
Битклок - это частота генератора, деленная на некую константу.
Я ещё только учусь, исходники прошивки  не изучал, времени нет да и с цапостроением на вы, что-то всплыло из памяти про обьяснения как что работает- то не то ;-[

и добавил...
Андрей,вот нашёл краткое описание.Переключение разрядности и генераторов осуществляется автоматически по алгоритму:
Если ЧД = 1х (до 48кГц), то устанавливаются: разрядность – 16bit, ovs ЦАПа – 8x, включается генератор из сетки 44,1кГц.
Если ЧД = 2х или 4х (т.е. выше 48кГц), то устанавливаются: разрядность – 24bit, ovs ЦАПа соотв. – 4x или 2х, включается генератор из сетки 48кГц.
« Последнее редактирование: 21 Января 2013, 18:31:11 от dimitry »

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #132 : 22 Января 2013, 01:58:19 »
0
Я ничего не понял  :d_know: Похоже на то, что входной поток независим от частоты задающего генератора

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #133 : 22 Января 2013, 07:11:36 »
0
что входной поток независим от частоты задающего генератора
Совершенно справедливо! В общем случае никакой связи между частотой дискретизации и разрядностью нет и быть не может
И фонограммы бывают совершенно с разнообразными сочетаниями. На сегодняшний день только в моей относительно небольшой подборке (ок. 2ТБ) есть фонограммы 44/16, 48/16, 44/20, 48/20, 88/16, 88/20, 88/24, 96/16, 96/24, 176/20, 176/24, 192/24.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #134 : 22 Января 2013, 07:42:54 »
0
В общем случае никакой связи между частотой дискретизации и разрядностью нет и быть не может

Это очевидно. Но речь  не об этом.

Я никак не могу понять, как ЦАП, про который говорит dimitry, может самостоятельно переключать генераторы, основываясь на входящих данных. Понятно, что можно измерить частоту сэмплирования, и включить генератор на соответствующую сетку. Но в таком случае, передатчик IIS должен иметь собственный источник опорной частоты, а не тактироваться от генератора в ЦАПе. Иначе, пока не переключится генератор, не изменится скорость передачи по I2S. А пока не изменится скорость, не переключится генератор.

и добавил...
Соберу в одном месте более-менее полную информацию об устройстве.

1. Назначение
Устройство предназначено для подключения цифро-аналоговых преобразователей (ЦАП) с интерфейсом I2S к компьютеру через интерфейс USB.

2. Основные характеристики
- поддержка USB high speed
- частота дискретизации 44.1, 48, 88.2, 96, 176.4, 192 кГц
- разрядность потока от 16 до 32 бит
- питание от USB или отдельного источника питания 5-9 вольт
- поддержка операционных систем Microsoft Windows (XP, Vista, 7), Linux (с ядром версии 2.6.34 и новее). Должно работать и под Mac OSX - не тестировалось

3. Требования к ЦАП
- поддержка одного из последовательных интерфейсов с 64  тактовыми импульсами на отсчет сигнала : I2S, Left-Justified, Right Justified. Для формата Right Justified возможен вывод 16, 18, 20, 22 или 24 значащих разрядов
- наличие переключаемых тактовых генераторов. Возможные частоты - 22.5792+24.576 или 33.8688+36.864 или 45.1584+49.152 МГц
- наличие входа переключения генераторов
- выход генератора ЦАПа должен быть выведен для подключения к плате преобразователя

4. Соединители
- разъем I2S - 10 контактный, назначение контактов соответствует ЦАП Lynx D47, D60. За исключением управления деэмфазисом - не используется. Возможна гальваническая развязка
- разъем для подключения 10 светодиодов, индицирующих режим работы - 14 контактный, без гальванической развязки
- разъем с сигналами, соответствующими текущему  режиму работы - 10-контактный, с опциональной гальванической развязкой
- разъемы для подключения внешнего питания
« Последнее редактирование: 22 Января 2013, 13:20:10 от blindman »

Оффлайн dimitry

  • Хороший знакомый
  • **
  • Сообщений: 124
  • Репутация: 0
  • Дмитрий
  • Поблагодарили: +3
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #135 : 22 Января 2013, 18:19:42 »
0
Андрей, всё делать будет плис: определять, переключать генераторы и конфигурировать AD1853. В железе ещё не сделано, только проект для плис, по автодетекту не смоими знаниями обсуждать, как всё заработает сообщу. По преобразователю USB 2.0 - I2S всё отлично, очень универсален. Особенно RJ16. :v:

Оффлайн KiFFiR

  • Постоялец
  • ***
  • Сообщений: 262
  • Репутация: 1
  • ДНР, Горловка
  • Поблагодарили: +3
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #136 : 22 Января 2013, 20:37:57 »
0
Андрей, генераторы отдельно цеплять свои иль будут в комплекте?

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #137 : 22 Января 2013, 21:25:41 »
0
KiFFiR, генераторы должны быть в цапе.
3. Требования к ЦАП.....- наличие переключаемых тактовых генераторов. Возможные частоты - 22.5792+24.576 или 33.8688+36.864 или 45.1584+49.152 МГц
- наличие входа переключения генераторов
- выход генератора ЦАПа должен быть выведен для подключения к плате преобразователя

Оффлайн KiFFiR

  • Постоялец
  • ***
  • Сообщений: 262
  • Репутация: 1
  • ДНР, Горловка
  • Поблагодарили: +3
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #138 : 22 Января 2013, 21:39:10 »
0
Понял, спасибо.

Оффлайн KiFFiR

  • Постоялец
  • ***
  • Сообщений: 262
  • Репутация: 1
  • ДНР, Горловка
  • Поблагодарили: +3
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #139 : 02 Февраля 2013, 23:30:50 »
0
Андрей, можно ль в пару генов 22.5792+24.576 вместо 22,5792 поставить 22,5738?

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #140 : 03 Февраля 2013, 03:22:03 »
0
Конечно, можно. Если устроит частота дискретизации 44.089 кГц вместо 44.1

Оффлайн KiFFiR

  • Постоялец
  • ***
  • Сообщений: 262
  • Репутация: 1
  • ДНР, Горловка
  • Поблагодарили: +3
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #141 : 03 Февраля 2013, 10:20:38 »
0
Гы гы...))) Не устроит :)

Оффлайн Злой

  • Старожил
  • *****
  • Сообщений: 2727
  • Репутация: 12
  • Марат Уфа
  • Поблагодарили: +652
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #142 : 03 Февраля 2013, 14:22:08 »
0
Гы гы...))) Не устроит 
Будет чуть-чуть медленнее играть, скорее всего на слух не заметно.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #143 : 03 Февраля 2013, 14:33:01 »
0
Музыкальный строй будет сдвинут примерно на половину цента - на слух вряд ли заметно. По времени - примерно секунда за час воспроизведения.

Оффлайн KiFFiR

  • Постоялец
  • ***
  • Сообщений: 262
  • Репутация: 1
  • ДНР, Горловка
  • Поблагодарили: +3
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #144 : 03 Февраля 2013, 16:08:51 »
0
Ладненько, то уже нужно с готовым устройством городить. Андрей, как скоро будете рассылку готовить?

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #145 : 08 Февраля 2013, 16:39:49 »
0
Платы смонтированы, отмыты. Получилось 8 штук, у двух из 10 не запускается тактовый генератор контроллера - похоже, при монтаже "убил"  :d_know:. Завтра проверка монтажа, окончательное "купание" и прошивка

Оффлайн dimitry

  • Хороший знакомый
  • **
  • Сообщений: 124
  • Репутация: 0
  • Дмитрий
  • Поблагодарили: +3
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #146 : 10 Февраля 2013, 18:30:11 »
0
Андрей, есть вопрос или сомнение даже не знаю, ты светодиоды напрямую к пинам плис подключаешь, судя по схеме (через резистор) . Я про свой проект на плисине задумался. Плис 20-25мА держит и я подключал напрямую, но может надо подстраховаться если плис в сто ног перепаивать не очень хочется, поставить буфер или резюка хватит, яркого свечения в принципе не надо.   

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #147 : 10 Февраля 2013, 18:42:15 »
0
Подключать светодиоды напрямую к выводам ИС можно ТОЛЬКО в том случае, если выводы имеют предусмотренное штатное ограничение тока. Это есть далеко не всегда. если же такого ограничения нет, то прямое подключение светодиода приведет либо а) к сгоранию выходного буферного элемента ИС, либо б)сгоранию светодиода, либо в) сгоранию и того, и другого.

Оффлайн dimitry

  • Хороший знакомый
  • **
  • Сообщений: 124
  • Репутация: 0
  • Дмитрий
  • Поблагодарили: +3
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #148 : 10 Февраля 2013, 19:34:40 »
0
Спасибо, Дмитрий. Понимать бы ещё эти даташиты, лучше поставить буфер.

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #149 : 10 Февраля 2013, 19:42:55 »
0
Вообще, светодиоды нужно всегда подключать через соответственно выбранный ограничительный резистор, рассчитывающийся предельно примитивно:
R = (Uпит - Uf)/I,
где Uпит - напряжение питания
Uf - прямое падение на светодиоде (в зависимости от типа 1.5...2.5В)
I - выбранный рабочий ток.
Для старых и приятных на вид приборов ток нужен был 3...10мА, для новых очень ярких и отвратительно неприятных - 1...3мА. Большие токи нужны только в случае, если проектируется светодиодное освещение (кстати, КРАЙНЕ вредное для зрения)

 

Похожие темы

  Тема / Автор Ответов Последний ответ
29 Ответов
25363 Просмотров
Последний ответ 26 Июля 2013, 11:37:32
от technic
58 Ответов
45012 Просмотров
Последний ответ 15 Ноября 2017, 14:29:21
от WolfTheGrey
0 Ответов
6874 Просмотров
Последний ответ 30 Июня 2016, 23:32:01
от Андрей
46 Ответов
33492 Просмотров
Последний ответ 24 Февраля 2018, 23:09:07
от WolfTheGrey
2 Ответов
7248 Просмотров
Последний ответ 25 Мая 2019, 18:14:45
от serega