Страница 5 из 17

Сделал эмулятор CD-CHGR, MD-CHGR, SAT RADIO на HU(USB, mp3, FLAC)

Добавлено: 29.04.2015 01:53
fb_sasha
НАЧАЛО:
Приветствую всех форумчан.
Расскажу, как я делал(делаю) себе эмулятор чейнжера CD для HU-605.
Т.к. езжу каждый день около 200 км, естественно радио слушать надоело, да и станций с рок музыкой у нас как-то не наблюдается.
Вопрос с покупкой готового эмулятора типа yatur’a отпал сразу по двум причинам:
1. После долгого блуждания по интернету в надежде найти описание протокола melbus(по нему HU общается с CD чейнжером(2-мя чейнжерами), TV, MD, встроенным CD приводом), наткнулся на
фото платы эмулятора от yatur, на котором стояла микросхема под названием AU78xxx. Валяется у меня ранее купленная USB-SD-AUX китайская магнитола за 70 у.е., в которой стоит такой же контроллер с отличием
в пару последних цифр в названии. Магнитола настолько тупая, и с таким звуком, что после 10 минут пользования ее хочется выдрать и прямо на ходу выкинуть в окно(владельцы yatur без обид, это мое личное мнение).
2. Все, что можно сделать самому, сначала пробую сделать сам.

Описания протокола melbus найти не удалось, поэтому при помощи логического анализатора, встроенного CD привода и ковыряния готовой прошивки для aux(исходников нигде тоже не нашел), удалось немного разобраться с этим протоколом.
Сначала сделал просто активатор CD-CHGR(AUX). Фото нет, был сделан на ATmega8 размером где-то 1х1.5 см. Поездил с телефоном пару дней, не понравилось, не удобно на ходу переключать треки, а тем более папки, а если еще нужно ответить на звонок, то нужно отключить провод, затем обратно его как-то воткнуть одной рукой.
Т.к. я немного радиолюбитель, решил собрать нормальный эмулятор с USB, тем более протокол обмена уже был разобран и вычислены команды от HU.
Первое устройство было сделано на контроллере STM32F407(чтение и декодирование mp3 с флешки и вывод звука на внешний ЦАП). ЦАП выпаял из неиспользуемого давно DVD домашнего кинотеатра. Сам эмулятор CD-CHGR на контроллере ATmega32. На магнитоле серии HU можно прикинуться также MD-CHGR(показывает 4 диска и 99 треков), CD-CHGR - 10 дисков и 99 треков(можно сделать и больше, но отображаться на экране
например 12-й диск будет как 02, т.е. заново по кругу).
Плату изготавливал по методу ЛУТ.
Вытравленная плата, одна сторона:
Изображение
Вытравленная плата, вторая сторона:
Изображение
Для сравнения:
Изображение
Запаянная плата:
Изображение
Изображение
Подключил к магнитоле:
Изображение
Изображение

Поездил ровно две недели не вынимая устройства из машины. Звук отличный(мнения всех, кто слушал и мое тоже). На этом этапе игрались только mp3, при выключении питания устройство входило в режим сна, текущий
трек ставился на паузу. Глюков за 2 недели каждодневного использования не наблюдалось. При подключении флешки на 10 папок по 30-50 треков на загрузку всего списка требовалось менее секунды. Управлялось конечно же все с магнитолы.
Сейчас устройство благополучно разобрано и собирается вторая версия эмулятора. Пришлось добавить 128 кб RAM для FLAC и пару мелких микросхем.

Планируется:
1. USB и SD карта одновременно, т.е. не вынимая флешку, можно послушать карту и наоборот. Магнитола будет видеть два раздельных CD-CHRG(надпись на экране одна). Уже проверял - работает.
2. Random всей флешки или карты.
3. Возможность воспроизведения FLAC. Пока что реализовано 16bit/44.1-48 kHz(качество CD диска). Если будет желание, попробую сделать до 24bit/192kHz(ЦАП позволяет). Т.о. получится полноценный эмулятор
CD c качеством звука CD.
4. В режиме TV хочу попробовать подключить телефон, т.е. на магнитоле переключаться на TV и принимать и совершать звонки. У меня на передних стойках висят два микрофона и из подголовника торчит оборванный провод от наушника. Авто мне досталось с установленым handsfree от nokia, но наушник был оборван и не было самой базы для телефона. Пока телефон будет подключаться через штатный разъем гарнитуры к эмулятору, он в свою очередь при переключении на TV будет выводить звук с телефона на штатную акустику авто. Еще не знаю, получится что-нибудь или нет, но надо попробовать, возможно звонящий будет слышать свое же эхо, тогда нужно будет приделывать наушник в подголовник и выводить звук туда.
Фото платы № 2:
Изображение
Изображение
Изображение
Изображение
---------------------------------------------------------------------------------------------------------------------------------------------------------------

