Csr8645 схема подключения usb

Обновлено: 04.07.2024

Навеяно темой Улучшение звука Bluetooth на наушниках без aptX и LDAC. Решил создать параллельный способ решения проблемы, но со стороны наушников. Сразу скажу способ чуть менее тривиальный, требует некоторых технических навыков, внимательности и оборудования. Ссылки на софт и сопутствующий материал я приложу в конце статьи.

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

Так же общая рекомендация: старайтесь как можно меньше лапать чипы на плате наушников, особенно маленькую микросхему SPI FLASH памяти, которая очень боится статики как и любая память, по той же причине лучше предварительно облапать батарею дабы снять с себя заряд и не сидеть в синтетическом махровом халате, шерстяном свитере, а так же убрать подальше кошку.

Немного предистории.

Однажды я увидел недорогие блютуз наушники с неплохими характеристиками (20 часов прослушивания, блютуз 4.1 и неплохое звучание на мой не искушенный слух). Так я стал владельцем Sven B350MV, позже я их слегка разобрал ради интереса и посмотрел что там за чип, а так же бегло погуглил про него инфу, это был CSR8635, убедился что он поддерживает AAC, а не только стандартный SBC и успокоился. Еще позже я решил взять себе недорогие же блютуз затычки, и прослушал несколько вариантов за ту же цену взял наиболее понравившиеся по звуку Sven SEB-B265MV, к слову аккум у них очень дохлый, садится за 3-4 часа, заряжается за 5-10 минут(буквально). Далее чисто случайно на компьютере обнаружил что у меня обе пары наушников работают в SBC, хотя аппаратная поддержка ААС в чипе есть. Думал дело в компьютере, но распарсив дамп протокола блютуз во время handshake, когда устройства сообщает о себе инфу во время соединения и поддерживаемые протоколы, понял что наушники действительно умеют только SBC. Так и родилась идея поддержку AAC в них включить.

Итак, нам понадобится:

  • недорогой программатор на микросхеме FTDI FT232R/RL, подойдет китайский клон за 100руб
  • (опционально) преобразователь уровней, я использовал на микросхеме TXS0108E за 40руб
  • (опционально) резисторы (я использовал на 10кОм), если не используете преобразователь.
  • кастомный драйвер csr-spi-ftdi с гитхаба
  • официальный софт CSR (ныне квалком) для чипов
  • паяльник естественно
  • (опционально) немного МГТФ провода
  • (опционально) breadboard
  • и самое главное - НЕ спешить

Если вы увлекаетесь Arduino, то скорее всего все выше перечисленное у вас уже есть. В противном случае все можно заказать на Алике по ключевым словам FT232RL для программатора и TXS0108E для преобразователя уровней, либо в местных радио/ардуино магазинах, если не хотите ждать.

Что касается по драйверу, установка его заключается в подмене файла (библиотеки драйвера) в папке уже установленной программы BlueSuite (и других) и выглядит следующим образом:

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Все, можно запускать программы.

Далее железная часть.

Итак после чтения даташитов по CSR8635 (подозреваю и других) приятным сюрпризом было требование производителя распаивать и выводить пятки интерфейса SPI под дебаг/программатор и SVEN удивительно точно этому требованию следуют и даже подписывают назначение пинов, иначе я бы навряд ли решился на это, у меня совсем не руки хирурга. Так что наша задача тривиальна - подпаяться к этим площадкам:

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Прикрепленное изображение

Далее нам надо подключить это все к программатору и тут есть несколько нюансов.
Во-первых: дело в том что наш программатор работает с уровнями логики 5в и 3.3в (устанавливается перемычкой), а наш чип с 1.8в, для этого нам и нужен двусторонний преобразования уровней, однако в даташите заявлена толерантность к максимальному напряжению 3.6в, следовательно вы можете на свой страх и риск выставить 3.3в на FTDI и подключить все через 10кОм резисторы. Судя по ветке переписки на гитхабе у людей все получилось успешно здесь и здесь.

Во-вторых: если у вас контрафактный чип RS232RL (как у меня именно они стоят в дешевых модулях, оригинальный стоит -6), то там пин DSR подписан как RSD.

Прикрепленное изображение

