RSS блога
Подписка
Программируем ... наушники
Стремление производителей к унификации привело к тому, что сегодня многие недорогие Bluetooth наушники и колонки построены на типовых SoC модулях с широким списком возможностей, которые часто могут быть программно «подрезаны» производителем, причем в некоторых случаях активировать заблокированный функционал можно самостоятельно, используя копеечный USB-TTL переходник. Сегодня на примере наушников Edifier W830BT я покажу, как для аудиоустройств на базе модуля CSR8645 можно включить поддержку кодека AAC, настроить уровень громкости и «подкрутить» встроенный в чип эквалайзер для получения более интересного звучания
1. Скачиваем и устанавливаем BlueSuite 2.6.6, CSR86XX Configuration Tool и CSR8600 ROM Series A03 UFE... отсюда
2. Скачиваем драйвер csr-spi-ftdi и извлекаем из папки lib-win32 файл usbspi.dll и копируем его в папку C:\Program Files (x86)\CSR\BlueSuite 2.6.6\, соглашаясь на замену уже существующего в ней файла
3. Подключаем адаптер к компьютеру
4. Скачиваем и запускаем приложение Zadig, в нем выбираем Options > List All Devices и выбираем в выпадающем списке FT232R USB UART
5. В поле Driver выбираем libusbK и жмем кнопку Replace Driver
6. Ждем несколько секунд, и драйвер должен успешно установиться:
После этого идем в диспетчер устройств и проверяем, что адаптер действительно установился правильно — там он должен отображаться как FT232R USB UART:
2. К контакту GND подпаиваем кусок провода
3. К контактам 3.3V, DTR, RTS, RI, RSD подпаиваем резисторы:
4. Вскрываем наушники, находим модуль CSR8645 на плате и пятачки для его программирования недалеко от него:
5. Подпаиваем резисторы и провод с программатора к пятакам как показано на картинке выше и в таблице ниже:
Получается как-то так:
Теперь, когда все настроено и подключено, можно переходить непосредственно к редактированию настроек модуля.
Если все было сделано верно, на экране мы увидим список параметров настроек и их значений для установленного модуля:
Как вы могли заметить, эта прога позволяет точечно редактировать значения параметров модуля без перезаписи всего содержимого памяти. Первым делом нам необходимо снять полный дамп настроек модуля, для этого жмем File > Dump и сохраняем куда-нибудь PSR файлик, который будет формироваться пару минут (приложение и наушники в это время не трогаем):
Далее запускаем приложение Config Tool и загружаем в него созданный PSR файлик (File > Open From PSR File):
Это приложение позволяет просматривать список настроек и их значений в более удобном виде визуально. Среди всех настроек нас пока интересует переключатель A2DP AAC codec enable на вкладке Features:
Активируем его и жмем кнопку Write PSR (и ни в коем случае не нажимаем Write Device!). Сохраненный новый PSR файлик нам теперь нужно сравнить с изначальным, чтобы понять, какие настройки в нем изменились. Сделать это можно на каком-нибудь сайте, например. Сравнив 2 PSR файла, мы можем увидеть, что в после включения AAC поменялось одно значение в настройке USR 15:
Это новое значение нам необходимо прописать в наушники с помощью PSTool. Возвращаемся к этой проге и находим в ней параметр User configuration data 15 со старым значением (f718):
Меняем его на новое (f528) и сохраняем кнопкой Set, далее для перезагрузки наушников жмем Reset BC. Включаем наушники, подключаемся к смартфону и убеждаемся, что кодек AAC теперь появился (слева — было, справа — стало):
Здесь представлены 16 уровней громкости, и для каждого можно задать свой уровень усиления/затухания. Максимальное значение громкости (HFP15) здесь имеет значение 0, но можно без проблем задать и усиление, что я и сделал, немного подняв последние уровни вверх:
Применение изменений проводим точно так же, как и в случае включения AAC: сохраняем новый PSR файл и сверяем с предыдущим, чтобы найти изменившиеся строчки:
Затем точно так же находим и применяем их в PSTool:
В результате изменения настроек уровень громкости действительно поднялся, причем это никак не сказалось на качестве звука, никаких осязаемых искажений не наблюдается.
Затем нам потребуется приложение CSR8600 ROM Series A03 Release, после запуска в нем необходимо выбрать алгоритм Music Manager 44.1kHz:
В результате откроется форма редактирования аудио конвейера, в который нам нужно загрузить тот самый PSR файл с параметрами DSP:
В первую очередь заходим в Decoder и активируем эквалайзер для SBC, aptX и AAC:
Далее идем в PEQ и выбираем один из пресетов эквалайзера или создаем новый с нуля, я выбрал для основы Bass Boost:
У эквалайзера можно задать до 5 полос, частоты задаются произвольно. Для примера поднимем еще немного НЧ:
После этого нажимаем ОК и сохраняем изменения в новый PSR файл:
Этот PSR файл теперь можно открыть в любом текстовом редакторе и последовательно загрузить значения для DSP30, DSP31 и DSP32 в наушники с помощью PSTool, как это уже делали на предыдущих этапах:
Принадлежности
Для осуществления задуманного требуется не так много деталей:- Паяльник с тонким жалом
- Адаптер FT232RL и miniUSB шнур к нему
- 5 резисторов на 10 кОм
- Кусок провода длиной 3-4 см
Готовим программную часть
В первую очередь нужно установить на компьютер необходимое ПО и драйвера для работы адаптера:1. Скачиваем и устанавливаем BlueSuite 2.6.6, CSR86XX Configuration Tool и CSR8600 ROM Series A03 UFE... отсюда
2. Скачиваем драйвер csr-spi-ftdi и извлекаем из папки lib-win32 файл usbspi.dll и копируем его в папку C:\Program Files (x86)\CSR\BlueSuite 2.6.6\, соглашаясь на замену уже существующего в ней файла
3. Подключаем адаптер к компьютеру
4. Скачиваем и запускаем приложение Zadig, в нем выбираем Options > List All Devices и выбираем в выпадающем списке FT232R USB UART
5. В поле Driver выбираем libusbK и жмем кнопку Replace Driver
6. Ждем несколько секунд, и драйвер должен успешно установиться:
После этого идем в диспетчер устройств и проверяем, что адаптер действительно установился правильно — там он должен отображаться как FT232R USB UART:
Готовим аппаратную часть
1. Переключаем джампер на FT232R адаптере на 3.3V2. К контакту GND подпаиваем кусок провода
3. К контактам 3.3V, DTR, RTS, RI, RSD подпаиваем резисторы:
4. Вскрываем наушники, находим модуль CSR8645 на плате и пятачки для его программирования недалеко от него:
5. Подпаиваем резисторы и провод с программатора к пятакам как показано на картинке выше и в таблице ниже:
Получается как-то так:
Теперь, когда все настроено и подключено, можно переходить непосредственно к редактированию настроек модуля.
Активируем поддержку AAC
Модуль CSR8645 поддерживает не только SBC и aptX, но еще и AAC, но по непонятной причине этот кодек в Edifier W830BT производителем отключен. Эту вселенскую несправедливость мы сейчас исправим, для этого подключаем адаптер к компьютеру и включаем наушники, а затем запускаем приложение PSTool, которое идет в комплекте с BlueSuite. Если все сделано верно, то на экране появится наш подключенный адаптер — просто жмем ОК и ждем загрузки данных из наушников:Если все было сделано верно, на экране мы увидим список параметров настроек и их значений для установленного модуля:
Как вы могли заметить, эта прога позволяет точечно редактировать значения параметров модуля без перезаписи всего содержимого памяти. Первым делом нам необходимо снять полный дамп настроек модуля, для этого жмем File > Dump и сохраняем куда-нибудь PSR файлик, который будет формироваться пару минут (приложение и наушники в это время не трогаем):
Далее запускаем приложение Config Tool и загружаем в него созданный PSR файлик (File > Open From PSR File):
Это приложение позволяет просматривать список настроек и их значений в более удобном виде визуально. Среди всех настроек нас пока интересует переключатель A2DP AAC codec enable на вкладке Features:
Активируем его и жмем кнопку Write PSR (и ни в коем случае не нажимаем Write Device!). Сохраненный новый PSR файлик нам теперь нужно сравнить с изначальным, чтобы понять, какие настройки в нем изменились. Сделать это можно на каком-нибудь сайте, например. Сравнив 2 PSR файла, мы можем увидеть, что в после включения AAC поменялось одно значение в настройке USR 15:
Это новое значение нам необходимо прописать в наушники с помощью PSTool. Возвращаемся к этой проге и находим в ней параметр User configuration data 15 со старым значением (f718):
Меняем его на новое (f528) и сохраняем кнопкой Set, далее для перезагрузки наушников жмем Reset BC. Включаем наушники, подключаемся к смартфону и убеждаемся, что кодек AAC теперь появился (слева — было, справа — стало):
Поднимаем уровень громкости
Раз уж мы вскрыли наушники и прошли большой путь по настройке, то грех не подкрутить еще что-нибудь. В W830BT меня не совсем устраивал максимальный уровень громкости. Как оказалось, «поддать газку» здесь можно так же легко программным путем. Для этого в приложении Config Tool загружаем новый PSR файл (заново выкачиваем его в PSTool после включения AAC) и переходим на вкладку Audio Gains:Здесь представлены 16 уровней громкости, и для каждого можно задать свой уровень усиления/затухания. Максимальное значение громкости (HFP15) здесь имеет значение 0, но можно без проблем задать и усиление, что я и сделал, немного подняв последние уровни вверх:
Применение изменений проводим точно так же, как и в случае включения AAC: сохраняем новый PSR файл и сверяем с предыдущим, чтобы найти изменившиеся строчки:
Затем точно так же находим и применяем их в PSTool:
В результате изменения настроек уровень громкости действительно поднялся, причем это никак не сказалось на качестве звука, никаких осязаемых искажений не наблюдается.
Крутим эквалайзер
Как правило, SoC — это очень навороченная вещь с целой кучей возможностей, про которые не все догадываются. Конкретно у CSR8645 имеется полноценный встроенный DSP, позволяющий серьезно модифицировать звучание. Об этом я узнал, когда после включения AAC заметил серьезные отличия по звуку по сравнению с SBC и aptX. Как оказалось, для AAC эквалайзер просто был выключен, поэтому звучание было менее интересным. Так или иначе, я решил поэкспериментировать с этой темой. Для настройки DSP нам в первую очередь нужно открыть PSR файлик в HEX редакторе и вырезать строки параметров PSKEY_DSP30… PSKEY_DSP32 в новый PSR файл:Затем нам потребуется приложение CSR8600 ROM Series A03 Release, после запуска в нем необходимо выбрать алгоритм Music Manager 44.1kHz:
В результате откроется форма редактирования аудио конвейера, в который нам нужно загрузить тот самый PSR файл с параметрами DSP:
В первую очередь заходим в Decoder и активируем эквалайзер для SBC, aptX и AAC:
Далее идем в PEQ и выбираем один из пресетов эквалайзера или создаем новый с нуля, я выбрал для основы Bass Boost:
У эквалайзера можно задать до 5 полос, частоты задаются произвольно. Для примера поднимем еще немного НЧ:
После этого нажимаем ОК и сохраняем изменения в новый PSR файл:
Этот PSR файл теперь можно открыть в любом текстовом редакторе и последовательно загрузить значения для DSP30, DSP31 и DSP32 в наушники с помощью PSTool, как это уже делали на предыдущих этапах:
Итог
Далеко не все музыкальные bluetooth устройства так просты, как кажется. У некоторых моделей наушников и колонок на самом деле имеется поддержка более продвинутых кодеков, чем стандартный SBC, а встроенный эквалайзер имеется практически везде. Описанным выше способом на некоторых устройствах можно отключить голосовые подсказки, изменить поведение индикаторов, поправить уровни напряжений аккумулятора и много всего полезного.
Самые обсуждаемые обзоры
+47 |
1929
66
|
+77 |
6064
200
|
Кстати. У меня амбушюра по шву разошлась, кожа дермантина. Не сталкивались? Как фиксить не знаете?
скорее всего, раз позиционируются более долговечными, сменю их просто… хотя может и с суперклеем поэкспериментирую… не люблю его что-то)))
Купить НЕ ОРИГИНАЛЬНЫЕ амбушуры.
Я брал вот эти: https://aliexpress.ru/item/item/32993959688.html
Но по ссылке их уже нет, брал давно, наушники использую постоянно в офисе, пока как новые, клееного шва у них нет.
заказал
Те что я брал — прошитые, при этом сами швы в других местах.
Они идут без пластиковых креплений, их приходится отрывать от родных.
В итоге, тоже купил на Али «оригинальные» за 9,09$
Сейчас дороже
Тут оно «Edifier W830BT», заменить на что-то иное.
Что бы каждый модуль подключался только к определённому своему «напарнику».
Придется искать дальше.
Благодарю за ответы.
скорее сера из ушей кусками начнёт вываливаться, чем получится перегрузить наушники
а зачем надо было вообще поднимать громкость? чисто в порядке эксперимента?
Маловата была даже на 100%
всего 6 дБ для полного счастья не хватало? )))
Что сейчас выбрать из «универсальных» программаторов для домашнего использования в пределах 100$?(или очень мало?)
А то всё полнится ящик платами: USB-TTL, FT232H, St-Link, PikKit, CH341A. А как коснешься чего… то софт старый, то прищепкой не читает, то вольты не подходят, то сигналов в ZIF нет, то схемы подключения в программе не правильные(привет CH341) — городи огород проводами. Наболело) За последние полгода уже шил планшет, фонарь, роутер, TWS наушники, стиралку, материнскую плату, штатную автомагнитолу, дисплей бортового компьютера. В половине случаев куча подводных камней о которых узнаешь через пару дней поиска в сети, если повезет. Есть что-то сейчас самое распространенное и с самым большим сообществом?
С такими темпами цифровизации скоро и к ложке с вилкой без программатора не подойдешь.
Я использую для SPI, 24xx — 93xx, и для поточной ноутбучной работы прогер SVOD-3 (150 евро), но для не ноутбучника он будет вероятно избыточен, к тому же имеет не самый юзерфрендли интерфейс.
а с прищепками вообще ситуация двоякая. С одной стороны теоретически любой прогер можно «прокачать» так, чтоб прищепка передушивала сигналы блокирующие флеш на плате, с другой стороны это может (и часто так и будет) плохо закончится. Все зависит от обвязки чипа
Как нужно что-то отличное от стандартного Биоса, так начинаются костыли)
Я вообще использую flashrom для CH341A и меня вполне устраивает. Но он у меня только для SPI EEPROM. Для всего остального у меня MCUMall True USB Programmer, но он уже много лет и мог устареть. Я бы тоже посоветовал TL866 сегодня из-за популярности (но у меня лично такого не было никогда).
RT809H хорош если не только EEPROM надо, а кучу всего другого. Я себе для «другого» на днях заказал программатор Вертьянова, но сам по себе довольно специфичный.
Нанды шьет.
Плюс из другого магазина
Для мелкого домашнего ремонта думаю пока хватит.
Двухэтажный для нанд хорош, проверите там по картинке, которую даст сам программатор.
Еще я заказал переходы под tsop
a.aliexpress.com/_9xgD9j, зерофорс от нанд должен подойти(но это проверим по приходу).
Поэтому и написал, лучше голенький программатор и необходимое, чем набор " малонужное всё").
Единственно, что в нем плохо, это ключики 20-тивольтовые, нельзя шить 573РФ.
Пришлось оставить и старый оставить, там можно на выход буста Vpp подать хоть 30 вольт с внешнего питальничка и шьется Vpp 27В только в путь.
проверено на 29LV320CB.
Вы не смотрели, а по микро usb есть дата подключение или только питание? Может можно без разборки шаманить?
На самом деле интересно теперь за все перематры модуля… где б это описано могло быть. Я бы себе в машину поставил, но хочу, чтобы спаривание автоматом включалось после дисконнекта устройства например или сброса питания, — не хочу кнопку выводить на спаривание…
Но если делать сейчас взял бы на QCC5125.
А хочется задать пин, и дать паринг всегда, если нет коннекта. И тогда уже запрятать в машину к процессору на вход.
а все, что выше, оно умеет с qc3008 и qcc5125?
4pda.to/forum/index.php?showtopic=939642
Но мне больше понравилась городушка на LPT, так как приблуда на фт232 неполноценна.
Ну и LDAC для мнительных уже из коробки
Подскажите, есть ли на этих наушниках(SoC модулях) режим ShareMe, когда двое наушников работают от одного источника, один становится мастер второй слейв. Очень удобно фильмы вдвоем смотреть, чтоб другим не мешать. У меня китайские наушники с такой технологией, были не дорогие. А потом они перестали эти наушники выпускать, стали видеорегистраторы делать. Другие наушники с этой технологией что я нашел уже стоят от $90, это сильно дороже.
Или бы просто плата с али для наушников бы была с таким чипом, я бы купил и в наушники сам уже встроил.
Поделитесь, пожалуйста, кто что знает по этой теме.
Хотя, у меня Bluedio Turbine Т2, на чипе IS2020 ((, но любопытен сам факт урезания функций…
Спасибо вам за мануал по улучшению этих блюпуп наушников!!!
если оказывается, что в наушниках хреновые динамики, то это уже ничем не исправляется (БТ может только лишь усугубить ситуацию)
час возни, но не надо ничего паять
и потом послушать, что получилось
Там сразу есть переключатель уровней 5 В/3,3 В/1,8В и не надо городить резисторы
USB-TTL
Можно там же взять один за сто рублей.
Лучше преобразователь уровней на LPT или клон родного программатора a.aliexpress.com/_ATSdhb
У меня уши с микрофоном и они постоянно пытаются подключиться как гарнитура с низким качеством звука, надо каждый раз вручную настраивать что раздражает.
мне интересно для деда. мучается со своими дурацкими слуховыми аппаратами.
хотя ему достаточно громкости немного больше сделать в наушниках от тв, и всё норм слышит.
на али видел какие-то гарнитуры bt + слуховые аппараты, но их выбор с такой функцией очень ограничен.
У меня большая проблема блютуз-наушников состоит в том что они отключаются примерно через каждый час, если не используются, а смысл этих наушников (гарнитуры) состоит прежде всего в приёме звонков.
Вопрос что мне изменить при их перепрошивке? Для справки наушники jbl tune 510 bt.
Если что моя почта: temasvetliy@gmail.com