Авторизация
Зарегистрироваться

Добавляем поддержку aptX в старый музыкальный центр Sony


Этот обзор посвящён Bluetooth-модулю BTM625B на микросхеме CSRA64215 и одному из возможных способов его применения, а именно доработке старенького музыкального центра Sony с целью внедрения в него поддержки aptX Bluetooth. ЛУТ, пайка и изменение настроек модуля самодельным программатором на основе FTDI FT232RL в комплекте. Будет много фото и скриншотов!

В комментариях к моему обзору о переделке музыкального центра Sony HCD-551 были выдвинуты предложения по замене применяемого мной адаптера Bluetooth на более современный, использующий протокол aptX, и даны ссылки на несколько моделей. В принципе, меня решение из моего прошлого обзора устраивало почти полностью (за исключением небольшого фонового шума во время тишины между треками или при паузе воспроизведения), но любопытство и желание попробовать что-то новое и прогрессивное пересилило, и я начал изучать устройства по приведённым ссылкам. Однако, в своём изначальном состоянии ни одно из них не подходило мне без переделки, поскольку, во-первых, мне хотелось на одной плате разместить ещё и эмулятор кассетной деки (напомню, в этом музыкальном центре приходится эмулировать сигнал с датчика оборотов шпинделя кассеты, поскольку иначе электроника центра считает, что воспроизведение кассеты закончилось и переключает электронный коммутатор входов звука в режим Mute), во-вторых для повышения устойчивости радиосвязи мне необходимо вывести Bluetooth-антенну за металлический корпус центра, в-третьих мне нужно управлять включением модуля, разрешая его работу лишь тогда, когда в этом имеется необходимость, а в остальное время модуль должен быть отключен, в-четвёртых, по цене готовое решение получалось несколько дороже. Но телефон мой этот стандарт вроде как поддерживает. Я начал искать альтернативный путь решения этой задачи.

И вот, оказалось, что на просторах AliExpress имеются “голые” модули адаптеров, содержащие на миниатюрной плате лишь саму микросхему, работающую с Bluetooth, а также минимально необходимую для её работы обвязку. Мало того, “фабричные”, уже готовые к использованию Bluetooth-ресиверы, собираются как раз именно на основе таких модулей. Я подумал, а почему бы и мне не сделать собственную плату на основе этого модуля, полностью адаптировав её подо все мои требования? Для своего проекта я выбрал модуль BTM625B на основе микросхемы CSRA64215, как наиболее современное решение.
BTM625B

Давайте посмотрим, что обещает на продавец на странице товара:
1. Поддержку стандарта Bluetooth 4.2
2. Малые габариты платы модуля: 15*18*2.0мм
3. Диапазон напряжений питания: 2.8-4.2 В
4. Частотный диапазон: 2402~2480 МГц
5. Кодеки: aptX,aptX Low Latency, SBC и AAC
6. TrueWireless Stereo (TWS)
и ещё много всего!

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

В теории всё просто и хорошо, но если бы я тогда знал, с какими проблемами мне предстоит столкнуться… Но об этом чуть позже!

Сказано-сделано! Я приобрёл на AliExpress необходимые модули, а пока они шли почтой, я развёл и изготовил первую ревизию платы моего будущего устройства. На этот раз было решено использовать SMD-компоненты. По сути, схема простейшая, но для большего понимания я всё же частично зарисовал её:

В качестве генератора импульсов, имитирующего сигнал вращения шпинделя деки, я использовал схему на основе выпаянной с платы старого привода CD-ROM микросхемы 74LS00, представляющей собой 4 логических элемента И-НЕ в одном компактном SMD-корпусе, где частоту генерации задают алюминиевый электролитический конденсатор 220мкФ x 6В и пара резисторов по 100 Ом. Почему резисторов два? Просто потому, что я у себя в закромах не нашёл один резистор на 200 Ом, зато имелось несколько на 100. В итоге, судя по встроенному в тестер частотомеру, с указанными номиналами элементов частота генерации составила 5,5 Гц. Далее, поскольку сигнал на включение мотора лентопротяжного механизма инвертирован (активный уровень сигнала — низкий), а BTM625B запускается высоким уровнем сигнала, то пускай тогда один из неиспользуемых логических элементов 74LS00 будет заниматься инвертированием сигнала, если уж в схеме уже имеется логический инвертор, почему б его не использовать? Кроме того, поскольку BTM625 питается напряжением 3,3 В (в отличие от 7400, работающей от +5 Вольт), то и логические уровни используются вовсе не пятивольтовые, поэтому сигнал с выхода инвертора на разрешающий вход модуля проходит через резистор 1 кОм. Также на плате имеются два раздельных линейных стабилизатора LM1117-3.3 для формирования питаний Bluetooth-модуля и модуля усилителя звука.

Через некоторое время заказанные модули приехали, и я впаял в плату и их тоже.

Ах как же жаль, что я не догадался тогда сделать фотографию первой ревизии моей платы, в тот момент ведь я даже не планировал писать на BTM625B обзор! В самом деле, что там писать, всё ж просто вроде бы: выход звука с модуля Bluetooth выдаём на вход усилителя и с выхода усилителя аудиосигнал подаём на вход аналогового переключателя музыкального центра, всё ж просто, всё как в прошлом обзоре, о чём тут писать? Ага, щазз, как бы не так!

Радостный, я подключил к только что собранной плате питание с лабораторного блока питания, замкнул разрешающий провод на землю, и увидел появившуюся сеть “BT Speaker”. Как же я в тот момент обрадовался! Мой телефон подключился без особых проблем, на экране выскочила надпись, сигнализирующая о том, что телефон и моё устройство работают по протоколу aptX, и я запустил музыкальный трек в надежде услышать звук из подключенного динамика. Но… Как бы не так, звука не было, хотя усилитель совершенно точно работал, это подтверждалось тем, что если коснуться его входа металлическим предметом, в динамике появлялся нискочастотный гул. Куда делся звук? Вот в чём вопрос. После непродолжительных поисков в Интернете выяснилось, что BTM625B по умолчанию сконфигурирован таким образом, что выдает звук не в дифференциальный аудиовыход, а в шину I2S, и чтобы перенастроить это поведение, необходимо к шине SPI микросхемы CSRA64215 подключить SPI-USB адаптер, да не простой, а проприетарный от самой компании CSR. Посмотрев, сколько стоит это чудо техники даже в варианте от китайцев, я пришёл в уныние. Но! Есть ещё добрые и талантливые люди, и в строке поиска поисковой системы меня заинтересовала ссылка на один проект на GitHub’е.

Автор проекта “csr-spi-ftdi” под ником lorf предлагает в качестве адаптера CSR SPI использовать дешевый адаптер USB-UART на основе микросхемы FT232R, который можно как собрать самостоятельно, так и приобрести готовый (просто наберите в поиске AliExpress или ebay “FT232R adapter”). Магия здесь в том, что микросхема FT232R в качестве одной из своих функций может использовать свои выводы в режиме BitBang, т.е. позволяет программно изменять их состояние из высокого в низкое и наоборот, что очень напоминает работу обычного LPT-порта или GPIO-выводов Arduino и многих других подобных плат, что открывает возможность создавать на её основе различные самодельные программаторы, адаптеры и прочее нестандартное оборудование. Программная реализация протокола SPI осуществляется при помощи библиотеки usbspi.dll, созданной автором проекта, причём поддерживаются как микросхемы производства самой FTDI, так и китайские клоны. Пришлось заказать ещё и адаптер, благо стоит он недорого.
Адаптер на основе FTDI FT232RL


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



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

Кроме того, судя по множеству отзывов, установленные на выходе модуля усилителя переходные электролитические конденсаторы имеют недостаточную ёмкость (100 мкФ), и установка конденсаторов с большей ёмкостью улучшает звучание усилителя на низких частотах, было решено их заменить. В хозяйстве нашлась лишь пара на 470 мкФ х 16 В, их и запаял. В будущем ещё заменю и 4 SMD-конденсатора по входу, т.к. по datasheet-у на микросхему SGM4812 их ёмкость должна составлять 390 нФ, а по факту стоят конденсаторы на 100 нФ.

