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

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

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #30 : 04 Октября 2012, 23:14:23 »
0
Нет, просто многоканальные DVDA к звуку особого отношения не имеют.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #31 : 05 Октября 2012, 14:33:53 »
0
иметь выход (3 разряда) кода, соответствующего актуальной частоте дискретизации
А существует какой-то "стандарт" де-факто? Или кто во что горазд?
Иметь вход внешней синхронизации от частот 33.8688/36.864 , 16.9344/18.432 и 22.5792/24.576 МГц
Не маловато для 176/192 кГц?

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #32 : 05 Октября 2012, 14:53:23 »
0
Андрей, как такового стандарта нет, я, к примеру, в своих устройствах использую такую кодировку: 0 - 44.1кГц, 1 - 48кГц, 2 - 88.2кГц, 3 - 96кГц, 4 - 176.4кгц, 5 -192кГц, 6 и 7 -резерв. То есть просто по примитивной логике нарастания двух рядов.

16.9344/18.432 - действительно маловато. Хватит только на 96 кГц. Соответственно, остается 33.8688/36.864 и 22.5792/24.576. Можно добавить еще 45 и 49МГц - в ряде случаев может быть полезным.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #33 : 08 Октября 2012, 08:03:33 »
0
Решил делать 2 канала. Схему нарисовал, прикинул трассировку на 2 слоях. Наверно многослойку делать нет смысла.
(Извините, но у Вас нет доступа в Галерею)
(Извините, но у Вас нет доступа в Галерею)








На днях начну отлаживать с подключенным ЦАПом, потом займусь драйверами для Windows

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #34 : 08 Октября 2012, 12:58:07 »
0
Четырехслойка будет иметь совершенно однозначное преимущество по помехозащищенности устройства. Из моей практики разработки измерительной аппаратуры, многослойные ПП имеет смысл применять в любом случае, если это позволяют стоимостные рамки.Тем более, что стоимость заказа двухсторонок и многослоек не столь уж радикально отличаются.

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #35 : 08 Октября 2012, 13:12:38 »
0
blindman, ты psoc3|5 вообще глядел?) сиденок точно не хватает? кривенькая реализация i2s есть даже в примерах

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #36 : 08 Октября 2012, 13:25:18 »
0
Дмитрий, спасибо , буду смотреть в строну многослойной платы.

Ренат, по документации I2S в кипарисовской реализации не более 96 кГц. Я пока сильно в подробности не вдавался, из-за чего такое ограничение. Мне чтоб с Windows полноценно поработать, а не в эмуляторе, надо у жены с сыном компьютер отбирать. А они сопротивляются почему-то :)

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #37 : 08 Октября 2012, 14:17:36 »
0
ну она в оригинале еще и в мастерклоке только работает ) думаю просто реализация кривенькая, ну и возможно для совместимости с 3 поколением.
попробуем покопать сами значит)

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #38 : 08 Октября 2012, 19:12:49 »
0
Lynx, Дмитрий, я вот прикидываю как использовать многослойную плату. Все сигнальные проводники на двухслойной я разместил сверху, весь нижний слой под общий провод. Если использовать 4-слойку, все ведь останется точно так же, только можно цепи питания перенести на отдельный слой. Вы считаете, что это существенно улучшит помехозащищенность, или уменьшит излучение? Да и еще "лишний" слой остается  ???

и добавил...
она в оригинале еще и в мастерклоке только работает
Не понял, что значит "в мастерклоке".

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #39 : 08 Октября 2012, 22:56:25 »
0
blindman, питание и землю на верхний и нижний слои полигонами.

и добавил...
хотя обычно наоборот на внутренних делают обычно.

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #40 : 09 Октября 2012, 01:02:41 »
0
Андрей, тут возможны варианты.
Если все проводники разводятся в один слой , то, в принципе, можно оставить и двухслойку. Обычно во внутренние слои выносятся земли и питания, а также разные нестандартные вещи типа согласованных симметричных линий (что бывает полезно для передачи чистых тактовых сигналов, напр. в ЦАП). Еще бывает удобно использовать многослойку, когда на плате много деталей обвязки, и их удобно разместить с обеих сторон, в таком случае земля сплошным полигоном получается на поверхности плохо и её хорошо убрать вовнутрь. Если же таких особенностей нет, наверное многослойка и не нужна. В данной ситуации принципиальных преимуществ у нее не будет.



Оффлайн олег640

  • Хороший знакомый
  • **
  • Сообщений: 126
  • Репутация: 0
  • Поблагодарили: +6
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #41 : 10 Октября 2012, 12:00:39 »
0
Андрей,может еще рассмотреть подключение хорошего в плане рамера экрана,наверняка многим интересно законченное устройство,у меня вот к примеру комп в соседней комнате...может вместе с этим"Аудиоплеер на основе mini2440 "интерсно будет,как раз я цап соберу,будет к чему подцепить :)
« Последнее редактирование: 10 Октября 2012, 12:05:51 от олег640 »

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #42 : 10 Октября 2012, 12:27:14 »
0
Олег, тут экран никаким боком - это устройство только для использования совместно с компьютером и ЦАПом с I2S входом.

