Как стать автором
Обновить

Как работает кнопка Mute на Яндекс Станции. Подробный разбор логики и схем

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров41K
Всего голосов 92: ↑88 и ↓4+108
Комментарии195

Комментарии 195

Как реализована схема питания и распиновка центрального процессора?

Так как часто в таких устройствах делают возможность полной перезагрузки (по ватчдогу например) - причем это не ресет процессора, а именно жесткая перезагрузка, при которой происходит коротковременное отключение питания, затем задержка, затем подача питания (сделано специально, чтобы полностью обесточить схему и получить чистое начальное состояние).

Иногда это делают следующим образом (грубо) - она из сигнальных ножек процессора идет на землю, когда нужна перезагрузка, на нее подают логическую 1 - происходит кз, бп уходит в защиту (с задержкой), отключая выходную линию питания, затем после задержки контроллер бп снова подает питание.

В этом случае, чтобы включить микрофоны - достаточно выполнить эту перезгрузку - при пропаднии питания и подачи его заново микрофоны снова включатся, так как состояние триггера также сбросится (если я верно понимаю схему) - и все - можно программно их включать не смотря на все показанные навороты.

С моей точки зрения гораздо проще и для понимания и для безопасности было сделать диод, работающий при подаче питания на микрофоны и отдельно тумблер/движок именно для физического отключения питания микрофонов - и все.

Это точно проще, чем городить отдельную схему на триггерах и что-то доказывать.

Да, выключатель менее надежней кнопки - но есть вполне качественные, выдерживающие очень много переключений и при этом стоимость диода + выключтеля + отверстии в корпусе не сильно бы увеличило (если бы вообще увеличило) цену конечного изделия.

Тому, кто не беспокоится за все это было-бы еще проще - он эту кнопку просто бы не трогал да и все.

для безопасности было сделать диод, работающий при подаче питания на микрофоны

будет ночью светить

Никто не заствляет ставить туда что-то вырвиглазное - достаточно поставить не яркий диод, который ничего не будет вокруг освещать, но достаточный, чтобы бросив взгляд на колонку, понять что к чему. Хорошо для этого подходят, например, оранжевые диоды. Собственно, в профессиональной технике так как раз и сделано.

Видно его будет только при прямом взгляде на колонку.

В Станциях есть датчик освещенности, который регулирует яркость

Тогда диодом будет управлять процессор, что как бы нивелирует всю идею.

Для регулировки сделать отдельный копеечный микроконтроллер со своим датчиком освещённости, который не будет связан с основным процессором.
Ну или вообще на транзисторах такую же схему собрать.

Как реализована схема питания и распиновка центрального процессора?

Я могу кинуть скриншоты, но их будет много - и довольно бессмысленно: ног у проца полно, а питания тоже - там целое дерево.

Так как часто в таких устройствах делают возможность полной перезагрузки (по ватчдогу например) - причем это не ресет процессора, а именно жесткая перезагрузка, при которой происходит коротковременное отключение питания, затем задержка, затем подача питания (сделано специально, чтобы полностью обесточить схему и получить чистое начальное состояние).

У нас такого нигде нет. Питание микрофонов к питанию проца не привязано, и при перезагрузке проца микрофоны тоже не затронуты.

гораздо проще и для понимания и для безопасности было сделать диод, работающий при подаче питания на микрофоны

Так там так и сделано, только через транзистор.

Но дизайнерам скажем, может, удастся их убедить ставить отдельный светодиод на Mute.

 тумблер/движок именно для физического отключения питания микрофонов

Очень трудно тумблер/движковый переключатель вписать в дизайн современного устройства. Вот делай мы девайс в стиле стим-панка или хотя бы дизель-панка... Ммммм...

У нас такого нигде нет. Питание микрофонов к питанию проца не привязано, и при перезагрузке проца микрофоны тоже не затронуты.

Речь была про то, что процессором можно привести к перезагрузке всего устройства. Можно это сделать у вас? Что за контроллер БП стоит? Если будет КЗ - в защиту уйдет, обесточив схему? Обратно вернется? Если вернется - статус питания микрофонов сбросится и они снова заработают?

Про диод понял, спасибо.

Именно что программно нельзя. Мы в ходе отладки неоднократно замыкали ноги проца и на питание, и на землю; там нагрузочная способность слишком маленькая, типа 20мА.

БП там много:

Внутри вот что:

Вот ближе питание ядра и присных:

Там амперы. КЗ на ноге никто не заметит.

Ножек много, можно каждым 20ма сьесть. Но там же можно просто выключить их сигналом EN? Куда они идут на схеме не видно.

А как там другие способы КЗ сделать, например на динамики постоянный сигнал направить?

EN идут на выходы PWR_GOOD с RC-цепочками для задержки, чтоб обеспечить правильную последовательность подачи питания. В уголке есть график последовательности включения.

На динамики именно постоянный сигнал подать не получится (усилитель удавит постоянную составляющую). Низкочастотный сигнал тоже не поможет, мы колонки гоняем десятками в формате "включил на полную PowerWolf и оставил на месяц".

а PWR_GOOD кто выдает? если пмик, то нет ли там настройки порогов?

Очень трудно тумблер/движковый переключатель вписать в дизайн современного устройства.

https://www.timemore.com/collections/coffee-scale/products/timemore-coffee-basic-plus-scale-precision-timer-white

Выглядит вроде вполне современно, и с переключателем питания :р

(Он опциональный, весы могут уходить в standby когда он включен)

А что, кнопка с фиксацией вышла из чата? Могли бы выпустить и с такой фичей:слабое нажатие работает просто как button, более сильное нажатие включает/выключает микрофон физически.

Я могу кинуть скриншоты, но их будет много - и довольно бессмысленно: ног у проца полно, а питания тоже - там целое дерево.

Если говорить про версию Макс (2020), покажите, цепочку компонентов, от физического разъема питания до формирования напряжения 3V3. Есть ли там соответствующие EN, куда они подключены?

Очень трудно тумблер/движковый переключатель вписать в дизайн современного устройства.

у Apple с переключателем беззвучного режима в iPhone неплозо получилось :)

Так можно кнопку-тумблер вкрутить (нажатие - включить, второе нажатие выключить). Они бывают и с подсветкой. и разных размеров.

Хотя насчёт подсветки - это чистая вкусовщина.
Для тех, кто спит с открытыми глазами.
Лично я вполне нормально сплю и с бра в небольшой лампой на 1,5 ватта - зимой удобнее нащупать на стене, а не искать в темноте тапки из-под тёплого одеялка идти наощупь искать выключатель) - при желании можно отключить, а нет - так и пофиг.

Хотя в Мск и Подмосковье и так всё видно даже ночью)

происходит кз, бп уходит в защиту

Это прекрасно! Просто прекрасно!

она из сигнальных ножек процессора идет на землю, когда нужна
перезагрузка, на нее подают логическую 1 - происходит кз, бп уходит в
защиту (с задержкой)

Что за варварство?! Впервые слышу о таком методе. К тому же это нарушает даташит всех известных мне микрух