Расскажу немного о процессе программирования BTM625B. Для перевода платы в режим программирования необходимо вывод PCM/SPI (вывод №5 BTM625B) через резистор 10 кОм подключить к напряжению +3,3 В, а непосредственно подключение к микросхеме происходит при помощи шины SPI. Для программирования необходимо подключить 6 выводов: общий провод, питание, а также сигналы CLK, CSB, MOSI, MISO через резисторы 220 Ом (по крайней мере, так рекомендовано автором проекта на GitHub'е) с адаптером. При разводке платы я про эти резисторы успешно забыл, а переделывать уже не хотелось, посему припаял их прямо в разрыв соединительных проводов. На моей плате уже имеется преобразователь на 3,3 В, поэтому (а также потому, что судя по данным из даташита на FT232R сила тока на выходе встроенного в неё линейного преобразователя на 3,3 В не может превышать 50мА) для питания модуля с платы адаптера идёт напряжение 5 В.

Соединяем адаптер и самодельную плату в соответствии со следующей таблицей:

Сигнал SPI     Вывод адаптера
    CSB		     DTR
    CLK		     RTS
    MOSI             RI
    MISO	     DSR
    GND	             GND

Обратите внимание! Сигнал DSR на адаптере обозначен как RSD! Вот он, верный признак настоящего качества…

Также для изменения настроек модуля нам потребуется программное обеспечение под названием “CSRA64xxx and CSRA63xxx Tools v2”. В Интернете довольно просто найти софт первой версии, но я где-то видел отзывы о том, что она не хочет работать с этим модулем из-за слишком новой версии встроенного в модуль программного обеспечения, и необходима именно вторая версия (позже оказалось, что это именно так). Софт версии 2 найти было намного сложнее, по большинству найденных мной ссылок программа была недоступна для скачивания, однако всё же мне удалось её скачать. Чтобы никому из читателей не пришлось так же, как и мне, лазить по куче китайских сайтов, выложил её на файлохранилище.

Итак, теперь необходимо установить программу, зайти в ту папку, в которую она была установлена (на моей системе это “C:\Program Files (x86)\CSRA64xxx and CSRA63xxx Tools v2” и заменить файл “usbspi.dll” на файл “lib-win32/usbspi.dll”, скачанный со страницы проекта на GitHub (не забыв предварительно сделать резервную копию заменяемого файла). Но, к сожалению, только этого недостаточно. Всё дело в том, что стандартный драйвер для Windows предоставляет для таких адаптеров лишь функциональность COM-порта, чего для наших нужд будет явно мало, поэтому необходимо временно заменить драйвер от FTDI на libusb-совместимый драйвер, что даёт возможность более низкоуровневого доступа к чипу. Для замены драйвера используется программа Zadig. Подключаем наш адаптер к USB-порту компьютера, скачиваем и запускаем программу Zadig. В открывшемся окне выбираем пункт меню «Options» и ставим галочку «List all devices», где находим название адаптера (что-то вроде “FT232R USB UART”), далее стрелочками выбираем драйвер “libusbK” и нажимаем кнопку “Replace driver” или “Install driver”.

Запускаем CSRA64xxx and CSRA63xxx v2 Configuration Tool, подаём (это только в моём случае, т.к. у меня в схеме используется инвертор; на голый модуль надо подавать высокий уровень на контакт MFB) низкий уровень сигнала на вход «EN» (замыкаем на землю), выбираем в списке «Select a device» устройство «FT232R 00000000» и жмём на «Read device», и, если соединения выполнены правильно, то программа считает все настройки с платы и позволит их изменять на наше усмотрение.

Первым же делом я, разумеется, изменил аудиовыход с I2S на DAC (встроенный ЦАП), собственно, ради этого всё и затевалось:

А также изменил название Bluetooth-точки с невнятного «BT Speaker» на «Sony MHC-551», это ж будет его блютус, не так ли?

И включил поддержку кодека AAC (по умолчанию почему-то отключена):

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

Попробовал я ради интереса и первую версию программы — действительно, не работает!
CSRA64xxx and CSRA63xxx Tools первой версии и BTM625B

На этом, в принципе, перепрограммирование устройства завершено, можно проверять! Я подал питание на модуль, подключился с телефона к точке «Sony MHC-551», и на экран выскочило сообщение о подключении к устройству с поддержкой aptX!
Скриншот с телефона

Запускаю музыкальный трек для проверки… Всё работает!!! Даже CSR GAIA Control (также выложил её в облако, может кому пригодится) видит устройство:
Скриншоты CSR GAIA Control


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


И снова я столкнулся с трудностями. После подключения моей платы к цепи питания +5 В музыкального центра, не запустился генератор импульсов для эмуляции работы лентопротяжного механизма (на выходе постоянно была лог. «1»), хотя от ЛБП всё совершенно точно работало… Знаете почему так произошло? Оказывается, что по линии 5 В в этом центре на самом деле идёт напряжение +5,6 В. Стоило бы найти источник более высокого напряжения (в схеме центра имеется источник 7,5 В) и добавить в свою схему преобразователь на чём-нибудь типа 7805, но травить-лудить-паять другую плату не хотелось совсем, да и делать это ради всего одной микросхемы? Не, проще перерезать дорожку к ножке питания 74LS00 и поставить диод, на нём упадёт как раз 0,6 В. Так и сделал, использовав диод 1N4148 в SMD-исполнении. После его установки генератор импульсов завёлся без проблем. Антенну Bluetooth (а по факту маленькую антенну WiFi) я просто закинул в держатель кассеты — потом что-нибудь придумаю, пока оставлю так.

Теперь нужно определиться, при каких условиях модуль будет включаться. От того, чтобы Bluetooth был включен постоянно, я отказался сразу же. В первой версии я подключал разрешающий сигнал к выходу сигнала "#POWER-ON" процессора муз. центра, который принимает низкий уровень при выходе центра из спящего режима в рабочий режим. Но опять же, я не всегда использую муз. центр для прослушивания музыки через Bluetooth, чаще всего он работает просто как усилитель звуковых сигналов с телевизора, поэтому модуль будет работать впустую. Решение нашлось практически сразу — раз я подключил выход модуля усилителя звука своей платы к входу усилителя деки, так надо уж и активировать Bluetooth-модуль по сигналу активации мотора лентопротяжного механизма «CAPM. ON/OFF», к тому же он тоже инверсный и переделывать в схеме ничего не нужно. Взять этот сигнал можно прямо с процессора муз. центра либо с базы транзистора Q407 (см. рисунок):

Теперь, когда всё припаяно и заработало должным образом, пора и поиграть немножко в новую игрушку!

Сначала я решил проверить, в каком режиме модуль Bluetooth работает с разными телефонами. Методика проверки проста и описана в моём предыдущем обзоре, но скопирую её сюда, чтобы не заставлять читателя ходить по ссылкам:
Проверка используемого Bluetooth-кодека
Дело в том, что современные смартфоны на базе ОС Android умеют вести логирование пакетов, проходящих через Bluetooth-соединение, нужно лишь его включить в настройках. Делается это довольно просто, нужно лишь активировать режим для разработчиков, для чего в пункте «О телефоне» или «О планшете» находим пункт «Номер сборки» и делаем на нём несколько нажатий. Если всё прошло успешно, появится сообщение «Вы стали разработчиком!». Теперь нужно вернуться в основное меню настроек, найти там пункт «Функции для разработчиков», зайти в него и активировать параметр «Сохранять все пакеты HCI Bluetooth».

После перезагрузки телефона в директории /sdcard появляется файл btsnoop_hci.log, который можно открыть в программе-анализаторе трафика Wireshark на компьютере. Стоит однако заметить, что в зависимости от конкретного устройства, файл может создаваться в другом месте файловой системы, узнать где — очень легко: нужно зайти в директорию /etc/bluetooth и открыть файл btstack.conf как текстовый файл, найти в тексте параметр BtSnoopFileName, его значением как раз и будет местонахождение файла btsnoop_hci.log. Всё перечисленное нужно делать в каком-либо «продвинутом» файловом менеджере, например TotalCommander for Android, и не забывайте, папка /sdcard далеко не всегда является корнем вашей SD карты!

Результаты проверки 3 различных телефонов:
Sony Xperia Z3 Compact

Как видно, модуль и телефон «договорились» использовать кодек aptX, всё отлично!
Samsung Galaxy S5 mini

И опять же, используется aptX
LG K8 2017

А вот LG K8 2017 кодек aptX не поддерживает, и я, признаться, думал, что работать будет используя базовый кодек SBC, но нет! Оказалось, что устройства «договорились» использовать кодек AAC! Ого, такого я не ожидал!
Ну и бонусом, лог соединения ноутбука на Ubuntu 16.04 LTS:
Лог соединения Ububtu Linux 16.04 LTS
evilslon@evilslon-lap:~$ sudo hcidump avdtp
[sudo] пароль для evilslon: 
HCI sniffer - Bluetooth packet analyzer ver 5.37
device: hci0 snap_len: 1500 filter: 0x400
< AVDTP(s): Discover cmd: transaction 0 nsp 0x00
> AVDTP(s): Discover rsp: transaction 0 nsp 0x00
    ACP SEID 6 - Audio Sink
    ACP SEID 5 - Audio Sink
    ACP SEID 3 - Audio Sink
    ACP SEID 53 - Audio Source
    ACP SEID 21 - Audio Sink
    ACP SEID 51 - Audio Source
    ACP SEID 19 - Audio Sink
    ACP SEID 49 - Audio Source
    ACP SEID 17 - Audio Sink
    ACP SEID 33 - Audio Source
    ACP SEID 1 - Audio Sink
< AVDTP(s): All Capabilities cmd: transaction 1 nsp 0x00
    ACP SEID 6
> AVDTP(s): All Capabilities rsp: transaction 1 nsp 0x00
    Media Transport
    Media Codec - non-A2DP (Unknown)
      32 02 00 00 00 00 00 00 00 00 00 
    Content Protection
      02 00 
    Delay Reporting
< AVDTP(s): All Capabilities cmd: transaction 2 nsp 0x00
    ACP SEID 5
> AVDTP(s): All Capabilities rsp: transaction 2 nsp 0x00
    Media Transport
    Media Codec - non-A2DP (aptX)
      44.1kHz 48kHz 
      Stereo 
    Content Protection
      02 00 
    Delay Reporting
< AVDTP(s): All Capabilities cmd: transaction 3 nsp 0x00
    ACP SEID 3
> AVDTP(s): All Capabilities rsp: transaction 3 nsp 0x00
    Media Transport
    Media Codec - MPEG-2,4 AAC
      MPEG-2 AAC LC MPEG-4 AAC LC 
      8kHz 11.025kHz 12kHz 16kHz 22.05kHz 24kHz 32kHz 44.1kHz 48kHz 
      1 2 Channels
      320000bps VBR
    Content Protection
      02 00 
    Delay Reporting
< AVDTP(s): All Capabilities cmd: transaction 4 nsp 0x00
    ACP SEID 53
> AVDTP(s): All Capabilities rsp: transaction 4 nsp 0x00
    Media Transport
    Media Codec - non-A2DP (Unknown)
      07 09 00 FF 4F 00 00 00 01 00 32 
    Content Protection
      02 00 
    Delay Reporting
< AVDTP(s): All Capabilities cmd: transaction 5 nsp 0x00
    ACP SEID 21
> AVDTP(s): All Capabilities rsp: transaction 5 nsp 0x00
    Media Transport
    Media Codec - non-A2DP (Unknown)
      07 09 00 FF 4F 00 00 00 01 00 32 
    Content Protection
      02 00 
    Delay Reporting
< AVDTP(s): All Capabilities cmd: transaction 6 nsp 0x00
    ACP SEID 51
> AVDTP(s): All Capabilities rsp: transaction 6 nsp 0x00
    Media Transport
    Media Codec - non-A2DP (Unknown)
      07 08 00 02 C0 FF 8C 84 E2 00 
    Content Protection
      02 00 
    Delay Reporting
< AVDTP(s): All Capabilities cmd: transaction 7 nsp 0x00
    ACP SEID 19
> AVDTP(s): All Capabilities rsp: transaction 7 nsp 0x00
    Media Transport
    Media Codec - non-A2DP (Unknown)
      07 08 00 02 C0 FF 8C 84 E2 00 
    Content Protection
      02 00 
    Delay Reporting
< AVDTP(s): All Capabilities cmd: transaction 8 nsp 0x00
    ACP SEID 49
> AVDTP(s): All Capabilities rsp: transaction 8 nsp 0x00
    Media Transport
    Media Codec - non-A2DP (Unknown)
      07 06 00 00 FF FF 02 35 
    Content Protection
      02 00 
    Delay Reporting
< AVDTP(s): All Capabilities cmd: transaction 9 nsp 0x00
    ACP SEID 17
> AVDTP(s): All Capabilities rsp: transaction 9 nsp 0x00
    Media Transport
    Media Codec - non-A2DP (Unknown)
      07 06 00 00 FF FF 02 35 
    Content Protection
      02 00 
    Delay Reporting
< AVDTP(s): All Capabilities cmd: transaction 10 nsp 0x00
    ACP SEID 33
> AVDTP(s): All Capabilities rsp: transaction 10 nsp 0x00
    Media Transport
    Media Codec - SBC
      16kHz 32kHz 44.1kHz 48kHz 
      Mono DualChannel Stereo JointStereo 
      4 8 12 16 Blocks
      4 8 Subbands
      SNR Loudness 
      Bitpool Range 2-53
    Content Protection
      02 00 
    Delay Reporting
< AVDTP(s): All Capabilities cmd: transaction 11 nsp 0x00
    ACP SEID 1
> AVDTP(s): All Capabilities rsp: transaction 11 nsp 0x00
    Media Transport
    Media Codec - SBC
      16kHz 32kHz 44.1kHz 48kHz 
      Mono DualChannel Stereo JointStereo 
      4 8 12 16 Blocks
      4 8 Subbands
      SNR Loudness 
      Bitpool Range 2-53
    Content Protection
      02 00 
    Delay Reporting
< AVDTP(s): Set config cmd: transaction 12 nsp 0x00
    ACP SEID 1 - INT SEID 1
    Media Transport
    Media Codec - SBC
      44.1kHz 
      JointStereo 
      16 Blocks
      8 Subbands
      Loudness 
      Bitpool Range 2-53

Здесь видно, как Ubuntu опрашивает модуль обо всех поддерживаемых им возможностях и их вариациях, но в итоге соединение идёт с использованием кодека SBC.

Теперь немного субьективщины о звуке от человека с обтопанными медведем ушами. Он восхитителен! Никаких лишних шумов, слышны все инструменты, по отношению к предыдущему BT-модулю, поддерживающему только кодек SBC, звук стал намного лучше, т.е. разницу между aptX и SBC слышу даже я! Для проверки включил трек Nightwish — Sleeping Sun и практически утонул в голосе Тарьи. Я очень доволен результатом!
Проверка BTM64215 в муз. центре Sony HCD-H551

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

P.S. Выложил файл платы в формате Sprint Layout 6, скачать здесь.

P.P.S. Обратите внимание! Теперь, благодаря пользователю player404 у нас есть патч для программы CSRA64xxx and CSRA63xxx Tools v2 с поддержкой Configuration Set версии [ROM,15]. Так что если при настройке модуля вы видите такую ошибку:

то просто распакуйте обновление в папку с установленной программой. Скачать обновление можно с Dropbox'а player404 или с моего облачного диска.
Планирую купить +127 Добавить в избранное +182 +322
свернуть развернуть
Комментарии (175)
RSS
+
avatar
  • Art3000
  • 28 января 2018, 14:10
+6
Фундаментально!
Хотя балансные выходы можно было и через конденсаторы пустить, без усилителя, имхо конечно
+
avatar
  • u3712
  • 28 января 2018, 14:25
+8
не запустился генератор импульсов
Потому, что резистор R5 надо подключать не к выходу первого инвертора, а к выходу третьего инвертора цепочки.
И вообще, такое надо лепить на CMOS инверторах. Лучше — с встроенным триггером Шмитта. Вариант — 74HC14.
… ну, или классика — 555.
+
avatar
+2
Слепил на 7400 лишь по одной причине — она была под рукой, за 555 пришлось бы ехать в радиомагазин, и не факт, что нашёл бы её в оффлайне в SMD-исполнении, да и точность частоты не важна. А насчёт выхода 3-го инвертора — наверное Вы правы, делал по памяти — вроде всегда работало, а тут вдруг не стало.
+
avatar
0
Всем привет.
Какой мне сделать самый простой генератор?


Документация здесь.
cloud.mail.ru/public/31eM/8p3v6XZP6
+
avatar
0
Обсмотрел всю Вашу документацию, так и не нашёл в ней схемы деки, LG походу поленились и не нарисовали. С виду вроде обычный датчик, сделайте простейший генератор прямоугольных импульсов, подключите вместо него и посмотрите что будет. И про микропереключатели наличия кассеты не забудьте.
+
avatar
0
Я заказал за 35 руб. генератор частоты на NE555.
Но, я думаю, что «счетчик» и микрик наличия кассеты не решит вопрос.
В документации есть схема до разъема деки.


А схему маленькой деки я безобразно зарисовал на скорую руку.



Ваше мнение?
+
avatar
0
У вас модуль тоже пиликает при включении/подключении и т.д.? В приложении от csr это не отключается?
+
avatar
+2
Там ОЧЕНЬ много настроек, можно отключить, можно даже голосовое оповещение сделать, но дефолтное поведение меня вполне устраивает.
+
avatar
+4
зачитаться можно, пишите еще!
+
avatar
+13
Для тех, у кого руки не такие «прямые» как у автора, есть готовое решение.



Я брал Dbpower aptx за 16 баксов на али. Звук отменный. Подключает к AUX. Питается от USB.
Умеет переключать треки и есть встроенный микрофон для авто.
+
avatar
0
Как по качеству передачи звука?
+
avatar
+1
Субъективно лучше, поскольку появились частоты в районе 15 кГц,

выше я просто уже не слышу в силу возраста.
+
avatar
  • Boing
  • 29 января 2018, 23:57
+1
мне 33, у меня абсолютный слух (бгагага), и я не слышу выше 15650Гц (проверено частотным генератором в Audition), так что с вами всё в поряде))
+
avatar
  • tedbeer
  • 30 января 2018, 12:38
