Электроника. Радиотехника

CAN OPEN

CAN — Controller Area Network.  Стандарт не подразумевает физическую реализацию протокола. Она может быть по витой паре, оптике, радиоканалу.

Протокол CAN Разработан компаней Bosch в 1980 году

Данные чаще всего передаются по двум проводам. Логический ноль регистрируется, когда на линии CAN_H сигнал выше, чем на линии CAN_L. Логическая единица — в случае когда сигналы CAN_H и CAN_L одинаковы (отличаются менее чем на 0.5 В). Логический ноль — называется доминантным битом, а логическая единица — рецессивным. Эти названия отражают приоритет логической единицы и нуля на шине CAN. При одновременной передаче в шину лог. нуля и единицы, на шине будет зарегестрирован только логический ноль (доминантный сигнал), а логическая единица будет подавлена (рецессивный сигнал).

HHeight высокий 2.5 -3в
LLow Низкий 2 — 2.5В

Неисправности can шины и методы поиска неисправностей
http://mmc-manuals.ru/manuals/outlander_iii/online/Service_Manual_Rus/2019/54/html/M154830060248000ENG.HTM

CAN — это шина
CAN Open — Это протокол

Понять работу протокола CANOpen Возможно только поле ознакомления с тем, как работает CAN шина.

https://yandex.ru/video/preview/1547220824063564890

Как все работает / как все устроено

Коммуникационная модель

Существует три модели взаимодействия устройств и узлов между собой:

Master — Slave
Client — Server
Производитель — потребитель

Арбитраж
В CAN шине нет ни ведущих, ни ведомых.

Frame

Минимальная единица передачи данных — Frame

состоит из:

.

Ответив себе на такие вопросы как:
— Доминантное состояние и рецесивное состояние
— Арбитраж

CanOpen

Можно переходить к изучению протокола CANOpen

CANOpen — Коммуникационный протокол высокого уровня на основе CAN шины. Обеспечивет готовые коммуникационные решения для подключения различного рода оборудования например в производстве. Благодаря протоколу можно «заставить общаться» между собой PLC, джостики, дисплеи, панели оператора, энкодеры, различные датчики, устройства и т.д. и т.п.

11-битный CAN ID называется идентификатором объекта связи (COB-ID) и разделен на две части:
по умолчанию первые 4 бита равны коду функции, а следующие 7 бит содержат идентификатор узла

Данные которые может передавать или принимать устройство, занесены в словарь объектов
Словарь объектов — object dictionary — ODЗапрос — ответ — именно так работает протокол. Как только запрос отправлен, мы или получим ответ или сами установим таймаут.
Если обьем данных увеличен, запускается сигментация или режим передачи блоков данных.

Data Frame
Remote Frame — Пакет запроса

CANopen Service Data Object (SDO)

Словарь объектов
С каждым устройством, использующим интерфейс CANopen, производитель должен предоставить файл с расширением *.eds (Electronic DataSheet), содержащий словарь объектов (object dictionary — OD ) и дополнительную информацию. То есть полноценно подключиться к любому устройству по CAN шине не используя словарь обьектов не получится. Полноценно — имеется ввиду, просмотр всех параметров и характеристик.

SDO — Служба связи, которая предоставляет доступ ко всем записям в словаре объектов. Запрос — ответ преобразуются в один или несколько фреймов данных

Таким образом, чтобы индексировать данные нужно два параметра индекс и субиндекс. Часто можно встретит запись в таком формате XXXXsubYY, где XXXX индекс (16bit) в шестнадцатеричном формате, а YY (8bit) шестнадцатеричный субиндекс, например 1028sub03. Если строить аналогию с модбасом, то в модбасе есть карта регистров, а CANOpen есть объектный словарь. В словаре в отличии от карты регистров имеет более сложнаяю структура и он имеет гораздо больше типов данных. Что за данные в нем лежат? Да что угодно — текущие значения аналоговых или дискретных входов, управляющие значения для выходных сигналов, настройки, сведения об устройстве и производителе и т.д. и т.п.

https://youtu.be/0wdyj8S9SpM?list=PLXc1T5NMSXQufsSlsN6unfDxT6ojiK_sn 

Для записи и чтения данных в/из OD, CANOpen предоставляет следующие сообщения:

  • SDO (service data object) — чтение и запись данных в OD по запросу.
  • PDO (process data object) — сообщения для отправки данных асинхронно (хотя не обязательно). Как правильно через эти сообщения передаются текущие измерения и управляющие сигналы

функциональная схема связи двух узлов с помощью шины CAN и протокола CANopen

Рисунок 1.
Коммуникационные уровни при соединении двух узлов.

Аппаратная реализация

Часто встречается CAN интерфейс в разных микроконтроллерах, например в STM32F103 он входит в стандартный набор периферии. Но это только логический уровень. Тот что отвечает за работу всех этих фильтров, арбитражей, контрольных сумм. Аппаратно же нужна микросхема трансивер.
первоисточник:

CAN шина

https://www.reallab.ru/bookasutp/2-promishlennie-seti-i-interfeisi/2-6-can/

https://microsin.net/programming/arm/canopen-overview.html

bit rate — Скорость
node-ID — Идентификатор устройства в сети Can

Службы CANopen

NMT,
Sync,
TimeStamp,
PDO
SDO

SDO (service data object) — чтение и запись данных в OD по запросу.
PDO (process data object) — сообщения для отправки данных асинхронно (хотя не обязательно). Как правильно через эти сообщения передаются текущие измерения и управляющие сигналы


Guarding,
LSS.
Это обеспечивает доступ ко всем объектам протокола CANopen через плоскую адресацию, упрощающую взаимодействие по сети.

can

CAN Open

Описание интерфейса
и объектный словарь

https://skbis.ru/products/lir-ka158a/file/CANopen%20%28%D0%B2%D0%B5%D1%80.%204.35%29%20%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5.pdf

https://youtu.be/ZuzdI1AnhH8

  • Краткое-описание-протокола-CANopen

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить