Если два узла с одинаковым именем претендуют на один и тот же адрес в j1939, что произойдет в этой ситуации? будет ли какой-либо из узлов требовать адрес или возникнет ошибка?
что произойдет, если два узла с одинаковым именем потребуют один и тот же адрес в j1939?
Ответы (2)
Моя копия спецификации устарела, но я уверен, что это правило не менялось с 2003 года (SAE J1939-81):
«Производители ЭБУ и интеграторы сетей должны гарантировать, что ИМЯ всех центров сертификации, предназначенных для передачи в конкретной сети, уникальны».
Конечно, при этом, конечно, можно подключить устройства с одним и тем же ИМЕНЕМ к одному и тому же набору проводов либо по незнанию, либо со злым умыслом.
Я лично не играл с ним, но теоретически, если ваше устройство имеет то же имя, что и другое, ваше требование адреса будет точно перекрывать другое, ни один из них не будет знать о присутствии другого, сообщение будет успешно отправлено, и каждое устройство будет считать, что именно оно его отправило.
Я могу ошибаться, но я думаю, что единственная странность, которую может увидеть CA, - это сообщение, приходящее с адреса, который, как он думал, был заявлен, проблема, которую он, возможно, даже не проверяет.
С точки зрения сети, невозможно отличить узлы друг от друга, поскольку они идентифицируют себя как один и тот же объект. Что произойдет, так это то, что первые запросы будут обработаны, а второй запрос будет проигнорирован. Другими словами, это состояние гонки, потому что в канале данных одновременно обрабатывается только одно сообщение. К тому времени, когда второй узел пытается потребовать тот же адрес, таблица адресов уже занята, и узел с поздним запросом не сможет получить уведомление о том, что адрес был ему назначен. Помните, что каждый узел имеет собственное внутреннее состояние / конфигурацию.