Стандартный и расширенный фрейм
Стандартный фрейм данных (рисунок 3.32) состоит из:
• стартового поля SOF, поля арбитража Arbitration Field,
• управляющего поля Control Field,
• поля данных Data Field,
• поля контрольной суммы СRC,
• поля подтверждения ACK Field,
• поля конца фрейма EOF.
Стандартный фрейм означает, что CAN микросхема поддерживает 11– битовое поле идентификатора.
Поле SOF (Start of Frame)находится в начале фрейма данных и удаленного фрейма и содержит один доминирующий бит.
Поле арбитража Arbitration Field содержит 11– битовый идентификатор и RTR бит, показывающий, является данный фрейм фреймом данных или удаленным фреймом. Идентификатор предназначен для адресации сообщений и используется механизмом арбитража.
Управляющее поле Control Field (рисунок 3.33) содержит 6 битов, из которых 4 бита (DLC0–DLC4) составляют поле Data Length Code, показывающее количество байтов данных, которое будет передаваться в поле данных; два других бита зарезервированы для следующих редакций протокола.
Поле данных Data Field содержит передаваемые данные, причем количество передаваемых байтов указывается в поле Control Field и не может превышать восьми.
Поле СRC реализует избыточный контроль по четности передаваемых данных.
Рисунок 3.32 − Стандартный фрейм в CAN |
Поле подтверждения – ACK Field (рисунок 3.34) содержит участки
ACK Slot и ACK Delimiter и выполняет следующую функцию: передающий узел посылает по одному рецессивному биту на каждом из участков, а приемник, если он принял сообщение без сбоев, устанавливает на линии доминирующий бит в поле ACK Slot. При наложении рецессивного и доминирующего уровней на линии устанавливается доминирующий, и это событие сигнализирует передающему узлу о том, что передача прошла нормально и повтор не требуется.
Рисунок 3.33 − Управляющее поле фрейма |
Поле конца фрейма EOF содержится в фрейме данных и удаленном фрейме и состоит из семи рецессивных битов.
Удаленный фрейм аналогичен по структуре фрейму данных, но не имеет поля данных, а фрейм ошибок и фрейм перегрузки содержат по 2 поля: в первом располагаются флажки ошибок и служебная информация, а
второе является полем разграничителя (Delimiter) и содержит восемь рецессивных битов.
Рисунок 3.34– Поле подтверждения фрейма данных. |
Дата добавления: 2020-04-12; просмотров: 555;