Может сеть с одним узлом (может протокол)

StackOverflow https://stackoverflow.com//questions/23052216

  •  22-12-2019
  •  | 
  •  

Вопрос

Я новичок, чтобы протокол протокол, проходя через спецификацию Robert Bosch Can Ver2.0 Part B. Я не могу понять следующие строки на стр. 63

«Примечание: Начать / пробудить: Если во время запуска только один узел находится в сети, и если этот узел передает некоторое сообщение, оно не приведет к подтверждению, обнаружить ошибку и повторяет сообщение.Это может стать «ошибка пассивной», но не «шиной» из-за этой причины. «

Насколько я понимаю, когда передатчик обнаруживает ошибку (например, ошибка подтверждения), она повторно передает сообщение, а также увеличивает количество ошибок передачи (TEC) на 8. Итак, если есть только один узел, то его TEC должен увеличиваться на 8Каждый раз он передает сообщение и должен идти в условие «шина» после того, как TEC идет выше 255.

Может кто-нибудь, пожалуйста, объясните, почему спецификация говорит, что она может пойти только «ошибка пассив», но не «шина»?

Это было полезно?

Решение

Я думаю, что вы пропустили эту часть спецификации:

"Исключение 1:

Если передатчик «ошибка Passive» и обнаруживает ошибку подтверждения из-за не обнаружения «доминирующего» ACK и не обнаруживает «доминирующего» бита при отправке его пассивной ошибки. "

В этом случае TEC не изменяется!

Так, в вашем случае, когда единственный узел в сети повторно передает каждый раз, и TEC становится>= 128, он становится «ошибка Passive».Тогда выход выше исключения становится действительным!И TEC больше не изменился!Отсюда нет «шина».

Другие советы

Да, это правильно, как если бы TX ECU не получает никаких ACK из любого ECU в сети CAN, то она останется в ошибке пассивное состояние. Поскольку протокол сети требуется, когда в сети могут быть доступны более одной системы, и если в сети могут отсутствовать ECU, то не имеется смысла, так как ЭБУ имеется проблема, поэтому вместо того, чтобы выйти на состояние шины, он должен остаться вОшибка пассивного состояния. Для получения дополнительной информации о Can Ошибка, вы можете следовать по ссылке ниже:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top