КОНЕЦ:

ПАРАМЕТРЫ:
Напряжение питания: 6-18V
ESD защита до 5кВ, защита от перегрузки по току и отключение при перегреве

Потребление тока:
- максимальное - 80mA
- номинальное - 60mA
- после выключения зажигания - 6mA

Диапазон воспроизводимых частот:
20 - 20000 Гц

Поддтерживаемые форматы аудио для USB:
- FLAC 16/44100
- MP3 до 320кбит/с

Bluetooth:
- используемые модули: qualcomm QCC5125 или QCC3031 с цифровым выходом на внешний аудио ЦАП
- поддержка кодеков AAC, APTX, APTX-HD (24/48000), APTX Adaptive, MP3 для аудио
- громкая связь с активным подавлением эха
- поддержка HD Voice (50 - 7000 Гц, 16kHz) для громкой связи
- вывод аудио тегов (название трека, имя исполнителя) и имени(или номера телефона, если имя на русском языке) при входящем звонке на экран магнитолы (пока только для HU650/850)

Аудио ЦАП: PCM5102

Смена/обновление прошивок с флешки.

КРАТКОЕ ОПИСАНИЕ:
Эмулятор добавляет в меню HU два "внешних" CD чейнджера по 10 дисков 99 треков. Один используется для прослушивания с usb флешки FLAC файлов, второй для MP3. Если флешка не подключена, воспроизводится звук с блютуз.

В HU650/850 добавляется режим SAT radio (в HU60x/ HU80x - MD-CHG). Используется отдельно для работы с блютуз, может показывать аудио теги на экране магнитолы и номер или имя при входящих звонках, при исходящих индикация состояния звонка: "Outgoing...", "Call aktive", "Call end".

Громкая связь работает во всех режимах эмулятора, при прослушивании с usb при использовании громкой связи звук переключается на блютуз, после завершения звонка обратно переключается на usb.

**В MD-CHG показ текста на экране пока не реализован. Может быть позже сделаю, да и неудобно им пользоваться там, при нажании любой кнопки он сбрасывается на "MD1 TRK1".

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

Скорее всего это уже последний вариант, будут только пару обновлений прошивок

Немного фото:
20241224_171209.jpg
20241224_171240.jpg
20250429_114203.jpg
20250429_114219.jpg
20250429_114853.jpg
20250425_211223.jpg
20250425_211232.jpg
20250507_172301.jpg
20250429_144957.jpg
20250429_145036.jpg
20250510_161058.jpg

PS: Хотел поместить тексты под спойлеры, но похоже они не работают

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 05.05.2016 19:08
fb_sasha
Viktor80 писал(а): Перешивали?
Да

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 05.05.2016 23:07
KenilElk
fb_sasha писал(а):
Чехи перешивали знакогенератор на инструментальной панели и в HU чтоб вывести несколько своих пропущенных диакритик с интегрированного телефона Вольво. Вероятно, и перевод системных сообщений в прлшивке на чешский тож делали. Я был вынужден использовать opensource утилиту перевода кириллицы тегов mp3 в транслит когда IMIV пользовал с iPod Classic.
Бандероль c BT ушла к вам, через недельку наверное придет. Трекинг в личке.

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 06.05.2016 00:32
fb_sasha
KenilElk писал(а): Бандероль c BT ушла к вам, через недельку наверное придет. Трекинг в личке.
Спасибо, Дмитрий! Уже посмотрел.
KenilElk писал(а): Я был вынужден использовать opensource утилиту перевода кириллицы тегов
С флешки я получаю теги в 866 кодировке - можно программно сразу переводить в транслит для HU. Через блютуз вроде бы в utf-8, а вот в однобайтном или двухбайтном - не посмотрел. А может вообще проблема в терминале, через который тестировал. Попробую в других.

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 07.05.2016 00:14
fb_sasha
fb_sasha писал(а): Через блютуз вроде бы в utf-8
Перепроверил. Iphone выдает русский текст телефонной книги и тегов mp3 в чистом двухбайтном utf-8.
Андроид выдает русские теги mp3 тоже в нормальном двухбайтном utf-8, телефонную книгу - в utf-8 с какими-то "фокусами". Нужно разбираться

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 22.05.2016 23:44
repa4ok
fb_sasha, приветствую!
пытаюсь разобраться как работать с этим шайтан-протоколом, но что-то пока туго...
то ли в clock не помещаюсь, то ли еще че, не понять. при эмуляции MD-C выводит инфу о треке и о режиме (RANDOM/SCAN), но иногда прыгает номер трека/диска либо режим =\
как "changer" использую ардуино уно.
не могли бы вы поделиться наработками или же натолкнуть на путь истинный? :declare:
спасибо.

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 24.05.2016 23:06
fb_sasha
repa4ok писал(а): то ли в clock не помещаюсь, то ли еще че, не понять
Насколько я помню, на atmega прием-передача битов реализована на прерываниях, а байта по таймеру. Если используете всякие ардуиновские примочки, то попробуйте сделать в приеме-передаче битов установку-сброс пинов максимально простым кодом и перепроверьте настройку таймера на прием байта. У меня где-то должны быть какие-то старые файлы для atmega, как найду, отправлю Вам в лс.

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 24.05.2016 23:28
repa4ok
fb_sasha писал(а):
repa4ok писал(а): то ли в clock не помещаюсь, то ли еще че, не понять
Насколько я помню, на atmega прием-передача битов реализована на прерываниях, а байта по таймеру. Если используете всякие ардуиновские примочки, то попробуйте сделать в приеме-передаче битов установку-сброс пинов максимально простым кодом и перепроверьте настройку таймера на прием байта. У меня где-то должны быть какие-то старые файлы для atmega, как найду, отправлю Вам в лс.
благодарю за ответ.
хм. по таймеру? я видел реализации только с прерыванием на clock. с такой реализацией передает только команды на 1 байт, track info передавать не хочет - падение clock'а не происходит после передачи 8 бит :(
что подразумается под "передавать по таймеру"?
буду благодарен за код на любом языке, адруино/си/псевдокод - не важно, разгребу :)
спасибо!

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 25.05.2016 10:11
fb_sasha
repa4ok писал(а): видел реализации только с прерыванием на clock.
repa4ok писал(а): что подразумается под "передавать по таймеру"?
Честно говоря, мог и ошибиться, но для чего-то там используется таймер. Просто у меня совсем другая реализация приема-передачи(практически полностью аппаратная)

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 31.05.2016 16:21
Viktor80
атмегой получяется почти без ошибок читать/отвечать по прерыванию от клока если отложить все "дела" пока бизи низкий используя "простой код" аля PORTD |= (1<<MELBUS_DATA)

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 31.05.2016 19:17
repa4ok
Viktor80, с покупкой логического анализатора стало намного проще :) действительно, иногда атмега не попадает в клок непонятно из-за чего, но если на "busy-high" сбросить счетчики битов сбросить - все работает.
fb_sasha, к сожалению не могу писать личные сообщения, пока что недоступно :( мыло - rmix1 на i.ua . разобрал MDC/CDC/TV. DAB и текст в MDC пока не удалось. если накопали чего интересного - буду благодарен за инфу. хочу подключить даб-радейку на RTL2832U, было бы круто использовать штатный интерфейс управления.

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 31.05.2016 22:36
fb_sasha
Viktor80 писал(а): "простой код" аля PORTD |= (1<<MELBUS_DATA)
Именно это я и имел ввиду под максимально "простым кодом"
repa4ok писал(а): если накопали чего интересного
Было бы больше времени. На выходных нашлось пару часов, поковырялся в SAT:
почти полностью получилось разобрать "sat info":
Изображение
Изображение
Изображение
Изображение
Изображение

а эти два фото - одно сообщение:
Изображение
Изображение

Были еще сообщения, но что-то я их не сфоткал.
Каналов реально много, больше двухсот, дальше пока не смотрел
Хотелось бы понять, как выводиться имя канала и другой текст?

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 31.05.2016 23:15
repa4ok
fb_sasha, увы, мне SAT даже активировать не удалось. у меня HU-401, может тут его нету, кто знает.

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 01.06.2016 23:11
fb_sasha
repa4ok писал(а): у меня HU-401, может тут его нету
В 401 нету. В 613 что у меня на фото его тоже не должно быть. По-моему это какая-то смесь 613 и 650, еще не разбирался(взял за 10 уе для экспериментов)

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 30.06.2016 15:36
RU-BY
а как бы прикупить ваше устройство? для 850?))

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 30.06.2016 23:24
fb_sasha
RU-BY, сейчас на пару недель еду в Киев, вернусь, тогда обсудим, если у Вас останется интерес.

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

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 02.08.2016 22:03
repa4ok
вкорячил себе таки RPi 3 с самописным GUI к штатной магнитоле посредством эмуляции CDC :)
fb_sasha, спасибо за код! хорошая реализация, в интернете не встречал)
наспех снятое видео, простите за фокус :oops:
phpBB [video]

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 05.10.2016 22:46
fb_sasha
Месяца полтора назад еще немного поковырял sat канал. С текстом пока что глухо.
При активации канала sat, появляются настройки sat, удалось записать туда по мельбусу SAT ID. Например:
Изображение
Записывал туда и что-то вроде 888539SIRIUS - ничего не меняет.
Подозреваю, что другой текст выводится через это же сообщение(там их штук 10 одинаковых), но чего-то все равно не хватает. Разобрался с ошибкой: появляется как раз таки из-за текста, который не удается правильно послать и разобрался, как можно отключить эти сообщения, тогда ошибка пропадает, и на экране постоянно горит что-то вроде NO NAME CH 112(либо NO ARTIST NAME, NO ALBUM TITLE). Можно вывести только номер канала(1-255) тоже без ошибки. Каналы переключаются и заносятся в память. Если раскопать текст, для HU 650-850 был бы идеальный вариант - никаких ограничений типа 10 папок 99 файлов.
Viktor80 писал(а): В sat моде промеж ошибок промелькнул на экране мой текст, но что-то там не сростается, одним разом все и ограничилось
Viktor80, не подскажете, куда Вы его пихали? Точнее в какое из сообщений?

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 28.10.2016 21:25
Viktor80
по все видимости в какой-то из пакетов C3 1F 7C 00, 01 или 02. они там самые длинные.
есть подозрение, что HU заглядывает в них только, если привильно собраны "вспомогательные" пакетики, что рядом бегут.
к сожалению, код не сохранился и точно сказать не могу. дело ограничилось вылизывание кода для cd-chgr, довешиванием oled дисплея для красоты (потом выкинул) и налаживанием дружбы кнопок HU с телефоном для листания аудиокнижки. ну и гальванические развязки по питанию и компорту.

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 23.03.2017 23:02
nenko_stefanov
Привет,
Я прочитал всю тему большого интереса.
Я также начал проект, похожий на твой, но довольно скромный, и на основе Arduino Nano.
Я использовал информацию из этих сайтов:
http://volvo.wot.lv/wiki/doku.php?id=melbus#апендикс
https://gist.github.com/klalle/1ae1bfec ... 492180565е
Я мог бы эмулировать CD-чейнджер или MD-чейнджером. Одно устройство не может эмулировать два чейнджера.
Мне удалось эмулировать телевизор и DAB, но не знаете, какие ответы они ожидают, и написал свою ошибку. как CD и MD ждут cartrige и track info...
У меня есть идея, я использую Bluetooth и ЮСБ музыку с флэш-диска и, возможно, принимать звонки ...
https://www.aliexpress.com/snapshot/0.h ... 2684214245
Я буду делать все, модули связаны между собой.