0
Это ж индвидуально
Я по молодости работал в конторе, которая занималась разработкой железок. В какой-то момент работая с железкой сильно страдал от свиста. Никто (из присутствующих) больше не слышал его. Оказалось в железке был какой-то косяк и она издавала звук на уровне 18кГц.
+
avatar
  • maxibons
  • 05 февраля 2018, 17:04
+1
Я в 26 лет слышал 21кГц. Сейчас, в 34 — не слышу выше 18 или ещё меньше, т.к. проверял год назад.
+
avatar
  • kven
  • 28 января 2018, 22:46
+2
ссылку б, не находится
+
avatar
  • darkds
  • 28 января 2018, 23:46
0
У меня кабель переломился около усб вилки. Они там чуть-ли не волосинами сделаны. Брал его около 13$. Удобно (рад был наличию фильтра с трансформатором).
+
avatar
  • belka
  • 29 января 2018, 05:06
+1
А можно ссылку? Не гуглится ни ро картинке ни на самом али
+
avatar
0
Ссылочку слабо?)
+
avatar
+1
Зашел на али через старый заказ, товар убрали скорее всего из-за нелицензионного использования aptx, с амазона он тоже пропал.

Может на тао остался, но оттуда не люблю заказывать.

Его родственник http://amazon.com/gp/product/B073CRWNWN (в продаже уже нет)
+
avatar
0
Спасибо. Будем искать…
+
avatar
0
вот ссылка на аналог (из соседней темы):
aliexpress.com/item/Ugreen-Bluetooth-4-2-3-5/32840887897.html
+
avatar
  • ksaNN
  • 28 января 2018, 15:27
