Вопрос

Чтение CAN-сообщений через UART на плате OBD-II и в MATLAB Toolbox

Я хочу читать/записывать сообщения CAN. На моем ноутбуке установлен MATLAB с набором инструментов Vehicle Network Toolbox, который поддерживает чтение/запись сообщений CAN. У меня есть плата OBD-II — UART, FTDI и кабель OBD-ii. Пожалуйста, подскажите, как передавать данные с OBD-ii в MATLAB (набор инструментов Vehicle Network Toolbox). Поддерживается ли это?



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/8608/reading-can-messages-through-uart-to-obd-ii-board-and-matlab-toolbox

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

  1. CAN-шина на самом деле представляет собой довольно сложный протокол, во многом схожий с USB. Однако ваш адаптер OBD-II — FTDI, скорее всего, просто реализует часть протокола OBD-II, которая довольно проста (в конце концов, они преобразуют его в последовательный интерфейс).



    Для этого используйте встроенные в MATLAB инструменты последовательной связи (например, для передачи ASCII-данных через последовательный порт, такой как COM1).



    Они могли преобразовывать сообщения OBD-II в последовательный формат любым удобным способом, но метод, используемый семейством чипов ELM327, является наиболее распространённым. Спецификация доступна по ссылке (http://elmelectronics.com/DSheets/ELM327DS.pdf), обратите внимание на раздел «Команды OBD». Это очень простой интерфейс: вы запрашиваете PID, и устройство отвечает значением.


  1. @user3098378 Для этого вам понадобится более продвинутое оборудование. Протокол называется Unified Diagnostic Services. mathworks.com/products/vehicle-network/supported/…
  1. Я получил все основные данные, такие как скорость, число оборотов в минуту и т. д., с помощью общих команд PIDs/OBD. Я использовал гипертерминал на своём ноутбуке для просмотра полученных данных. Но теперь я хочу видеть сообщения CAN. Я узнал, что набор инструментов Vehicle Network Toolbox в MATLAB может считывать и записывать данные CAN. Поэтому я хочу узнать, как подключить MATLAB к плате UART для просмотра данных CAN в реальном времени.
  1. Произведено компанией Sparkfun. Я могу отправлять общие идентификаторы PID, которые можно просмотреть в гипертерминале на компьютере. Но теперь я хочу считывать сообщения CAN, которые будут регулярно отображаться в MATLAB с помощью инструментария Vehicle Network Toolbox. Я хочу узнать, как это настроить
  1. Какую плату OBD-II для UART вы используете?
Вы уже ответили на этот вопрос