А плеер тот я наверно делать не буду. С одной стороны, там очень важен интерфейс пользователя, а дизайнер/программист UI из меня чуть больше, чем никакой. А с другой, я стал приходить к примерно тем же выводам, которые высказывал здесь  Дмитрий Lynx

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #43 : 20 Октября 2012, 07:18:24 »
0
Подключил ЦАП.  Играет  8)

При переключении генераторов какое время нужно для того чтобы генератор вышел на режим? Миллисекунды достаточно?

Оффлайн Segun

  • Старожил
  • *****
  • Сообщений: 1784
  • Репутация: 9
  • Поблагодарили: +558
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #44 : 20 Октября 2012, 07:41:23 »
0
А плеер тот я наверно делать не буду
На такой Mini2440 наверно можно сделать индикатор чх и регулятор никитинский и защиту и это все для умзч :) :off:

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #45 : 20 Октября 2012, 08:30:36 »
0
Подключил ЦАП.  Играет  8)
Поздравляю, коллега!

При переключении генераторов какое время нужно для того чтобы генератор вышел на режим? Миллисекунды достаточно?
Зависит от того, какие генераторы.
Если без гашения генерации - то время включения -составит десятки наносекунд, если с гашением (что очень желательно) - то до 5...10 миллисекунд.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #46 : 20 Октября 2012, 08:41:28 »
0
Дмитрий, спасибо!

Мне это нужно для того чтобы выдавать сигнал "валидные данные". Под Linux с ALSA между передачей информации о частоте выборок и началом передачи данных проходит около 10 мс. Под Windows это еще предстоит определить. Думаю переводить сигнал "валидные данные" в неактивное состояние на чуть меньше чем 10 мс. С одной стороны, нужно чтобы генератор успел выйти на рабочий режим, с другой стороны не потерять первые сэмплы.

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #47 : 20 Октября 2012, 12:38:10 »
0
Андрей, я измерил время выхода на режим генераторов Crystek CCHD957, работающих у меня в Lynx D48. Один (45.1584МГц) - 13.7мс, второй (49.152МГц) - 9.5мс, третий (CCHD950, 95МГц, с внешней коммутацией питания) - 12мс.
Мне кажется, что valid data должен иметь таймаут не менее 10...12 мс, а то и больше. В Edel сделано вообще около 100мс.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #48 : 20 Октября 2012, 12:58:10 »
0
Насколько я помню, стандарт USB audio позволяет устройству задавать время установления тактового сигнала, а также поддерживать запрос готовности тактового генератора. Я подробно не изучал исходники драйверов Linux в этой части, но при беглом просмотре у меня сложилось впечатление, что время установления вообще не проверяется, а неготовность генератора безусловно интерпретируется как ошибка. Буду изучать подробнее

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #49 : 20 Октября 2012, 13:13:50 »
0
Я тоже этот момент не изучал, замечу лишь, что отсутствие или неправильность такта в течение 0.5...1мс в Edel вызывает сбой работы и зависание драйвера.
PS К слову, исчезновение такта или его неправильность в модуле Flamenco (разработки А. Самсонова) проходять совершенно безболезненно...
« Последнее редактирование: 20 Октября 2012, 13:27:54 от Lynx »

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #50 : 20 Октября 2012, 13:45:14 »
0
В моем макете я тоже совершенно спокойно могу снять питание с генератора. Звук естественно пропадает, но компьютер этого даже не замечает и продолжает отправлять данные. Причем эту ситуацию при необходимости можно легко определить, например, по переполнению буфера. При восстановлении питания генератора снова появляется звук. Правда, если отсутствует тактовый сигнал в момент, когда должно произойти переключение генераторов - переключения не произойдет.
« Последнее редактирование: 20 Октября 2012, 13:48:09 от blindman »

Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #51 : 20 Октября 2012, 13:54:19 »
0
Устойчивость к пропаданию такта (не подвешивает комп) - это ОЧЕНЬ большой плюс!
Дело в том, что именно сбои при переключении такта были главной проблемой, которую пришлось решать при работе со швейцарским модулем.
Если есть возможность сделать отправку данных независимой от состояния устройств, принимающих эти данные с модуля, то это было бы очень хорошо. Ну а отловить ситуацию - просто вывести флаг переполнения или обнуления буфера, который использовать либо для индикации, либо для инициализации проверки режима ЦАП. Но это уже функции самого ЦАП.

