Вход

Просмотр полной версии : Управление Alpine Ai-Net на ардуине, сделай сам ;)


YAM1966
13.09.2017, 15:46
Используется платка arduino-nano (https://duino.ru/arduino-nano-v30-ch340-usb.html) без каких либо доработок и навесных элементов.
48114
Внешний программатор не нужен, программирование средствами платы по USB с помощью ПО под windows.

Подключение:
Масса к GND
AINET+ к D6
AINET- к D7

Команды:
Команда должна иметь завершающий символ '\r' или '\n'.
Команды можно передавать несколько за один раз разделяя их знаком ';'.
Число символов в одной команде не более 32.
Число символов в строке содержащей несколько команд не более 250
Скорость обмена по USB или UART TTL 115200-8-N-1

Вывод пакетов шины:
lx, где x = 1 вывод принимаемых пакетов, 2 - вывод отправляемых пакетов, 3 - вывод принимаемых и отправляемых пакетов

Задержка между выполнением команд:
dx, где x необходимая задержка в mSec, 0...65535 mSec

Вывод версии ПО:
y, пример ответа: "YAM Ai-Net Version 1.02"

Инициализация DSP:
hx, где x = 0 перевод в слип, 1 включить DSP, 2 разрешить выбор пресетов, 3 отключить mute входов

Установка номера входа:
ix, где x от 0(выключен) 1,2,3 - аналоговые входы, 4,5,6 - цифровые входы

Установка пресетов:
px, где x от 1 до 6

Установка или изменение громкости:
vx, где x = '+' увеличение громкости, '-' уменьшение громкости, 0...35 - установка громкости

Установка баланса:
bx, где x = -15...15

Установка фэйдера:
fx, где x = -15...15

Изменение уровня саба:
sx, где x = -1 уменьшение или 1 увеличение уровня

Передача пакетов в шину:
taabbccdd...., где aa bb cc dd передаваемые данные в HEX виде, при числе данных меньше 10 дополняются нулями, CRC считается автоматически


События:

$UP инициализация DSP
$CHx выбран вход x = 0...6
$VF ошибка команды установки громкости
$RX[00112233445566778899AA] принятый пакет по шине
$TX[00112233445566778899AA] переданный пакет по шине


Прошивку писал не в оболочке Arduino а в компиляторе IAR, это мне ближе и роднее.
Информацию по пакетам и данным в них брал из темы (https://goo.gl/Gchdsn) уважаемого Nik1976.
Во всех найденных документах по протоколу есть одна неточность по интервалу между окончанием пакета и выдачей подтверждения.
Интервал не ~40uS после конца пакета, а 24uS после окончания последнего передаваемого бита или 48uS от его начала.
Процессор atmega328p имеет встроенный компаратор, поэтому никаких внешних элементов для работы не требуется.

Все что нужно для программирования: 48118
COM3 в файле prog_c.bat заменить на номер виртуального COM порта платы arduino-nano у Вас в системе.
Для программирования, просто подключить платку к компьютеру, поставить драйвера для CH340.
Посмотреть под каким номером он в системе, изменить номер компорта на свой в prog_c.bat и запустить prog_c.bat файл для программирования.

Для инициализации DSP, например H701, в любом терминале необходимо передать команду h1;h2;
Далее уже можно выбирать пресеты, входа, громкость и все остальное.

Работает как совместно с RUX, так и отдельно от него.
Работа проверялась на Alpine PXA-H701
48116
Отдельное спасибо Alex_St за предоставленный DSP и kostya740 за RUX.


Разъем для подключения шины можно купить например такой (https://ru.aliexpress.com/item/Alpine-Ai-Net-Aux-Input-Cable-Adapter-iPod-iPhone-MP3-3-5mm-Plug-Jack/32829152347.html) и поработать паяльником.
48117

В дальнейшем будет добавлена поддержка управления к моему контроллеру версии 4 (http://pccar.ru/showthread.php?t=20460) для управления громкостью и другими прелестями...

alexfox
13.09.2017, 17:40
В дальнейшем будет добавлена поддержка управления к моему контроллеру версии 4 (http://pccar.ru/showthread.php?t=20460) для управления громкостью и другими прелестями...

Круто!!!
Если будет работать связка:
iDrive <----> V4 <----> Apline PXA-H800 <----> RUX
то вообще супер!
Могу протестировать потом...

YAM1966
13.09.2017, 17:46
Круто!!!
Если будет работать связка:
iDrive <----> V4 <----> Apline PXA-H800 <----> RUX
то вообще супер!
Могу протестировать потом...
Да можно уже тестировать :) из терминала в винде или андроиде...

Alex_St
13.09.2017, 17:55
Я погонял данное изделие с 700м процессором.
Вся заявленная функциональность работает замечательно. Только чтобы переключать пресеты - необходимо заранее выполнить команду инициализации. Остальные команды работают и без нее.
Что понравилось - автор реализовал возможность слушать поток и записывать команды. Так можно соснифить и другие команды. Например, управление настройками процессора - задержки, и т.д.
А так же - выполнить любую неизвестную команду для проверки реакции проца.
Из нюансов - если девайс уже запущен на момент старта процессора - проц не включает рукс. Управлять процем можно тогда только по аинету. А если на момент старта процессора девайс не включен, а потом включить девайс - проц видит, что аинета нет, и включает рукс. После старта девайса - процем можно управлять и так и так.

YAM1966
13.09.2017, 18:07
Так как ардуина (https://duino.ru/arduino.html) секунд 5 после подачи питания находится в загрузчике, а DSP после подключения АСС уже через 1 сек опрашивает готовность, то практически всегда будет работать одновременно и RUX и управление по шине.

Alex_St
04.10.2017, 12:28
Поставил в машину процессор Alpine PXA H701, подключил его по шине AiNet к ардуине, а ардуину к простому контроллеру V4 с новой прошивкой от Юрия.
Все работает, уровень громкости на проце (и не только) теперь можно регулировать с руля. Я счастлив!!!

От процессора к ардуине достаточно провести 2 провода - AiNet+ и AiNet-. Я использовал обычную витую пару. Причем одна пара пошла на AiNet, один провод из второй пары - линия ACC для проца, и еще две пары осталось для других целей.
От ардуины к контроллеру V4 идут 4 провода - Tx, Rx, земля и +5В. Они удобно расположены рядышком на одном разъеме контроллера.
Вот и все подключение.
В GUI контроллера надо прописать реакции на кнопки во вкладке UART. Там нужно ввести нужные команды из первого сообщения этой темы. У меня это "v+" и "v-" (без кавычек). Ес-сно, стоит не забыть в нижней паннели программы выбрать какой UART использовать и задать правильную скорость 115200.

Замеченный нюанс:
Однажды процессор выключился. Оказалось, он просто перешел в режим сна. С паннели Rux его разбудить не удалось (а в будущем у меня ее и не будет, т.к. взял ее на попользоваться для настройки проца), поэтому пришлось на одну из кнопок временно прописать команду "h1;h3", которая разбудила проц и разрешила ему включить усилитель и активировать выходы. Если у кого-то процессор перестанет работать - скорее всего он просто устал и прилег поспать.


Юра, спасибо большое за разработку!

YAM1966
04.10.2017, 13:45
Можно добавить событие UART при получении "$UP" выдавать реакцию UART "h1;h3"...

denis239tp
27.05.2018, 09:00
Здравствуйте. Перечитал все возможные форумы по этой теме, но так и не нашел готового решения. Вот есть ардуина, есть прошивка, а как эту ардуину подключить к процу? Есть ссылка на китайский шнурок, а что с ним делать то? Куда его вставлять в ардуине? Кроме того, как я понял, ардуина к компу по usb подключается, программой терминалом можно команды отправлять. Но это же не удобно. Надо какую-то програмульку, которая в автозагрузке будет запускаться и включать проц, она же будет следить за системной громкостью компа, пересчитывать 100 градаций громкости компа в 36 процессора, и отправлять ему соответствующие команды. Как это реализовать можно? Друзья, помогите пожалуйста, кто понимает это! Я в этих хексах ничего не понимаю. Заранее спасибо!

YAM1966
27.05.2018, 10:30
А потратить 5 секунд своего времени на поиск распиновки в интернете - не?
https://a.d-cd.net/f4207bu-960.gif
http://i008.radikal.ru/1506/4b/e790253ecd49.jpg
AINET+ 3 контакт
AINET- 2 контакт

maksim
05.07.2018, 21:23
Юрий, подскажите, а для старичка PXA h600 подойдет это решение?

YAM1966
06.07.2018, 09:03
Юрий, подскажите, а для старичка PXA h600 подойдет это решение?

Не в курсе, проверялось только на 701-м

casper82
15.04.2021, 11:38
С 800 ни кто не пользует?
Чёт туплю, но проц подниматься не хочет

casper82
17.04.2021, 21:05
Проблему нашел, вопрос снят.
Также спасибо Юрию за терпение с вопросами , помощь в настройке контроллера и доработку прошивки ардуино

maksim
12.05.2023, 17:22
проверил с 600м процессором, тоже работает, инициализация, включение выключение, громкость, но переключение пресетов не работает с ним.
Но у 600го можно костылем приделать переключение активного входа.
Решение описано на форуме магнитолы.

kotya
12.05.2023, 23:44
С 800 ни кто не пользует?
Чёт туплю, но проц подниматься не хочет

Здравствуйте,и как Вы решили этот вопрос ?

dyno
06.11.2023, 11:06
Проблему нашел, вопрос снят.
Также спасибо Юрию за терпение с вопросами , помощь в настройке контроллера и доработку прошивки ардуино

Как решили?

maksim
27.11.2023, 00:25
Сергей, в чем проблема у вас? Опишите подробнее.

dyno
02.12.2023, 21:53
Хотел взять голый 800-й проц, но будет ли работать и цена вопроса...
Уже передумал.

casper82
04.12.2023, 21:36
Давно тут не был.
Уже несколько лет работает 800 голый с контроллером Юрия, при этом к нему подключена крутилка для регулировки громкости и беспроводной пульт для переключения арестов.
Спасибо Юрию

dyno
05.12.2023, 09:26
Спасибо. Но где и по чем сегодня ее брать...