Издержки протокола CANOpen - PullRequest
0 голосов
/ 05 марта 2020

Может кто-нибудь помочь мне понять, сколько служебных данных протокола CANOpen добавляет на шину CAN. Другими словами, если узел генерирует сообщение PDO CANOpen из 8 байтов данных приложения, сколько заголовка / служебной информации добавляет сам протокол CANOpen? Я не говорю об издержках самой шины CAN, которые представляют собой CR C, DL C, RTR, EOF и другие биты. Какова дополнительная нагрузка на шину для использования CANOpen по сравнению с использованием CAN напрямую. Спасибо.

1 Ответ

0 голосов
/ 06 марта 2020

Как такового «протокола CANopen» не существует, это название всего прикладного уровня. Упрощенно, фактические протоколы, используемые CANopen, сводятся к:

  • кадрам NMT, управлению сетью. Управление состоянием узлов и сети в целом.
  • Кадры SDO, объекты служебных данных. Конфигурация отдельных узлов.
  • Кадры PDO, объекты данных процесса. Фактические кадры данных.

Существуют и другие специализированные кадры, такие как EMGY, LSS и c, но перечисленные выше являются основными.

Другими словами, если узел генерирует сообщение PDO CANOpen из 8 байтов данных приложения, сколько заголовка / служебной информации добавляет сам протокол CANOpen?

PDO имеет нулевую служебную нагрузку. Вы получаете 8-байтовую полезную нагрузку в 8-байтовом кадре PDO.

SDO и различные NMT имеют некоторые издержки, обычно 1 байт.

...