CAN OPEN
CAN — Controller Area Network. Стандарт не подразумевает физическую реализацию протокола. Она может быть по витой паре, оптике, радиоканалу.
Протокол CAN Разработан компаней Bosch в 1980 году
Данные чаще всего передаются по двум проводам. Логический ноль регистрируется, когда на линии CAN_H сигнал выше, чем на линии CAN_L. Логическая единица — в случае когда сигналы CAN_H и CAN_L одинаковы (отличаются менее чем на 0.5 В). Логический ноль — называется доминантным битом, а логическая единица — рецессивным. Эти названия отражают приоритет логической единицы и нуля на шине CAN. При одновременной передаче в шину лог. нуля и единицы, на шине будет зарегестрирован только логический ноль (доминантный сигнал), а логическая единица будет подавлена (рецессивный сигнал).
H — Height высокий 2.5 -3в
L — Low Низкий 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
Аппаратная реализация
Часто встречается 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 Open
Описание интерфейса
и объектный словарь
- Краткое-описание-протокола-CANopen
Добавить комментарий