Вопрос

Определение последовательного протокола в Honda Odyssey 2007

Я пытаюсь выяснить, какой последовательный протокол используется в Honda Odyssey 2007 года для связи между DVD-приводом RES (задней развлекательной системы) и основным аудиовыходом.
Я был уверен, что это GA-NET (IEBus), но, не сумев использовать устройство для декодирования этой шины, я подключил осциллограф и с удивлением обнаружил, что провода не дифференциальные, а скорее RX/TX.



Вот как они разговаривают:



Обмен

А это крупный план того, что, как мне кажется, похоже на реакцию Keep Alive с DVD.



Крупным планом



Я был очень удивлён, когда увидел это. Скорость передачи данных, похоже, составляет от 1200 до 4800 бод, если моё предположение верно — этот крупный план выглядит как 3–4 байта (если это вообще 8-битный обмен данными). Или, может быть, это LIN и размер пакетов составляет 11 и 29 бит? Я в замешательстве, буду признателен за помощь.



Заранее большое спасибо!



Извините за разметку — я совершенно не могу с ней разобраться. Когда читаешь справку, всё кажется очень простым, но когда пытаешься это использовать, ничего не получается.



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/26171/identify-serial-protocol-in-honda-odyssey-2007

7 Комментариев

  1. Это инвертированный UART со скоростью 8e1 9600 бит/с. На втором графике показан пакет из 6 байт.


  1. Вы можете сами ответить на этот вопрос. :-) С наилучшими пожеланиями, добро пожаловать на сайт.
  1. Во всех известных мне протоколах есть какая-то начальная последовательность, какой-то идентификатор, часть с данными и, как правило, контрольная сумма CRC. Я ДУМАЮ, что, например, в LIN сначала идёт «разрыв» с одними нулями, а затем синхронизация с 101010101010, и, поскольку я не вижу ничего похожего на эту синхронизацию, я бы не стал утверждать, что это LIN. Сначала попытайтесь определить закономерность в том, где начинается и заканчивается сообщение. Возможно, вы сможете просто игнорировать внешний вид сообщений, но при этом определять, что сообщение, похожее на это, является сообщением play_next_key_pressed и т. д. Кстати, забавный проект!
  1. Ну, это вряд ли будет ASCII. Честно говоря, было бы сложно сказать, не зная заранее, что это такое, возможно, это нестандартный протокол. Вы можете записать несколько последовательностей и посмотреть, есть ли в них начальный байт, байт (ы) длины или байт (ы) CRC в конце.
  1. Ничего удобочитаемого не выводится. Я проводил тесты как с неинвертированным (забыл инвертировать) сигналом, так и с инвертированным (очевидно, что это правильно) сигналом на всех возможных скоростях передачи данных, включая нестандартные, такие как 3000, 3600 и 6000. Это говорит мне (возможно, я ошибаюсь), что обмен данными происходит в виде потока байтов (если это вообще обычный UART), а не в виде потока ASCII. Или это на японском :-)
  1. Вообще-то нет :-) Но я, пожалуй, так и сделаю.
  1. Вы пробовали обычный садовый UART? 1200, 2400, 4800 — это все стандартные скорости передачи данных UART?
Вы уже ответили на этот вопрос