Стандартный и расширенный фрейм


Типы фреймов в CAN протоколе

CAN микросхемы поддерживают стандартный и расширенный фрейм. В CAN протоколе определены следующие типы фреймов:

· фрейм данных − перемещает данные с передатчика на приемник (приемники);

· удаленный фрейм − запрашивает передачу фрейма данных, связанного с определенным идентификатором;

· фрейм ошибки − выражает, какой узел обнаружил ошибку шины/сети;

фрейм перегрузки − обеспечивает задержку между передачей фреймов, чтобы управлять потоком данных.я

Стандартный фрейм данных (рисунок 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– Поле подтверждения фрейма данных.