Что произойдет, если во время движения автомобиля произойдет ошибка отключения шины в контроллере CAN? - PullRequest
5 голосов
/ 23 декабря 2011

Я знаю, что в контроллере CAN, если количество ошибок достигает некоторого порогового значения (скажем, 255), происходит отключение шины, что означает, что определенный узел CAN будет отключен от сети CAN.Так что никакого общения не будет вообще.Но что, если вышеупомянутый сценарий происходит во время движения автомобиля, который содержит ECU (включая контроллер CAN)?

Есть ли какой-либо механизм автоматического восстановления в контроллере CAN, чтобы избежать любой из вышеперечисленных ситуаций?

Ответы [ 8 ]

1 голос
/ 08 декабря 2015

Механизм восстановления зависит от используемого программного стека. Большинство новых автомобилей имеют совместимые с AUTOSAR программные реализации. В коммуникационном стеке AUTOSAR модуль CanSM (менеджер состояний) имеет настраиваемый контроль и восстановление BusOff. Вы можете прочитать больше на http://autosar.org.

BusOff, однако, является серьезной ситуацией на работающем транспортном средстве. То, как это обрабатывается на уровне транспортного средства, очень сильно зависит от конструкции системы. Но в большинстве случаев система переходит в безопасный режим работы, и все параметры принимают предварительно установленные значения неисправности, чтобы позволить автомобилю двигаться с ограниченной функциональностью. Вы бы увидели, что сигнальные лампы на приборной панели погаснут, чтобы предупредить водителя. ECU, как правило, соответствуют некоторому уровню стандарта ASIL (https://en.wikipedia.org/wiki/Automotive_Safety_Integrity_Level)). Это гарантирует, что такие ситуации рассматриваются и учитываются при проектировании и разработке.

1 голос
/ 01 октября 2012

Во время отключения шины узел будет изолирован.

CAN ожидает в течение обязательного периода времени 128 x 11 бит (1408 бит - 5,6 мс для системы 250 кбит / с) и затем пытается повторно инициализировать узел.

1 голос
/ 30 июля 2012

Ничего впечатляющего не произойдет, даже если блок управления двигателем теряет связь CAN. Машина продолжит движение.

1 голос
/ 28 декабря 2011

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

0 голосов
/ 24 февраля 2016

Да, если счетчик ошибок CAN Tx достигнет 255, узел отключится и, возможно, перезагрузится сам.Хорошая реализация не продолжит сброс узла, если проблема не устранена.

В дополнение к этому механизму безопасности, ECU (электрические блоки управления) также измеряют время между действительными передачами сообщений, которые они ожидают получить.Поэтому, если контроллер двигателя отключается, почти каждый ECU в автомобиле будет сообщать «Потеряна связь с контроллером двигателя».

Как правило, проблемы такого типа в CAN идентифицируются с помощью DTC (диагностических кодов неисправностей), начиная сU, как этот: http://www.obd -codes.com / u0115

В зависимости от серьезности проблемы, автомобиль может перейти в режим «вялый дом», или может быть полностьюотключен.Проблемы с шиной CAN на транспортном средстве чрезвычайно редки, если только не было вмешательства.

0 голосов
/ 21 января 2016

Для автомобилей существует так называемый режим Limp-home, то есть состояние, когда все экю в сети автомобиля выходят из строя. Затем набор параметров по умолчанию для ЭБУ инициализируется, а затем система I.e. Ваш автомобиль может продолжать движение только в течение некоторого времени, прежде чем он будет должным образом обслуживаться OEM.

0 голосов
/ 19 июня 2015

Когда ECU обнаруживает BUS_OFF, ECU по умолчанию должен остановить выбросы, поэтому это хороший вопрос

Существует механизм автоматического восстановления:

  • Для первых 3 обнаруженийCAN-контроллер сбрасывает свои регистры без задержки
  • Для следующих обнаружений ECU ждет 1с до сброса
0 голосов
/ 28 августа 2012

Как вы упомянули, после достижения определенного количества ошибок этот узел отключается / запрещается передавать что-либо по шине. Это описание для автобусной стороны.

На стороне контроллера каждый контроллер CAN генерирует прерывание на BUS_OFF. Контроллер несет ответственность за то, что он должен сбросить CAN-контроллер и вернуть его в нормальное состояние.

Это строго соблюдается для каждого контроллера CAN в любом автомобиле. И все это происходит за несколько миллисекунд ... Так что для водителя ничего не происходит!

...