А не проще было бы поставить светодиод на питание микрофона? Есть питание - горит. Не горит, значит точно не слушает.

Те, кто не доверяет прошивке, не способны проверить и осознать схемотехнику.

Простое и надёжное решение

Проблема в другом. Мы живём в мире победившего постмодерна с его разрушением авторитетов. Так что можно хоть рубильник поставить; вопрос в том, как доказать, что он по факту делает внутри колонки.

Вон уже высказали сомнения, что схемы - это хорошо, но правда ли плата разведена именно так?

Какой-нибудь блогер разберет, и устроит скандал) Как с лишними чипами в мониторе, например)

Ой-ёй, и правда, у нас вон уже лишние резисторы нашли :) И лишние конденсаторы. И транзисторы. И вообще.

Или вообще микрофон съёмным сделать. Но это не защищает от того, что в корпусе останется ещё один микрофон, который не снимается.

И внутрь такого выключателя тоже можно встроить микрофон.

Снимать , спрятанным в корпус , лазером колебания чего-то там снаружи и сливать большому брату. ?

Да кнопки есть с двумя физическими состояниями, нафига эти рычаги?

Так индикация есть, только наоборот – горит, значит микрофон выключен.

Это слишком сложная и непонятная схема для большинства людей. А простой механический выключатель - простая и понятная. И как упомянули выше нет светодиода на питание микрофона и микрофон может включиться при перезагрузке

Механический переключатель скорее всего дизайнеры не одобрят, а светодиод тоже не особо подойдет если Алиса например в спальне установлена.

Механический выключатель не подойдет для параноиков, потому что либо не очень наглядный, либо его надо делать прям большим и сложным.

Заметная яркая индикация отключенного микрофона как раз призвана помочь людям, которые переживают, что их прослушивают)

странное объяснение, у меня есть ВКшная капсула (которая большая), там механический выключатель и индикация отключения основным световым кольцом, более чем наглядно

кмк это какието уже странные аргументы, более того если такойже по концепции выключатель как на капсуле поставить в яндексстанцию, он довольно удачно впишется

Если переключатель такого плана, который по-сути двухпозиционная кнопка с явно заметным отщелкиванием, то соглашусь, это хороший вариант.

Главное, чтобы этот хороший вариант припаян был куда-то кроме светодиода. Что при наличии лёгкого тревожного расстройства совершенно неочевидно.

Случайную выборочную проверку нескольких серийных устройств с удовольствием произведут обладающие всеобщим доверием эксперты и расскажут о результатах в своих репортажах. Для "простого человека" это может служить достаточной гарантией. Ну а для "непростых людей" никогда нельзя исключать даже изготовление специализированных заказных микросхем.

обладающие всеобщим доверием эксперты

Кто это??

Например, в отношении батареек многие доверяют мнению Алексея Надежина, примеры его публикаций с тестами здесь найти не составит труда. Думаю, есть подобные специалисты и в области схемотехники.

Это который писал, что ашановские батарейки норм? Купил их как-то, лютая фигня оказалась.

Нажата - это включен Mute или включен звук?

мне кажется "большинству людей" решительно плевать на эти микрофоны. Они колонку покупали чтоб с Алисой болтать вообще-то

С Алисой не поболтаешь, она тупая как пробка. Только команды умеет выполнять.

А если предположить, что болтающие с Алисой люди как раз и находятся на упомянутом Вами уровне интеллекта?..

Мне разрывают сердце попытки ребенка поговорить с алисой. В век GPT4.

И кончится тем, что станет этот ребёнок оператором автодиагноста

И то не все. Команды "сидеть", "лежать", "дай лапу" или даже "фас!" - не умеет)
Надо допиливать.

То есть, если я не хочу, чтобы товарищ майор слышал что я говорю во сне, я нажимаю на Mute и засыпаю спокойно. А если он всё-таки хочет услышать, он в коридоре на секунду вырубает общий рубильник и продолжает слушать?

ИБП решает.

То есть, если я не хочу, чтобы товарищ майор слышал

Он вас услышит через смартфон :) И посмотрит на вас через приложения банков :)

А вообще прошивка GSM модуля это тайна покрытая мраком.

Вот да. Люди, которые заклеивают камеры на ноутбуках, но которых не смущают 4 штуки микрофонов в нем же, и столько же в телефоне, который всегда в кармане - это занимательный парадокс)

Странная логика. Одно дело камера другое микрофон. Я закрываю шторкой камеру всегда, когда она явно не нужна.

А вот зачем покупать колонку с алисой и потом отключать ей микрофон, хотя там весь экспириенс на на него завязан - непонятно.

P.S. Ниже привели несколько юзкейсов для кнопки...

хотя там весь экспириенс на на него завязан - непонятно.

не весь: смотреть видео, cлушать музыку , будильник

Так разве как-то можно включить музыку не через микрофон? Или будильник завести? Чем это отличается от будильника на телефоне?

Если даже она работает как простая bluetooth колонка, то наверное можно и купить простую колонку без товарища майора в придачу.

Можно команды через приложение настроить и подключаться к ней как к обычной Bluetooth колонке. Последний вариант - единственный способ слушать музыку из Spotify, например.

Чем это отличается от будильника на телефоне?

тем что хочется просыпаться под красивую музыку/радио

а настет музыки то можно транслировать с яндексМузыки или просто блютус

я про то что отключив микрофон - колонка еще жива

то наверное можно и купить простую колонку без товарища майора в придачу.

ездя на машине я тоже не всегда пользуюсь всеми функциями...

Он вас услышит через смартфон

А давно у нас прошивки смартфонов разрабатываются в юрисдикции РФ? Для Яндекс-станций это актуальный вопрос, мы же именно про защиту от товарища майора говорим, а не от всех спецслужб мира.

А давно у нас прошивки смартфонов разрабатываются в юрисдикции РФ

Зачем прошивку смартфона разрабатывать, достаточно разработать популярное приложение :) И иногда опрашивать нужные датчики.

Разве можно в фоне незаметно микрофон включить? Не в фоне обычно это сразу видно, а в фоне вроде и нельзя.

Ну, нормальная операционная система такого не допустит, например. Я уж не говорю о том, что ревью в стор такое приложение не пройдет, даже если бы это было возможно.

Можно ведь сделать собственный стор

Нынче в плеймаркете с каждым годом все более и более жесткие требования к защите персональных данных и особенно к фоновому доступу к сенсорам.

Сейчас и доступ к фоновой локации, и к микрофону надо во-первых обосновывать (и вы вряд ли докажете что в вашем калькуляторе они нужны). И во-вторых обязательна явная заметная индикация в шторке уведомлений, что такое-то приложение сейчас в фоне имеет доступ к GPS (насчет микрофона не уверен, но вроде тоже). У меня сейчас телефон в явном виде показывает значок, когда кто-то получает доступ к камере.

Плюс давно уже все эти разрешения (камеры, локации, микрофоны) сделаны Runtime Permissions, т.е. не прокатит их запихнуть где-то в конец списка запрашиваемых приложением разрешений, которые никто не читает - нет, их нужно в явном виде запрашивать у пользователя, причем нельзя мошенничать (прятать окно или как-то нажимать на него самому), это тоже проверяется при ревью в сторе (реально проверяется, у нас отклоняли приложение из-за недостаточно убедительного сообщения в запросе разрешения).

Дополнительно некоторые вещи (например доступ внутренней памяти телефона, к спискам установленных приложений и т.п.) ужесточаются на уровне самого Android с каждым годом, или становятся совсем недоступными. Например на многих моделях смартфонов сейчас не работают всякие старые файловые браузеры - так как теперь вообще никакое приложение не может просто взять и открыть содержимое внутренней памяти за пределами своей личной папочки. Исключения вендоры делают только для своих собственных приложений (например встроенный файловый браузер в MIUI может ходить по всей флешке), добавляя в ОС кастомные разрешения для них, но как правило такие разрешения требуют цифровой подписи приложения и для обычных авторов приложений недоступны в принципе.

Так что у автора приложения сейчас с каждым годом все меньше возможностей незаметно за вами следить, если он не связан а) c Гуглом или иным хозяином стора и б) с вендором телефона (вот эти что угодно и как угодно могут в теории в свои приложения напихать, так что и не заметите).

В этом плане конечно подозрительными могут быть версии приложений из отечественных сторов.

все это хорошо, но сейчас приложения многих банков ставятся с сайта банка, а там нет такого ревью :) ну и RuStore/NashStore может быть очень лоялен при публикации :)

Конечно речь не про iOS

Там всё очень непросто на уровне операционной системы. Нельзя просто взять и запустить камеру в фоне например, и микрофон тоже скорее всего не получится не повесив нотоификацию и не запросив пачку разрешений, а скорее всего придётся еще и заставить пойти пользователя в настройки устройства и убрать там оптимизацию энергопотребления для вашего приложения.
Конечно если у вас нет 0day уязвимости в кармане.

все так. Но скорее всего пользователь на все это согласится :)

Особенно с банками: GPS локация нужна типа чтобы показать ближайшие отделения и банкоматы, а микрофон нужен чтобы звонить в банк из роуминга по IPтелефонии а не по GSM.

Ну или еще какие отмазки.

И стоило так усложнять ради экономии на кнопке сброса?

Именно из-за этой заумности решения у меня возникают подозрения. А так ли на самом деле на плате разведено?

Есть надежный способ проверить - купить колонку и сделать реверс инженеринг платы :)

Да, рисовал сумрачный гений. VT10 вообще непонятно зачем нужен. Просто можно выкинуть.

Задержку длинного нажатия можно организовать софтварно если нет задачи скрыть от проца короткое нажатие на кнопку (тем более что оно и так известно через mute_state). Соответственно оставшиеся 4 мосфета с безумными гирляндами меняем на триггер Шмидта (в таком же как у мосфетов корпусе) для фильтрации дребезга.

4 оставшихся мосфета (лучше заменить компаратором или операционником) лучше пустить на запоминание состояния при отключении питания.

VT10 нужен для того, чтоб нельзя было ножку проца MUTE_STATE сконфигурировать как выход и передавить ею сигнал триггера, выключающий микрофоны.

Никакой VT10 для этого не нужен. Вот вариант из деталей которые уже есть на схеме (чтобы не разводить споры о нюансах формирования BOM).

Кстати, вешать затвор даже маломощных мосфетов на логические выходы без резистора - моветон.

мне кажется все таки c VT10 надежней, вам придется и R133 уменьшить до минимума, чтобы лог 0, был "чище". А в этом случае проц сможет "продавить" состояние на D у триггера

вам придется и R133 уменьшить до минимума, чтобы лог 0, был "чище"

вы правы, тут же гигагерцовые частоты, фронт может завалиться

достаточно еще одного pullup резистора дальше, и "нуля" не станет

А что в вашем понимании "нуль"?)

напряжение менее половины питания

и какого номинала "pullup резистор" вы предполагаете?

4.7к

вопросов больше не имею (с)

достаточно еще одного pullup резистора дальше, и "нуля" не станет

У вас там сдельная оплата по количеству элементов на схеме? Тогда почему только один? ) Давайте сразу штук 10 хотябы.

Ни одной другой рациональной причины его ставить не существует.

4.7к

Ну поставьте R133=1K, всё будет работать и даже в пределах спецификаций.

напряжение менее половины питания

Откуда вы взяли половину?

Если бы системы сброса не было сделано, то при звуковой активации
колонки пришлось бы следить ещё и за тем, чтобы микрофоны были включены.
А тут этого можно не делать.

Ну ладно, пусть будет 2 триггера Шмидта (в том же sot23-6 корпусе). Всё равно количество элементов сокращается раза в 2. Хотя наверное можно и диодиком обойтись.

Откуда вы взяли половину?

я взял максимально возможное напряжение, чтобы оно могло считаться нулем на самом непритязательном устройстве. В противном случае, через делитель 4.7к и, пусть даже последующий вероятный pullup в 47к, напряжение ниже 0.5 вольт не упадет. А при таком значении не каждый лог. вход определит что это "0". Высокоомные резисторы в последовательной цепи логического сигнала, это разве норма?

Не знаю как вы считали, при делителе 4.7:47 напряжение на малом резисторе будет 1/11*3.3=0.3В

Но это всё лирика, объсните зачем вам там pullup?

Высокоомные резисторы в последовательной цепи логического сигнала, это разве норма?

Высокоомные понятие относительное. Но у современных микроконтроллеров на не подключенной никуда ноге переключив её на вход можно считать прошлое состояние даже через секунду за счет емкости ноги в несколько пикофарад.

На практике резистор до 10к на частотах до 1МГц на форму сигнала влияния практически не оказывает. Часто использую для избежания фантомного питания на отключаемой периферии.

MUTE_STATE идут на GPIO процессора

я не вижу всей схемы, но раз на GPIO, то значит в проце можно включить внутреннюю подтяжку.
Вы правы в расчетах, я немного ошибся. Но сути это не меняет, это не "0", или нужен триггер шмидта.

Ставить высокомный резистор последовательно, как и входы оставлять в воздухе, это неверно (влажность, пыль и т.п.).

в проце можно включить внутреннюю подтяжку.

Вопрос всё тот же - зачем?

мне кажется

Вы совершенно правы, вам кажется.

вам придется и R133 уменьшить до минимума, чтобы лог 0, был "чище".

  1. А вы это чем-то обоснуете? у вас линия идёт в офис яндекса по телеграфным столбам? Или плату разводила яндекс-алиса?

  2. Почему вас беспокоит чистота нуля, а грязнота единицы не беспокоит? тоже как-то обоснуйте.

  3. И если вы вдруг обосновали оба предыдущих пункта, то просто передвиньте резистор к процу.

А в этом случае проц сможет "продавить" состояние на D у триггера

Как раз через резистор он никуда давить не будет. А через емкость мосфета или открытый мосфет на ноге проца будет нештатная нагрузка с неопределенным результатом.

Кстати, ну продавили D, и что?

