Шина CAN (сеть контроллеров) — это широко используемый протокол последовательной связи, особенно подходящий для автомобильной и промышленной автоматизации. Типы сообщений на шине CAN можно разделить на следующие общие категории, причем каждый тип имеет свое конкретное назначение и формат.
I. Фрейм данных
Кадр данных — это самый основной тип сообщения на шине CAN, который используется для передачи данных между узлами. Кадр данных состоит из нескольких сегментов, включая начало кадра, поле арбитража, поле управления, поле данных, поле CRC, поле ACK и конец кадра.
1. Начало кадра (SOF)
- Определение: сегмент, указывающий начало кадра данных, состоящий из одного активного бита (логический 0).
- Функция: Когда шина простаивает, передающий узел отправляет начало кадра; другие принимающие узлы синхронизируются с этим битом начала кадра.
2. Арбитражная сфера
- Определение: сегмент, указывающий приоритет кадра. В зависимости от длины идентификационного кода арбитражного поля кадры подразделяются на стандартные кадры (CAN 2.0A) и расширенные кадры (CAN 2.0B).
- Содержание: Арбитражное поле кадра стандартного-формата состоит из 11-битового идентификатора (ID) и бита запроса на удаленную передачу (RTR); поле арбитража кадра расширенного формата состоит из 29-битного идентификатора и бита RTR.
- Функция: используется для определения типа передаваемого кадра (кадр данных или кадра дистанционного управления) и формата кадра (стандартный кадр или расширенный кадр), а также для установки приоритета кадра.
3. Поле управления
- Определение: поле, в котором указывается количество байтов данных и зарезервированных битов.
- Содержание: включает код длины данных (DLC) и два зарезервированных бита (r0, r1). DLC указывает количество байтов в поле данных, которое может находиться в диапазоне от 0 до 8 байт.
- Функция: информирует принимающий узел о длине поля данных, чтобы данные могли быть получены правильно.
4. Поле данных
- Определение: Содержание данных; Могут передаваться от 0 до 8 байтов данных.
- Цель: Передача фактической информации о данных.
5. Поле CRC (поле проверки циклическим избыточным кодом)
- Определение: Поле, используемое для проверки ошибок передачи в кадре, состоящее из последовательности CRC и разделителя CRC.
- Функция: Обеспечивает целостность и точность данных посредством проверки CRC.
6. Поле ACK (поле подтверждения)
- Определение: сегмент, указывающий подтверждение успешного приема, состоящий из слота ACK и разделителя ACK.
- Функция: Когда приемник правильно получает действительное сообщение, он отправляет положительный бит передатчику во время слота ACK для подтверждения получения.
7. Конец кадра (EOF)
- Определение: сегмент, указывающий конец кадра данных, состоящий из 7 отрицательных битов.
- Функция: сигнализирует об окончании кадра данных.
II. Удаленный кадр
Удаленный кадр используется для запроса передачи кадра данных с тем же идентификатором. Когда принимающему узлу нужны определенные данные, но он не имеет их, он отправляет удаленный кадр с запросом от передающего узла отправить соответствующий кадр данных. Структура удаленного кадра аналогична структуре кадра данных, но сегмент данных пуст, а бит RTR установлен в 1.
III. Ошибка кадра
Кадр ошибки состоит из двух полей: флага ошибки и разделителя ошибки. Когда принимающий узел обнаруживает ошибку в сообщении на шине, он автоматически передает «активный флаг ошибки»; другие узлы, обнаружив активный флаг ошибки, отправляют «флаг подтверждения ошибки». Передача кадра ошибки прерывает текущую связь по шине до тех пор, пока ошибка не будет устранена.
IV. Перегрузка кадра
Кадр перегрузки состоит из флага перегрузки и разделителя перегрузки. Кадр перегрузки передается, когда принимающему узлу требуется слишком много времени для обработки текущих данных перед приемом следующего кадра или когда в поле межкадрового пространства обнаруживается доминирующий уровень. Передача кадра перегрузки задерживает передачу последующих кадров, чтобы гарантировать, что связь на шине не будет прервана из-за перегрузки.
V. Другие типы сообщений
В дополнение к четырем основным типам сообщений, упомянутым выше, протокол шины CAN определяет несколько других специальных типов сообщений, таких как межкадровое пространство и типы сообщений N_PCI (например, одиночный кадр, начальный кадр, непрерывный кадр, кадр управления потоком и т. д.). Эти типы сообщений используются в определенных сценариях связи для удовлетворения различных требований к связи.
Краткое содержание
Типы сообщений на шине CAN включают в себя базовые типы, такие как кадры данных, кадры дистанционного управления, кадры ошибок и кадры перегрузки, а также специальные типы, такие как межкадровое пространство и типы сообщений N_PCI. Каждый тип сообщения имеет свою конкретную структуру и назначение, что в совокупности составляет основу связи по шине CAN. В практических приложениях выбор подходящего типа сообщения для передачи данных на основе конкретных требований к связи обеспечивает надежную и эффективную связь.