+6
Автор вполне писатель, замечательное произведение!
Представляю, сколько времени было проведено в поисках решений встающих на пути к светлому будузвуку трудностей )
+
avatar
  • vanenzo
  • 28 января 2018, 15:59
+1
В мемориз занес, ибо от покупки модуля 8645 отталкивало только отсутствие информации по его программированию, а тут вот оно все что нужно, спасибо!
+
avatar
  • Harwest
  • 29 января 2018, 14:59
0
У меня есть солюшки и софт на 8645, ннада?
Не могу избавиться от фона на этой плате, даже при питании от лития (
+
avatar
  • vanenzo
  • 29 января 2018, 15:50
0
Кто такие солюшки? ))
По фону — подключение выхода модуля к усилителю балансное, или через дифф усилители?
может, стоит увеличить входное сопротивление схемы, к которой подключаетесь?
+
avatar
  • Harwest
  • 29 января 2018, 15:57
0
Солюшки = solutions, решения.

Подключение у меня идёт через ОУ с входным сопротивлением 10кОм в режиме преобразователя баланс->небаланс с ку=1.
ОУ менял начиная с простых заканчивая высокотоковыми для наушников.
Звук хорош, но вч писк/шуршание есть после сопряжения
+
avatar
+19
Ни хрена не понял :(, но за обзор плюсанул с удовольствием
+
avatar
+2
Спасибо!
+
avatar
  • IGeras
  • 28 января 2018, 19:59
+1
Моя мама говорит «нихрена не поняла, но было интересно». А обзор и работа да, монументальны.
+
avatar
  • AnnaSun
  • 28 января 2018, 16:35
+3
item.taobao.com/item.htm?id=37719463755&_u=t2dmg8j26111

Всё готово, и буфер, и програмировать не надо.
+
avatar
0
Это ж не весело, «заточить» под свои нужды куда интереснее ;)
+
avatar
+3

есть такое решение
+
avatar
+1
Да есть множество разных решений, но по ряду причин они мне не подходили.
+
avatar
  • Razdel
  • 26 февраля 2018, 17:52
0
а у этого решения есть какое-нибудь название, обозначение?
+
avatar
  • yurok
  • 28 января 2018, 18:06
+1
плюсик с меня!

если на плате прямые углы дорожек убрать — будет еще +10 к качеству звука :)
+
avatar
+12
Чтобы электроны в поворот проще входили и не вылетали с дорожек? В следующей версии платы обязательно сделаю :)))
+
avatar
+1
у правильных пацанов ыляктроны чотко, ровно летают
www.saturnpcb.com/assets/templates/web-images/transmitter-big.jpg
+
avatar
+2
А если топором развести?
+
avatar
  • vodyanov
  • 04 февраля 2018, 10:21
0
Он же, не бесплатен?
+
avatar
  • Fullmoon
  • 04 февраля 2018, 10:47
+2
После регистрации можно скачать бесплатную версию, на два слоя и сколько-то сотен выводов.
+
avatar
  • vodyanov
  • 04 февраля 2018, 12:45
0
Спасибо, попробую.
+
avatar
0
Автору +, очень познавательно! А теперь вопрос: подскажите или ткните носом на что то похожее, только наоборот передать звук с выхода для наушников телека в блютус наушники которые имеются в наличии.
+
avatar
0
Забейте в поиске на Али/Ebay/любимом онлайновом магазине «Bluetooth transmitter» и найдёте то, что Вас интересует! Да и здесь обзоры были, поищите.
+
avatar
+1
Я так пробовал, выпадает список готовых устройств, а хотелось бы именно голый модуль как у автора и чтобы подешевле и звук был хороший, готов повозиться с паяльником.
+
avatar
+1
и чтобы… звук был хороший,
«передать звук с выхода для наушников телека» — так не получится (бороться не за что), надо лезть в глубины ТВ…
+
avatar
0
Ошибаетесь… Откуда такие выводы?
В нормальных ушах звук гораздо лучше и богаче, чем с недо«динамиков» современных ТВ. Хотя бы за счёт появления псевдо «басов».
Или у вас до сих пор телик с 4ГД-53???
+
avatar
  • denM
  • 28 января 2018, 20:08
0
не факт что есть с AptX
+
avatar
0
Если Ваши ухи без Aptx — будет задержка звука. Не комильфо однозначно.
С ушами с Aptx — куча решений и вариантов. Смотри ниже одно из них.
+
avatar
  • ringo
  • 28 января 2018, 18:51
0
С выхода APTX модуля мы же имеем посредственный аналоговыйзвук, ведь ЦАП там так себе.
какой смысл в этом?
+
avatar
+1
Да нормальный там звук, расскажите тогда, как должно быть по-вашему?
+
avatar
+2
Адепт «мягкого лампового»? Без обид…
90% устроит.
+
avatar
+5
Уважаю!!! Однозначно +!!! Всегда с удовольствием просматриваю аналогичное. Сам был таким (радио«онанистом» меня называли). FeCl3, рейсфедеры…
Но с возрастом пришла лень, дальнозоркость (не вижу мелкое) и… киты со своими девайсами.
Недавно заказал на Ali Bluetooth наушники Ausdom AH3 aptX Low Latency
aliexpress.com/item/Ausdom-AH3-apt-X-Low-Latency-Bluetooth-V4-2-Wireless-Headphones-Deep-Bass-Bluetooth-Headset-Headphone/32820284171.html
Для компа заказал Orico BTA-403 213 rub
aliexpress.com/item/ORICO-Free-Shipping-Mini-Bluetooth-4-0-Adapter-Black-BTA-403-BK/32384484446.html
Для телека Philips 7606 2013 г. Ugreen Bluetooth 4.2 ТВ передатчик
aliexpress.com/item/Ugreen-Bluetooth-4-2-3-5/32840887897.html
Ugreen брал за 1200, но недавно была цена 850 ±.
В теле Oneplus 5T — Aptx и выше есть, вплоть до Aptx HD.
Задержек звука нет ни по одному девайсу (фактически есть, но я их не замечаю и ухо у 95% заметить не сможет)
Автор -молоток!!!
+
avatar
0
Спасибо! Сам обычно ленюсь, но тут уже никак, мне нужно было специфическое устройство.
+
avatar
  • Boing
  • 30 января 2018, 00:05
0
а огонь! я как раз только что чуть 3им шагом не закончил ваш путь))
шуи и свисток уже закуплен. Про третье узнал только здесь и закажу с получкой!)
Правда я ещё хочу aptx ресивер взять, к ресиверу подключить.
+
avatar
  • GDR
  • 04 февраля 2018, 17:38
0
Что из вашего списка можно взять для передачи безпроводного звука по bluetooth c Huawei P9 Lite (ver. BT4.1) на подустаревший муз.центр LG MDD-K263Q в котором есть вход USB, Aux и stereo input? Стоит ли брать устройство с поддержкой BT 4.2 и Aptx с перспективой замены смартфона?
+
avatar
  • ksaNN
  • 28 января 2018, 19:01
0
Как я понял, этот модуль может работать и как передатчик? И как звуковая карта?
+
avatar
0
Присоединяюсь к вопросу, можно его сконфигурировать на работу в качестве передатчика?
+
avatar
  • rx3apf
  • 28 января 2018, 20:38
0
Это нужен BT Master с аудиопрофилем. Экзотическая вещь. Правда, появились XS3868 — вроде они это делают?

Не, похоже тоже не умеют…
+
avatar
0
Как передатчик вроде бы нет, но могу ошибаться. А как USB-звуковуха да, вполне может, только где-то читал что качество звука так себе на выходе.
+
avatar
  • tedbeer
  • 28 января 2018, 19:25
+4
Как сделать индикатор:
— вытравить инвертированную блютуз иконку нужного размера на куске текстолита(платы)
— наклеить на кругляш оргстекла эпоксидкой
— сошлифовать текстолит — останется оргстекло с медной иконкой блютуз (на просвет)
— посеребрить медь (гуглите рецепты)
— защитить покрытие (лаком или эпоксидкой)
— вклеить на место
— поместить сзади синий светодиод
ИНДИКАТОР ГОТОВ

вариации:
— не серебрить, а зачернить медь
— наклеить сверху второй кругляш оргстекла

— вырезать иконку лезвием или лазером на черной бумаге
— вклеить бумагу между кругляшей оргстекла
+
avatar
+1
Ооо, супер, огромное спасибо за совет, попробую! Это как раз то, что нужно. Сам бы до варианта с текстолитом и не догадался! А нету ли у Вас фото примеров?
+
avatar
0
да не нужен и текстолит. можно напечатать на плёнке для лазерника, или для струйника, потом при необходимости подержать в парАх растворителя для уплотнения тонера и всё.
+
avatar
  • tedbeer
  • 30 января 2018, 12:40
+1
примера нет, вычитано на просторах DIY и запомнено на будущее :)
+
avatar
+1
Всё равно, спасибо!
+
avatar
  • SEM
  • 29 января 2018, 12:43
+1
А не проще на стекло наклеить медную фольгу (отжечь от текстолита), потом травить?
И даже не стекло, а 1-2мм прозрачный пластик — проще будет потом выпиливать в нужный размер.
Тонировочную плёнку снаружи добавить, чтобы выключенный индикатор не было видно.
Тонировка, «стекло», медь, белый матовый рассеиватель, светодиод.
+
avatar
  • zogar
  • 28 января 2018, 20:02
+2
Вот готовое решение для попаруких за смешные $28.90, с Bluetooth 4.2.

В отличие от других Bluetooth-ресиверов, August MR230 поддерживает технологии aptX и aptX-LL, сокращая задержку аудиосигнала до 40 мс и ниже — aliexpress.com/item/August-MR230-Bluetooth-Audio-Receiver-for-Sound-Systems-aptx-Bluetooth-4-1-Wireless-Music-Adaptor-for/32716816422.html
+
avatar
+1
Тогда уж лучше за эти деньги Apt-x HD с латентностью 20м до частоты 48кГц с разрядностью 24 бита и битрейтом 576 кбит/с.
$30.48 — https://ru.aliexpress.com/item/Levn-aptX-HD-Bluetooth-3-5/32849513961.html
+
avatar
0
Да, неплохой вариант, а я еще вот этот добавил в «виш лист» aliexpress.com/item/32750719876/32750719876.html

Из всего того, что удалось найти на Али пожалуй эти два самых интересных — как поддержкой технологий aptX-HD LL, так и автономностью… Конечно, есть еще дешевле и визуально похожи, но там в описании или в отзывах покупателей нет упоминаний о том, что может девайс.
+
avatar
0
Вот тоже на него смотрю. Самая адекватная вещь, кроме цены))
Остаётся вопрос, будет ли работать при параллельном подключении питания по usb?
+
avatar
  • GDR
  • 04 февраля 2018, 17:48
0
Будет ли работать с Bluetooth 4.1?
+
avatar
  • denM
  • 28 января 2018, 20:10
0
Радиус действия — 10м?
не было мыслей увеличить чувствительность приёмника использую направленную антенну?
ну чтобы по всей квартире или из двора гарантированно брало.
+
avatar
0
Ну из двора мне точно не нужно, а квартира у меня однушка, везде добивает! Да и не забывайте, что в телефонах обычно совсем малюсенькие антенны стоят.
+
avatar
  • denM
  • 28 января 2018, 21:47
0
это понятно.
я и говорил увеличить чувствительность приёмника, а не мощность передатчика.
+
avatar
+4
спасибо за прямые руки и отличный обзор.

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

+
avatar
+2
и схема подключения.



на ибее можно нати FT232R уже с разведееной SPI клодкой и преключателем 3в->5в
+
avatar
+1
Спасибо за софт, похоже, удобная штука!
+
avatar
+2
так выглядит правильный FT232R для bitbang

+
avatar
0
А, кстати, поддельные фтди-шки битбангают тоже? Или нужно таки оригинал?
+
avatar
+1
Автор проекта «csr-spi-ftdi» вот тут говорит, что работают не только поддельные, но ещё и поддельные забаненные FTDIшки.
+
avatar
+1
Обзорище! Есть что из идей позаимствовать)
+
avatar
-1
А где купон?
+
avatar
  • CyJLTaH
  • 29 января 2018, 00:21
-1
Блин, на что только эти жадные россияне не пойдут, лишь бы не переплатить еще $10-15 (сарказм)
За прямые руки и голову на месте поставил бы с десяток плюсов.
+
avatar
+3
Камк раз сегодня на хабре вышла статья про bluetooth кодеки — m.geektimes.ru/company/pult/blog/297627/
+
avatar
+1
Автор — хакер!
Супер!
Каким железом Вы снифали бт траф? Можно ссылку?
+
avatar
+1
ну это как бы должен знать каждый хобиный желязячник — www.wireshark.org/#download
+
avatar
0
Нет-нет. Вы не поняли. Не софт, а железо.
Софт я отлично знаю :)
+
avatar
  • raven6
  • 29 января 2018, 13:04
+2
Лог пакетов Bluetooth записывается самим телефоном, потом открывается на ПК с помощью Wireshark. Метод описан автором обзора под спойлером Проверка используемого Bluetooth-кодека.
+
avatar
+1
Вы о чём? Не было никакого специфичного железа, 3 телефона и ноутбук только.
+
avatar
0
Автору огромное человеческое спасибо-обзор крайне интересен и чрезвычайно полезен в плане программирования синезубой микрухи.
единственное что огорчает это зеленая не кошерная изолента :(
+
avatar
  • ailcat
  • 29 января 2018, 17:01
0
Да, если бы не эти танцы с бубном вокруг BT-приемника — подумал бы о прикручивании к своему Panasonic SA-PM21 (у него тоже нет AUX).
А так… ну его нафиг :-/
+
avatar
  • Shut
  • 29 января 2018, 17:17
+1
Спасибо автору обзора. Ради этого коммента даже зарегистрировался. Вопрос по поводу вывода звука не совсем понятный.
Есть у меня активные колонки с двумя тюльпанами и встроенным усилком. Если я поставлю данную микруху в корпус колонок, и выход 38-41 параллельно к выходам от тюльпанов- заиграет? И подскажите хороший преобразователь для данной сборки. Пока блок не смотрел, но сдается что на выходе там 24В
+
avatar
0
А что такое " 38-41"?
+
avatar
  • Shut
  • 29 января 2018, 20:14
+1
номера выводов на микросхеме. Похоже, что только через доп усилитель можно сделать. А по ценнику с понижающим преобразователем выходит как уже готовое устройство.
+
avatar
+1
А, понятно. Через доп.усилитель сделать вполне можно, и да, получается как готовый блок. Я б тоже взял готовый, но мне нужно было отдельно управлять включением-выключением модуля, вывести индикатор на переднюю панель центра, да и генератор нужно было куда-то приляпать, вот и сделал всё на одной плате.
+
avatar
  • awsswa
  • 30 января 2018, 10:42
+3
+
avatar
0
Вы делали делитель аудио сигнала при подключении первого БТ-модуля? Или напрямую подключали?
+
avatar
0
Нет, подключал напрямую, прямо с выхода усилителя.
+
avatar
  • rangers
  • 12 февраля 2018, 11:10
0
Господа форумчане, а вот такой вариант достоин внимания?

aliexpress.com/item/CSR-3-5mm-wireless-bluetooth-audio-receiver-DIY-board-MP3-music-computer-subwoofer-stereo-mini-USB/32825252493.html

Для реализации подобному автору проекта, но в Panasonic RX-ES23?
+
avatar
  • kven
  • 14 февраля 2018, 10:21
0
есть сомнения, что там aptx. нигде не указано что за чип.
+
avatar
  • kven
  • 20 февраля 2018, 12:54
0
в ходе экспериментов модуль перешел в странный режим — красный мигает часто, синий в 4 раза реже и плавно, не удается вывести из этого режима.

прошивку в этой микрухе кто-нибудь пробовал менять?
+
avatar
  • evilslon
  • 20 февраля 2018, 20:39
0
А модуль такой же, как в обзоре? У меня было похожее поведение если пытаться запустить модуль сразу при подаче питания (без схемы задержки), вылечилось само по себе, простым отключением от питающего напряжения на пару минут.
+
avatar
  • kven
  • 20 февраля 2018, 21:03
0
модуль называется BT64X, распаян в девайсе sanwu.
перестал реагировать на spi_pcm и после подачи напряжения мгновенно начинает мигать диодами в таком режиме.

а что за задержка, вы про сигнал enable?
+
avatar
  • evilslon
  • 24 февраля 2018, 13:10
0
Да, про него
+
avatar
  • piketz
  • 25 мая 2018, 09:15
0
Точно такая же беда… модуль и девайс тот-же… подскажите как исправить?
куда копать хоть…
+
avatar
  • rezon911
  • 21 февраля 2018, 11:27
0
Автору респект.
Сколхозил наушники на схожем модуле BTM625. Провозился я тоже знатно.
Запросил прошивку у производителя этих плат с выводом аналогового звука.
Сделал программатор на LPT, не прошивался. Сделал программатор на FTDI, тоже не прошивался. Там защита или еще что то.
Уже решил забить на это дело, пока эту статью не нашел.
CSRA64xxx and CSRA63xxx v2 Configuration Tool ну не попадалась она мне при поиске.
Заработало все сразу после настройки.
Впендюрил акб и этот модуль в Panasonic RP-HT010GU-H, звук прекрасный, но есть проблема с шумом при тишине и режимом энергосбережения. Буду демонтировать и встрою в колонку.
+
avatar
  • kven
  • 27 февраля 2018, 16:40
0
так в итоге чем прошивали, lpt или ftdi?
у меня ftdi не хочет коннектится, ошибки выдает. (
можете прошивкой поделиться?
+
avatar
  • evilslon
  • 27 февраля 2018, 18:43
0
Какие ошибки выдаёт? Библиотеку usbspi.dll с GitHub'a проекта скачивали и заменяли в корневой папке программы? Сигнал Enable (MFB) на модуль не забыли подать? А spi/pcm через резистор?
+
avatar
  • rezon911
  • 28 февраля 2018, 10:39
0
LPT у меня на допотопном ноуте с Windows 2000, там эта CSRA64xxx and CSRA63xxx v2 Configuration Tool не запуститься. Через LPT порт модуль коннектился, но не прошивался. В итоге сделал, как автор статьи через FTDI. Проверьте соединения от программатора к плате, у меня несколько раз был не контакт при использовании проводов от arduino, хотя с виду все было правильно.
Обязательно надо использовать резисторы 150 — 220 Ом, без них не контачит.
Прошивка для BTM625 с поддержкой аналогового вывода yadi.sk/d/Ra-kmzbe3SrFR8.
Сам не прошивал, не получилось. Прошивку дал производитель модулей. Делайте бэкап перед прошивкой. Ответственность вся на вас.
+
avatar
0
Это не прошивка, это файл для BlueFlash! В смысле не пытайтесь шить её напрямую через программатор чипов! Только через SPI-программатор!
+
avatar
0
согласен. У вас получилось?
+
avatar
0
Не было нужды, почитайте обзор, там всё написано.
+
avatar
0
задача — передать по блютус с компа или смарта звук на 2 раздельных блютус модуля,
каждый блютус модуль будет установлен в колонку с усилителем звука, что бы слушать музыку на двух колонках без проводов!

друзья, кто может сталкивался или подскажет?

как можно сделать или купить готовое решение?: )
+
avatar
  • kazinag
  • 13 марта 2018, 20:45
0
может кто знает? заманался уже думать. вроде всё соединил, дрова на модуль поставил всё подключил итд итп и проверил и перепроверил а нихрена не получается (единственное что в статье есть упоминания про выход ЕН я хз не нашел ничего такого...).при смене усбспи которые весят и 1 и 2кб то выводилось какой то бред типо программа не может работать под виндой или содержит ошибку… посидел на гитхабе нашел всякие csr-spi-ftdi-0.5.2/1/0 перепробовал их… и модуль начало находить но нарисовалась другая ошибка с которой я в тупике… спасайте то может ) ейбогучто в переводе примерно такой текст
...
+
avatar
0
Точь-в-точь как у меня было (см. спойлер «CSRA64xxx and CSRA63xxx Tools первой версии и BTM625B»), программа находит модуль, но содержащиеся в модуле данные созданы в более новой версии программы, чем Вы используете. Ищите более новую версию программы!
+
avatar
  • kven
  • 15 марта 2018, 15:15
