Доброй ночи господа
посмотрите плиз это то о чем мечталось ? http://www.noiseisgood.co.nz/?p=365 и http://www.raspberrypi.org/phpBB3/vi...=8496&start=25 (Posts: 43)
Доброй ночи господа
посмотрите плиз это то о чем мечталось ? http://www.noiseisgood.co.nz/?p=365 и http://www.raspberrypi.org/phpBB3/vi...=8496&start=25 (Posts: 43)
20MHz? По мне так явно 3я гармоника на уровне 1/2 от 1й (если не обсчитался). Просто интересно, все генераторы такое генерят? Я прям в сомнениях. Я бы "озаботился". Ну если это конечно не норма и не так и должно быть.
---------- Сообщение добавлено 12:54 ---------- Предыдущее сообщение было 12:47 ----------
Ну, 3ю гармонику-то щупы не должны генерить (или 2ю/4ю???)? Да и 20МГц - вообще ни о чем. Ясно, что меандра не увидишь, но и вот такого, как мне кажется, тоже не должно быть. С геной точно всё в порядке? А то я беспокоюсь .
Смысл в чем? При прохождении через буферы, развязки ... может быть сдвиг напряжения или уровня, что может быть воспринято как удвоение/уроение частоты.
Буфера Гене приделать нет смысла чтоб такого не было? Или мои беспокойства из области фантазий?
"Лучше промолчать и показаться дураком, чем раскрыть рот и развеять все сомнения" Марк Твен.
Непорядок в Датском королевстве!!! Буфер же должен меандр выдавать. Он-жеж тупой и не умеет аналог усиливать. Что за ...??? Там где-то контура какие-то получаются в щупе? Или "земля" так скочет?
В общем, не нравится мне это. Непорядокъ!!!
"Лучше промолчать и показаться дураком, чем раскрыть рот и развеять все сомнения" Марк Твен.
1. Прошу прощения, уточню: I2S в RPi таки удалось заставить работать слэйвом (от внешнего клока)?
Всего начитался - голова пухнет а перечитывать - так еще бОльше распухнет.
Но впечатление, что в СВ и ВВВ оно работает, а в РПи - только "мастером", осталось (впечатление).
2. Где работает, где не работает (на каких платках)? И чем это определяется?
3. И где какие бубны нужны чтобы оно заработало от внешнего клока?
4. Что конкретно делает ПЛИСина на данном переходнике?
5. И вопрос управления совсем внешним клоком (не ЦАПовым) - допустим, он совсем "глупый" и надо "снаружи" переключать сетку и делитель - как это сделать на уровне железа (видимо, оптопарами) и что надо делать в софте? Или ПЛИСина как раз этим и занимается?
6. Нет ли смысла передавать сигналы, например, клок через трансформаторную развязку например, от езернет?
7. Все современные ЦАПы, как понимаю, "едят" стандартный I2S с 32-битными "словами". Допустим, я хочу подключить 16-битный ЦАП или 24-битный ЦАП, которые "едят" только 16 или 24 бит соответственно - надо ли где-то преобразовывать 32 в 16/24 или данные ЦАПы (всякие древности типа 1541, 58/63, ...) просто проигнорируют лишние данные? RJ ЦАП? - как сделать подключение наиболее универсально? Т.е. что должно быть до I2S, что после, чем и как "рулить" из софта, что придется делать в железе?
8. хочется понять, как и насколько глубоко (полно) реализован I2S на данных платах? На уровне процессора/ядра системы или какой-то универсальный IO заставляют выполнять ф-ии I2S с помощью "драйвера"?
9. Как работает WS при бОлее чем 2 каналах? Как оно (у-во на I2S) понимает, в какой канал пихать данное слово? Со стерео понятно: 0 - в один, 1 - в другой.
Много вопросов. Может, не корректных.
"Лучше промолчать и показаться дураком, чем раскрыть рот и развеять все сомнения" Марк Твен.
1. Работает слейвом, нужны два внешних клока 22,5792 и 24, 576 МГц.
2. Я делал для Raspberry Pi. Сама идея может работать практически на любой плате, где в SoC есть аппаратный I2S и он выведен на внешний GPIO.
3. Плата и драйвер. Драйвер для Raspberry Pi есть во всех популярных дистрибутивах. Драйвер открытый, можно собрать под любой Линукс.
4. WM8804 это передатчик S/PDIF, в данном случае используется для формирования сигналов битклока и вордклока из мастерклока. Коэффициенты внутренних делителей загружаются драйвером при смене формата воспроизведения.
5. Драйвер через плату выдает сигнал переключения клоков на оптопару, дальше зависит от реализации клоков.
6. Все сигналы идут через гальваноразвязку. У меня ISO7741, можно ADUM или что-то другое.
7. Только I2S, разрядность можно настраивать программно в Линуксе.
8. В SoC BCM2711/BCM2837 аппаратно реализован блок I2S.
9. В данном случае только стерео. Но на некоторых платах видел несколько каналов I2S.
---------- Сообщение добавлено 20:07 ---------- Предыдущее сообщение было 19:47 ----------
P.S.
7. В данной реализации I2S 16/24. В теории можно LJ и RJ 16/24, если переделать драйвер, но точно сказать не могу.
Если I2S работает как I2S, то добавляются еще линии данных (SD0, SD1, SD2,etc.), по каждой из которых передаются 2 канала.
Или I2S работает в режиме TDM, тогда линия данных одна, и по ней передаются все каналы последовательно (1,2,3,...), а WS представляет собой относительно короткий импульс (а не меандр, как в предыдущем случае) по время передачи 1 канала.
"Замполит, чайку?"(с)"Охота за Красным Октябрем".
"Ну что, можете меняться обратно."(с)типа анек.
<-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.
На обсуждаемых микроРС (Пи, ВВВ, СВ) линия данных только одна или можно "добавить"? И как, если возможно?
Если ТДМ, то есть ли готовое решение "распределителя" по ЦАПам (каналам)? В принципе, там не очень сложно должно выйти.
Поддержка в драйверах многоканалки имеется? И какого вида?
---------- Сообщение добавлено 19:56 ---------- Предыдущее сообщение было 18:50 ----------
Еще раз уточню: I2S - это не универсальный порт в/в, приспособленный под определенные цели дровами, а специализированный порт, реализованный в первую очередь в процессоре и, соответственно, имеющий более-менее стандартную поддержку в виде драйверов? Т.е. нет I2S в проце - никак ты его не реализуешь (через УСБ не берем).
Драйвер свой под каждый режим (мастер/слэйв)? "На лету" не переключается? Перегружать девайсину надо? Процессы убивать/запускать? Я понимаю, что вопрос академический - в реальной жизни не нужный.
Куда/как? Как повидло в конфеты засовывают???
Что драйвер "видит" смену формата - понятно. Как это "увидит" у-во по ту сторону I2S и как драйвер "расскажет" об этом через I2S?
Если в "мастере" - там всё понятно - подаются новые клоки и у-во "подстраивается" - этого достаточно.
Вот как это сделать чисто через I2S в "слэйве", мне пока непонятно.
МастерКлок и БитКлок - это одно и то-же или разное? И как они соотносятся? Мастерклок есть в И2С или передается отдельно?
Вот как драйвер "говорит" "плате"???
Я почему-то считал, что на I2S можно тупо трансформаторов от Ethernet поставить. Они, правда, более громоздкие и не факт, что ёмкость меньше. Но люблю простые решения.
"Слова" I2S могут быть 16 и 32-битные (вроде как по стандарту). Т.е. 16 бит - или 16 или 32 бит, 24 - 32, младшие заполняет нолями.
Хотя в "железе" собственно I2S никто не мешает передавать слова любой разумной битности.
Я так сильно подозреваю, что 16 бит в настоящее время "упрощена" и осталось только 32.
РС "не знает", какой ЦАП подключен через I2S.
Меня волнует, как старые микросхемы ЦАП, которые бОльше 24бит не разумеют, поймут 32-битные "слова" - надо ли им какую-то логику делать чтобы переделывать 32 в 24/20/18/16?
"Лучше промолчать и показаться дураком, чем раскрыть рот и развеять все сомнения" Марк Твен.
Давненько ты тут мозг не выносил...думал, хоть какие то знания появятся у тебя. Увы, остался таким же. Все равно не сделаешь ничего. Те же вопросы...лень читать тебе совсем? Вроде давно торчишь на форумах.
Какой клок отвечает за джиттер (за длительность "отсчёта") у ДС и Мультибитных ЦАП?
По логике вещей, мультибитные ЦАПы должны отдавать сигнал по ВордКлоку (WS) - он д.б. "кашерным"*. Или по сочетанию ВордКлока и БитКлока. Или ВК и МК.
Какой клок в ДС отвечает за джиттер? МК?
*) - "правильный"
---------- Сообщение добавлено 20:16 ---------- Предыдущее сообщение было 20:11 ----------
И я вам тоже очень рад. Желаю здоровья и благополучия.
Мне надо чутка знаний "поддогнать". Если по делу есть что сказать - милости прошу. Нет - удачи.
"Лучше промолчать и показаться дураком, чем раскрыть рот и развеять все сомнения" Марк Твен.
Бобби, не могу читать, как ты мучаешься. Подарить тебе банану 3 с армбианом и установленным аплеером и рсм2607 платку? Будешь i2s с нее подавать на старый цапик.
2706 таки? Так она слэйвом вроде не могётъ. Плюс у меня ХМОС есть. Зачем мне 2706?
Шо за банана? Банана Пи? На А20? Так там вроде как и2с нету. Или другая банана?
---------- Сообщение добавлено 22:01 ---------- Предыдущее сообщение было 21:53 ----------
https://micro-pi.ru/banana-pi-m3-bpi-m3-мини-пк/
Эта?
"Лучше промолчать и показаться дураком, чем раскрыть рот и развеять все сомнения" Марк Твен.
Да ты продвинутый чувак! Юсб тебя не устраивает, как источник, банана а88т. Через аманерку играет себе.
Да, эта, я опечатался, 83.
Последний раз редактировалось Михаил45; 10.10.2019 в 06:20.
Практически все многоканальные ЦАПы понимают TDM, при исползщовании несколькиз 2-х каналных, пробще исполощовать I2S с несколкими линиями данных, хотя можно кнечно сделать и преобращватель TDM>I2S на плиске.
MCLK, у всех выпускаемых ныне ЦАПов, которые все мульмибитные.
У древних параллельников - WCLK (он же LRCLK) или аналогичный
ему.
"Замполит, чайку?"(с)"Охота за Красным Октябрем".
"Ну что, можете меняться обратно."(с)типа анек.
<-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.
Я просто поискал.
А88Т ващпе не ищется.
Максимально похожее что нашел - https://micro-pi.ru/banana-pi-m3-bpi-m3-мини-пк/
она на А83Т - 8-ядерник + 2Гб оперативы +8Гб еММС - довольно "развесистое" у-во.
Есть И2Эс (на процессоре), можно ли его заставить работать слэйвом (от внешнего клока) - пока не понимаю.
И выведен ли он хотя бы на плату - тоже без понятия. Надо манаулы курить. В х-ках banana-pi-m3 И2Эс отсутствует.
УСБ вполне устраивает. Только не 2706 и иже с ним.
А Аманера может играть с чего угодно - лишь бы УСБ было. Вон, у меня 0204 с роутера играет. С Аманеро/ХМОС, думаю, проблем не будет - смысла не вижу запускать. Приделывать к УСБ-И2Эс переходнику микрокомпьютер смысла особого не вижу. Уж проще и дешевле какой-нибудь Атом собрать. Главное - ПРЯМЕЕ!
Смотри-ка ты! Вроде даже выведены на колодку: https://pcminipro.ru/stati/raspinovk...gpio-bananapi/
Имя контакта GPIO - Функция по умолчанию - Function2: GPIO
CON3-P01
CON3-P29 - I2S_MCLK - PB5
CON3-P30 - GND -
CON3-P31 - I2S_BCLK - PB6
CON3-P32 - I2S_DI - PB12
CON3-P33 - I2S_LRCK - PB7
CON3-P34 - GND
CON3-P35 - I2S_DO0 - PB8
---------- Сообщение добавлено 01:17 ---------- Предыдущее сообщение было 00:32 ----------
Вопрос, как понимаю, в том, что на подобных платках только 1 I2S с одной линией данных и дополнительных линий взять негде.
Остается ТДМ. В принципе, логически должно быть не сложно: считаем кол-во битклоков за "1" вордклока - эти биты в 1й канал, в остальные каналы - по столько-же бит циклически. 3 счетчика. На 133й серии в коде Грея можно воплотить
Какая разница параллельный вход у мультибитника или серийный? Полюбому он должен всё слово загрузить, потом по WS или WS&BK выдать нагора сигнал. Ну или как минимум, УВХ должно срабатывать, если сигнал меняется по мере загрузки бит. Но ИМХО, это - хрень. И все мультибитники внутри "параллельные".
И мне казалось, что все современные ЦАП как раз ДС. Или "комбинированные". Вот как у них сигнал выводится - до сих пор не понял. Только принцип понимаю. А вот "на пальцах" - нет.
Последний раз редактировалось Bobby_ii; 10.10.2019 в 01:32.
"Лучше промолчать и показаться дураком, чем раскрыть рот и развеять все сомнения" Марк Твен.
Это аппаратный порт. С тем, как работает, можно ознакомится в даташите на SoC нужного микрокомпьютера. Например, BCM2835 для Raspberry Pi 3.
В общем, они все одинаковые, и все могут работать в ведомом режиме. Отличие только в том, можно ли завести внешний сигнал PCM_MCLK. В BBB можно, в Raspberry Pi нельзя.
Поэтому для Raspberry Pi мы идем другим путем - не используем внутренний PCM_MCLK, а подаем снаружи сигналы PCM_CLK и PCM_FS - для чего их нужно самому сформировать из мастерклока ЦАПа.
---------- Сообщение добавлено 10:20 ---------- Предыдущее сообщение было 09:00 ----------
Создал отдельную тему с описанием, исходниками и герберами:
Плата I2S для Raspberry Pi на WM8804.
Социальные закладки