Недавно установленный Ownice C500 поддерживает только резистивный тип внешнего управления. Это когда в зависимости от нажатой кнопки меняется напряжение на входе. Протокол общения штатной магнитолы с этими кнопочками я в прошлом году подробно разбирал, когда внедрял блутус. Тогда мне эти знания не пригодились, а сейчас снова стали актуальными :)
Собственно, что сделано.
1) Открыл схему Gamma V, срисовал оттуда входной тракт. Перерисовал прям компонент-в-компонент.
2) Установлен микроконтроллер, который будет расшифровывать посылку от руля и преобразовывать её в напряжение. Я поставил Atmega88PA, просто потому, что у меня их небольшие залежи.
Так как в этом контроллере нет ЦАП, то я его сэмулировал через ШИМ. Делаем несущую ШИМ-а на частоте контроллера, вешаем на выход RC-фильтр (в моём случае 100nF + 10k) и цепляем на вход магнитоле.
Из нюансов — очень нестабильно работают кнопки, которые на выходе дают 3В и выше. И на входе Key1 и на входе Key2. Решил самым простым способом — назначил кнопкам уровни от 0.6, 1.2, 1.8, 2.4В. Распознаются чётко. Обнаружил странную особенность — после первого включения Ownice C500 с пульта не реагирует на переключение треков, только на громкость. Но после первой же регулировки громкости начинает реагировать на переключение треков. Не напрягает (ибо обычно громкость кручу сразу при включении), но любопытно.
Ну и вот собственно, примерно так оно работает: