Усилители Rockford Fosgate: протокол связи по цифровой шине / Rockford Fosgate amplifier: data communication protocol

Штатные магнитолы и головные устройства, навигационные системы, потолочные дисплеи, аудиоусилители, системы Rockford Fosgate...
Ответить
Сообщение
Автор
Аватара пользователя
megaaxel
Администратор
Сообщения: 1221
Зарегистрирован: 09 ноя 2016, 16:50
Имя: Алексей
Откуда: Ярославль
Автомобиль: Outlander XL 2012 2.4 Ultimate+++
Благодарил (а): 112 раз
Поблагодарили: 187 раз
Контактная информация:

Усилители Rockford Fosgate: протокол связи по цифровой шине / Rockford Fosgate amplifier: data communication protocol

#1 Сообщение megaaxel »

Протокол управления усилителей Rockford Fosgate по однопроводной цифровой шине UART

Физический уровень

Не очень стандартный протокол UART, однопроводная шина, полудуплексный режим.
Логический уровень в режиме покоя - высокий, напряжение соответствует уровню напряжения в бортовой сети (+12...14 В).
Тактовая частота - 14100 бод. Учитывая большие интервалы между посылками (2 мс между стартовыми битами), фактическая скорость 4000 бит/с.
Структура посылки 8-E-1 (8 бит данных, бит контроля четности, 1 стоп-бит). Фактически стоп-бит понятие растяжимое, т.к. интервал между посылками очень большой (длина посылки 0,7 мс, интервал между посылками 1,3 мс).
Младший бит данных в посылке идёт первым.

Конструктивно интерфейс передачи данных в устройствах реализован на транзисторах. Формирование (модулирование) сигнала происходит в центральном процессоре, поэтому речи о каких-либо стандартных интерфейсных решениях не идёт.

Посылка
Посылка
байт.png (2.97 КБ) 2882 просмотра
Интервал между посылками
Интервал между посылками
интервал между байтами.png (6.97 КБ) 2882 просмотра

После отправки команды мастер-устройством слейв-устройство примерно через 50 тактов (3,5 мс) обязательно даёт ответ. Если команда не предполагает передачу данных в ответ, то ответ только подтверждает правильный приём данных (81 7E) или ошибочный прием (85 7A).

Интервал между запросом и ответом
Интервал между запросом и ответом
интервал между запросом и ответом.png (12.73 КБ) 2882 просмотра


Структура команд

Все команды подчиняются общей структуре.

Далее все примеры приведены в шестнадцатеричном представлении данных, запись вида AB представляет бинарную последовательность 10101011.
Все поля кадра (команды) занимают по 4 или 8 бит, поэтому каждая буква шестнадцатеричного представления являет собой полноценное поле кадра или ровно половину поля.
Длина команды может быть разной, от 2 до 8 или более байт (см. примечание).

Структура команды:
ab cd ef ... nn

Описание полей:
a - адрес (имя) отправителя. Принимает значения: 2 - простая магнитола, 6 - MMCS, 8 - усилитель.
b - номер команды. Для ГУ: 1 - установка громкости, баланса и фейдера, 3 - установка тембров и режимов объемного звучания, 6 - звуковой сигнал (пик), 8 - запрос служебной информации, F - что-то типа дежурного пинга.
c, d, e, f, ... - поля данных. Полей данных может не быть (зависит от номера команды), тогда за байтом адреса и номера команды сразу следует байт контрольной суммы.
nn - байт контрольной суммы.


Расчет контрольной суммы

Считается так: 0xFF минус значение каждого полного байта команды минус количество байт данных. При переходе через 0x00 возвращаемся к 0xFF, т.к. байт один.
Например:
команда 61 05 0B 0B 00 7F - 1 байт адреса и номера команды, 4 байта данных, 1 байт контрольной суммы. CRC = 0xFF - 0x61 - 0x05 - 0x0B - 0x0B - 0x00 - 0x04 (4 байта данных) = 0x7F
команда 6F 90 - 1 байт адреса и номера команды, 1 байт контрольной суммы (данных нет). CRC = 0xFF - 0x6F = 0x90
команда 66 A6 F2 - 1 байт адреса и номера команды, 1 байт данных, 1 байт контрольной суммы. CRC = 0xFF - 0x66 - 0xA6 - 0x01 (1 байт данных) = 0xF2