Оффлайн Eugene Balakin

  • Знакомый
  • *
  • Сообщений: 34
  • Репутация: 0
  • Поблагодарили: 0
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #52 : 20 Октября 2012, 18:27:19 »
0
Устойчивость к пропаданию такта (не подвешивает комп) - это ОЧЕНЬ большой плюс!
Дело в том, что именно сбои при переключении такта были главной проблемой, которую пришлось решать при работе со швейцарским модулем.

Дима у меня таких проблем с Эдель  не было - если ты имеешь ввиду переключение сеток 44/48.
Все сделано очень просто - фактически как в твоем Д60 Линксе.  Два генератора, -  два гейтика, сигнал 44/48 на управление одного напрямую, второго - через инвертор (просто транзисторчик использую). Питание генераторов тоже переключаю.
Нужно сказать, что в моем случае Эдель жестко поставлена в режим внешнего клока - просто прибит к земле соответствующий контакт шлейфа. Т.е. у меня Эдель никогда не работает от своих мастергенов.
Что меня анноит в Эдель, и  единственное, что таки анноит, и  тоже из-за потери мастерклока - это следующая ситуация:
Сделано раздельное питание - ЮСБ часть Эдель питается по ЮСБ, схема ввода/вывода от ЦАП. От ЦАП же поступает мастерклок сигнал. Все собственно - штатно.
Но есть неудобный момент - отключаешь питание ЦАПа - комп  в режиме 7/24 - не выключается - естественно, тактовый сигнал и питание "половины" Эдель пропадают.
И драйвер виснет. Жестко. При повторном включении приходится дергать разъем ЮСБ на Эдель.
Таки дергаю разъем :)
К счастью, я не так часто ЦАП выключаю, по-крайней мере в выходные, когда могу слушать музыку. Иными словами - дергаю ЮСБ раз в неделю :)


Оффлайн Lynx

  • Разработчики
  • *****
  • Сообщений: 1627
  • Репутация: 31
  • Дмитрий
  • Поблагодарили: +147
    • Lynx Audio
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #53 : 21 Октября 2012, 22:00:01 »
0
Жень, у меня Эдель вис несколько раз при смене частот и при отсутствии такта более 3...5мс. Ну и ситуация, что ты описал весьма жестка. Тоже бывало несколько раз. Пришлось принять меры - при всех таких случаях я автоматически переключаю приемник на работу с собственными генераторами. Похоже, переключение у них реализовано грамотно - с точностью до полпериода такта, и все проблемы с зависаниями решились полностью. Поскольку я ЦАП включаю/выключаю регулярно, то решение данной заморочки было для меня принципиально важным моментом.

Оффлайн blindman

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

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

Настройки
  • частота генератора для сетки N*48кГц : 24.576, 36.864 или 49.152 МГц
  • частота генератора для сетки N*44.1кГц : 22.5792, 33.8688 или 45.1584 МГц
  • формат выходных данных: I2S, LJ или RJ
  • способ определения разрядности потока - или как установил хост, или по фактически передаваемым данным. Иногда хост может например выбрать 32 бита, но фактически передавать только 24

Выходы, без гальванической развязки, основное назначение - подключение светодиодов индикации
  • частота дискретизации - 44.1, 48, 88.2, 96, 176.4, 192
  • разрядность потока - 16, 24, 32
  • наличие  USB подключения

Выходы, с опциональной гальванической развязкой
  • переключение генераторов
  • частота дискретизации в двоичном коде (3 разряда)
  • "Hires": 1 - 24 или 32 бита, 0 - 16 бит
  • "valid data"
  • "Mute" - отображается в элемент управления в операционной системе. может использоваться например для приглушения усилителя без прерывания потока данных

Оффлайн lintech

  • Читаю форум
  • Сообщений: 11
  • Репутация: 0
  • Поблагодарили: 0
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #55 : 25 Октября 2012, 12:55:46 »
0
Как обстоят дела с виндовыми драйверами ?
Примерная цена устройства ?

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #56 : 25 Октября 2012, 13:02:56 »
0
Как обстоят дела с виндовыми драйверами ?
Пока никак. Лично мне они не требуются, поэтому буду заниматься драйвером только после того как будет готово само устройство. Выше я писал о open-source кандидатах на драйвер
Примерная цена устройства ?
Не могу сказать, не считал. Навскидку - меньше 200 долларов :)

Оффлайн lintech

  • Читаю форум
  • Сообщений: 11
  • Репутация: 0
  • Поблагодарили: 0

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #58 : 25 Октября 2012, 13:31:02 »
0
Конечно нет. И цели такой нет

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: [ПРОЕКТ] преобразователь USB 2.0 - I2S
« Ответ #59 : 25 Октября 2012, 14:32:48 »
0
lintech, судя по количеству это какое то бушное (возможно ремонтное) чудо похоже.

 

Похожие темы

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