Кстати, ну продавили D, и что?

и заблокировали нажатие кнопки

А вы это чем-то обоснуете?

"— Обоснуй!
— Сам обоснуй!
— От обоснуя слышу!" (c)

Полно транзисторов уже с резистороом в затвоере (базе). Даже с двумя, токоограничивающим и шунтирующим, на эмиттер или исток.

Про софтварную детекцию долгого нажатия. Она используется :) И срабатывает после сброса триггера при долгом нажатии. Это сделано вот для чего.

Обычно сценарий выглядит так: я хочу сбросить колонку (в смысле аккаунт и настройки WiFi), зажимаю Mute (микрофоны глушатся), жду. Схема задержки сбрасывает триггер, микрофоны включаются обратно - и тут колонка начинает сбрасывать настройки. Когда этот процесс закончится, микрофоны будут включены, и колонку можно будет активировать звуком со смартфона.

Заметим, что таким образом сброс аккаунта и WiFi произойдёт со включенными микрофонами независимо от их исходного состояния: триггер будет сброшен, а не переключен.

Если бы системы сброса не было сделано, то при звуковой активации колонки пришлось бы следить ещё и за тем, чтобы микрофоны были включены. А тут этого можно не делать.

Не очень понятна цель всей движухи. Для кого это? Какой процент пользователей вообще использует кнопку Mute?

Ну вы хотя-бы посчитайте количество топиков про товарища майора в каждом посте про умные колонки)

И что? Боишься товарища майора - не покупай умные колонки, очевидно. (а в интернет с телефона-автомата на углу ходи).

Любое требование к изделию должно иметь под собой конкретные обоснования, для чего это надо делать (или что будет, если этого не делать). А тут в статье идет сразу нырок в реализацию, как будто необходимость кнопки Mute в умной колонке самоочевидна (это не так).

Я пользуюсь кнопкой mute чтобы ребенок не говорил с ней когда нельзя, постоянно пользуюсь

Спасибо, вот это похоже на пользовательский сценарий, о которых в статье ни слова. А вы или ребёнок заметили бы разницу, если бы отключение происходило программно?

лично мне всёравно физическое отключение или программное, я не упарываюсь подобной паранойей (за исключением биометрии и то не потому что за мной следят, а потому что видел как подобные вещи хранятся и управляются)

мне вот только с инженерной точки зрения, отключение физической кнопкой выглядит надежнее и без страшного оверхеда в обвязке кнопки с точки зрения схемотехники

Переживать по поводу товарища майора и покупать при этом колонки Yandex? :)

Вполне адекватный вопрос, пару раз только включал чтоб поиграться, лучше бы кнопку выключения воткнули в заднюю панель чтоб не тянутся за блоком когда хочешь выключить

Лучше для кого? Аудитория людей, которым периодически нужно становится незаметными для "товарища майора* понятна. А вот кто и зачем регулярно выключает умную колонку кроме необходимости ее куда-то перенести - для меня загадка.

кто и зачем регулярно выключает умную колонку кроме необходимости ее куда-то перенести - для меня загадка.

а зачем постоянно? перезагрузить когда глючит, выключить когда уезжаешь и тд были потребности и кнопка переключатель на задней панели сделали бы это намного удобнее и практичнее нежели вытаскивать блок. И это без товарищей майоров

Ну если постоянно не нужно, значит в еще одной кнопке, которая будет путать пользователей, нет необходимости.

Если далеко тянуться до блока питания, можно перетыкивать штекер из самой колонки. Но, к слову, у меня за все время никаких глюков не было. А когда уезжаешь, проще обесточить всю комнату выключив соответствующий автомат в щитке.

будет путать пользователей,

здесь вы ошибаетсь, все понятно и кристально

можно перетыкивать штекер из самой колонки.

cпасибо хабру за совет, в голову не приходило что лежало на поверхности

обесточить всю комнату выключив соответствующий автомат в щитке.

а если щиток вообще не трогаю, и живя на съемных квартирах то и не знаю что за что отвечает

здесь вы ошибаетсь, все понятно и кристально

Предпочитаю в таких вещах опираться на статистику, нежели на нерелевантный субъективный опыт)

а если щиток вообще не трогаю, и живя на съемных квартирах то и не знаю что за что отвечает

Методом тыка можно узнать.
Это полезно, и гораздо удобнее, чем выключать из розетки каждый прибор по отдельности.

Аудитория людей, которым периодически нужно становится незаметными для "товарища майора* понятна

И отлично детектериуется тарищем майором при помощи Я.Станции - "выключил микрофон - наш клиент, берём на карандаш"/s

Всё не настолько плохо ещё. Хотя есть человек, избегающий секретных чатов телеграма, по причине что органы "пишут граф" даже если не могут расшифровать.

Всё не настолько плохо ещё

Ключевое слово - "ещё"./s

Детям сказку врубил, и нажал кнопку. Иначе они закажут другую музыку

а кнопку нажать сами дети типа не смогут?

для этого до колонки надо добраться, у меня например чтобы её нажать - ребенку на стол с ногами надо залезть, а я рукой дотянусь

Как-то вы все схемы в кучу смешали. Давай-те вот по первой, которая станция миди (2023), отключаются ли как-то аппаратно сигналы PDM? Да, кнопка отключает питание с самого микрофона, но это не гарантирует того что микрофон перестанет работать если продолжать его тактировать. И дело тут вот в чем, в микрофоне есть защитные диоды, которые стоят между линиями данных и питанием, и этого оказывается достаточным для нормального функционирования микрофона. Что бы не быть голословным - вот человек на это жалуется и не понимает что происходит - как так питание выключено, а микрофон работает? https://forums.adafruit.com/viewtopic.php?t=202179.

Хронологически Станции делались в другом порядке, да. Началось со Станции Макс. И на последней схеме в статье - https://habrastorage.org/r/w1560/getpro/habr/upload_files/4f6/39b/723/4f639b7234152697ca1826a144e6b97b.png - как раз есть буферы, отключающие тактирование микрофонов. Мы их поставили ровно для того, чтобы избежать фантомного питания.

Но потом мы провели эксперименты, правда ли микрофоны работают без питания, но с тактированием. Выяснили, что не работают. Поэтому перестали ставить буферы на следующие модели Станций.

Ахаха, эксперименты они провели. Ну на конкретном экземпляре не заработало, придет чуть другая партия микрофонов и будет прекрасно работать. Хотели как лучше - получилось как всегда.

Спасибо, понятно. Но на мой взгляд лучше было бы не убирать буферы, если была цель сделать полностью аппаратное отключение микрофонов кнопкой и показать людям как это сделано, тем более что столько усилий было в это вложено.

По итогам этой публикации мы делаем выводы, будьте уверены :)

Когда в квартире установлено несколько станций, то на активационную фразу может ответить совершенно не устройство, к которому обращался. Приходится вручную тыкать на кнопку отключения микрофона, когда покидаешь комнату. Жутко неудобно. Почему бы вам не добавить возможность программного отключения микрофона (через сценарии), чтобы можно было привязать это действие, например, к датчику присутствия?