Полный кадр команды
Полный кадр команды
команда.png (6.96 КБ) 2880 просмотров
[+] Версии о длине команд
Есть версия, что приём сообщения-ответа ведётся одновременно с подсчётом CRC, и как только счетчик набирает FF, сообщение считается завершённым.
На это намекает сообщение-ответ от усилителя: они все начинаются с 81, но могут иметь поля данных, а могут и не иметь, т.е. заранее длина ответа не известна.
Другая версия - раз уж запросили данные, то и ожидаем данные, а не просто "Ок".
Третья версия - завершение ответа определяется по тайм-ауту (от максимального интервала между посылками до минимального интервала между кадрами).
Первый закон ремонта: нельзя починить то, что не сломано.

Аватара пользователя
megaaxel
Администратор
Сообщения: 1221
Зарегистрирован: 09 ноя 2016, 16:50
Имя: Алексей
Откуда: Ярославль
Автомобиль: Outlander XL 2012 2.4 Ultimate+++
Благодарил (а): 112 раз
Поблагодарили: 187 раз
Контактная информация:

Усилители Rockford Fosgate: протокол управления по цифровой шине / Rockford Fosgate amplifier: control protocol

#2 Сообщение megaaxel »

Описание команд

Выделенное зелёным цветом относится только к 11-канальному усилителю.

Первый октет любой команды - адрес (имя) отправителя (2 - простая магнитола, 6 - MMCS, 8 - усилитель).
Далее во всех примерах команды от ГУ начинаются с 6, но по факту они могут начинаться 2.

Команды от ГУ к усилителю

6F 90 - что-то типа дежурного пинга.
Передаётся всегда 1 раз в секунду. От усилителя приходит отклик 81 7E - Ок.
6F - адрес и номер команды
90 - контрольная сумма


60 ab cd ef gh CC
Пока не понятно, но возможно, эта команда переводит усилитель в нормальный рабочий режим после процедуры инициализации при включении.
Пока начитана только одна последовательность: 60 84 07 03 60 AD.
Что означают поля данных, пока не ясно; возможно - версия ПО ГУ (схожий номер нигде в MMCS не найден).
До получения этой команды усилитель на все предыдущие команды отвечает откликом 83 7C, после получения отклик 81 7E.


61 ab cd ef gh CC - установка громкости, фейдера и баланса.
61 - адрес и номер команды
ab - уровень громкости (от 0x00 до 0x2D)
cd - установка фейдера (от 0x00 - зад, до 0x16 - перед; 0x0B - середина)
ef - установка баланса (от 0x00 - правый канал, до 0x16 - левый канал; 0x0B - середина)
gh - ?? (всегда 0x00)
CC - контрольная сумма

Например: 61 05 0B 0B 00 7F - громкость 5, фейдер по центру (11) баланс по центру (11)


63 ab cd ef gh CC - установка тембров, звукового поля и типа звучания.
63 - адрес и номер команды
a - НЧ (от 0x0 до 0xC)
b - ВЧ (от 0x0 до 0xC)
c - СЧ (от 0x0 до 0xC)
d - всегда 0
e - сабвуфер (от 0 до 5)
f - звуковое поле:
  0 - обычное,
  1 - сцена,
  2 - вживую,
  3 - концертный зал,
  4 - Dolby Pro Logic II (кинотеатр)
  5 - Dolby Pro Logic II (звучание)
g - тип звучания:
  0 - классика,
  1 - джаз,
  2 - поп-музыка,
  3 - рок,
  4 - хип-хоп
h - положение слушателей в режиме Dolby Pro Logic II (в режиме "стерео" значение всегда 0):
  0 - все
  1 - передние сидения
  2 - задние сидения
CC - контрольная сумма

Например: 63 66 60 50 00 82 - НЧ 6, ВЧ 6, СЧ 6, Саб 5, обычное поле, классика


64 ab cd CC - выбор источника звука.
64 - адрес и номер команды
Больше касается наверно самого ГУ, но, возможно, эта команда учитывается RSES, а возможно, усилитель подстраивается под тип источника.
ab - источник (режим аудио):
  0x00 - всё выключено,
  0x01 - радио,
  0x02 - CD (Audio или MP3 - без разницы),
  0x04 - AUX/RSES,
  0x06 - DVD,
  0x0B - муз. сервер,
  0x09 - тест динамиков (в сервисном меню)
  ! Остались недочитаны команды включения режимов USB/iPod, BT Audio, Sirius, а также громкой связи.
c - при переключении режимов принимает значение 8, в остальных случаях 0 (скажем, при переключении диапазонов радио)
d - при включении голосовых подсказок навигации принимает значение 1, в остальных случаях 0
CC - контрольная сумма

Например:
64 02 80 17 - выбрали источник CD-диск
64 00 80 19 - выключили аудио (кнопкой PWR)
64 01 00 98 - выбрали радио FM (до этого было радио MW)


65 ab cd ef CC - тест динамиков (доступно из сервисного меню).
Перед тестом усилитель переводится в соответствующий режим командой 64 09 00 00.
Звук, воспроизводимый динамиками, генерируется самим усилителем.
65 - адрес и номер команды
ab cd ef - тестируемый динамик, для 8-канального усилителя:
  F6 E0 01 - FTWL - левый твитер
  FA E0 01 - FTWR - правый твитер
  7E E0 01 - FL - передний левый
  BE E0 01 - FR - передний правый
  DE E0 03 - RL - задний левый
  EE E0 03 - RR - задний правый
  FC E0 04 - RW - сабвуфер
для 11-канального усилителя:
  F6 E0 01 - FTWL - левый твитер
  FA E0 01 - FTWR - правый твитер
  7E E0 01 - FL - передний левый
  BE E0 01 - FR - передний правый
  DE E0 01 - RL - задний левый
  EE E0 01 - RR - задний правый
  FC E0 04 - RW - сабвуфер
  FE C0 03 - C - центральный
  FE 60 03 - RGL - тыловой левый
  FE A0 03 - RGR - тыловой правый
CC - контрольная сумма

Тест выключается командой 64 00 00 99.


66 ab CC - команда подать звуковой сигнал (зуммер).
66 - адрес и номер команды
a - громкость сигнала (0x9 - уровень 1, 0xA - уровень 2, 0xB - уровень 3)
b - тон сигнала:
  0x1 - зуммер при нажатии кнопок, 
  0x2 - при попытке нажать неактивную экранную кнопку ("та-та-та"),
  0x6 - при достижении мин/макс значений регулировок громкости и баланса)
CC - контрольная сумма

Например:
66 B1 E7 - нажата экранная кнопка, громкость сигнала - "3"
66 A6 F2 - достигнуто мин/макс значение одной из регулировок, громкость сигнала - "2"


68 ab CC - запрос информации у усилителя.
68 - адрес и номер команды
ab - тип запрашиваемой информации:
  0x00 - запрос текущих настроек в усилителе громкости, баланса, фейдера, источника звука, 
  0x02 - пока не знаю,
  0x08 - запрос версии усилителя,
  0x0A - запрос состояния усилителя (?)
CC - контрольная сумма

В ответ усилитель выдаёт запрошенные данные (см. ниже).


6E 0F 81 - опрос чего-то?
Команда подаётся 3 раза в процессе инициализации после включения, только с 11-канальным усилителем.
Ответа не приходит. Т.е. возможно эта команда адресована не усилителю.



Ответы от усилителя к ГУ

81 7E - "Ок".
Отклик на любую команду, не требующую возвращать данные, при отсутствии ошибок, включая ответы на "пинги".


83 7C - отклик усилителя на первые команды после включения.
Возможно, означает режим инициализации, и после получения команды 60 начинает отвечать 81.


85 7A - вероятно, ответ на команду, которая не может быть принята (ошибка в полях данных).


81 ab cd ef ... CC - ответ на команду, требующую вернуть данные.
81 - адрес и номер команды
ab - тип запрошенной информации. Совпадает с типами в команде 68.
cd ef ... - данные
CC - контрольная сумма

Например:
81 00 6x 03 0F 09 04 F9
  81 - адрес и номер команды
  00 -  тип данных - текущие настройки в усилителе громкости, баланса, фейдера, источника звука
  6x - 60 для 8-канального усилителя, 61 - для 11-канального усилителя
  03 - громкость 3
  0F - фейдер 15
  09 - баланс 9
  04 - режим аудио AUX
  F2 - контрольная сумма

81 02 00 22 02 54 - ответ 11-канального усилителя в режиме "стерео"
81 02 00 22 12 44 - ответ 11-канального усилителя в режиме "Dolby Pro Logic II"
81 02 64 27 17 D6 - ответ 11-канального усилителя при воспроизведении DVD со звуком 5.1



81 08 00 09 08 61
  81 - адрес и номер команды
  08 - тип данных - версия усилителя
  00 09 08 - версия 00.09.08
  61 - контрольная сумма

81 0A 00 00 00 00 00 00 00 6C
  81 - адрес и номер команды
  08 - тип данных - состояние усилителя
  00 00 00 00 00 00 00 - видимо здесь описывается состояние усилителя (эта информация пока не изучена)
  61 - контрольная сумма
Первый закон ремонта: нельзя починить то, что не сломано.

Аватара пользователя
megaaxel
Администратор
Сообщения: 1221
Зарегистрирован: 09 ноя 2016, 16:50
Имя: Алексей
Откуда: Ярославль
Автомобиль: Outlander XL 2012 2.4 Ultimate+++
Благодарил (а): 112 раз
Поблагодарили: 187 раз
Контактная информация:

Усилители Rockford Fosgate: протокол управления по цифровой шине / Rockford Fosgate amplifier: control protocol

#3 Сообщение megaaxel »

Материал дополняется по мере изучения.
Первый закон ремонта: нельзя починить то, что не сломано.

Аватара пользователя
megaaxel
Администратор
Сообщения: 1221
Зарегистрирован: 09 ноя 2016, 16:50
Имя: Алексей
Откуда: Ярославль
Автомобиль: Outlander XL 2012 2.4 Ultimate+++
Благодарил (а): 112 раз
Поблагодарили: 187 раз
Контактная информация:

Усилители Rockford Fosgate: протокол управления по цифровой шине / Rockford Fosgate amplifier: control protocol

#4 Сообщение megaaxel »

reserved
Первый закон ремонта: нельзя починить то, что не сломано.

Аватара пользователя
megaaxel
Администратор
Сообщения: 1221
Зарегистрирован: 09 ноя 2016, 16:50
Имя: Алексей
Откуда: Ярославль
Автомобиль: Outlander XL 2012 2.4 Ultimate+++
Благодарил (а): 112 раз
Поблагодарили: 187 раз
Контактная информация:

Усилители Rockford Fosgate: протокол управления по цифровой шине / Rockford Fosgate amplifier: control protocol

#5 Сообщение megaaxel »

reserved
Первый закон ремонта: нельзя починить то, что не сломано.

Аватара пользователя
megaaxel
Администратор
Сообщения: 1221
Зарегистрирован: 09 ноя 2016, 16:50
Имя: Алексей
Откуда: Ярославль
Автомобиль: Outlander XL 2012 2.4 Ultimate+++
Благодарил (а): 112 раз
Поблагодарили: 187 раз
Контактная информация:

Усилители Rockford Fosgate: протокол управления по цифровой шине / Rockford Fosgate amplifier: control protocol

#6 Сообщение megaaxel »

reserved
Первый закон ремонта: нельзя починить то, что не сломано.

Аватара пользователя
megaaxel
Администратор
Сообщения: 1221
Зарегистрирован: 09 ноя 2016, 16:50
Имя: Алексей
Откуда: Ярославль
Автомобиль: Outlander XL 2012 2.4 Ultimate+++
Благодарил (а): 112 раз
Поблагодарили: 187 раз
Контактная информация:

Усилители Rockford Fosgate: протокол управления по цифровой шине / Rockford Fosgate amplifier: control protocol

#7 Сообщение megaaxel »

reserved
Первый закон ремонта: нельзя починить то, что не сломано.

Аватара пользователя
megaaxel
Администратор
Сообщения: 1221
Зарегистрирован: 09 ноя 2016, 16:50
Имя: Алексей
Откуда: Ярославль
Автомобиль: Outlander XL 2012 2.4 Ultimate+++
Благодарил (а): 112 раз
Поблагодарили: 187 раз
Контактная информация:

Усилители Rockford Fosgate: протокол управления по цифровой шине / Rockford Fosgate amplifier: control protocol

#8 Сообщение megaaxel »

reserved
Первый закон ремонта: нельзя починить то, что не сломано.

Ответить

Вернуться в «Штатное мультимедийное и навигационное оборудование»