Могу ли я подключить узел CAN со скоростью 250 кбит/с к шине CAN со скоростью 500 кбит/с?

Я пытаюсь подключить автоматическую коробку передач автомобиля, использующую шину CAN на скорости 250 кбит/с, к автомобилю со скоростью шины 500 кбит/с.

  1. Можно ли иметь на CAN-шине узлы с разной скоростью?

  2. Если невозможно иметь разные скорости, есть ли способ выполнить то, что я хочу сделать? Во всяком случае, отправная точка была бы отличной.

1) Нет. 2) Маловероятно.
Ну, вы могли бы бросить MCU между ними с двумя интерфейсами CAN (по одному на каждую скорость), которые выполняли бы мостовое соединение.
@dim Это будет работать, только если устройство и общий трафик имеют низкую пропускную способность. В противном случае он просто пропустит пакеты.
@ЕвгенийШ. Конечно. Я предположил, что коробка передач не отправляет/принимает команды с высокой скоростью, что может быть неправильным. Более того, даже если OP удастся заставить эту часть работать, я не уверен, что вы можете менять автомобильные детали таким образом, надеясь, что каждый узел в сети CAN по-прежнему будет счастливо общаться друг с другом и с новым оборудованием.
@dim, так нельзя? Я бы с радостью попробовал любой коммерческий продукт или продукт с открытым исходным кодом, если вы знаете о нем, стоимость здесь не имеет значения. Спасибо
@ Дмитрий Григорьев, я прочитал этот пост о подключении высокоскоростной банки к низкоскоростной шине, что противоположно тому, что я пытаюсь сделать.
@sDev Ну, я могу ошибаться, потому что, хотя я знаю CAN, я не знаю, как они используют его в машине. Но CAN определяет нижние уровни протокола, но нет стандарта, определяющего, какие кадры отправляются, когда, например, происходит переключение передач. Так что, если вы поставите коробку передач от другой марки/модели автомобиля, это точно не будет работать лучше, чем просто не подключать к ней CAN-шину. Вам понадобится, чтобы вся машина была с открытым исходным кодом (и коробка передач), чтобы исправить это.

Ответы (1)

Базовый протокол CAN не поддерживает узлы, работающие с разным битрейтом:

Скорость CAN может быть разной в разных системах. Однако в данной системе битрейт равномерный и фиксированный.

Более новая версия протокола под названием CAN FD обеспечивает поддержку гибкой скорости передачи данных, как следует из ее названия. Устаревшее оборудование CAN поддерживается в сетях CAN FD, однако оно по-прежнему должно работать с заданной фиксированной скоростью передачи данных.

Я думаю, что ваш единственный вариант, чтобы купить маршрутизатор. Вот пример маршрутизатора CAN, который поддерживает 4 канала с независимой конфигурацией битрейта.

Спасибо за информацию, при наличии куплю.
@sDev Я советую вам искать маршрутизатор самостоятельно, возможно, вы найдете более подходящий и / или более дешевый продукт, доступный сразу. Я буквально набрал «can router» в поле поиска и щелкнул первую релевантную ссылку, просто чтобы показать вам, как выглядят такие маршрутизаторы. Не торопитесь, сравните, прочитайте характеристики, прежде чем платить за это 700 долларов.
Боюсь, вы зря теряете время. Если у вас другой битрейт, скорее всего информация не совместима, так как продукт предназначен для другой сети. Даже если вы поставите предложенный шлюз, корректирующий скорость... скорее всего, сообщения не будут иметь смысла, и он не будет работать.