0
у меня так же, версию вашу же использовал
+
avatar
0
Похоже китайцы ещё более новую программу придумали. Тогда единственный способ — выпаивать и шить через программатор микросхему памяти напрямую. Прошивка в Интернете есть.
+
avatar
  • kazinag
  • 13 марта 2018, 22:04
0
а прогу то я брал ту что владелец статьи залил в файлобменник. скачал 1ую версию. аналогично.
+
avatar
  • kazinag
  • 14 марта 2018, 01:40
0
короче сделал даже питание отдельное для БТ. включал выключал пробовал по всякому… программа БТ видит точно но вот что теперь с софтом делать… ютюб молчит. гугл тоже особо не помощник… одна надежда тут ) ну и может китайцы что пришлют но маловероятно
+
avatar
  • kven
  • 15 марта 2018, 15:16
0
я тоже не приконнектился
+
avatar
  • kazinag
  • 15 марта 2018, 15:38
0
единственное что у меня получилось это приконектиться через прогу PSTool которая идёт вместе со всем выше написанным. там гора настроек но из полезного разве что название модуля сменить… больше как то за 3часа с гугл переводчиком ничего адски нужного в проге не нашел.
+
avatar
+1
Я заказал готовое устройство с таким модулем на борту и отдельно модуль.
Дождался программатор. Пока ждал, появились сообщения о проблемах в настройке модуля.

Вчера соединил готовое устройство с программатором. При запуске CSRA64xxx and CSRA63xxx Configuration Tool второй версии появилось знакомое сообщение «The Configuration Set version from the XML Definition [Rom,10] does not match the Configuration Set in the Device or PSR file [Rom,8] you are attepting to load».
Я заглянул в файл ConfigSetDefinitions.xml. Действительно, вторая строка файла сообщает:

<ConfigSet Product=«Rom»
Version=«10»>

А моё устройство выдаёт версию 8, т.е. надо использовать первую версию CSRA64xxx and CSRA63xxx Configuration Tool.
При запуске первой версии всё успешно считалось (записывать пока не пробовал).

Если же, как у kazinag, с модуля считывается [Rom,15], то либо пользоваться PSTool (неудобно), либо рискнуть и в файле ConfigSetDefinitions.xml прописать

<ConfigSet Product=«Rom»
Version=«15»>

Может быть прокатит, а может быть получится кирпич.

Кстати, модуль, который мне пришёл отдельно, на обратной стороне печатной платы имеет маркировку BTM625 V1.2. Полагаю, что в готовом устройстве установлен модуль V1.0.

Update: переименовал устройство, включил HFP (HandsFree Profile), позвонил на телефон, принял вызов и… Результат достигнут. Теперь разговор идёт по Bluetooth (с выключенным HFP разговор шёл через микрофон и динамик телефона). Потыкал иголочкой по контактам, к которым подключается микрофон — фонит, всё как положено.
+
avatar
0
Друзья, не пытайтесь уйти в глубокое программирование модуля через CSRA64xxx and CSRA63xxx Configuration Tool.
Я наступил вчера на грабли, которые только сегодня устранил.

Я искал возможность переназначить выход, который устанавливается в 1 при воспроизведении (мне это нужно для удобной разводки печатной платы, обычно это PIO6).
Для начала я решил проверить, можно ли это настроить из Configuration Tool. В разделе Input/Output я взял, да и назначил PIO17 на LED Enable. Хотел проверить, будет ли оно работать. После перезагрузки модуля я получил кирпич.
Вернул к жизни при помощи PSTool. Кстати, она сначала у меня не запускалась. Только после установки древнего BlueSuite 2.5.0 стала запускаться.
+
avatar
0
Подробное описание ключей PSKEY_USR
www.52bluetooth.com/csr/adk3.0/adkdocs/CS-306726-UGP3SinkConfigurationUserGuide.pdf

Я делаю так:
1. Открываю файл ConfigSetDefinitions.xml в браузере
2. Нахожу интересуемую опцию в CSRA64xxx and CSRA63xxx Configuration Tool
3. Нахожу, какой PSKEY отвечает за нее, адрес
4. В PDF документе открываю описание этого PSKEY
5. Вношу изменения через BlueCore Persistent Store (PSTool.exe). Через тот же PSTool удобно перезагрузить чип для применения изменений.
+
avatar
+1
Вчера пришел такой же модуль, спаял печатку, все работает, смарт коннектится, завтра-послезавтра займусь программированием.
+
avatar
0
Ого, нарядная платка. Вам бы тоже обзорчик написать, а то в комментах столько всего интересного понаписали, но оно всё разрозненно. В обзоре бы сгруппировали, скринов добавили и было б вообще сказочно, к тому же на Муське ещё эксклюзивный контент добавился бы.
+
avatar
+1
Спасибо ТС за обзор, много интересного подчерпнул из него и каментов. Можно было бы, конечно, консолидировать всю информацию, но программирование у меня, похоже, отладывается…
По рекомендации из каментов приобрел правильный FT232R для bitbang:



но у него не разведен RTS и я пока не знаю что делать.
Ночью заказал на Али USB-TTL как у ТС, но пока он дойдет…
Если найду в городе адаптер и подключу, то отпишусь.
+
avatar
+1
static.chipdip.ru/lib/222/DOC000222844.pdf
RTS — это 3-я нога чипа. В моём дешёвом адаптере совпадает.

P.S.: а я снова окирпичил модуль. Снова через тот же PSKEY_USR16, будь он не ладен. Пока не могу восстановить. Через адаптер подключаюсь, по USB определяется (и даже PSTool по USB может настройки считывать), но не могу оживить. При подаче питания плавно раз в секунду загорается один светодиод 15 раз, потом так же другой.
В DUT режим входит. Пока я в тупике. Видимо, нужно ещё более свежий мануал искать от CSR.
+
avatar
  • kven
  • 28 апреля 2018, 10:49
0
а вы не знаете, что за режим, когда один мигает плавно, а другой в три раза чаще?
+
avatar
+1
Запрограммировал… Да, RTS — это 3-я нога чипа, акккуратно отпаял его, припаял проводок и подключил его к CLK:



Запустил программу, которая ругнулась на ROM моего модуля, у меня ROM 15. Поправил поле VERSION в ConfigSetDefinitions.xml с 10 на 15, перезапустил программу, считал данные, как ТС поправил выход с I2C на DAC, поменял название модуля, в профиле A2DP галочка на AAC уже стояла, записал данные, перещелкнул питание на модуле.
Все.