Схема подключения выглядит следующим образом:

Здесь я добавлю схему подключения если вы используете преобразователь логических уровней как я и особенности подключения преобразователя на микросхеме TXS0108E (как у меня).

Итого: подключаем напряжение +3.3в или 5в (с преобразователем не принципиально) к LB. GND к соответственно GND на плате преобразователя и подключаете все остальные нужные выводы программатора со схемы выше к стороне B к пинам B1-B8 как удобно, я подключил по-порядку B1-B4 (cм. фото). Соответственно B1-Bx (H1-Hx) будут соответствовать выводам на другой стороне A1-Ax (L1-Lx). Пин OE подключаем к LA (у транзисторных его нет).

Прикрепленное изображение

Далее нам необходимо задать опорное напряжения для стороны A(L). Если у вас не выведено 1v8 на площадку платы наушников можно сделать его самому через простой резисторный делитель. Самый простой вариант как сделал я - это взял 3.3в с платы программатора (пин подписан) и через делитель из двух 10кОм резисторов получил 3.3/2 = 1.65в, это меньше нужных 1.8в, но есть некоторых диапазон напряжений, которых достаточно и это не большая допустимая погрешность, подробнее можно посмотреть в даташите по CSR.
Делитель для /2 сделать просто, это два последовательно соединенных резистора одинакового номинала, один из которых соединен с + другой с – (GND), в точке соединения резисторов будет половинное напряжение источника:

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

После того как разберетесь с опорным напряжением соедините соответствующие выводы стороны А(L) с пинами наушников, НО предварительно желательно проверить все неоднократно и замерить напряжения мультиметром. Ни в коем случае на контроллер наушников не должно приходить напряжение выше 3.6В иначе он сразу же сгорит.

После того как все подключили и 10 раз перепроверили можно подключать программатор к компьютеру. Если у вас 1.8 вольт взято с платы наушников, их стоит предварительно включить иначе контроллер не подаст напряжение. Далее можно запустить PSTool из комплекта BlueSuite.

Софтовая часть и прошивка
Внимание: прежде чем вносить любые модификации в прошивку НАСТОЯТЕЛЬНО рекомендую внимательно прочитать этот раздел до конца и выделенные области, особенно раздел по порядку прошивки иначе гарантировано окирпичите устройство.

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

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


1.JPG" />

Несколько лет назад я купил дочке систему 2.1, и в последнее время эти колонки стали все чаще использоваться в связке со смартфоном. Оно и понятно: там своя музычка, настроеные плэйлисты и вообще все удобно и под рукой. Но есть один огромный недостаток — смарт в таком случае всегда должен быть, что называется, «на привязи». В общем, уже давненько появилась идея сделать акустику беспроводной, и желательно не в ущерб качеству. Именно об этом и пойдет речь в моем обзоре.