Мне нужна информация о том, как показать простой текст на экране не видно «CD01 TRK01». Я понял, что я могу показать текст в режиме MD.

заранее спасибо
Я извиняюсь за Google Translate,
Ненко Стефанов
Варна, Болгария

Делаю себе эмулятор CD-CHGR на HU-605(USB, SD, mp3, FLAC)

Добавлено: 24.03.2017 23:26
fb_sasha
nenko_stefanov писал(а): Одно устройство не может эмулировать два чейнджера
Одно устройство может эмулировать два раздельных CD-CHGR, MD-CHGR, TV, DAB, SAT одновременно. У меня еще эмулируется канал навигации, это когда на левый передний динамик можно выводить голосовые сообщения (у меня через блютуз туда выводится телефон на громкой связи), причем этот канал работает и на выключенной магнитоле.
nenko_stefanov писал(а): я использую Bluetooth и ЮСБ музыку с флэш-диска и, возможно, принимать звонки
Я пробовал уже Bluetooth, даже ALAC через него звучит заметно хуже, чем с USB напрямую через ЦАП, поэтому Bluetooth использую только для звонков и не более.
nenko_stefanov писал(а): Мне удалось эмулировать телевизор и DAB, но не знаете, какие ответы они ожидают, и написал свою ошибку. как CD и MD ждут cartrige и track info...
TV - знаю, с DAB толком не разбирался. По TV, cartrige info и track info могу подсказать, но чуть позже.