спдиф на чем? у них обычно есть сигнал линк, это когда он несущую получает, вот им и рулить.
cs8422, но вход i2s реализован отдельно, через триггер. Т.е. либо с cs8422 либо с I2S через триггерный пин
Да, на нем нет такой ноги, на вм8804/5 ак4118 есть, цирроз логики, чё с них взять.
Что еще можно попробовать, я не знаю, может кто подскажет, если нет потока, что на выходах лисы, битклок, вордклок есть? И тоже самое у цирроза, если пропадает тактовая в отсутствии сигнала, то можно сделать простейший одновибратор, есть сигнал 1, нет сигнала 0.
кстати, если битлок,вордлок пропадают то не сильно сложно будет замутить переключалку. а вот если там всегда что-то есть… то даже хз. на МК собирать детектор i2s.
Правильно ли я понимаю, что Ethernet порт luckfox имеет вывод на заземление? То есть для него имеет смысл подключать экран Ethernet кабеля к коннектору?
Имеет, но имеет ли смысл…)))
С пина mute инвертировать. Там 0 когда вещает I2S и 3.3 когда молчит.
@ppy вопрос, не могу до mute добраться пока, то есть при включении лиса mute 0 = “играет”, а лог 1 приходит только когда он стартовал?
Я проверял на связке Qobuz - Luckfox QC - I2S, но думаю логика работы будет всегда такая. Если идёт воспроизведение по I2S то на пине mute 0В, останавливаю воспроизведение стоп или пауза, на mute 3.3В
Есть нюанс.
Я искал для себя способ щелчок убрать при включении питания. Реле запитать. Но 3.3 вольта на mute после включения появляются не сразу, а с небольшой задержкой.
В этой логике все выходы открыты, и при включении устройства получаем бдэмс в акустику. Пока оно не стартовало и выставило 1 для mute.
Гораздее иметь 0 = mute, хотя странная кривая традиция обычно 1.
Впрочем, надо проверить, 0 ли при включении, или state. Если state, можно притянуть к +
Для меня тоже было бы удобнее наоборот. 0 когда нет воспроизведения. Может быть это где-то в конфигах прописано? Нужно Павла спросить.
Да это вариант
-
Ничего странного в mute -1 нет. Это управляющий сигнал управления. И логично, когда он есть - муте в действии.
-
При включении все GPIO находятся в Z состоянии, пока их не проинциализирует система. Поэтому просто добавьте на этот вывод подтягивающий резистор на 3.3в.
Да, мой вариант, спасибо. Но для этого
не подойдёт. Вот и была мысль что реакция mute где нибудь в конфиге определяется.
Я не спорю, это логично, если не брать в расчет тот факт, что при включении устройство должно выдать тоже 1. Но это же программное устройство, и 1 оно не обучено выдавать из спячки.
Переходные процессы…
Супер, спасибо, понял, Z спасает.
Но бабах все равно имеет шанс – потому что единица, размыкающая выход (или замыкающая его на землю) возникает одновременно с питанием, и за долю секунды мы рискуем получить импульс. Задержку на реле тогда сделать.
@ppy Павел, признаю что мы уже много хотим и губу пора давно закатать. Можно может сделать поведение пина mute настраиваемым (через строчку в конфиге где нибудь). Т.е. либо mute это low level либо hi level
Было бы прям очень хорошо ![]()
А чтоб прочесть этот самый конфиг, нужно для начала загрузить операционную систему?
Верно?
Либо за неимением оверлеев сгенерить специальные подменные DTB.
Но я считаю, что такие вещи, наряду со свапом каналов, частотами мастер-клока и специфическими выводами I2S, нужно уводить в специальный конфиг-файл по аналогии с “Ботиком”.
ну это можно обойти подтяжкой на землю или +3.3, в зависимости от потребности. Зато не придется “городить” инвертор)
Ой а можно тумблер даты сделать 27 или 29 ноги для псм)))