Главный вопрос — как отвязать телефон от акустики — решается блютуз-приемником, это понятно. Дополнительные заморочки — это качество звука, передаваемого по синезубу, и автономность работы внешнего приемника.
Сначала я решил воспользоваться способом, который напрашивался сам собой: прицепить к звуку вот такой внешний ресивер и наслаждаться жизнью. На распродажах по копеечной цене был куплен аналогичный ресивер, но надежд он не оправдал. Во-первых, автономность работы: да, устройство работает без внешнего питания, но периодически его все-таки необходимо заряжать. Во-вторых, качество звука: сабвуфер практически незаметен, звук какой-то шипящий, что-ли… Выходит, единственный плюс в устройстве — это удобство его подключения. Воткнул, и забыл… Ну, пока аккумулятор не сядет.
Короче, незачёт.
После такого облома с внешним приемником решено было поискать что-то другое, с более качественным звучанием. В списке дополнительных пожеланий было также питание устройства не от батареек и возможность встраивания.
Кандидат был найден на муське, в обзоре от inko1973 — это bluetooth-модуль на достаточно старом, но хорошем чипе CSR8645.
Про «вкусности» чипа можно сказать следующее — это поддержка Bluetooth 4.0 и кодека aptX, есть возможность работы с USB и картами памяти. Более подробное описание на английском можно посмотреть здесь.
Итак, что я задумал сделать:
— закупиться мелкой электроникой;
— спаять из запчастей устройство, которое можно встроить внутрь сабвуфера;
— реализовать возможность выбора источника звука — кабель или блютуз.
Ну что, поехали!
Полный список того, что потребуется для реализации задуманного:
1. bluetooth-модуль CSR8645 — собственно сам герой обзора.
2. дифференциальный усилитель на SGM4812, который поможет нам преобразовать 4 выхода с модуля CSR8645 (L+, L-, R+, R-) в необходимые для акустики землю, левый и правый канал.
3. 2 небольших 5-вольтовых релюшки — они понадобятся для синхронного переключения 2 каналов и земли при выборе источника звука.
4. небольшой AC-DC преобразователь (5 вольт, 700мА), который позволит питать нашу поделку. 5 вольт необходимо для питания реле.
5. понижающий DC-DC преобразователь на LM2596, чтобы получить 3.3 вольта из 5 вольт после AC-DC преобразователя. Ссылки нет, т.к. модуль брался уже не помню когда и где, но я думаю что заинтересованным людям не составит труда найти нечто подобное.
6. прототип печатной платы 5х7 см, взятый откуда-то из старых запасов — пригодится для размещения всех компонентов. Найти такой тоже не проблема, ссылку снова не привожу.
7. кнопка для переключения источников звука, куплена в оффлайне за копейки.
8. пара резисторов на 10кОм и один конденсатор на 10мкФ.
9. провода, припой, канифоль, термоусадка — всего по чуть-чуть.
10. паяльник, отвертка, ровные руки и желание сделать мир лучше что-нибудь полезное.

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

Откручиваем все винты, снимаем заднюю панель и осматриваем начинку. Видно, что преобразователь переменного тока находится глубоко в недрах саба: куда-то туда уходит кабель от розетки, и оттуда на плату идет питание.
Напряжение питания платы — всего 1.9 вольт, а для моих целей этого явно не хватит. Напомню, блютуз-ресиверу требуется 3.3 вольта, а релюхам — 5 вольт (встречал в продаже еще 12-вольтовые).


Сделаю небольшое отступление и скажу несколько слов об этих реле с замечательным названием HUI KE HK19F-DC 5V-SHG. Их особенность заключается в том, что они имеют две коммутируемых группы контактов, управляемых одной парой пинов. Я взял пару таких релюшек, чтобы переключать три линии — землю, правый канал и левый канал.

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

Поскольку для проекта нужно 5 вольт и 3.3 вольта постоянного тока, а «в коробке» имеется только 220 вольт переменного тока и 1.9 постоянного, я подключил к штатному шнуру питания преобразователь переменного тока в постоянный (выходное напряжение 5 вольт используется для управления реле), а затем — понижающий преобразователь, для получения 3.3 вольт, необходимого ресиверу.
Собственно, вот эти две штучки и будут обеспечивать правильным питанием ресивер:

Но есть еще одна закавыка: на выходе ресивера мы получаем четыре линии, по две для каждого канала, а на вход звуковой системы нам необходимо подать всего три. Объединять L- и R- нельзя, но в принципе можно использовать одну из этих линий в качестве земли. Однако существует более правильный путь: взять небольшой дифусилитель на чипе SGM4812, запитать его от тех же 3.3 вольт что и ресивер, выход ресивера подать на вход усилителя, и получить в итоге необходимые землю, правый и левый каналы. Вот здесь подробно описаны варианты применения ресивера, и там же указан тот вариант, который я и применил.
Платы для преобразования звука были заказаны на просторах ибэя и алиэкспресса, ресивер пришел достаточно быстро (дней 15), усилитель добирался примерно на неделю дольше. Беглый осмотр плат:

Взглянем на них поближе:

Вот несколько фоток, демонстрирующих процесс сборки компонентов на одной плате:



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

На нормально замкнутые контакты я прицепил линии с дифусилителя, а чтобы можно было их переключать, высверлил отверстие в съемной задней стенке усилителя и поставил туда обычную кнопку, которая подает на релюшки 5 вольт.


Собственно, все! Готовую плату я прилепил термоклем на дно сабвуфера, закрутил крышку, и — готово!