Весь пост же этому посвящён, что микрофон нельзя вырубить программно

Нельзя управлять КНОПКОЙ программно, но сама станция вполне себе может перестать слушать, если реализовать соответствующие функции в ПО.

А точно, не подумал об этом.

Вот что-то лично для меня "физическая кнопка менее надёжна, чем вся эта схема" вообще не на поверхности. Из-за вашей схемы отключил и надо ещё потом регулярно проверять, не было ли скачков напряжения, из-за которых всё обратно включилось. А ведь большинство пользователей и не знает об этой особенности.

А на первой станции какая схема используется, как на Макс?

Да, только с той разницей, что микрофоны аналоговые, поэтому нет буферов тактирования.

TLV_MICBIAS отключается через транзистор:

А TLV_MICEN берётся с триггера, там схема такая же.

а можете пояснить, FB828 это же какая-то ферр. бусинка? А нет ли замыкания S и D?
а можете пояснить, FB828 это же какая-то ферр. бусинка? А нет ли замыкания S и D?

Да, это ферритовая бусина. Развели для отладки, чтоб можно было выпаять транзистор и вместо него впаять перемычку.

Но подробностей не осталось, как и тогдашних разработчиков. Первая Станция давно не производится.

На хабре должно быть больше таких статей и меньше нытья.

Ну так пишите, а не нойте!/s

Кнопка в колонке, которая постоянно вас слушает, просто отключается от цепи. Однако ей посвятили целую статью.

Теперь у меня ещё больше сомнений.

Я думаю, что это всё правда. Но просто про второй микрофон никто ничего не знает)

Да, об этом я не подумал. И такой вариант возможен :-)

А зачем второй микрофон, когда можно использовать динамик? ;)

А этот момент как то контролируется на устройствах партнеров или они как хотят так и делают? Xiaomi и LG это сейчас, как понимаю. Раньше были всякие dexp.

Дай бог здоровья автору материала, очень хороший разбор..
Вопрос.. зачем в первой схеме последовательно R126 и R127? Рассеять мощность?..
И на схеме "подключения разъёма" С6 4u7 16V, для того чтобы исключить "треск" микрофона при коммутации ключа VT2? Спасибо.

зачем в первой схеме последовательно R126 и R127

скорее всего подгонка сопротивления для таймера (Если же кнопку отпустить раньше, то батарея конденсаторов не успеет зарядиться.)

Иногда так делают для сокращения перечня номиналов. Другой разумной причины на данной схеме нет. Ни о какой точной подгонке тут речи быть не может.

Но тут проще выкинуть 2/3 схемы и она будет работать точно так же.

батарея конденсаторов

Кстати, а поему не один большей ёмкости?

Цена и габариты.

Иногда бывает, что конденсатора 3-4 разной емкости, на НИПы МИПы ставят, в параллельной цепи..

1) Просто так. Так получилось. Мощность там выделяется ничтожная, на таких сопротивлениях. Изначально поставили для большей гибкости настройки и простоты перепайки: типа 1М + 100к, или 1М + 1М впаять? Решили в проде так и оставить. Типа на всякий случай. И так оно и копируется с той поры.

2) Нет, там проблема в другом. Конденсатор С6 нужен для того, чтобы питание включалось/выключалось плавно. Без этого при включении питания микрофонов из-за зарядки их питательных конденсаторов происходил бросок тока на цепи 3.3В, и это напряжение изрядно проседало. Настолько сильно, что происходило неприятное. Коротко говоря - это soft-start такой.

Софт-старт?

Левая схема как в https://www.onsemi.com/pub/Collateral/AND9093-D.PDF правая как у вас
Левая схема как в https://www.onsemi.com/pub/Collateral/AND9093-D.PDF правая как у вас

Можете пояснить, может я чего-то не понимаю или неправильно симулирую, почему вы конденсатор включили между затвором и истоком, хотя его рекомендуется включать между затвором и стоком?

Модель транзистора берем здесь https://www.infineon.com/dgdl/irlml2246trpbf.spi?fileId=5546d462533600a40153573a5d653dc4

А вот

код файла симуляции

