Этот обзор посвящён 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 В.
Соединяем адаптер и самодельную плату в соответствии со следующей таблицей:
Обратите внимание! Сигнал 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.P.S. Обратите внимание! Теперь, благодаря пользователю player404 у нас есть патч для программы CSRA64xxx and CSRA63xxx Tools v2 с поддержкой Configuration Set версии [ROM,15]. Так что если при настройке модуля вы видите такую ошибку:
Потому, что резистор R5 надо подключать не к выходу первого инвертора, а к выходу третьего инвертора цепочки.
И вообще, такое надо лепить на CMOS инверторах. Лучше — с встроенным триггером Шмитта. Вариант — 74HC14.
… ну, или классика — 555.
Слепил на 7400 лишь по одной причине — она была под рукой, за 555 пришлось бы ехать в радиомагазин, и не факт, что нашёл бы её в оффлайне в SMD-исполнении, да и точность частоты не важна. А насчёт выхода 3-го инвертора — наверное Вы правы, делал по памяти — вроде всегда работало, а тут вдруг не стало.
Обсмотрел всю Вашу документацию, так и не нашёл в ней схемы деки, LG походу поленились и не нарисовали. С виду вроде обычный датчик, сделайте простейший генератор прямоугольных импульсов, подключите вместо него и посмотрите что будет. И про микропереключатели наличия кассеты не забудьте.
Я заказал за 35 руб. генератор частоты на NE555.
Но, я думаю, что «счетчик» и микрик наличия кассеты не решит вопрос.
В документации есть схема до разъема деки.
А схему маленькой деки я безобразно зарисовал на скорую руку.
Для тех, у кого руки не такие «прямые» как у автора, есть готовое решение.
Я брал Dbpower aptx за 16 баксов на али. Звук отменный. Подключает к AUX. Питается от USB.
Умеет переключать треки и есть встроенный микрофон для авто.
Это ж индвидуально
Я по молодости работал в конторе, которая занималась разработкой железок. В какой-то момент работая с железкой сильно страдал от свиста. Никто (из присутствующих) больше не слышал его. Оказалось в железке был какой-то косяк и она издавала звук на уровне 18кГц.
У меня кабель переломился около усб вилки. Они там чуть-ли не волосинами сделаны. Брал его около 13$. Удобно (рад был наличию фильтра с трансформатором).
Автор вполне писатель, замечательное произведение!
Представляю, сколько времени было проведено в поисках решений встающих на пути к светлому будузвуку трудностей )
Кто такие солюшки? ))
По фону — подключение выхода модуля к усилителю балансное, или через дифф усилители?
может, стоит увеличить входное сопротивление схемы, к которой подключаетесь?
Подключение у меня идёт через ОУ с входным сопротивлением 10кОм в режиме преобразователя баланс->небаланс с ку=1.
ОУ менял начиная с простых заканчивая высокотоковыми для наушников.
Звук хорош, но вч писк/шуршание есть после сопряжения
Автору +, очень познавательно! А теперь вопрос: подскажите или ткните носом на что то похожее, только наоборот передать звук с выхода для наушников телека в блютус наушники которые имеются в наличии.
Я так пробовал, выпадает список готовых устройств, а хотелось бы именно голый модуль как у автора и чтобы подешевле и звук был хороший, готов повозиться с паяльником.
Ошибаетесь… Откуда такие выводы?
В нормальных ушах звук гораздо лучше и богаче, чем с недо«динамиков» современных ТВ. Хотя бы за счёт появления псевдо «басов».
Или у вас до сих пор телик с 4ГД-53???
а огонь! я как раз только что чуть 3им шагом не закончил ваш путь))
шуи и свисток уже закуплен. Про третье узнал только здесь и закажу с получкой!)
Правда я ещё хочу aptx ресивер взять, к ресиверу подключить.
Что из вашего списка можно взять для передачи безпроводного звука по bluetooth c Huawei P9 Lite (ver. BT4.1) на подустаревший муз.центр LG MDD-K263Q в котором есть вход USB, Aux и stereo input? Стоит ли брать устройство с поддержкой BT 4.2 и Aptx с перспективой замены смартфона?
Ооо, супер, огромное спасибо за совет, попробую! Это как раз то, что нужно. Сам бы до варианта с текстолитом и не догадался! А нету ли у Вас фото примеров?
да не нужен и текстолит. можно напечатать на плёнке для лазерника, или для струйника, потом при необходимости подержать в парАх растворителя для уплотнения тонера и всё.
А не проще на стекло наклеить медную фольгу (отжечь от текстолита), потом травить?
И даже не стекло, а 1-2мм прозрачный пластик — проще будет потом выпиливать в нужный размер.
Тонировочную плёнку снаружи добавить, чтобы выключенный индикатор не было видно.
Тонировка, «стекло», медь, белый матовый рассеиватель, светодиод.
Из всего того, что удалось найти на Али пожалуй эти два самых интересных — как поддержкой технологий aptX-HD LL, так и автономностью… Конечно, есть еще дешевле и визуально похожи, но там в описании или в отзывах покупателей нет упоминаний о том, что может девайс.
Радиус действия — 10м?
не было мыслей увеличить чувствительность приёмника использую направленную антенну?
ну чтобы по всей квартире или из двора гарантированно брало.
Блин, на что только эти жадные россияне не пойдут, лишь бы не переплатить еще $10-15 (сарказм)
За прямые руки и голову на месте поставил бы с десяток плюсов.
Лог пакетов Bluetooth записывается самим телефоном, потом открывается на ПК с помощью Wireshark. Метод описан автором обзора под спойлером Проверка используемого Bluetooth-кодека.
Автору огромное человеческое спасибо-обзор крайне интересен и чрезвычайно полезен в плане программирования синезубой микрухи.
единственное что огорчает это зеленая не кошерная изолента :(
Да, если бы не эти танцы с бубном вокруг BT-приемника — подумал бы о прикручивании к своему Panasonic SA-PM21 (у него тоже нет AUX).
А так… ну его нафиг :-/
Спасибо автору обзора. Ради этого коммента даже зарегистрировался. Вопрос по поводу вывода звука не совсем понятный.
Есть у меня активные колонки с двумя тюльпанами и встроенным усилком. Если я поставлю данную микруху в корпус колонок, и выход 38-41 параллельно к выходам от тюльпанов- заиграет? И подскажите хороший преобразователь для данной сборки. Пока блок не смотрел, но сдается что на выходе там 24В
номера выводов на микросхеме. Похоже, что только через доп усилитель можно сделать. А по ценнику с понижающим преобразователем выходит как уже готовое устройство.
А, понятно. Через доп.усилитель сделать вполне можно, и да, получается как готовый блок. Я б тоже взял готовый, но мне нужно было отдельно управлять включением-выключением модуля, вывести индикатор на переднюю панель центра, да и генератор нужно было куда-то приляпать, вот и сделал всё на одной плате.
А модуль такой же, как в обзоре? У меня было похожее поведение если пытаться запустить модуль сразу при подаче питания (без схемы задержки), вылечилось само по себе, простым отключением от питающего напряжения на пару минут.
модуль называется BT64X, распаян в девайсе sanwu.
перестал реагировать на spi_pcm и после подачи напряжения мгновенно начинает мигать диодами в таком режиме.
Автору респект.
Сколхозил наушники на схожем модуле BTM625. Провозился я тоже знатно.
Запросил прошивку у производителя этих плат с выводом аналогового звука.
Сделал программатор на LPT, не прошивался. Сделал программатор на FTDI, тоже не прошивался. Там защита или еще что то.
Уже решил забить на это дело, пока эту статью не нашел.
CSRA64xxx and CSRA63xxx v2 Configuration Tool ну не попадалась она мне при поиске.
Заработало все сразу после настройки.
Впендюрил акб и этот модуль в Panasonic RP-HT010GU-H, звук прекрасный, но есть проблема с шумом при тишине и режимом энергосбережения. Буду демонтировать и встрою в колонку.
Какие ошибки выдаёт? Библиотеку usbspi.dll с GitHub'a проекта скачивали и заменяли в корневой папке программы? Сигнал Enable (MFB) на модуль не забыли подать? А spi/pcm через резистор?
LPT у меня на допотопном ноуте с Windows 2000, там эта CSRA64xxx and CSRA63xxx v2 Configuration Tool не запуститься. Через LPT порт модуль коннектился, но не прошивался. В итоге сделал, как автор статьи через FTDI. Проверьте соединения от программатора к плате, у меня несколько раз был не контакт при использовании проводов от arduino, хотя с виду все было правильно.
Обязательно надо использовать резисторы 150 — 220 Ом, без них не контачит.
Прошивка для BTM625 с поддержкой аналогового вывода yadi.sk/d/Ra-kmzbe3SrFR8.
Сам не прошивал, не получилось. Прошивку дал производитель модулей. Делайте бэкап перед прошивкой. Ответственность вся на вас.
задача — передать по блютус с компа или смарта звук на 2 раздельных блютус модуля,
каждый блютус модуль будет установлен в колонку с усилителем звука, что бы слушать музыку на двух колонках без проводов!
может кто знает? заманался уже думать. вроде всё соединил, дрова на модуль поставил всё подключил итд итп и проверил и перепроверил а нихрена не получается (единственное что в статье есть упоминания про выход ЕН я хз не нашел ничего такого...).при смене усбспи которые весят и 1 и 2кб то выводилось какой то бред типо программа не может работать под виндой или содержит ошибку… посидел на гитхабе нашел всякие csr-spi-ftdi-0.5.2/1/0 перепробовал их… и модуль начало находить но нарисовалась другая ошибка с которой я в тупике… спасайте то может ) ейбогучто в переводе примерно такой текст
...
Точь-в-точь как у меня было (см. спойлер «CSRA64xxx and CSRA63xxx Tools первой версии и BTM625B»), программа находит модуль, но содержащиеся в модуле данные созданы в более новой версии программы, чем Вы используете. Ищите более новую версию программы!
Похоже китайцы ещё более новую программу придумали. Тогда единственный способ — выпаивать и шить через программатор микросхему памяти напрямую. Прошивка в Интернете есть.
короче сделал даже питание отдельное для БТ. включал выключал пробовал по всякому… программа БТ видит точно но вот что теперь с софтом делать… ютюб молчит. гугл тоже особо не помощник… одна надежда тут ) ну и может китайцы что пришлют но маловероятно
единственное что у меня получилось это приконектиться через прогу PSTool которая идёт вместе со всем выше написанным. там гора настроек но из полезного разве что название модуля сменить… больше как то за 3часа с гугл переводчиком ничего адски нужного в проге не нашел.
Я заказал готовое устройство с таким модулем на борту и отдельно модуль.
Дождался программатор. Пока ждал, появились сообщения о проблемах в настройке модуля.
Вчера соединил готовое устройство с программатором. При запуске 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 разговор шёл через микрофон и динамик телефона). Потыкал иголочкой по контактам, к которым подключается микрофон — фонит, всё как положено.
Друзья, не пытайтесь уйти в глубокое программирование модуля через CSRA64xxx and CSRA63xxx Configuration Tool.
Я наступил вчера на грабли, которые только сегодня устранил.
Я искал возможность переназначить выход, который устанавливается в 1 при воспроизведении (мне это нужно для удобной разводки печатной платы, обычно это PIO6).
Для начала я решил проверить, можно ли это настроить из Configuration Tool. В разделе Input/Output я взял, да и назначил PIO17 на LED Enable. Хотел проверить, будет ли оно работать. После перезагрузки модуля я получил кирпич.
Вернул к жизни при помощи PSTool. Кстати, она сначала у меня не запускалась. Только после установки древнего BlueSuite 2.5.0 стала запускаться.
Я делаю так:
1. Открываю файл ConfigSetDefinitions.xml в браузере
2. Нахожу интересуемую опцию в CSRA64xxx and CSRA63xxx Configuration Tool
3. Нахожу, какой PSKEY отвечает за нее, адрес
4. В PDF документе открываю описание этого PSKEY
5. Вношу изменения через BlueCore Persistent Store (PSTool.exe). Через тот же PSTool удобно перезагрузить чип для применения изменений.
Ого, нарядная платка. Вам бы тоже обзорчик написать, а то в комментах столько всего интересного понаписали, но оно всё разрозненно. В обзоре бы сгруппировали, скринов добавили и было б вообще сказочно, к тому же на Муське ещё эксклюзивный контент добавился бы.
Спасибо ТС за обзор, много интересного подчерпнул из него и каментов. Можно было бы, конечно, консолидировать всю информацию, но программирование у меня, похоже, отладывается…
По рекомендации из каментов приобрел правильный FT232R для bitbang:
но у него не разведен RTS и я пока не знаю что делать.
Ночью заказал на Али USB-TTL как у ТС, но пока он дойдет…
Если найду в городе адаптер и подключу, то отпишусь.
P.S.: а я снова окирпичил модуль. Снова через тот же PSKEY_USR16, будь он не ладен. Пока не могу восстановить. Через адаптер подключаюсь, по USB определяется (и даже PSTool по USB может настройки считывать), но не могу оживить. При подаче питания плавно раз в секунду загорается один светодиод 15 раз, потом так же другой.
В DUT режим входит. Пока я в тупике. Видимо, нужно ещё более свежий мануал искать от CSR.
Запрограммировал… Да, RTS — это 3-я нога чипа, акккуратно отпаял его, припаял проводок и подключил его к CLK:
Запустил программу, которая ругнулась на ROM моего модуля, у меня ROM 15. Поправил поле VERSION в ConfigSetDefinitions.xml с 10 на 15, перезапустил программу, считал данные, как ТС поправил выход с I2C на DAC, поменял название модуля, в профиле A2DP галочка на AAC уже стояла, записал данные, перещелкнул питание на модуле.
Все.
Можно вас попросить снять полный дамп через BlueCore Persistent Store (PSTool)?
Меню File --> Dump
И, если не сложно, полученный PSR файл отправить мне на почту agrundic @ ya.ru.
Кстати, судя по значку устройства, HandsFree Profile у вас не активирован. Если позвонить на телефон, разговор пойдёт по bluetooth или через динамик телефона?
Да, HandsFree Profile не активирован, забегал домой на обед буквально на пол-часа и не успел поковыряться толком ...PSTools у меня почему-то не запускается ни на компе дома, ни на ноуте — везде стоит Windows 8.1 x64. 2 раза кликаю на программе и тишина… Если запущу PSTools, дамп скину обязательно!
P.S. Прочитал Ваш предыдущий пост о BlueSuite 2.5.0, поставлю дома вечером
У меня стал запускаться после установки BlueSuite. Сейчас две версии установлено — 2.5.0 и 2.6.2. После какой стал запускаться — не помню, но когда я удалил 2.5.0 — запускаться перестал. Установил снова — стал запускаться.
Теперь могу смело заявить, что делал с этим модулем всё, что только можно.
Я его восстановил путём полной замены содержимого 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.
После того, как залил прошивку от baksovnet, получил обновлённое устройство. Теперь при считывании с него конфигурации получаю ROM 15. И только сейчас удалось-таки указать свой PIO порт для управления внешним усилителем.
Если внимательно читать даташит, то в нём написано, что чип поддерживает работу только с одним аналоговым микрофоном. А в моём проекте используется 2. Решение простое. Поскольку микрофонный вход дифференциальный, вешаем первый микрофон на неинвертирующий вход, а второй — на инвертирующий (оба — через конденсаторы). Через резисторы на каждый микрофон подаём питание от MIC_BIAS. Проверено — работает.
Доброго времени суток, а можете с микрофоном, просто я думаю что он программно отключен, как можно убедится что программно включен? Сможете помочь? Развожу плату и остановился при подключении микрофона, когда подключаюсь к телефону, запись звука идет через микрофон телефона, вот и подумал может программно отключен?
Добрый день!
1. Обратите внимание на значок устройства в телефоне. В моём телефоне изначально устройство отображалось в виде наушников, при этом разговор шёл через микрофон и динамик телефона. После того, как задействовал микрофон, значок стал выглядеть в виде гарнитуры с микрофоном.
2. В Configuration Tool проверьте, какие профили включены. Configuration Set\Bluetooth\Profiles\HFP. У меня изначально был только HSP, включил HFP 1.6, сохранил настройки, перезагрузил (не помню, может быть повторно выполнил сопряжение), появился микрофон.
3. Для проверки достаточно позвонить на телефон, убедиться, что разговор пошёл на устройство и потыкать иголочкой контакты LineA+\MicA+ или LineA-\MicA-. В другом телефоне кратковременно появится гул/треск (потом сработает алгоритм фильтрации помех и гул пропадёт).
В общем HSP и HFP не были включенны, активировал оба и перепрошил ( он у меня называется просто HFP, без 1.6 ) по вашей схеме пытался соеденить 2 микрофона, через конденсаторы плюс микрофонов на инвертирующий и неинвертирующий входы соеденил, минус микрофонов через резистор ( по началу взял на 450 Ом, надеюсь это не было кретично и я не спалил микрофоны… ) Потом взял на 2 кОм подключил на MIC_BIAS, позвонил на другой телефон, а там молчанка, если просто тыкать иголкой на входы микрофона то слышится гул и трески на другом конце трубки. Позже пробовал соеденить по схеме как на даташите с одним микрофоном, там если без конденсаторов подключиьь и дуть в микрофон, то шлышится шипение, но на голос не реагирует ( конденсаторы на 100 nF ), MIC BIAS это вообще что? Я до историй с микрофонами по тупым причинам коротил ее на gnd, потом на плюс с акб 3.7 В ( модуль работает от литий ионки ), возможно то что я ему навредил и теперь проблемы из за этого? Может программно нужно что то активировать еще? Если не сложно можете на почту написать? [email protected]
MIC BIAS — это выход напряжение смещения для питания электретного конденсаторного микрофона. В даташите рекомендуется подключать микрофон через резистор 2,2 кОм. Соответственно, если микрофона два, то каждому микрофону свой резистор.
Я сейчас не помню, какое напряжение на этом выходе. В голове крутится цифра 2В. Можно замерить вольтметром во время звонка. От того, что он был замкнут на землю, наверное, генератору этого напряжения ничего не будет, а вот насчёт +3,7 В есть сомнения.
Для проверки исправности микрофона, можно подать питание с той же литиевой батарейки через резистор того же номинала.
Я брал микрофоны из проводных гарнитур. Из трёх один был совсем тихий, даже усиление через Universal Front End не особо помогало.
Если не секрет как подключиться нему через 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.»
И еще, возможно ли включить эхоподавление и предусиление вместе?
Самое первое, что могу предложить — проверить, не открыто ли соединение с модулем какой-либо программой (PSTool или Configuration Tool).
Более детально смогу проверить только завтра.
Доброго времени суток, все сделал по этой статье, скачал прогу заменил файл “usbspi.dll”, только на ГидХабе не было файла “lib-win32/usbspi.dll”, был только usbspi.dll.spec и usbspi.dll.def… Пробовал заменить то и другое не работает программа, когда я хочу выбрать программатор на «Select a device» выдает что то не понятное, то же самое происходит когда без замены файла, т.е. только установленная программа так себя ведет… если нажать продолжить то выводит это Помогите пожалуйста, буду очень признателен ;)
Благодарю, сделал, почти на финишной прямойв данный момент выдает такое, но контакт между программатором хороший вроде как. Позже попробую напрямую подпаяться…
Не, даже напрямую резисторами подпаял SPI проблема не ушла, выдает ту же ошибку ( фото кидал раньше ). Еще один вопрос, а это нормально то, что после подключения с программатором блютуз модуль мигает светодиодами так же как во время простого включения? И выходит на связь со смартфоном и подключается ?? 10кОм подтянул на пин SPI… к 3.3 V, схема старт организованна на транзисторе пины по праграммированию через резисторы 220 Ом подключил… не понятно…
1. Про программу Zadig не забыли?
2. .NET Framework ругается всегда, если не обнаружено какое-либо USB SPI устройство.
3. Да, это нормально. Пин SPI используется для выбора режима — цифровой вывод PCM или обращение к шине SPI. Шина SPI читается без прерывания работы устройства.
Спасибо всем кто помог ) Я его победил… Короче изначально по SPI не мог найти так как я с Гитхаба скачал не ту версию, потом пересмотрев исправил, потом он у меня ругался на ROM 10, в итоге я его поправил через блокнот на 15 и смог подключиться )
Короче все отлично )))
В данный момент подключился без балансного усилителя, на прямую наушники относильно земли положительный левый канал и положительный правый, работает, звук есть, но есть пиканья, в общем помехи, вангую что это из-за того что я без диф усилителя юзаю его
Благодарен все, автору, очень помог его победить, спасибо огромное за статью :)
Вообще, выходной каскад не рассчитан на такое подключение нагрузки. Вероятно, на выходе ещё и постоянная составляющая присутствует.
Если будет использоваться выход на маломощную низкоомную нагрузку (обычные наушники), существуют компактные усилители (headphone amplifier) без выходных конденсаторов. Например, TPA6132A2.
Пример готового решения: ru.aliexpress.com/item/TPA6132/32839818437.html (я такое заказал и даже уже получил, но руки никак не дойдут соединить).
У меня похожая ошибка. FTDI программатор видит, дрова поставил. Пишет, что нет соединения. Установил 2-ю версию CSRA64xxx and CSRA63xxx Tools. У меня вот такой чип.
Випаял резистор R14 так как к нему идет дорожка от spi. Подпаял переменный резистор на 10Ком. К SPI контактам подпаял резисторы на 150ом. Есть идеи как побороть проблему? Может кто какой косяк заметит?
Тоже долго ломал голову.
Чтобы заработало нужно на SPI_PCM и MFP подать логическую еденицу. Для этого есть контакт 1V8.
SPI_PCM собственно переводит чип в дебаг режим(собственно сам SPI), а MFP банально включает устройство.
Планирую ставить новый эксперимент — проверить возможность использования модуля как передатчика звука с аналогового входа. Не зря же на модуле дифференциальный стереовход разведён. Если у кого есть какие мысли/наработки — буду рад обсудить.
Приветствую, все сделано по инструкции, модуль как у автора, но есть ошибка подключения спи, многократно проверял провода все в порядке, может кто сталкивался?
Спасибо, уже разобрался. Дампы снял. Поковырялся через CSR86XX ConfigurationTool (сменил имя) и походу окирпичил…
Недолго музыка играла (ц).
Сейчас сижу вливаю дамп, но что-то это длится подозрительно долго.
Предыстория
С год назад купил 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, консольные утилиты из того же самого пакета не заработали. Возможно наколеночная сборка влияет на частоту ошибок чтения, скорость обмена и т.д., к чему консольные приложения не приучены.
после дня висения на 52bluetooth_com, накапало какое то количество монет, скачал csra64215_ZKV_A11_533_20171009131840.
Патч для v2 Configuration Tool, содержит в том числе новый ConfigSetDefinitions.xml с поддержкой [ROM,15]
Пишите, куда выложить
К сожалению, проверить не могу, один модуль уже запаял, второй, походу сжег по дороге
Да, пожалуйста выложите куда-нибудь, пригодится я думаю желающим повторить устройство или настроить своё. Можно выложить на яндекс диск например или хотя бы на файлообменник.
И мне сообщите, пожалуйста, откуда скачать. Интересно, что там нового добавили.
Я много полезного вычитал из документа BlueCore ADK Sink Configuration User Guide (находится по имени документа CS-306726-UGP3SinkConfigurationUserGuide.pdf)
P.S.: не дочитал, что в обзоре появилась ссылка. Спасибо!
Выяснилось, что прошивка у меня та же, что и в архиве (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.
Приветствую всех. Ребят, внесите ясность пожалуйста по фирменному софту. Программы CSRA64xxandCSRA63xx Tools, BlueSuite и PSTools это все разные проги? Почему столько разного софта для одной и той же задачи?
Где взять PSTools? Подозреваю что он находиться в составе какого-то пакета. Что можно почитать для работы с этим софтом?
В общем собрал я подобную платку, прошил. Поставил в магнитолу. Устройства вещающие посредством aptx пока в планах, а вот aac с телефона воспроизводит. Но, заикается гад(небольшая пауза в произвольном месте композиции). С lenovo a2010 заикается довольно сильно, мозг выносит, 3-4 раза в минуту иногда чаще иногда реже, порой пару композиций вообще без глюков играет. Танцы с включением, выключением всего что можно в телефоне результатов не дают. Есть в хозяйстве колонка синезубая, так она воспроизводит без глюков, правда по sbc. В планах только попробовать отключить aac, только не очень хочется, но иных вариантов пока не вижу. Другой тел lenovo a1000 тоже заикается но ощутимо реже. Никто не сталкивался с таким поведением, не удавалось ли найти решение?
Сам спросил, сам отвечу. Проблема наблюдалась не только на конкретном аппарате, а на тех которые использовали для передачи ААС. Отключил его поддержку, воспроизведение пошло по SBC и проблема ушла. Возможно не зря ААС в стоке отключен…
Та же самая проблема у меня, но с aptx- небольшая пауза то пару раз в минуту, то раз в пять минут. Телефон samsung galaxy s8. С кодеками sbc и aac такой проблемы нет. Использую аас. Еще раздражал писк, который слышно на высокой громкости в паузах между треками. Чтобы его побороть, вместо стабилизатора 7805 использовал стабилизатор с гальванической развязкой B0505S, теперь тишина.
Всем доброго времени суток. Я походу один не догоняю, но так и не нашел ответ на вот этот текст автора:
подаём (это только в моём случае, т.к. у меня в схеме используется инвертор; на голый модуль надо подавать высокий уровень на контакт MFB) низкий уровень сигнала на вход «EN» (замыкаем на землю)
что это за высокий и низкий уровень? если MFB еще имеется на модуле маем (BTM625/CSRA64215) то вот контакта EN там точно нет.
Подскажите нужно ли подать питание на модуль, чтобы он заработал и став виден на мобильном телефоне или нет. Всю схему собрал только вот в программе CSRA64 не отображается он. Не видит. Да и драйвера заменил все как в описании. Прошу помощи Спасибо
Привет. А что тут не догоняете? Взглянув на схему автора статьи все должно быть понятно. Чтобы включить модуль, вам нужно на его 9 ножку MFB подать 3,3 вольт. Это по сути и есть «высокий» уровень. «Низкий» уровень, это когда 0 вольт или около этого. Вам нужно почитать что нибудь про основы цифровой электронники. Еще такой момент может быть, эти платки сейчас выпускаются в нескольких модификациях. По сути то же самое, но распиновка ножек платки, естественно разные. Вы, для начала, фотку вашей платки сюда выложите пожалуйста, а там уж можно подумать;-)
Вот вы четко и понятно написали про 3.3в и на какую ногу, а автор что то так за мудрил что не разберешь на какую ногу что подавать, неужели чтобы прошить модуль нужно сидеть и читать что такое эти сигналы?,
Подскажите пожалуйста Нужно ли включать модуль, то есть чтобы он стал видим через мобилу. VBAT я имею ввиду
Привет. Ничего автор не мудрил, он просто запилил девайс именно под свои задачи. Если бы вы внимательно читали его статью, то вопросов бы по аппаратной части не возникло бы. Я просил фотку вашего блочка целиком, а не его фрагментов. Но судя по всему он такой же как у автора, так?
В общем все получилось. Аудио выход настроил. Пишу простым русским языком. Для того чтобы прошивать нужно включить отдельным источником +3,5в на VBAT и MFB. — к GND. После этого блютуз будет виден в сети, но не подключайтесь к нему. А от программатора отдельно питание 3,3 через резюк 10 кОм и — GND напрямую. Если все таки в программке не виден ваш девайс, то пробуйте другой более короткий кабель USB который идет к программатору, и как вариант в другой порт USB компа( мне это помогло) после этого контакт наладился. После подключения к программке нажимаем Read Device. А после внесения изменений нажимаем Write Device. Аудио выход заработал что мне и нужно было.
Автору огромное спасибо за подробный отчет/обзор.
Прочитав приобрел 2 версии модуля.
Один настраивается версией 1.0 второй 2.0.
Уже оснастил 2 муз.центра модулями.
В первом применил усилитель как у ТС, во втором TPA6132.
Всё отлично работает!
Единственное не хватает — возможности установки пин кода для подключения. (ИМХО)
P.S. После прочтения статьи остались некоторые вопросы, но в обсуждении нашлись все ответы.
С модулем ничего не делал лишнего, толлко подключил питание и аудио выход.
При поиске bluetooth устройств его нет. Led индикатор синий мигает медленно, а красный в четыре раза чаще.
Как его заставить работать? Что это за режим?
Хотя балансные выходы можно было и через конденсаторы пустить, без усилителя, имхо конечно
И вообще, такое надо лепить на CMOS инверторах. Лучше — с встроенным триггером Шмитта. Вариант — 74HC14.
… ну, или классика — 555.
Какой мне сделать самый простой генератор?
Документация здесь.
cloud.mail.ru/public/31eM/8p3v6XZP6
Но, я думаю, что «счетчик» и микрик наличия кассеты не решит вопрос.
В документации есть схема до разъема деки.
А схему маленькой деки я безобразно зарисовал на скорую руку.
Ваше мнение?
Я брал Dbpower aptx за 16 баксов на али. Звук отменный. Подключает к AUX. Питается от USB.
Умеет переключать треки и есть встроенный микрофон для авто.
выше я просто уже не слышу в силу возраста.
Я по молодости работал в конторе, которая занималась разработкой железок. В какой-то момент работая с железкой сильно страдал от свиста. Никто (из присутствующих) больше не слышал его. Оказалось в железке был какой-то косяк и она издавала звук на уровне 18кГц.
Может на тао остался, но оттуда не люблю заказывать.
Его родственник http://amazon.com/gp/product/B073CRWNWN (в продаже уже нет)
aliexpress.com/item/Ugreen-Bluetooth-4-2-3-5/32840887897.html
Представляю, сколько времени было проведено в поисках решений встающих на пути к светлому
будузвуку трудностей )Не могу избавиться от фона на этой плате, даже при питании от лития (
По фону — подключение выхода модуля к усилителю балансное, или через дифф усилители?
может, стоит увеличить входное сопротивление схемы, к которой подключаетесь?
Подключение у меня идёт через ОУ с входным сопротивлением 10кОм в режиме преобразователя баланс->небаланс с ку=1.
ОУ менял начиная с простых заканчивая высокотоковыми для наушников.
Звук хорош, но вч писк/шуршание есть после сопряжения
Всё готово, и буфер, и програмировать не надо.
есть такое решение
если на плате прямые углы дорожек убрать — будет еще +10 к качеству звука :)
www.saturnpcb.com/assets/templates/web-images/transmitter-big.jpg
В нормальных ушах звук гораздо лучше и богаче, чем с недо«динамиков» современных ТВ. Хотя бы за счёт появления псевдо «басов».
Или у вас до сих пор телик с 4ГД-53???
С ушами с Aptx — куча решений и вариантов. Смотри ниже одно из них.
какой смысл в этом?
90% устроит.
Но с возрастом пришла лень, дальнозоркость (не вижу мелкое) и… киты со своими девайсами.
Недавно заказал на 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% заметить не сможет)
Автор -молоток!!!
шуи и свисток уже закуплен. Про третье узнал только здесь и закажу с получкой!)
Правда я ещё хочу aptx ресивер взять, к ресиверу подключить.
…
Не, похоже тоже не умеют…
— вытравить инвертированную блютуз иконку нужного размера на куске текстолита(платы)
— наклеить на кругляш оргстекла эпоксидкой
— сошлифовать текстолит — останется оргстекло с медной иконкой блютуз (на просвет)
— посеребрить медь (гуглите рецепты)
— защитить покрытие (лаком или эпоксидкой)
— вклеить на место
— поместить сзади синий светодиод
ИНДИКАТОР ГОТОВ
вариации:
— не серебрить, а зачернить медь
— наклеить сверху второй кругляш оргстекла
— вырезать иконку лезвием или лазером на черной бумаге
— вклеить бумагу между кругляшей оргстекла
И даже не стекло, а 1-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
$30.48 — https://ru.aliexpress.com/item/Levn-aptX-HD-Bluetooth-3-5/32849513961.html
Из всего того, что удалось найти на Али пожалуй эти два самых интересных — как поддержкой технологий aptX-HD LL, так и автономностью… Конечно, есть еще дешевле и визуально похожи, но там в описании или в отзывах покупателей нет упоминаний о том, что может девайс.
Остаётся вопрос, будет ли работать при параллельном подключении питания по usb?
не было мыслей увеличить чувствительность приёмника использую направленную антенну?
ну чтобы по всей квартире или из двора гарантированно брало.
я и говорил увеличить чувствительность приёмника, а не мощность передатчика.
от себе довалю что с помощью FTDI и bitbang можно шить шить почти все что угодно, если достать правльный софт. например avr камни:
на ибее можно нати FT232R уже с разведееной SPI клодкой и преключателем 3в->5в
За прямые руки и голову на месте поставил бы с десяток плюсов.
Супер!
Каким железом Вы снифали бт траф? Можно ссылку?
Софт я отлично знаю :)
единственное что огорчает это зеленая не кошерная изолента :(
А так… ну его нафиг :-/
Есть у меня активные колонки с двумя тюльпанами и встроенным усилком. Если я поставлю данную микруху в корпус колонок, и выход 38-41 параллельно к выходам от тюльпанов- заиграет? И подскажите хороший преобразователь для данной сборки. Пока блок не смотрел, но сдается что на выходе там 24В
aliexpress.com/item/4-2-Bluetooth-Receiver-Board-CSR64215-Amplifers-Bluetooth-Module-Lossless-APT-X-Wireless-Bluetooth-Audio-DIY/32822120990.html
aliexpress.com/item/CSR-3-5mm-wireless-bluetooth-audio-receiver-DIY-board-MP3-music-computer-subwoofer-stereo-mini-USB/32825252493.html
Для реализации подобному автору проекта, но в Panasonic RX-ES23?
прошивку в этой микрухе кто-нибудь пробовал менять?
перестал реагировать на spi_pcm и после подачи напряжения мгновенно начинает мигать диодами в таком режиме.
а что за задержка, вы про сигнал enable?
куда копать хоть…
Сколхозил наушники на схожем модуле BTM625. Провозился я тоже знатно.
Запросил прошивку у производителя этих плат с выводом аналогового звука.
Сделал программатор на LPT, не прошивался. Сделал программатор на FTDI, тоже не прошивался. Там защита или еще что то.
Уже решил забить на это дело, пока эту статью не нашел.
CSRA64xxx and CSRA63xxx v2 Configuration Tool ну не попадалась она мне при поиске.
Заработало все сразу после настройки.
Впендюрил акб и этот модуль в Panasonic RP-HT010GU-H, звук прекрасный, но есть проблема с шумом при тишине и режимом энергосбережения. Буду демонтировать и встрою в колонку.
у меня ftdi не хочет коннектится, ошибки выдает. (
можете прошивкой поделиться?
Обязательно надо использовать резисторы 150 — 220 Ом, без них не контачит.
Прошивка для BTM625 с поддержкой аналогового вывода yadi.sk/d/Ra-kmzbe3SrFR8.
Сам не прошивал, не получилось. Прошивку дал производитель модулей. Делайте бэкап перед прошивкой. Ответственность вся на вас.
каждый блютус модуль будет установлен в колонку с усилителем звука, что бы слушать музыку на двух колонках без проводов!
друзья, кто может сталкивался или подскажет?
как можно сделать или купить готовое решение?: )
...
Дождался программатор. Пока ждал, появились сообщения о проблемах в настройке модуля.
Вчера соединил готовое устройство с программатором. При запуске 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 разговор шёл через микрофон и динамик телефона). Потыкал иголочкой по контактам, к которым подключается микрофон — фонит, всё как положено.
Я наступил вчера на грабли, которые только сегодня устранил.
Я искал возможность переназначить выход, который устанавливается в 1 при воспроизведении (мне это нужно для удобной разводки печатной платы, обычно это PIO6).
Для начала я решил проверить, можно ли это настроить из Configuration Tool. В разделе Input/Output я взял, да и назначил PIO17 на LED Enable. Хотел проверить, будет ли оно работать. После перезагрузки модуля я получил кирпич.
Вернул к жизни при помощи PSTool. Кстати, она сначала у меня не запускалась. Только после установки древнего BlueSuite 2.5.0 стала запускаться.
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 удобно перезагрузить чип для применения изменений.
По рекомендации из каментов приобрел правильный FT232R для bitbang:
но у него не разведен RTS и я пока не знаю что делать.
Ночью заказал на Али USB-TTL как у ТС, но пока он дойдет…
Если найду в городе адаптер и подключу, то отпишусь.
RTS — это 3-я нога чипа. В моём дешёвом адаптере совпадает.
P.S.: а я снова окирпичил модуль. Снова через тот же PSKEY_USR16, будь он не ладен. Пока не могу восстановить. Через адаптер подключаюсь, по USB определяется (и даже PSTool по USB может настройки считывать), но не могу оживить. При подаче питания плавно раз в секунду загорается один светодиод 15 раз, потом так же другой.
В DUT режим входит. Пока я в тупике. Видимо, нужно ещё более свежий мануал искать от CSR.
Запустил программу, которая ругнулась на ROM моего модуля, у меня ROM 15. Поправил поле VERSION в ConfigSetDefinitions.xml с 10 на 15, перезапустил программу, считал данные, как ТС поправил выход с I2C на DAC, поменял название модуля, в профиле A2DP галочка на AAC уже стояла, записал данные, перещелкнул питание на модуле.
Все.
Меню File --> Dump
И, если не сложно, полученный PSR файл отправить мне на почту agrundic @ ya.ru.
Кстати, судя по значку устройства, HandsFree Profile у вас не активирован. Если позвонить на телефон, разговор пойдёт по bluetooth или через динамик телефона?
P.S. Прочитал Ваш предыдущий пост о BlueSuite 2.5.0, поставлю дома вечером
Я его восстановил путём полной замены содержимого 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.
старый линк нерабочий.
Если внимательно читать даташит, то в нём написано, что чип поддерживает работу только с одним аналоговым микрофоном. А в моём проекте используется 2. Решение простое. Поскольку микрофонный вход дифференциальный, вешаем первый микрофон на неинвертирующий вход, а второй — на инвертирующий (оба — через конденсаторы). Через резисторы на каждый микрофон подаём питание от MIC_BIAS. Проверено — работает.
1. Обратите внимание на значок устройства в телефоне. В моём телефоне изначально устройство отображалось в виде наушников, при этом разговор шёл через микрофон и динамик телефона. После того, как задействовал микрофон, значок стал выглядеть в виде гарнитуры с микрофоном.
2. В Configuration Tool проверьте, какие профили включены. Configuration Set\Bluetooth\Profiles\HFP. У меня изначально был только HSP, включил HFP 1.6, сохранил настройки, перезагрузил (не помню, может быть повторно выполнил сопряжение), появился микрофон.
3. Для проверки достаточно позвонить на телефон, убедиться, что разговор пошёл на устройство и потыкать иголочкой контакты LineA+\MicA+ или LineA-\MicA-. В другом телефоне кратковременно появится гул/треск (потом сработает алгоритм фильтрации помех и гул пропадёт).
Я сейчас не помню, какое напряжение на этом выходе. В голове крутится цифра 2В. Можно замерить вольтметром во время звонка. От того, что он был замкнут на землю, наверное, генератору этого напряжения ничего не будет, а вот насчёт +3,7 В есть сомнения.
Для проверки исправности микрофона, можно подать питание с той же литиевой батарейки через резистор того же номинала.
Я брал микрофоны из проводных гарнитур. Из трёх один был совсем тихий, даже усиление через Universal Front End не особо помогало.
Ensure that the device is connected and enabled.»
И еще, возможно ли включить эхоподавление и предусиление вместе?
Более детально смогу проверить только завтра.
Та же проблема
Отредактировал ConfigSetDefinitions.xml
на
Все получилось.
Перейти на ГитХаб
В архиве и будет нужный файл!
2. .NET Framework ругается всегда, если не обнаружено какое-либо USB SPI устройство.
3. Да, это нормально. Пин SPI используется для выбора режима — цифровой вывод PCM или обращение к шине SPI. Шина SPI читается без прерывания работы устройства.
Короче все отлично )))
В данный момент подключился без балансного усилителя, на прямую наушники относильно земли положительный левый канал и положительный правый, работает, звук есть, но есть пиканья, в общем помехи, вангую что это из-за того что я без диф усилителя юзаю его
Благодарен все, автору, очень помог его победить, спасибо огромное за статью :)
Если будет использоваться выход на маломощную низкоомную нагрузку (обычные наушники), существуют компактные усилители (headphone amplifier) без выходных конденсаторов. Например, TPA6132A2.
Пример готового решения: ru.aliexpress.com/item/TPA6132/32839818437.html (я такое заказал и даже уже получил, но руки никак не дойдут соединить).
Випаял резистор R14 так как к нему идет дорожка от spi. Подпаял переменный резистор на 10Ком. К SPI контактам подпаял резисторы на 150ом. Есть идеи как побороть проблему? Может кто какой косяк заметит?
Чтобы заработало нужно на SPI_PCM и MFP подать логическую еденицу. Для этого есть контакт 1V8.
SPI_PCM собственно переводит чип в дебаг режим(собственно сам SPI), а MFP банально включает устройство.
на diyaudio_com пишут, что для CSR8645 семейства существует CSR86XX ConfigurationTool
www.dropbox.com/s/vtvg8g7qnk08pju/CSR86XX%20ConfigurationTool-3.0.70.zip?dl=0
P.S. не скачивал, не запускал
P.P.S. всегда перед изменениями снимай дамп
Недолго музыка играла (ц).
Сейчас сижу вливаю дамп, но что-то это длится подозрительно долго.
Предыстория
С год назад купил 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, консольные утилиты из того же самого пакета не заработали. Возможно наколеночная сборка влияет на частоту ошибок чтения, скорость обмена и т.д., к чему консольные приложения не приучены.
Всем добра,
и берегите глаза
Патч для v2 Configuration Tool, содержит в том числе новый ConfigSetDefinitions.xml с поддержкой [ROM,15]
Пишите, куда выложить
К сожалению, проверить не могу, один модуль уже запаял, второй, походу сжег по дороге
Я много полезного вычитал из документа BlueCore ADK Sink Configuration User Guide (находится по имени документа CS-306726-UGP3SinkConfigurationUserGuide.pdf)
P.S.: не дочитал, что в обзоре появилась ссылка. Спасибо!
ConfigSetDefinitions.xml подменил. Проверил опцию сохранения состояния PIO — работает. Больше особенностей или полезностей пока не обнаружил.
У меня с модулем случилась беда, что-то коротнуло в усилителе для наушников (построен на микросхеме и трёх конденсаторах). Теперь выключается, когда напряжение на аккумуляторе падает до 3,5 В. При этом в GAIA сообщается, что на аккумуляторе 2,2 В.
Подозрение на импульсный стабилизатор (SMPS). поскольку вместо 1,8 В выдает 2,7 В. Вероятно, дроссель на 4,7 мкГн. Остальные напряжения (3,3 В и 1,8 В) в норме.
В целом всё остальное работает нормально, в том числе при питании от шины USB.
Edifier'ы буду до лоу латенси апгрейживать. (+_+)
Где взять PSTools? Подозреваю что он находиться в составе какого-то пакета. Что можно почитать для работы с этим софтом?
Тоже хотел установить пин-код для подключения.
подаём (это только в моём случае, т.к. у меня в схеме используется инвертор; на голый модуль надо подавать высокий уровень на контакт MFB) низкий уровень сигнала на вход «EN» (замыкаем на землю)
что это за высокий и низкий уровень? если MFB еще имеется на модуле маем (BTM625/CSRA64215) то вот контакта EN там точно нет.
Подскажите нужно ли подать питание на модуль, чтобы он заработал и став виден на мобильном телефоне или нет. Всю схему собрал только вот в программе CSRA64 не отображается он. Не видит. Да и драйвера заменил все как в описании. Прошу помощи Спасибо
Подскажите пожалуйста Нужно ли включать модуль, то есть чтобы он стал видим через мобилу. VBAT я имею ввиду
Прочитав приобрел 2 версии модуля.
Один настраивается версией 1.0 второй 2.0.
Уже оснастил 2 муз.центра модулями.
В первом применил усилитель как у ТС, во втором TPA6132.
Всё отлично работает!
Единственное не хватает — возможности установки пин кода для подключения. (ИМХО)
P.S. После прочтения статьи остались некоторые вопросы, но в обсуждении нашлись все ответы.
С модулем ничего не делал лишнего, толлко подключил питание и аудио выход.
При поиске bluetooth устройств его нет. Led индикатор синий мигает медленно, а красный в четыре раза чаще.
Как его заставить работать? Что это за режим?
два часа разбирался что да как, но в итоге прошил и все работает