Управление Alpine Ai-Net (Alpine PXA-H701/H800/H900) на ардуине, сделай сам ;)

Опубліковано: 22 грудня 2017р. 16:32
Я їжджу на Chevrolet Bolt EV, Toyota Fortuner (1G)
Одеса, Україна

Используется платка arduino-nano без каких либо доработок и навесных элементов.

Внешний программатор не нужен, программирование средствами платы по 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.05"

Инициализация 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 — установка громкости

Установка предделителя громкости:
ax, где x = 1…200, по умолчанию = 1

Команда MUTE:
m

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

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

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

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

Набор команд выполняемый при включении платы (сохраняется в энергонезависимую память):
eA#B#C#…, где A, B, C нужные команды, # разделитель команд
Например для активации DSP после подачи питания:
ed5000#h1#h2#h3
d5000 — выполняется задержка 5 секунд (см. соответствующую команду выше)
h1, h2, h3 — включить DSP, разрешить выбор пресетов, отключить mute входов (см. соответствующую команду выше)
e? вывести сохраненный набор команд:
$Ed5000#h1#h2#h3
Аналогично в строку можно включить все выше перечисленные команды установки нужного пресета, входа, громкости…

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

Прошивку писал не в оболочке Arduino а в компиляторе IAR, это мне ближе и роднее.
Во всех найденных документах по протоколу есть одна неточность по интервалу между окончанием пакета и выдачей подтверждения.
Интервал не ~40uS после конца пакета, а 24uS после окончания последнего передаваемого бита или 48uS от его начала.
Процессор atmega328p имеет встроенный компаратор, поэтому никаких внешних элементов для работы не требуется.

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

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

Для H800 для включения необходимо подать АСС(REM) в разъем AINET.

Работает как совместно с RUX, так и отдельно от него.
Работа проверялась на Alpine PXA-H701

Разъем для подключения шины можно купить например такой и поработать паяльником.

В контроллере версии 4 уже добавлена поддержка управления всеми параметрами через эту платку…
Т.е. возможна такая связка для управления:
iDrive <> контроллер V4 <> Alpine PXA-H701 <> RUX или без RUX

Подключение к контроллеру версии 4:
на нижней вкладке UART выбрать ножки для подключения X4 или X6
подключить X4/4 (или X6/4) к ножке GND на плате arduino nano
подключить X4/2 (или X6/2) к ножке D1
подключить X4/3 (или X6/3) к ножке D0
Для корректной работы с контролером с платы Arduino-Nano необходимо выпаять светодиоды RX/TX или их резисторы.

Программирование:
установить параметры обмена 115200-8-N-1.
в реакции UART указывать необходимую команду, например увеличение громкости v+.
Так-же можно эти команды автоматически повторять при удержании кнопок управления согласно параметрам авто-повтора.

AINET+ 3 контакт
AINET- 2 контакт

0 0

Коментарі

Щоб залишати коментарі, потрібно авторизуватись.