Version 4
SHEET 1 3780 904
WIRE 656 96 576 96
WIRE 816 96 656 96
WIRE 944 96 912 96
WIRE 1024 96 944 96
WIRE 1376 96 1296 96
WIRE 1536 96 1376 96
WIRE 1744 96 1632 96
WIRE 576 176 576 96
WIRE 1296 176 1296 96
WIRE 832 192 832 144
WIRE 848 192 832 192
WIRE 944 192 944 96
WIRE 944 192 912 192
WIRE 1376 192 1376 96
WIRE 1440 192 1376 192
WIRE 1552 192 1552 144
WIRE 1552 192 1504 192
WIRE 1024 256 1024 96
WIRE 1136 256 1024 256
WIRE 1744 256 1744 96
WIRE 1856 256 1744 256
WIRE 656 272 656 96
WIRE 704 272 656 272
WIRE 832 272 832 192
WIRE 832 272 784 272
WIRE 1024 272 1024 256
WIRE 1136 272 1136 256
WIRE 1376 272 1376 192
WIRE 1424 272 1376 272
WIRE 1552 272 1552 192
WIRE 1552 272 1504 272
WIRE 1744 272 1744 256
WIRE 1856 272 1856 256
WIRE 576 304 576 256
WIRE 1296 304 1296 256
WIRE 832 352 832 272
WIRE 1024 352 1024 336
WIRE 1136 352 1024 352
WIRE 1552 352 1552 272
WIRE 1744 352 1744 336
WIRE 1856 352 1744 352
WIRE 1024 384 1024 352
WIRE 1744 384 1744 352
WIRE 832 464 832 432
WIRE 1552 464 1552 432
WIRE 784 480 704 480
WIRE 1504 480 1424 480
WIRE 704 496 704 480
WIRE 1424 496 1424 480
WIRE 784 576 784 528
WIRE 784 576 704 576
WIRE 832 576 832 544
WIRE 832 576 784 576
WIRE 1504 576 1504 528
WIRE 1504 576 1424 576
WIRE 1552 576 1552 544
WIRE 1552 576 1504 576
WIRE 832 592 832 576
WIRE 1552 592 1552 576
FLAG 1024 384 0
FLAG 576 304 0
FLAG 832 592 0
FLAG 656 96 V1
FLAG 1744 384 0
FLAG 1296 304 0
FLAG 1552 592 0
FLAG 1376 96 V3
SYMBOL Misc\battery 576 160 R0
WINDOW 0 32 56 VTop 2
WINDOW 3 -32 56 VBottom 2
WINDOW 123 0 0 Left 0
WINDOW 39 -60 56 VBottom 2
SYMATTR InstName V1
SYMATTR Value 3.3
SYMATTR SpiceLine Rser=0.01
SYMBOL pmos 912 144 M270
WINDOW 3 -34 -9 Left 2
SYMATTR Value irlml2246trpbf
SYMATTR InstName M1
SYMATTR Prefix X
SYMBOL cap 912 176 R90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName C2
SYMATTR Value 4.7µ
SYMATTR SpiceLine V=16 Irms=0 Rser=0.0036 Lser=256p mfg="Wьrth Elektronik" pn="885012107013 WCAP-CSGP 0805" type="X5R"
SYMBOL res 1120 256 R0
SYMATTR InstName R2
SYMATTR Value 100
SYMATTR SpiceLine tol=1 pwr=0.1
SYMBOL res 800 256 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R1
SYMATTR Value 10k
SYMBOL voltage 704 480 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
WINDOW 3 -144 125 Left 2
SYMATTR Value PULSE(0 5 1 1u 1u 3)
SYMATTR InstName V2
SYMBOL res 816 336 R0
SYMATTR InstName R3
SYMATTR Value 1.5k
SYMBOL sw 832 560 M180
SYMATTR InstName S1
SYMATTR Value Switch1
SYMBOL cap 1008 272 R0
SYMATTR Value 10µ
SYMATTR InstName C1
SYMATTR SpiceLine V=6.3 Irms=0 Rser=0.0034 Lser=489p mfg="Wьrth Elektronik" pn="885012207003 WCAP-CSGP 0805" type="X7R"
SYMBOL Misc\battery 1296 160 R0
WINDOW 0 32 56 VTop 2
WINDOW 3 -32 56 VBottom 2
WINDOW 123 0 0 Left 0
WINDOW 39 -60 56 VBottom 2
SYMATTR InstName V3
SYMATTR Value 3.3
SYMATTR SpiceLine Rser=0.01
SYMBOL pmos 1632 144 M270
WINDOW 3 -34 -9 Left 2
SYMATTR Value irlml2246trpbf
SYMATTR InstName M2
SYMATTR Prefix X
SYMBOL res 1840 256 R0
SYMATTR InstName R4
SYMATTR Value 100
SYMATTR SpiceLine tol=1 pwr=0.1
SYMBOL res 1520 256 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R5
SYMATTR Value 10k
SYMBOL voltage 1424 480 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
WINDOW 3 -144 125 Left 2
SYMATTR Value PULSE(0 5 1 1u 1u 3)
SYMATTR InstName V4
SYMBOL res 1536 336 R0
SYMATTR InstName R6
SYMATTR Value 1.5k
SYMBOL sw 1552 560 M180
SYMATTR InstName S2
SYMATTR Value Switch1
SYMBOL cap 1504 176 R90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName C3
SYMATTR Value 4.7µ
SYMATTR SpiceLine V=16 Irms=0 Rser=0.0036 Lser=256p mfg="Wьrth Elektronik" pn="885012107013 WCAP-CSGP 0805" type="X5R"
SYMBOL cap 1728 272 R0
SYMATTR Value 10µ
SYMATTR InstName C4
SYMATTR SpiceLine V=6.3 Irms=0 Rser=0.0034 Lser=489p mfg="Wьrth Elektronik" pn="885012207003 WCAP-CSGP 0805" type="X7R"
TEXT 808 -136 Left 2 !.tran 6s
TEXT 808 -88 Left 2 !.include irlml2246trpbf.spi
TEXT 808 -48 Left 2 !.model Switch1 SW(Ron=1 Roff=10Meg Vt=0.5 Vh=0)

Подкину ка на вентилятор)

А как у вас физически отключается динамик?

Динамическая головка и микрофон это по сути одно и тоже устройство.

Динамик отлично может слушать, вообще не хуже микрофона. Если ваша колонка молчит, что мешает использовать динамик как микрофон и постоянно анализировать на контрольные слова и фразы?

Да что там динамик, ведь любой крамический конденсатор можно в теории использовать как микрофон!

А как у вас физически отключается динамик?

Ну явно же видно что ключом коммутируется..

Столько извратов и такие странные вопросы...
Чтобы колонка вас не слушала, выключите её из розетки блин, а уж разобрать и поискать аккумуляторы и конденсаторы (в том числе ионисторы) в колонке могут всяко больше людей чем понять схемы.

выключите её из розетки блин

А вдруг там небольшой аккумулятор или конденсатор, которого как раз хватит на запись тех нескольких минут разговора, ради которых колонка вынималась из розетки? :)

Это вы можете и сами проверить, но я разбирал у меня нет)

И в конце коротенький опросничек:

1. Имею/хочу/планирую купить умную колонку.

2. Никогда в здравом уме и твёрдой памяти добровольно не установлю дома это.

Спасибо. Очень интересно узнать подробности схемных решений таких популярных продуктов, тем более от самих разработчиков.

Но зачем кому-то что-то доказывать?

Параноик - не покупай умную колонку. Параноик только в редкие периоды обострений - вынь колонку из розетки. Всё.

Но зачем кому-то что-то доказывать?

это так. Надо было такие статьи 6 лет назад делать. когда только вышла. С другой стороны описали как это на обновленных устройствах.

Но как здесь указали, я к примеру, этой кнопкой за 6 лет пользовался пару раз... необходимость простого выключения колонки требовалось значительно больше раз

Добавим кнопку для параноиков и будем акцентировать внимания, но люди все равно не будут этим пользоваться, такой маркетинг из воздуха

Я ни разу, разве что случайно нажимал... А нет, вру, однажды переподключал колонку к сети - для перехода в соответствующий режим нужно было удерживать ту самую кнопку отключения микрофонов.

Ну там вскользь сказали и в коментах коннечно шутейки про товарищей. Cейчас это специальная статья на эту тему

Мы по итогам того обсуждения и поставили пресловутый VT10. Поскольку был вопрос - а не сумеет ли проц, переключив вход на выход, передавить триггер.

Так чем в итоге обычный резистор не угодил?

Но зачем кому-то что-то доказывать?

Затем, что это коммерческая компания, которая заинтересована в том, чтобы продать как можно больше своих устройств?

В том числе, параноикам и сомневающимся.

Есть ли аппаратное отключение микрофонов у Эппл? Нет. Мешает ли это продажам (в тч параноикам и сомневающимся) - видимо, на уровне погрешности.

Инженеры Яндекса весело порезвились, сделав фичу ради фичи, и в этом нет ничего ужасного. Но стоило так и сказать в начале статьи: "Мы специально сделали тут оверсложно, чтобы доказать самим себе, что мы так можем".

Есть ли аппаратное отключение микрофонов у Эппл? Нет. Мешает ли это продажам

ну тут это подается как киллер-фича от остальных конкурентов

Но в процессе использования она как 5 колесо