+
avatar
0
Можно вас попросить снять полный дамп через BlueCore Persistent Store (PSTool)?
Меню File --> Dump
И, если не сложно, полученный PSR файл отправить мне на почту agrundic @ ya.ru.

Кстати, судя по значку устройства, HandsFree Profile у вас не активирован. Если позвонить на телефон, разговор пойдёт по bluetooth или через динамик телефона?
+
avatar
0
Да, HandsFree Profile не активирован, забегал домой на обед буквально на пол-часа и не успел поковыряться толком ...PSTools у меня почему-то не запускается ни на компе дома, ни на ноуте — везде стоит Windows 8.1 x64. 2 раза кликаю на программе и тишина… Если запущу PSTools, дамп скину обязательно!

P.S. Прочитал Ваш предыдущий пост о BlueSuite 2.5.0, поставлю дома вечером
+
avatar
0
У меня стал запускаться после установки BlueSuite. Сейчас две версии установлено — 2.5.0 и 2.6.2. После какой стал запускаться — не помню, но когда я удалил 2.5.0 — запускаться перестал. Установил снова — стал запускаться.
+
avatar
0
Dump сюда положил — yadi.sk/d/zlqAoVSr3UAWpX
+
avatar
+3
Теперь могу смело заявить, что делал с этим модулем всё, что только можно.
Я его восстановил путём полной замены содержимого SPI flash.
Нашёл прошивку на том же сайте, где лежит datasheet на чип (tinyosshop.com) каком-то китайском сайте то ли изготовителя, то ли продавца этих плат (http://www.cisdo.cn/post/35.html, если по сайту полазить, можно найти ещё немного документации по всем подобным модулям, продающимся на Aliexpress). Эта прошивка имеет немного другую конфигурацию (в т.ч. другой номер PIO, который устанавливается при использовании внутреннего кодека), но я внёс минимально необходимые правки и добился вывода звука. Тем не менее, попрошу вас, baksovnet, по возможности выложить прошивку.

Теперь о том, как залить прошивку. В пакете BlueSuite 2.6.2 имеется консольная утилита nvscmd.exe. При помощи неё можно снять дамп прошивки в формате XUV либо со всей флешки, либо с выбранных разделов (там два раздела, RO и PS), ею же и заливается новая прошивка.

Чтобы не потерять много времени перед конфигурированием модуля рекомендую:
1. Снять дамп флешки с таблицей разделов (nvscmd.exe dump backup.ptn) — на выходе будет три файла (вот их бы мне и заполучить).
2. Сохранить все настройки в файле PSR (при помощи PSTool — для удобочитаемости).

P.S.: заметил, что nvscmd.exe имеется и в CSRA64xxx and CSRA63xxx Tools.
+
avatar
+1
Перезалил dump и таблицы разделов сюда — yadi.sk/d/fOvZHBFc3UAcdH
старый линк нерабочий.
+
avatar
0
После того, как залил прошивку от baksovnet, получил обновлённое устройство. Теперь при считывании с него конфигурации получаю ROM 15. И только сейчас удалось-таки указать свой PIO порт для управления внешним усилителем.
Если внимательно читать даташит, то в нём написано, что чип поддерживает работу только с одним аналоговым микрофоном. А в моём проекте используется 2. Решение простое. Поскольку микрофонный вход дифференциальный, вешаем первый микрофон на неинвертирующий вход, а второй — на инвертирующий (оба — через конденсаторы). Через резисторы на каждый микрофон подаём питание от MIC_BIAS. Проверено — работает.
+
avatar
  • ZrEmil
  • 28 мая 2018, 13:39
0
Доброго времени суток, а можете с микрофоном, просто я думаю что он программно отключен, как можно убедится что программно включен? Сможете помочь? Развожу плату и остановился при подключении микрофона, когда подключаюсь к телефону, запись звука идет через микрофон телефона, вот и подумал может программно отключен?
+
avatar
0
Добрый день!
1. Обратите внимание на значок устройства в телефоне. В моём телефоне изначально устройство отображалось в виде наушников, при этом разговор шёл через микрофон и динамик телефона. После того, как задействовал микрофон, значок стал выглядеть в виде гарнитуры с микрофоном.
2. В Configuration Tool проверьте, какие профили включены. Configuration Set\Bluetooth\Profiles\HFP. У меня изначально был только HSP, включил HFP 1.6, сохранил настройки, перезагрузил (не помню, может быть повторно выполнил сопряжение), появился микрофон.
3. Для проверки достаточно позвонить на телефон, убедиться, что разговор пошёл на устройство и потыкать иголочкой контакты LineA+\MicA+ или LineA-\MicA-. В другом телефоне кратковременно появится гул/треск (потом сработает алгоритм фильтрации помех и гул пропадёт).
+
avatar
  • ZrEmil
  • 29 мая 2018, 14:48
0
В общем HSP и HFP не были включенны, активировал оба и перепрошил ( он у меня называется просто HFP, без 1.6 ) по вашей схеме пытался соеденить 2 микрофона, через конденсаторы плюс микрофонов на инвертирующий и неинвертирующий входы соеденил, минус микрофонов через резистор ( по началу взял на 450 Ом, надеюсь это не было кретично и я не спалил микрофоны… ) Потом взял на 2 кОм подключил на MIC_BIAS, позвонил на другой телефон, а там молчанка, если просто тыкать иголкой на входы микрофона то слышится гул и трески на другом конце трубки. Позже пробовал соеденить по схеме как на даташите с одним микрофоном, там если без конденсаторов подключиьь и дуть в микрофон, то шлышится шипение, но на голос не реагирует ( конденсаторы на 100 nF ), MIC BIAS это вообще что? Я до историй с микрофонами по тупым причинам коротил ее на gnd, потом на плюс с акб 3.7 В ( модуль работает от литий ионки ), возможно то что я ему навредил и теперь проблемы из за этого? Может программно нужно что то активировать еще? Если не сложно можете на почту написать? e0m5i9l8@gmail.com
+
avatar
0
MIC BIAS — это выход напряжение смещения для питания электретного конденсаторного микрофона. В даташите рекомендуется подключать микрофон через резистор 2,2 кОм. Соответственно, если микрофона два, то каждому микрофону свой резистор.
Я сейчас не помню, какое напряжение на этом выходе. В голове крутится цифра 2В. Можно замерить вольтметром во время звонка. От того, что он был замкнут на землю, наверное, генератору этого напряжения ничего не будет, а вот насчёт +3,7 В есть сомнения.
Для проверки исправности микрофона, можно подать питание с той же литиевой батарейки через резистор того же номинала.
Я брал микрофоны из проводных гарнитур. Из трёх один был совсем тихий, даже усиление через Universal Front End не особо помогало.
+
avatar
0
Если не секрет как подключиться нему через Universal Front End он пишет: «The device connected to FT232R 00000000 does not identify itself as a recognisable algorithm.
Ensure that the device is connected and enabled.»
И еще, возможно ли включить эхоподавление и предусиление вместе?
+
avatar
0
Самое первое, что могу предложить — проверить, не открыто ли соединение с модулем какой-либо программой (PSTool или Configuration Tool).
Более детально смогу проверить только завтра.
+
avatar
0
Все получилось, незнал что подключаться нужно в тот момент когда проигрывается музыка или совершается звонок
+
avatar
0
У друга такой же чип, просил прошть.

Та же проблема


Отредактировал ConfigSetDefinitions.xml
на
<ConfigSet Product=«Rom»
Version=«15»>

Все получилось.
+
avatar
  • ZrEmil
  • 11 мая 2018, 00:25
0
Доброго времени суток, все сделал по этой статье, скачал прогу заменил файл “usbspi.dll”, только на ГидХабе не было файла “lib-win32/usbspi.dll”, был только usbspi.dll.spec и usbspi.dll.def… Пробовал заменить то и другое не работает программа, когда я хочу выбрать программатор на «Select a device» выдает что то не понятное, то же самое происходит когда без замены файла, т.е. только установленная программа так себя ведет… если нажать продолжить то выводит это Помогите пожалуйста, буду очень признателен ;)
+
avatar
0
Где взять lib-win32/usbspi.dll?

Перейти на ГитХаб


В архиве и будет нужный файл!
+
avatar
  • ZrEmil
  • 11 мая 2018, 10:19
0
Благодарю, сделал, почти на финишной прямойв данный момент выдает такое, но контакт между программатором хороший вроде как. Позже попробую напрямую подпаяться…
+
avatar
  • ZrEmil
  • 11 мая 2018, 12:05
0
Не, даже напрямую резисторами подпаял SPI проблема не ушла, выдает ту же ошибку ( фото кидал раньше ). Еще один вопрос, а это нормально то, что после подключения с программатором блютуз модуль мигает светодиодами так же как во время простого включения? И выходит на связь со смартфоном и подключается ?? 10кОм подтянул на пин SPI… к 3.3 V, схема старт организованна на транзисторе пины по праграммированию через резисторы 220 Ом подключил… не понятно…
+
avatar
0
1. Про программу Zadig не забыли?
2. .NET Framework ругается всегда, если не обнаружено какое-либо USB SPI устройство.
3. Да, это нормально. Пин SPI используется для выбора режима — цифровой вывод PCM или обращение к шине SPI. Шина SPI читается без прерывания работы устройства.
+
avatar
  • ZrEmil
  • 15 мая 2018, 20:53
