1

Тема: Регистр номера отбора принятых данных CAN0

Здравствуйте,
Возможно ли использовать данный регистр как индекс для коммутаторов?
Прикрепил диаграмму - не работает.

Вложений в сообщении

Иконка вложения регистр номера отбора.cfd 5.28 кб, скачивался 121 раз, последний раз 2022-01-03 

Иконка вложения регистр номера отбора.cfd 5.38 кб, скачивался 119 раз, последний раз 2022-01-03 

2

Re: Регистр номера отбора принятых данных CAN0

Диаграмма содержит ряд ошибок.
1. В регистр начала передачи данных CAN1 постоянно записывается "1", что приводит к тому, что контроллер предпринимает попытки отправки в CAN1 данных на каждом проходе диаграммы. Рациональнее выполнять отправку данных по какому-либо условию, например, при получении какого-либо сообщения по CAN0 или периодическую, но с заданным периодом, например, раз в 100мс.
2. Использовать Регистр номера отбора принятых данных CAN0 в качестве индекса возможно при совместном использовании с Регистром наличия принятых данных CAN0, иллюстрирующим, что принятые данные актуальны.
3. Настройка отборов выполнена не полностью, в частности не указана маска отбора на регистр CAN ERL, что делает его указание бесполезным: в отбор будут попадать все сообщения с ID равным указанному в отборе, вне зависимости от длины сообщения.

В принципе, диаграмма работает, в CAN1 отправляется либо сообщение с ID=0x367, либо с ID=0x368, в зависимости от того, какое сообщение принято по CAN0, но, как указано в п.п.1 и 2, следует правильно организовать отправку данных с учетом их актуальности.

Данная задача вполне может быть решена без использования драйвера шлюза.

При работе контроллера учитывайте необходимость использования терминирующих сопротивлений.