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

Добавляем поддержку 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
[email protected]:~$ 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 (по крайней мере я не нашёл)…
Прошу прощения за несколько сумбурный стиль изложения, но чукча не писатель, чукча — паятель. Если у кого-либо остались вопросы — милости прошу в комментарии…
Планирую купить +85 Добавить в избранное +164 +265
+
avatar
  • Art3000
  • 28 января 2018, 14:10
+5
Фундаментально!
Хотя балансные выходы можно было и через конденсаторы пустить, без усилителя, имхо конечно
+
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
У вас модуль тоже пиликает при включении/подключении и т.д.? В приложении от csr это не отключается?
+
avatar
+2
Там ОЧЕНЬ много настроек, можно отключить, можно даже голосовое оповещение сделать, но дефолтное поведение меня вполне устраивает.
+
avatar
+3
зачитаться можно, пишите еще!
+
avatar
+12
Для тех, у кого руки не такие «прямые» как у автора, есть готовое решение.



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

выше я просто уже не слышу в силу возраста.
+
avatar
  • Boing
  • 29 января 2018, 23:57
0
Комментарий ожидает проверки администрацией сайта. Подробнее...
+
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, с амазона он тоже пропал.

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

Его родственник https://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
+5
Автор вполне писатель, замечательное произведение!
Представляю, сколько времени было проведено в поисках решений встающих на пути к светлому будузвуку трудностей )
+
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
+16
Ни хрена не понял :(, но за обзор плюсанул с удовольствием
+
avatar
+1
Спасибо!
+
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
  • Boing
  • 30 января 2018, 00:01
0
Комментарий ожидает проверки администрацией сайта. Подробнее...
+
avatar
+3

есть такое решение
+
avatar
+1
Да есть множество разных решений, но по ряду причин они мне не подходили.
+
avatar
  • yurok
  • 28 января 2018, 18:06
+1
плюсик с меня!

если на плате прямые углы дорожек убрать — будет еще +10 к качеству звука :)
+
avatar
+8
Чтобы электроны в поворот проще входили и не вылетали с дорожек? В следующей версии платы обязательно сделаю :)))
+
avatar
+1
у правильных пацанов ыляктроны чотко, ровно летают
www.saturnpcb.com/assets/templates/web-images/transmitter-big.jpg
+
avatar
  • Boing
  • 30 января 2018, 00:02
0
Комментарий ожидает проверки администрацией сайта. Подробнее...
+
avatar
0
А если топором развести?
+
avatar
0
Автору +, очень познавательно! А теперь вопрос: подскажите или ткните носом на что то похожее, только наоборот передать звук с выхода для наушников телека в блютус наушники которые имеются в наличии.
+
avatar
0
Забейте в поиске на Али/Ebay/любимом онлайновом магазине «Bluetooth transmitter» и найдёте то, что Вас интересует! Да и здесь обзоры были, поищите.
+
avatar
0
Я так пробовал, выпадает список готовых устройств, а хотелось бы именно голый модуль как у автора и чтобы подешевле и звук был хороший, готов повозиться с паяльником.
+
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
+1
Адепт «мягкого лампового»? Без обид…
90% устроит.
+
avatar
+3
Уважаю!!! Однозначно +!!! Всегда с удовольствием просматриваю аналогичное. Сам был таким (радио«онанистом» меня называли). 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
Комментарий ожидает проверки администрацией сайта. Подробнее...
+
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
+3
Как сделать индикатор:
— вытравить инвертированную блютуз иконку нужного размера на куске текстолита(платы)
— наклеить на кругляш оргстекла эпоксидкой
— сошлифовать текстолит — останется оргстекло с медной иконкой блютуз (на просвет)
— посеребрить медь (гуглите рецепты)
— защитить покрытие (лаком или эпоксидкой)
— вклеить на место
— поместить сзади синий светодиод
ИНДИКАТОР ГОТОВ

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

— вырезать иконку лезвием или лазером на черной бумаге
— вклеить бумагу между кругляшей оргстекла
+
avatar
0
Ооо, супер, огромное спасибо за совет, попробую! Это как раз то, что нужно. Сам бы до варианта с текстолитом и не догадался! А нету ли у Вас фото примеров?
+
avatar
0
да не нужен и текстолит. можно напечатать на плёнке для лазерника, или для струйника, потом при необходимости подержать в парАх растворителя для уплотнения тонера и всё.
+
avatar
  • SEM
  • 29 января 2018, 12:43
+1
А не проще на стекло наклеить медную фольгу (отжечь от текстолита), потом травить?
И даже не стекло, а 1-2мм прозрачный пластик — проще будет потом выпиливать в нужный размер.
Тонировочную плёнку снаружи добавить, чтобы выключенный индикатор не было видно.
Тонировка, «стекло», медь, белый матовый рассеиватель, светодиод.
+
avatar
  • zogar
  • 28 января 2018, 20:02
+1
Вот готовое решение для попаруких за смешные $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
  • denM
  • 28 января 2018, 20:10
0
Радиус действия — 10м?
не было мыслей увеличить чувствительность приёмника использую направленную антенну?
ну чтобы по всей квартире или из двора гарантированно брало.
+
avatar
0
Ну из двора мне точно не нужно, а квартира у меня однушка, везде добивает! Да и не забывайте, что в телефонах обычно совсем малюсенькие антенны стоят.
+
avatar
  • denM
  • 28 января 2018, 21:47
0
это понятно.
я и говорил увеличить чувствительность приёмника, а не мощность передатчика.
+
avatar
+3
спасибо за прямые руки и отличный обзор.

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

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



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

+
avatar
0
А, кстати, поддельные фтди-шки битбангают тоже? Или нужно таки оригинал?
+
avatar
0
Автор проекта «csr-spi-ftdi» вот тут говорит, что работают не только поддельные, но ещё и поддельные забаненные FTDIшки.
+
avatar
+1
Обзорище! Есть что из идей позаимствовать)
+
avatar
0
А где купон?
+
avatar
  • CyJLTaH
  • 29 января 2018, 00:21
-1
Блин, на что только эти жадные россияне не пойдут, лишь бы не переплатить еще $10-15 (сарказм)
За прямые руки и голову на месте поставил бы с десяток плюсов.
+
avatar
+1
Камк раз сегодня на хабре вышла статья про bluetooth кодеки — m.geektimes.ru/company/pult/blog/297627/
+
avatar
0
Автор — хакер!
Супер!
Каким железом Вы снифали бт траф? Можно ссылку?
+
avatar
0
ну это как бы должен знать каждый хобиный желязячник — 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
0
номера выводов на микросхеме. Похоже, что только через доп усилитель можно сделать. А по ценнику с понижающим преобразователем выходит как уже готовое устройство.