0
Спасибо всем кто помог ) Я его победил… Короче изначально по SPI не мог найти так как я с Гитхаба скачал не ту версию, потом пересмотрев исправил, потом он у меня ругался на ROM 10, в итоге я его поправил через блокнот на 15 и смог подключиться )
Короче все отлично )))
В данный момент подключился без балансного усилителя, на прямую наушники относильно земли положительный левый канал и положительный правый, работает, звук есть, но есть пиканья, в общем помехи, вангую что это из-за того что я без диф усилителя юзаю его
Благодарен все, автору, очень помог его победить, спасибо огромное за статью :)
+
avatar
0
Вообще, выходной каскад не рассчитан на такое подключение нагрузки. Вероятно, на выходе ещё и постоянная составляющая присутствует.
Если будет использоваться выход на маломощную низкоомную нагрузку (обычные наушники), существуют компактные усилители (headphone amplifier) без выходных конденсаторов. Например, TPA6132A2.
Пример готового решения: ru.aliexpress.com/item/TPA6132/32839818437.html (я такое заказал и даже уже получил, но руки никак не дойдут соединить).
+
avatar
  • eugene78
  • 02 августа 2018, 21:10
0
У меня похожая ошибка. FTDI программатор видит, дрова поставил. Пишет, что нет соединения. Установил 2-ю версию CSRA64xxx and CSRA63xxx Tools. У меня вот такой чип.

Випаял резистор R14 так как к нему идет дорожка от spi. Подпаял переменный резистор на 10Ком. К SPI контактам подпаял резисторы на 150ом. Есть идеи как побороть проблему? Может кто какой косяк заметит?
+
avatar
  • eugene78
  • 02 августа 2018, 21:46
0
Update: Запустил PSTool. Снял полный дамп. Как то можно хотябы имя устройства поменять?
+
avatar
0
Запускаешь PSTool, считываешь данные, в строке поиска ключа вводишь name, выбираешь единственный пункт, вводишь новое имя, жмёшь Set
+
avatar
0
Планирую ставить новый эксперимент — проверить возможность использования модуля как передатчика звука с аналогового входа. Не зря же на модуле дифференциальный стереовход разведён. Если у кого есть какие мысли/наработки — буду рад обсудить.
+
avatar
  • PaulX
  • 17 августа 2018, 21:27
0
Приветствую, все сделано по инструкции, модуль как у автора, но есть ошибка подключения спи, многократно проверял провода все в порядке, может кто сталкивался?
+
avatar
  • eugene78
  • 23 августа 2018, 17:17
0
Вот у меня тоже самое. Смотри выше. Pstool запускается и читает настройки. Как твой модуль выглядит?
+
avatar
0
Скажите, а для CSR8645 нужен другой софт?
+
avatar
0
подозреваю, что PSTool работает для всех и весь вот этот BlueSuite

на diyaudio_com пишут, что для CSR8645 семейства существует CSR86XX ConfigurationTool
www.dropbox.com/s/vtvg8g7qnk08pju/CSR86XX%20ConfigurationTool-3.0.70.zip?dl=0

P.S. не скачивал, не запускал
P.P.S. всегда перед изменениями снимай дамп
+
avatar
0
Спасибо, уже разобрался. Дампы снял. Поковырялся через CSR86XX ConfigurationTool (сменил имя) и походу окирпичил…
Недолго музыка играла (ц).
Сейчас сижу вливаю дамп, но что-то это длится подозрительно долго.
+
avatar
0
Добавлю свои 5 копеек.

Предыстория
С год назад купил SW-HF59 из соседнего обзора. Через какое-то время модуль перестал подключаться. Перечитал всё, что было на эту тему, выпаял BT64X, попробовал подпаять jump-wire, оторвал пару пятаков, бросил затею. Поскольку модуль так и не заработал, заказал пару BTM625 и pogo pins. С доставкой всё обошлось в $13.56, что, в общем-то, сопоставимо с новым SW-HF59, но покупка нового гарантирует никакого праздника.

Поскольку в наших пе́рдях 0.75 магазинов на деревню, которые к тому же не работают в нерабочее время, резисторы решил использовать те, что были в запасах. В запасах было только ведро на 470Ом, но и они в финальном сетапе не были задействованы.
У bt-модуля присутствует вывод 1V8, который, по даташитам, надо использовать для замыкания кнопок. На основании этого я предположил, что SPI_EN и сама шина SPI тоже работает на 1V8. Сначала решил использовать преобразователь логических уровней, но после консультации со старшими товарищами, на FT232RL был найден вывод VCCIO, который задаёт опорный уровень интерфейсов. На модуле вывод обозначен как VCC и соединён с переключателем 3V3 <-> 5V.
Обладателям джамперного переключателя — снять джампер, обладателям скользящего переключателя… эм… заменить скользящий переключатель на джамперный, задача сведена к ранее решенной.

Итак, подключаем:
— BTM625.SPI_PCM и FT232RL.VCC к BTM625.1V8
— BTM625.SPI к FT232RL напрямую согласно инструкции
— BTM625.VCHG к 3V3 или что имеется в диапазоне от 2.7В до 4.2В
— землю к земле
— BTM625.MFB можно никуда не подключать, у меня работало и так, и так

Фото сетапа:

На фото подключение BT64X, который так и не заработал.
Pogo-pins припаяны к согнутым штырям от PLS-линейки.
Ардуйня присутствует, чтобы бортовым преобразователем давать 3.3В. Наверное, можно было бы и с FT232RL взять, но на eevblog_com рекомендуют использовать внешний источник. Там же настоятельно советуют для подключения использовать что-то более надёжное, чем jump-wire.

Про ПО.
Модуль оказался [ROM,15] и, естественно, с v2 Configuration Tool не заработал, только PSTool.
На сайте 52bluetooth_com лежит некий файл csra64215_ZKV_A11_467_20170330130244, в котором должен быть некий патч неизвестно к чему. Сайт огорожен великой китайской стеной и системой рейтингов, пользовательских групп и скачивания за монетки. За пределами Китая файл нигде не упоминается.
На сайте tinyosshop_com лежит v1 Configuration Tool ([ROM,8]) и совместимый с ним psr дамп. Если очень хочется, то можно загрузить в v1 совместимый дамп, менять интересующие настройки и смотреть как и какие байты меняются в psr файле.
К слову, при рабочем PSTool, консольные утилиты из того же самого пакета не заработали. Возможно наколеночная сборка влияет на частоту ошибок чтения, скорость обмена и т.д., к чему консольные приложения не приучены.

Всем добра,
и берегите глаза
+
avatar
0
после дня висения на 52bluetooth_com, накапало какое то количество монет, скачал csra64215_ZKV_A11_533_20171009131840.
Патч для v2 Configuration Tool, содержит в том числе новый ConfigSetDefinitions.xml с поддержкой [ROM,15]
Пишите, куда выложить

К сожалению, проверить не могу, один модуль уже запаял, второй, походу сжег по дороге
+
avatar
  • eugene78
  • 16 сентября 2018, 23:13
0
Dropbox
+
avatar
  • evilslon
  • 16 сентября 2018, 23:19
0
Да, пожалуйста выложите куда-нибудь, пригодится я думаю желающим повторить устройство или настроить своё. Можно выложить на яндекс диск например или хотя бы на файлообменник.
+
avatar
0
отписал в ЛС
+
avatar
  • evilslon
  • 19 сентября 2018, 08:40
0
Добавил в обзор. Спасибо!
+
avatar
  • agrundic
  • 05 октября 2018, 15:33
0
И мне сообщите, пожалуйста, откуда скачать. Интересно, что там нового добавили.
Я много полезного вычитал из документа BlueCore ADK Sink Configuration User Guide (находится по имени документа CS-306726-UGP3SinkConfigurationUserGuide.pdf)

P.S.: не дочитал, что в обзоре появилась ссылка. Спасибо!
+
avatar
0
Отпишись по результатам. Общественность тоже заинтересована
+
avatar
  • agrundic
  • 10 октября 2018, 16:20
0
Выяснилось, что прошивка у меня та же, что и в архиве (csra64215_ZKV_A11_533_20171009131840)
ConfigSetDefinitions.xml подменил. Проверил опцию сохранения состояния PIO — работает. Больше особенностей или полезностей пока не обнаружил.

У меня с модулем случилась беда, что-то коротнуло в усилителе для наушников (построен на микросхеме и трёх конденсаторах). Теперь выключается, когда напряжение на аккумуляторе падает до 3,5 В. При этом в GAIA сообщается, что на аккумуляторе 2,2 В.
Подозрение на импульсный стабилизатор (SMPS). поскольку вместо 1,8 В выдает 2,7 В. Вероятно, дроссель на 4,7 мкГн. Остальные напряжения (3,3 В и 1,8 В) в норме.
В целом всё остальное работает нормально, в том числе при питании от шины USB.
+
avatar
  • bunny64
  • 30 сентября 2018, 16:44
0
Скоро мой LL и программатор приедет.
Edifier'ы буду до лоу латенси апгрейживать. (+_+)

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.