либо через сброс питания всего устройства (грубо говоря, если выдернуть БП из розетки и воткнуть обратно

Ну то есть все таки можно включить микрофон если сделать сброс питания. Тут уже вопрос как его сбросить. Например колонка включена в умную розетку или линия 220 управляется каким то умным устройством из щитка и логично предположить что колонка может дать сигнал этому устройству вырубить собственное питание и вуаля - микрофон включен.

Тут уже предположили, что ребут может сделать сам контроллер

Я к сожалению не понимаю все эти схемы, зато был свидетелем бага - когда станция макс 2020 года разговаривала со мной со светящимся красным диодом вокруг микрофона (жаль видео не додумался записать). Кнопку я не нажимал и паранойи не имею по этому решил что ну баг и баг, кажется ткнул кнопку два раза и все стало нормально.
Зато это отлично показывает - что видимо хоть микрофон для софта не доступен диод то как раз управляется софтверно. А значит нужно применить немного социальной инженерии чтобы обойти любые аппаратные хитрости - просто достаточно когда пользователь выключает микрофон с кнопки - убедит его что кнопка не сработала (не зажеч диод) и я уверен что каждый пользователь нажмет кнопку еще раз - зажигаем диод - профит = микрофон включен, пользователь уверен что это не так.

Ну такое:

6.3. Дополнительные сведения, которые должны быть предоставлены Победителями Конкурса по запросу Организатора:

  • фамилия, имя, отчество;

  • место жительства;

  • паспортные данные;

  • дата и год рождения;

  • СНИЛС

  • ИНН

  • контактный телефон;

  • банковские реквизиты.

И всё это за один лимон. Сейчас даже в «Кто хочет стать миллионером?» максимальный выигрыш больше.

Место жительства вам зачем, повестку в кибер-войска пришлёте?

Всё куда проще. Это поля для налоговой. Яндекс автоматически выплачивает налоги за победителей конкурса, чтобы им меньше хлопот было.

Спасибо, Геннадий, интересно!

Если можно, пару вопросов:

  1. У вас устройства одного направления делают разные команды с разными библиотеками в разных САПРах? Единого стандарта в компании нет?

  2. Зачем такая паранойя по статике? С кнопкой понятно, а на светодиодах зачем?

1) Первую Станцию (которая уже давно не производится) делали до меня, я не знаю кто и в какой среде разработки. Лютое легаси, проще говоря. Сейчас наша команда Умных Устройств всё делает в Альтиуме. (Хотя на раннем этапе экран для Станции Макс я для ускорения делал в Кикаде, но потом тоже переехал на Альтиум). Альтиумные библиотеки у нас общие, лежат в корпоративном гите. Но другие команды (беспилотные автомобили, складские роботы) сами по себе, мы с ними не синхронизируемся.

2) Паранойя по статике обусловлена практическим опытом. В ходе разработки мы обнаружили, что платы часто горят от статики. Мы сделали версию с защитой - статика сожгла незащищённое место. Защитили его в следующей версии - сгорело ещё что-то. Наконец пришли к тому, что сейчас, и оно - проверено - не сжигается.

  1. Странно такое слышать, вроде и то и то - железо. Судя по вашим скринам, схема первой станции сделана в оркаде. Насчет трассировки х.з. :)

  2. Платы горели при отладке на столе в разобранном виде или в собранном? Или в процессе сборки? Как понимали, что что-то случилось именно из-за статики? Для меня это очень неочевидный момент. Т.е. когда девайс однозначно глючит, если я в него разряжаюсь и наблюдаю это - это одно, а когда девайс глючит и я не разряжаюсь в него, то как тогда отловить проблемы со статикой? Просто превентивно везде защиту понавтыкать?

2) Собрали девайс, стали гонять. Согласно стандарту обстреляли из высоковольтного пистолета, который для тестирования устойчивости к статике. Девайс сломался. Разобрали, нашли пробитый транзистор, поставили защиту, снова обстреляли - пробило другой транзистор. Ну и так далее - и наконец девайс стал всегда этот тест проходить.

А куда вы пистолетом стреляли? И по какому стандарту?

Стрелять, смотреть что сгорело, ставить туда защиту, и так по кругу - эм, ну капец ваще.

Позанудствую - защищают интерфейсы и куда пальцем тыкают. Защиту ставят сразу, читают апноты по защите соответствующего интерфейса и делают как надо. И ставят не абы как, а взаимное расположение твсиков, разьемов, кондеров, земли вокруг тоже важно. Когда сделают все хорошо - тестируют на всякий случай.

Простите, а вот " тактирование микрофонов " это из какой вселенной? Вероятно, я крайне мало знаю про современные микрофоны, но просветите, плизз ;)

Так это небось i2s MEMS микрофон типа INMP441. Там без тактирования никуда...

В первой Станции были аналоговые микрофоны. На всех последующих используются цифровые с шиной PDM. Вот описание нашёл: https://microsin.net/programming/arm/interfacing-pdm-digital-microphones-using-stm32-mcu-and-mpu.html

В общем основная проблема в том, что отдел разработки не послал куда подальше отдел дизайна и маркетинга. В итоге получил высокие продажи и зарплаты, но сделал то, чем не получится гордиться. Нормальный и понятный выбор, но мне не подходит. Решение конечно красивое в своей сложности, но не прекрасное в своей простоте.

А в идеале ещё нужна кнопка отключения интернета, и чтобы инет надо было включать очень редко, для кэширования музыки например, и синхронизации с другими сервисами, а остальное оффлайн, и через бт.)

Отключение от связи вне тренда! Все производители делают всё возможное, чтобы держать своего клиента на "расстоянии" пинга, а вы синхронизацию по требованию захотели. Может у вас еще и терабайты в личной фонотеке есть для целей синхронизации без подключения к интернету?

Ну не террабайты, даже аниме лишь гигабайтами по rss лентам в торренте выкачивается. И конечно любимая музыка у меня не зависит от подключения к интернету) Но да, покупая в домашний пк 6-ти террабайтник на замену двум умирающим террабайтникам чувствую себя динозавром... Зато аниме по торрент лентам всегда с субтитрами, в отличном качестве и весьма быстро.

Что за торрент ленты? У меня торрент трекер только... Там тоже субтитры есть. И в контейнерах и отдельными файлами.

Ставишь торрент клиент который поддерживает rss, например qBitTorrent. Находишь портал, где такие ленты формируются, например https://animetosho.org/ пишешь правила закачки.

Например можно сразу искать аниме, переводчика и разрешение https://feed.animetosho.org/rss2?only_tor=1&q=erai+720&aid=18132 ну или просто переводчика и фильтровать уже в торрент клиенте. Ну или можно найти команду переводчиков и брать rss ленту у них https://www.erai-raws.info/rss-page/

На рутракере вроде тоже есть rss лента, https://feed.rutracker.cc/atom/f/0.atom так тоже можно, т.е. по факту у тебя появляется какая-то копия базы сайта, по которой можно загружать. Хотя на рутракере не пользовался.

На деле эта фишка весьма прикольна и удобна для сериалов/аниме. Интернет почти никогда не отключается, но как же прикольно иметь кучу контента на локалке, когда все же происходит какая-то нестандартная ситуация.

Возражу: в Станции Миди недавней у проца есть нейросетевой сопроцессор, и это позволило сделать оффлайн-распознавание команд для умного дома. Несколько десятков, по крайней мере. Ровно для того, чтоб оно работало без интернета.

Проблема всех современных разрабочиков — они думают "а как сделать так, чтобы при нормальной эксплуатации это правильно работало?".