Пробное подключение прошло успешно. Модуль обнаруживается как CSR8645, при тестовом прослушивании музыки со смарта HTC One S, поддерживающего технологию aptX, выяснилось, что качество звука по синезубу не отличается от звука, передаваемого на эту же систему с этого же смарта, но по проводу. Басы есть, шипения и треска нет, расстояние между смартом и ресивером было в пределах 5 метров. Подключал я и устройства без поддержки aptX — по крайней мере, никакого упоминания о поддержке оной в описании этих устройств не нашлось — это ноутбук с беспроводной карточкой Intel Dual Band Wireless-AC 7260 7260HMW и смарт UMI Hammer. В обоих случаях качество звука порадовало, каких-либо проблем с искажением звука и заметой потерей качества не выявлено.

Вот такой фотоотчет получился; я надеюсь, что кому-то он окажется полезен. Спасибо за внимание, а я ушел продумывать вторую версию своего поливатора. В планах — сделать его на нескольких платах Wemos, с блэкджеком расширенным планировщиком, журналом событий и управлением через веб. Получится или нет — посмотрим через месяц-полтора.


Думаю многие успели отхватить со скидкой Bluetooth передатчик ORICO BTA-403, поэтому пришло время рассказать о приёмнике с поддержкой этого самого aptX.
Данный модуль изначально приобретался, для замены модуля в автомагнитоле. Но заменить его не удалось. Деньги уже уплачены, поэтому нужно данный модуль утилизировать использовать как-то по другому.
Модуль собран на чипе CSR8645. Чип не самый крутой в линейке, но обладает весьма неплохими характеристиками.


Модуль реально крошечный 26*13 мм и практически невесомый, приехал без трека сразу в почтовый ящик, нашел в интернете картинку с распиновкой и наскорую руку сделал вот такую платку.
Это первый, тестовый образец, я торопился и допустил ошибку при подключении кнопок. (Они всё равно не заработали, кроме кнопки включения, поэтому в финальном варианте плата будет без кнопок).
Определяется устройство как F-3188, сопряжение без пароля, после выключения-включения автоматом не соединяется.
Шаг боковых контактов 1,1 мм, в принципе тонким паяльником можно подпаяться напрямую.
Усилитель имеет балансный выход и рассчитан на подключение наушников (на таком же чипе собраны например QCY QY7) и имеет 4 контакта R+ R- и L+ L- Это несколько усложняет подключение к усилителю, у которого часто три провода (китайцы решают эту проблему просто — R- и L- через конденсатор подключают к «земле». С этим модулем так не получится. При таком подключении появляется фон. Я подключил его к усилителю на pam8610, у него после некоторых манипуляций появляется балансный вход, поэтому в паре они будут играть на кухне )
Незначительное токопотребление позволяет запитать модуль от линейного стабилизатора 1117 на 3,3 вольта без каких-либо ухищрений.
В режиме ожидания сделать замеры потребления тока не удалось — настолько он незначителен
(один раз прибор показал 3 микроампера, в дальнейшем просто показывает 0).
Подключен
В режиме воспроизведения.

Тестирование качества звука проводил подключив модуль к аналоговому входу ресиверу Pioneer VSX-524-K и комплекту акустики Pioneer S-ES21TB.
Репертуар воспроизводился с usb, используя собственный ЦАП ресивера и через модуль со смартфона Galaxy S5.
По субъективным ощущениям через Bluetooth уменьшается количество высоких и низких частот, звук становится более плоским, но в целом остаётся довольно приятным.
Громкость на выходе при подключении к ресиверу маловата, приходится увеличивать.
Возможно её можно было бы добавить, но кнопки не работают.
При выключении звука или когда просто ставишь на паузу модуль выключается и появляется низкочастотный фон.
Немного снизить его удалось установив переменный резистор.
Радиус действия установить не удалось, но по квартире свободно перемещался с телефоном замираний звука и разрывов соединения не было.
В целом модуль мне понравился, звук несравним с более дешевыми модулями, из минусов — неработающие кнопки и отсутствие внятной документации.

