Сообщение сети контроллеров (CAN)
Сообщение состоит из следующих компонентов:
- Идентификатор (" флаг "), который указывает на идентичность и приоритет сообщения.
- Информация о данных (значение, информация и т.д.).
- Контрольная сумма, используемая для проверки правильности доставки сообщения
- Стоп-сигнал, указывающий на окончание сообщения.
Полное CAN-сообщение называется кадром.
Конфликты могут возникать в сети, когда несколько модулей управления хотят отправить сообщение одновременно. Например, когда водитель нажимает на педаль тормоза одновременно с изменением пассажиром настроек климат-контроля и пассажир на заднем сиденье открывает электростеклоподъемник.
Для безопасной работы сообщения должны быть приоритетными. Кроме того, временные задержки, возникающие в случае возникновения ситуаций с очередью, должны удерживаться в разумных пределах. Это делается для того, чтобы клиент не испытывал систему как " вялую " или медленную.
Для решения проблем с конфликтами и временными задержками существует приоритетный порядок сообщений, обеспечивающий хорошую функциональность.
Назначение приоритета сообщениям определяется количеством нулей в начале сообщения, причем чем больше нулей, тем выше приоритет.
Приоритизация происходит следующим образом
- Когда сеть доступна, все модули управления, которым есть " что сказать ", посылают бит один в своем сообщении.
- Все модули управления определяют, что было передано по сети
- Если модуль управления передал 0 тем, кто отправил 1 остановить и ждать до следующего раза сеть доступна
- Те, кто передал 0 передают бит два сообщения
- Если модуль управления передал 0 как бит два, те, кто отправил 1, останавливаются и ждут до следующего раза, когда сеть станет доступной и так далее.
Сообщение с наивысшим приоритетом (наибольшее количество нулей в начале) " выигрывает " и отправляется первым.
Конец сообщения - семь нулей. Затем модули управления знают, что сеть доступна и новое сообщение может быть отправлено в приоритетном порядке.
В системе существует два типа сообщений:
- Периодические кадры. Эти сообщения отправляются регулярно и дают статус параметра. Они используются для информации, которая часто обновляется, например, сигналы скорости.
- Кадры событий, которые отправляются только при выполнении заранее определенных условий. Этот тип сообщений используется для вещей, которые редко происходят, например, поднятие / опускание окна.
Сообщение может содержать бит обновления, который указывает на то, насколько " свежа " информация.
Система предполагает, что получатель получил сообщение, поэтому подтверждение не отправляется (ответ посылается только на прямой вопрос от другого управляющего модуля).
Однако получатель " знает ", как часто он должен получать сообщение о том, какой статус применяется. Если сообщение отсутствует, приемник может подключить аварийную программу и / или сгенерировать расшифровка кода ошибки.
Расшифровка кодов ошибок (коды неисправностей) также могут храниться, если принимающий модуль управления не " понимает " полученное сообщение. Примеры этого могут включать в себя прерывистые короткие замыкания между одним из проводов CAN и напряжением или землей.