В то время как надо думать "а как сделать так, чтобы при ненормальной экспуатации это не могло неправильно работать?"

А когда разработчики над этим не задумываются — получаем heartbleed и всё такое прочее.

У процессора нет физической возможности управлять питанием микрофонов.

Вот и разработчики RAM тоже думали, что "у процессора нет возможности повлиять на память, к которой у него нет доступа". А потом появились ребята с мыслью "нет возможности, говорите?.. а вот это вы предусмотрели?"...

Кроме того, на большинстве наших Станций кнопка Mute выполняет ещё одну дополнительную функцию: если зажать её дольше пяти секунд, то настройки Станции сбрасываются.

Странно, что упоминая ещё одну функцию, не упоминают (не знают?) о другой ещё одной функции - включение-выключение Bluetooth.
Может и ещё какие-либо функции позабыты-позаброшены?

У процессора нет физической возможности управлять питанием микрофонов.

А если программно перезагрузиться, микрофон будет снова включен?

Нет.

Яндекс, вы немножко обосрались. Уши плохого согласования разработки торчат отовсюду:

  • Требование надежно выключать микрофоны и требование включать их при включении колонки - оно сильно противоречиво. Возникают проблемы: при скачке напряжения в сети микрофоны включаются, можно изнутри ребутнуть по питанию (просто выключив пмики или вызвав КЗ/повышенное потребление). Костылей навтыкать тут тоже можно (но вы и этого не сделали), но надежности это не добавит.

  • Хотите просто и надежно и заявляете это как важную фичу? ставьте тумблер или кнопку вкл/выкл. Что бы любой Вася глядя на плату мог сказать - ну да, тут точно микрофон отключается. Сейчас это сделано так, что электронщик полчаса схему разглядывает, что бы понять как оно работает. А у опытных схемотехников в процессе еще пятая точка подгорает от переусложнения схемы. И не покидает ощущение, что где-то нас налюбили, просто мы не видим где.

  • Отладочные вещи ушли в продакшен - там два резистора последовательно, там бусинка в обход нарисована. Да, и так работает, и не очень дорого стоит - но блин, мышкой пощелкать и удалить всякое не нужное - дело на 5 минут.

  • Оптимизация в процессе - сэкономили на буфере между микрофоном и мк - допустили возможное паразитное питание.

отите просто и надежно и заявляете это как важную фичу? ставьте тумблер
или кнопку вкл/выкл. Что бы любой Вася глядя на плату мог сказать - ну
да, тут точно микрофон отключается.

Тумблер не поможет. Тут уже писали про фантомное питание через тактовый сигнал цифрового микрофона. даже если верить ихнему разработчику (или кто он там) что они не работают при текущих настройках, то нет никаких гарантий что они не заработают когда будет "очень надо".

Можно тумблер с двумя контактными группами - отключать и линию данных. Или типа SPDT и питание жестко на землю коротить. Или от паразитной запитки развязаться открытым коллектором/оптроном/хрен с ним буфером.

Самое простое и рабочее - отключение питания и резистор на CLK. Дальше можно усложнять до бесконечности.

Отладочные вещи ушли в продакшен - там два резистора последовательно, там бусинка в обход нарисована.

Нормальный подход.

Два резистора: зачем плодить еще один уникальный номинал и дополнительную катушку в закупку и в фидер плейсера, если можно обойтись уже имеющимися номиналами.

Бусина: трассировку сделали, всё проверили, работает. Незачем переделывать, лишний бессмысленный труд. А в боме просто написали DNP. Это нормально.

Локальная оптимизация как она есть - разработчик сэкономил себе 5 минут, производство ставит 100 тысяч ненужных резисторов.

Не факт. У вас в плейсере ограниченное количество фидеров помещается. Если ради одного этого номинала надо два цикла загрузки плейсера делать, то вовсе не факт, что сто тысяч лишних резисторов будут стоить дороже, чем время простоя и настройки линии монтажа. Но тут надо общаться с монтажом непосредственно.

Вы ищете глубокий смысл там, где его нет. Там просто забыли удалить резистор. Более того, там плевать, 1М там или 1,1М - там у кондеров разброс 10%, а порог открытия транзистора вообще слабонормирован, там разброс еще в 2 будет.

Я ничего не ищу. Я просто пишу, почему так можно сделать. Убрав одну оливку из обеда, действительно, можно сэкономить миллионы.

Меня другой вопрос интересует, но @Kreyl не спешит на него отвечать :) Может быть вы, вместо тыканья автора в некритичные вещи, на него ответите?

Могу и я ответить. 1. Способ из апнота неочевидный, про него знать надо (я вот если и знал, то подзабыл), поставить кондер как сделали в алисе - первое что приходит в голову. 2. Он тоже вполне работает, делать прямо супермягкий старт обычно не нужно, так, чуть ограничить ток и ладно.

Способ из апнота неочевидный, про него знать надо (я вот если и знал, то подзабыл)

А если так нарисовать:

Комментарии здесь это прямо экранизация анекдота про хакера в столовой.

Ну вот сначала делают абы как, а потом удивляются, как хакеры получили доступ к суперсекретной телеконференции с паролем 1234.

Так ведь пост изначально сообщает: смотрите, в нашу солонку не плюнуть.

Потому что основная цель статьи в том, чтобы доказать принципиальную невозможность атаки на их систему. Вот им и набросали в панамку всяких векторов атаки, вполне логично.

Один я на первой схеме искал глазами микрофон и механический выключатель, разрывающий цепь звукового тракта ну или на крайний случай (поправляю шапку из фольги) замыкающий его на землю? Столько много текста и схем напомнило наперсточников на рынке в 90-х. Простые вещи должны объясняться просто. Если иначе - кто-то кому-то впаривает "отрицательный рост на 146%" Старожилы помнят и про закладки в материнских платах, для определенных рынков сбыта и про хитрые модификации обычных микрочипов, обнаруживаемые только энтузиастами с помощью рентгена. Учитывая курс корабля на ближайшие годы - капитан и приспешники точно захотят оцифровать и верхнеуровнево проанализировать кухонные разговоры.

На мой взгляд это фиаско, братаны :-)

В том смысле, что люди, которые Яндексу доверяли, в этой статье и схемах не нуждаются, а люди, которые не доверяли, вам указали на потенциальные возможности эту защиту обойти и вы сразу же перешли к аргументам "но мы так не делаем», то есть вернулись к просьбам поверить на слово. Ну и зачем было огород городить тогда?

Ну и я, честно говоря, немного опешил, когда прочёл, что главное причиной, по которой не подошёл ни один другой вариант переключателя, оказалось то, что ничего больше не получилось вписать в дизайн. Вы нас за дураков держите, что ли?

Напомнило - ноутбук Dell latitude. Имеется "аппаратная" кнопка для отключения микрофона (fn+F4, вроде). Винда думает, что микрофон включен, но там тихо. Не интересовался как реализовано, но приятно что есть.

Потом появляется похожий рабочий Делл. Все также, но через время накатывают какой-то апдейт Биоса и теперь эта кнопка просто включает и выключает светодиод.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий