Вопрос

Можно ли использовать ПК в качестве ЭБУ для тестирования устройств CANBUS Sniffer?

Можно ли подключить CANBUS sniffer device к ПК (компьютеру) с помощью пар CAN-H и CAN-L и протестировать устройство для анализа сетевых пакетов?



Я хочу преобразовать свой ПК в ECU emulator, подключить пару кабелей CAN-H и CAN-L устройства CANBUS sniffer напрямую к COM port или Virtual COM over USB ПК и отправлять данные на устройство CANBUS sniffer с моего ПК, чтобы проверить, правильно ли оно работает.



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/28097/is-there-a-way-to-use-a-pc-as-an-ecu-for-testing-canbus-sniffer-devices

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

  1. К сожалению, вы не сможете сделать то, что хотите, просто подключив CAN-H и CAN-L к последовательному порту. Вот ссылка на уровень физического интерфейса для CANBUS.



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



    Вы обнаружите, что, хотя CAN и является «последовательной шиной», это означает лишь то, что данные передаются по одному биту за раз. Это не значит, что её можно подключить к последовательному порту. Последовательный порт на вашем ПК или на USB-адаптере для последовательного подключения требует входных уровней RS-232. Напряжение в CAN составляет примерно 2 или 3 вольта, а не от +3 до +15 или от -3 до -15, как требуется для RS-232. Кроме того, для последовательных портов требуются стартовый и стоповый биты, а также 8 бит данных между ними. В CAN-шине данные передаются совсем не так.



    Вам нужна оценочная плата для приемопередатчика CANBUS, которая, скорее всего, будет иметь выход для подключения к ПК через последовательный порт или USB.



    Чтобы было понятнее, приведу схему стандартной архитектуры таких систем:



    Стандартная архитектура шины CAN



    Ваш компьютер должен находиться на другом конце одного из этих соединений по шине CAN, а значит, для связи с ним потребуется встроенный контроллер CAN. Устройство, которое вы пытаетесь протестировать, должно иметь соответствующий стек внутри, и для связи с ним вам понадобится устройство, подключённое к вашему компьютеру. Всё это возможно, если найти оценочную плату для встроенного контроллера CAN с последовательным интерфейсом или интерфейсом USB.



    Надеюсь, это поможет!


  1. Похоже, что Kvaser kvaser.com поддерживает Windows и, как утверждается, работает в Linux, но с меньшим количеством документации. Варианты плат Arduino более ручные. Если есть конкретный аппаратно-программный стек, то это хорошо, мне интересно.
  1. итак, вы предлагаете купить arduino или raspberry pi и плату (платы), которые позволяют подключать OBD2 к чему-то вроде serial?
  1. Диагностический разъём в большинстве современных автомобилей имеет контакты для шины CAN и некоторых других распространённых шин. Если вы загуглите распиновку разъёма OBD-II, то увидите контакты для CAN. Существуют дочерние платы для многих популярных микроконтроллеров.
  1. Не могли бы вы предоставить ссылки и инструкции о том, какое оборудование нужно купить и какой программный стек использовать? Например, canable.io выглядит как подходящее устройство, но как его подключить к шине CAN? Вероятно, там тоже есть программный стек?
  1. Всегда вам рады.
Вы уже ответили на этот вопрос