Кто определяет идентификатор членов в CAN автомобилей?

Устройства, которые обмениваются данными через шину CAN, должны отправить свой идентификатор, прежде чем они начнут отправлять что-либо еще. Протокол определяет, что устройства с более низкими идентификаторами имеют приоритет. Протокол имеет «доминантный 0», что означает, что если одно устройство помещает 0 на шину, а другое помещает 1 на шину, 0 находится на шине. Устройства прослушивают все время, в том числе, когда они отправляют. Это означает, что устройство, которое помещает свой идентификатор на шину, которая имеет 1 в какой-то позиции, но считывает 0, знает, что устройство с более высоким приоритетом также хочет использовать шину, и оно должно остановиться.

Кто определяет ID устройств в автомобилях? Это просто случайно? Применяют ли производители идентификаторы? (Как они это делают, если устройство не было построено ими самими, например, автомобильное радио?)


person Martin Thoma    schedule 07.05.2015    source источник


Ответы (1)


Насколько я понимаю, поле идентификатора в кадре CAN на самом деле является не идентификатором отправляющего его устройства, а идентификатором для этого конкретного типа сообщения. Затем это поле используется принимающими устройствами, чтобы определить, нужно ли им отвечать на сообщение (я полагаю, что эта фильтрация обычно реализуется с использованием битовых масок).

Например, производитель может использовать идентификатор 00000001100 для всех сообщений, касающихся дверных замков. Устройства CAN, управляющие механизмами запирания, затем должны прослушивать только сообщения с этим конкретным идентификатором и могут игнорировать все другие сообщения, поскольку их единственная функция - запирать/отпирать двери.

Что касается того, кто определяет идентификаторы, когда задействовано стороннее оборудование, я уверен, что крупный производитель автомобилей может убедить производителя радиоприемников использовать пользовательские идентификаторы, чтобы они соответствовали их использованию, если это необходимо. Тем не менее, 11 бит для идентификатора должны предоставить производителю автомобиля достаточно места, чтобы расставить приоритеты в своей системе по отношению к тому, что использовал производитель радио (при условии, что производитель радио не установил для всех идентификаторов сообщений значение 11111111111 или что-то в этом роде).

person aliaoca    schedule 20.05.2015