02 Марта 2019
648

Расширяем функционал штатной аудиосистемы

Всем привет. Являюсь обладателем десятилетнего японца, в котором меня все устраивало, за исключением штатной аудиосистемы - в ней отсутствовал Bluetooth. Передо мной стояло три варианта решения этой проблемы:


1. Купить затычку в прикуриватель и не выпендриваться.

2. Купить на разборках за немалые деньги штатный блок Bluetooth + голову поновее.

3. Сделать что-либо самому, но так, чтобы не урезать имеющийся функционал.


Как вы поняли из названия, я выбрал путь номер 3. (не тот, о чем вы подумали)


Итак, имеем:


Штатная аудиосистема, которая состоит из головного устройства и панели, которая выглядит так:

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

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


Задача: выяснить, как осуществляется обмен данными между панелью и головой.


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

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Далее был пущен в ход логический анализатор, которым была определена скорость и протокол обмена между головой и панелью. (Частота обновления экрана 10 кадров в секунду, частота сканирования нажатий 30 мс). В итоге был получен результат в виде Hello World, знакомого каждому программисту =)

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Следующим шагом был этап выбора микроконтроллера для реализации этой содомии) Выбор пал на STM32F103, на борту которого целых 3 UART и есть поддержка CAN шины (почему бы не добавить и ее). В качестве Bluetooth модуля изначально был куплен CSR8645, первая версия была с ним, но он не мог выводить названия треков, а также не имел управления по цифровой шине, поэтому был куплен прямо from USA модуль под названием Bluegiga WT32i, в котором было все, что нужно и даже больше - поддержка вывода цифрового звука и поддержка lossless кодека AptX. В течение пары месяцев, когда было свободное время велась разработка прототипа. Были познаны все ужасы HAL и прелести SPL. Досконально изучены UART и DMA в микроконтроллере, т.к. связать все это вместе и чтобы оно работало без тормозов и сбоев было необходимо.


Отладка обмена:

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Отладка и настройка Bluetooth-модуля с внешним ЦАПом

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

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

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Снаружи вот так:

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Корпусом выступил старый блок питания от ноутбука.


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

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Ну и результат после месяца ожидания:

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

На фото и модели платы немного отличаются, был добавлен CAN трансивер и еще по мелочи.


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

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Корпусом выступил все тот же блок питания.


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

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Вид в сборе

Расширяем функционал штатной аудиосистемы Своими руками, Электроника, Mitsubishi, Embedded, Stm32, Видео, Длиннопост

Ну и видео работы

Примечание. Как вы могли заметить, русский текст выводится транслитом, более-менее умным. Например буква ч заменяется на ch и т.п., чего штатными средствами достичь никак бы не удалось. Ну и в добавок поддержка lossless аудио.


Если кто захочет повторить, пишите, у меня еще осталось 9 плат. Прошивку скину :)


Тем, кто жаждет подробностей. Задействованы все 3 UART. Один на дисплей, один на клавиши и один на Bluetooth модуль. Звуковой поток переключается аналоговым мультиплексором. CAN используется тоже из STM32. Стоит внешний ЦАП PCM5102, звук очень недурный. Подключается между головой и проводкой автомобиля. Разъемы были найдены на разборке за дофига денег)


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


iam@kolyandex.su

Показать полностью 12 1
12

Список книг, которые были прочитаны в сериале «Gilmore Girls». Часть третья.

Список книг, которые были прочитаны в сериале «Gilmore Girls». Часть третья. Книги, Список, Девочки Гилмор, Классика, Gilmore Girls, Длиннопост

«Дом песка и тумана» Андре Дабус III

«Дом Духов» Исабель Альенде

«Как дышать под водой» Джули Оррингер

«Гринч — похититель Рождества» Доктор Сьюз

«Вопль» Аллен Гинзберг

«Собор Парижской Богоматери» Виктор Мари Гюго

«Илиада» Гомер

«Я с группой: «Исповедь поклонницы» Памела Дес Баррес

«Хладнокровное убийство» Трумен Капоте

«Ад Данте» Данте Алигьери

«Пожнёшь бурю» Джером Лоуренс

«Железный бурьян» Уильям Кеннеди

«Нужна целая деревня» Хиллари Клинтон

«Джейн Эйр» Шарлотта Бронте

«Клуб радости и удачи» Эми Тан

«Юлий Цезарь» Уильям Шекспир

«Знаменитая скачущая лягушка из Калавераса» Марк Твен

«Джунгли» Эптон Билл Синкле

«Всего пара дней» Тони Вигорито

«The Kitchen Boy: A Novel of the Last Tsar» Роберт Д. Циммерман

«Конфиденциальная кухня: приключения в кулинарном пуху» Энтони Бурден

«Бегущий за ветром» Халед Хоссейни

«Любовник леди Чаттерлей» Дэвид Герберт Лоуренс

«Листья травы» Уолт Уитмен

«Легенда о Баггере Вэнсе: роман о гольфе и игре жизни» Стивен Прессфилд

«Меньше чем ноль» Брет Истон Эллис

«Письма молодому поэту» Райнер Мария Рильке

«Ложь и лживые лжецы, которые рассказывают им» Эл Франкен

«Жизнь Пи» Янн Мартел

«Крошка Доррит» Чарльз Диккенс

«Маленький слесарь» Кэтрин Батлер Хатауэй

«Девочка со спичками» Ханс Кристиан Андерсен

«Маленькие женщины» Луиза Мэй Олкотт

«Живая история» Хиллари Клинтон

«Повелитель мух» Уильям Голдинг

«Лотерея и другие истории» Шерли Джексон

«Милые кости» Элис Сиболд

«История любви» Эрик Сигал

«Макбет» Уильям Шекспир

«Госпожа Бовари» Гюстав Флобер

«Мантикора» Робертсон Дэвис

«Марафонец» Уильям Голдман

«Мастер и Маргарита» Михаил Булгаков

«Воспоминания о послушной дочери» Симона де Бовуар

«Me Talk Pretty One Day» Дэвид Седарис

«Значение Консуэло» Джудит Ортис Кофер

«Менкенская хрестоматия» Генри Луис Менкен

«Виндзорские насмешницы» Уильям Шекспир

«Превращение» Франц Кафка

«Средний пол» Джеффри Евгенидис

«Сотворившая чудо» Уильям Гибсон

«Мо́би Дик, или Бе́лый кит» Герман Мелвилл

«Денежная история Соединенных Штатов, 1867–1960» Анна Шварц и Милтон Фридман

«A Month of Sundays: Searching for the Spirit and My Sister» Джули Марс

«Праздник, который всегда с тобой» Эрнест Хемингуэй

«Миссис Дэллоуэй» Вирджиния Вулф

«Мятеж на Баунти»» Джеймс Норман Холл и Чарльз Нордхофф

«Моя жизнь в апельсине: рост с Гуру» Тим Гест

«Ангел для сестры» Джоди Пиколт

«Нагие и мёртвые» Норман Мейлер

Показать полностью
11

Выживает сильнейший

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


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

https://mi3ch.livejournal.com/3126781.html

Выживает сильнейший Невезение, Горец, Сакс
8

Прошу помощи, не могу найти пост, нейробиология, мозг.

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

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

Отличная работа, все прочитано! Выберите