Может сеть с одним узлом (может протокол)
-
22-12-2019 - |
Вопрос
Я новичок, чтобы протокол протокол, проходя через спецификацию Robert Bosch Can Ver2.0 Part B. Я не могу понять следующие строки на стр. 63
Насколько я понимаю, когда передатчик обнаруживает ошибку (например, ошибка подтверждения), она повторно передает сообщение, а также увеличивает количество ошибок передачи (TEC) на 8. Итак, если есть только один узел, то его TEC должен увеличиваться на 8Каждый раз он передает сообщение и должен идти в условие «шина» после того, как TEC идет выше 255.
Может кто-нибудь, пожалуйста, объясните, почему спецификация говорит, что она может пойти только «ошибка пассив», но не «шина»?
Решение
Я думаю, что вы пропустили эту часть спецификации:
В этом случае TEC не изменяется!
Так, в вашем случае, когда единственный узел в сети повторно передает каждый раз, и TEC становится>= 128, он становится «ошибка Passive».Тогда выход выше исключения становится действительным!И TEC больше не изменился!Отсюда нет «шина».
Другие советы
Да, это правильно, как если бы TX ECU не получает никаких ACK из любого ECU в сети CAN, то она останется в ошибке пассивное состояние. Поскольку протокол сети требуется, когда в сети могут быть доступны более одной системы, и если в сети могут отсутствовать ECU, то не имеется смысла, так как ЭБУ имеется проблема, поэтому вместо того, чтобы выйти на состояние шины, он должен остаться вОшибка пассивного состояния. Для получения дополнительной информации о Can Ошибка, вы можете следовать по ссылке ниже: