Перейти к содержанию
    

Диагностика ошибок CAN шины

Добрый день,

 

для организации CAN шины между AVR-контроллерами я использую связку

MCP2510 + MCP2551.

 

Подскажите каким образом в этом случае можно диагностировать следующие ситуации:

1. обрыв одной из линий CAN-шины

2. отсутствие на шине контроллера с заданным адресом

 

Должен ли приёмник посылать ша шину какой-либо сигнал на шину при принятии пакета?

 

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день,

 

для организации CAN шины между AVR-контроллерами я использую связку

MCP2510 + MCP2551.

 

Подскажите каким образом в этом случае можно диагностировать следующие ситуации:

1. обрыв одной из линий CAN-шины

2. отсутствие на шине контроллера с заданным адресом

 

Должен ли приёмник посылать ша шину какой-либо сигнал на шину при принятии пакета?

 

Спасибо

 

1. Есть трансмиттеры, которые выдают такую диагностику (например TJA1041)

2. Когда принимающий CAN контроллер активен (не в sleep или listen only режиме), то он выдаёт ACK на каждый принимаемый пакет и так делают все приёмники на шине параллельно, при этом совершенно не обязательно что ACK-нутый пакет будет принят, т.к. он может быть отфильтрован по ID и маске. Если есть хоть один узел, который выдаёт ACK-и, то определить принял он пакет или нет невозможно, если только не делать это на протокольном уровне.

Изменено пользователем codier

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2. отсутствие на шине контроллера с заданным адресом

 

Должен ли приёмник посылать ша шину какой-либо сигнал на шину при принятии пакета?

Кроме АСК ничего не должен. При условии, если это не запрос данных.

Если узел на CAN-шине пропадет, то это беда. Узнать об этом можно путем разных программных ухищрений:

1. Заставить каждый узел периодически посылать пакет о своем присутствии на шине. Если по истечении заданного времени узел не ответил, то значит он пропал. При большом количестве узлов это перегружает шину.

2. Организовать периодический опрос всех узлов. Тогда система перестает быть децентрализованой. А это одна из фишек CANa.

Может быть есть еще методы, но мне неизвестны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...