Всем доброго времени суток и теплой погоды!
Так получилось, что забрал шлем из гаража домой, постирать внутрянку. Заодно перетряхнуть BT гарнитуру о которой сейчас и речь поведу я.
Итак, поехали. Девайс собран 2 года назад, проверен и испытан и вылечен вчера от одной неприятной болячки.

Я люблю слушать музыку. Еще я люблю путешествовать. С навигатором на руле — очень неудобно. Лишний раз отвлекаешься, не всегда видно на солнце…
Наушники в уши, сразу в /dev/null — Больно, не слышно окружающего мира. Ну и возни с ними много.
И как всегда на помощь пришли руки, паяло и конечно алиэкспресс.


Не буду далее растекаться мысью по древу, немного фоток с кратким описанием.


Итак имеет старичка Nolan N43 air. Кстати очень доволен им. Не шумный, и в нем комфортно даже в плюс 40 градусов (цельсия, а не то что вы подумали). См КДПВ
В него всё и поставим, благо он предназначен для установки гарнитуры, а значит не придётся пилить пенопласт под установку динамиков



Плата изготовлена методом лазерно-утюжной технологии, кстати бумагу для термопереноса покупал специально у тех же китайцев. Дорожки получаются вплоть до 0.2мм.
BT модуль на чипе csr8645, цена около 300 руб, поддержка APT-X (это передача музыки без потерь)
Плата залита защитным лаком Plastik 70
RGB светодиод отражает режимы работы (зарядка, поиск, передача данных) и умеренно, но внятно просвечивает сквозь шлем.


Установка комплектующих выполнена с помощью всем известных термосоплей
Наушники взяты от разломанных наушников Creative, неодим, все дела…
Да, для соплемёта я сделал регулятор из обычного тиристорного диммера для ламп накаливания.
Советую, особенно владельцам дешевых соплемётов. Перестаёт перегреваться и подтекать.


Так как BT модуля есть встроенный зарядник на 200мА, то обошелся без внешнего.

Аккум опять же у китайцев, Li-po на 720 mAh. Что дает больше суток непрерывной работы (до двух суток)
На практике — заряжаю раз в неделю. на всякий случай в кармане есть запасной аккум, и внешняя USB зарядка для аккума.
меняется за 5 минут


аккумулятор удачно влез между скорлупой и пенопластом. Даже фиксировать не пришлось. Опять же, он на разъёме, и отогнув обшивку шлема, его можно поменять.


Разъём микроUSB и кнопки надежно фиксируем термосоплями.
К слову, лично мне кнопки надо две
-Play/Pause/ответить на звонок
-Следующий трек


Тут немного про один недостаток который я всё-таки исправил. Да, это связано с синей изолентой.
Суть в том, что в сильный дождь, в кнопку попадала вода и кнопки начинали «подрабатывать»
Теперь с одной стороны термоклей, с другой изолента. Синяя.
Сразу скажу, заеду к винильщикам, возьму у них матового черного «карбона» вместо изоленты.
Кнопки ощущаются чётко и в перчатках нажимать удобно
Между разъёмом и кнопкой сбоку белеется ползунок питания. Опять же на ощупь в перчах включается и выключается.


Микрофон тоже взят от какой то китайской гарнитуры разломанной

Итого
-встроенного усилителя хватает для чёткой слышимости подсказок навигатора на скоростях до 150 км/час
-вполне комфортный разговор по телефону (в чипе встроены шумодав и цифровой фильтр)
-аккума хватает на нереально долгое время
-теперь не боится дождя от слова совсем
-любимая музыка всегда с собой и не перекрывается окружающий шум. И в отличном качестве
-голосовая навигация отрабатывает на все сто
-дёшево (300 модуль, 100-200 аккум, остальное можно скрафтить на ближайшей помойке. Впрочем, аккум тоже можно дернуть много откуда)
-и тд

Планы на будущее:
Уменьшить плату (сделано)


Потом зарядит сезон муссонов, хочу установить ARM контроллер, чтобы:
-Был интерком (самое важное и сложное)
-Ёмкостной «датчик головы», чтоб при снятом шлеме звонок не переводился в шлем, а то «шапка разговаривает»
-Возможно FM радио добавить (это вообще не проблема — радио-на-чипе размером с копеечную монетку)

Читайте также: