1

Тема: Преобразование сигнала

Добрый день, подскажите у меня есть схема которая принимает сообщение с ID 0x2B0 на CAN0, преобразовывает его и отправляет сигнал с  ID 0xE1 на CAN1. При этом мне нужно получить сигнал с CAN шины преобразовать его и послать в эту же CAN шину. Поэтому CAN0 и CAN1 сбиты.

Сообщения 2B0 шлются с периодом 10 мс, а на выходе получаю сигнал 0xE1 с периодом 0.2мс. Что очень часто от чего CAN "кладется".

В чем может быть проблема потому что я вроде поставил нужные условия на регистр начала передачи данных CAN1

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

Иконка вложения retranslator.cfd 22.91 кб, скачивался 8 раз, последний раз 2026-04-02 

Ошибка статистика.png, 41.41 кб, 286 x 352
Ошибка статистика.png 41.41 кб, скачивался 1 раз, последний раз 2026-04-02 

Ошибка частоты.png, 216.56 кб, 797 x 502
Ошибка частоты.png 216.56 кб, скачивался 2 раз, последний раз 2026-04-02 

2

Re: Преобразование сигнала

kirill.gluschenko пишет:

Поэтому CAN0 и CAN1 сбиты.

Что это значит? Какова топология сети? В какие сегменты подключены к CAN0 и CAN1 контроллера? Какие узлы кроме контроллера присутствуют в этих сегментах? Как выполнено терминирование сегментов?

kirill.gluschenko пишет:

на выходе получаю сигнал 0xE1 с периодом 0.2мс.

В сегменте CAN, к которому подключен этот "выход", присутствует какое-либо устройство, подтверждающее приём сообщений (ACK) с ID 0xE1 ?

+пожалуйста, прочтите это сообщение полностью: https://forum.canny.ru/viewtopic.php?pid=9810#p9810

3

Re: Преобразование сигнала

Я отсылаю с адаптера сигнал 2B0 этот сигнал принимает CAN0 на Canny, а дальше отправляет его с CAN1 обратно в CAN, где его принимает адаптер. Также поставил два терминирующих резистора по 120 Ом

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

Схема подключения.png, 10.04 кб, 724 x 338
Схема подключения.png 10.04 кб, скачивался 1 раз, последний раз 2026-04-03 

4 (06-04-2026 10:40:04 отредактировано kirill.gluschenko)

Re: Преобразование сигнала

Причем если я подключаю в два разных CAN и отправляю на CAN0 сообщения с одного адаптера, а CAN1 шлет на другой адаптер, то все работает хорошо и CAN линия не забивается. Но опять же частота передачи данных 0,2 мс и загруженность линии 96%

5 (06-04-2026 11:36:01 отредактировано kirill.gluschenko)

Re: Преобразование сигнала

Вот в этой схеме частота совпадает со значениями вводимыми на генераторе ШИМ (100мс). Но как только я добавляю параметр регистр установки конфигурации CAN0, то частота сразу становится 0.2 мс. При этом другие параметры я не меняю

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

Иконка вложения Тест.cfd 1.62 кб, скачивался 4 раз, последний раз 2026-04-06 

6

Re: Преобразование сигнала

Вопрос в работе. Спасибо за дополнительную информацию. В ближайшее время прокомментируем.

7

Re: Преобразование сигнала

Вот в таком виде период как и задуман

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

Иконка вложения Тест1.cfd 2.18 кб, скачивался 6 раз, последний раз 2026-04-06 

8

Re: Преобразование сигнала

kirill.gluschenko пишет:

Я отсылаю с адаптера сигнал 2B0 этот сигнал принимает CAN0 на Canny, а дальше отправляет его с CAN1 обратно в CAN, где его принимает адаптер. Также поставил два терминирующих резистора по 120 Ом

Его принимает не только адаптер, но и CAN0, так как CAN1, CAN0 и адаптер у вас подключены к единой шине.

Но, вернемся к началу:

Получая от адаптера сообщение от с ID=2B0 в CAN0, в соответствии с вашей диаграммой контроллер его не ретранслирует, а вместо него отправляет в шину сообщение c ID=0E1 через интерфейс CAN1, как вы того, вероятно, и ожидаете.

Однако, сообщение с ID=2B0 отправленное адаптером принимается одновременно двумя CAN интерфейсами контроллера, так как они подключены к одной и той же шине, и получая это сообщение в CAN1, драйвер шлюза беспрепятственно пересылает его обратно в общую шину через CAN0, после чего оно принимается как адаптером, так и снова контроллером через CAN1 и т.д.

С сообщениями с ID=0E1, при такой топологии шины и диаграмме, в драйвере шлюза произойдет то-же самое, но уже во встречном направлении, как только диаграмма впервые отправит такое сообщение.

При этом, вы видите в логе CAN в основном сообщения с ID=0E1, так как они имеют более высокий приоритет и постоянно выигрывают арбитраж шины в при столь высокой ее утилизации.

Алгоритм работы драйвера шлюза показан на этой блок-схеме: https://canny.ru/docs/c72duo/cangateway … an-shlyuza

=kirill.gluschenko пишет:

Но как только я добавляю параметр регистр установки конфигурации CAN0, то...

... запускаете в работу незадействованный до этого момента интерфейс CAN0 контроллера.

Пожалуйста, по возможности, внимательно ознакомьтесь с приведенным здесь рекомендациями: https://canny.ru/docs/tips_tricks/solut … ents_tips/

Успехов вам в ваших проектах.