1 (17-12-2020 13:32:57 отредактировано BezzzPaniki)

Тема: Односторонний шлюз CAN

Доброго дня!
Денис, Константин, у меня возникли трудности с организацией одностороннего шлюза на Canny7.2duo.
Очень надеюсь на Ваше содействие.

Необходимо с CAN0 передавать все сообщения на CAN1 без изменений, кроме попавших в отбор. Попавшие в отбор сообщения просто отбрасывать.
В обратную сторону (с CAN1 на CAN0) необходимо установить запрет любых ретрансляций.

Для CAN0 регистру включения режима фильтрации присваиваю значение 0 (понимаю, что можно не присваивать вообще, но я делаю это для наглядности) для переброса в CAN1 ВСЕГО кроме того, что попало в отбор. Сообщение из отбора отбрасываем. Для этого добавил отбор 0 (отбрасываемое сообщение) и присвоил регистру запрета ретрансляции из этого отбора значение 1.

Для CAN1 регистру включения режима фильтрации присваиваю значение 1 для отбрасывания при передаче в CAN0 ВСЕГО кроме того, что попало в отбор. Отборы для CAN1 естественно никакие не задаю, потому как цель - не перекидывать НИЧЕГО из CAN1 в CAN0.

Подключаю оборудование к автомобилю и смотрю, что происходит в CAN1.
Вижу, что в CAN1 ничего нового не появилось. Как будто контроллер ничего не него не передаёт.
Для наглядности добавляю индикацию встроенным светодиодом при отсутствии активности на интерфейсе CAN1. И он у меня всегда горит красным. 

Что я делаю не так?
Заранее благодарю за помощь!

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

can.jpg, 155.84 кб, 707 x 530
can.jpg 155.84 кб, скачивался 164 раз, последний раз 2020-12-17 

2

Re: Односторонний шлюз CAN

Вообще в диаграмме задействовано 18 отборов (если это имеет какое-то значение), но для наглядности в примере я оставил только один.

3

Re: Односторонний шлюз CAN

Скорость шины CAN1 500кБод. Убедитесь в том что на интерфейсе CAN1 установлена перемычка подключения терминирующего сопротивления (см. https://forum.canny.ru/viewtopic.php?pid=8823#p8823).

4 (18-12-2020 01:47:18 отредактировано BezzzPaniki)

Re: Односторонний шлюз CAN

Денис, CANNY пишет:

Скорость шины CAN1 500кБод. Убедитесь в том что на интерфейсе CAN1 установлена перемычка подключения терминирующего сопротивления (см. https://forum.canny.ru/viewtopic.php?pid=8823#p8823).

Так ведь дело в том, что я не ставлю контроллер в разрыв шины и не "отрываю" какой бы то ни было модуль от неё. Фактически оба интерфейса CAN подключены параллельно к имеющимся шинам авто. В этом случае разве оно необходимо?
Терминирующее сопротивление ведь есть на одном из концов этой шины автомобиля, так сказать, "штатно")
Рекомендуете всё же замкнуть контактные площадки?

5 (18-12-2020 11:28:58 отредактировано Igor_Bokov)

Re: Односторонний шлюз CAN

При паралельном подключении теряется смысл шлюза. Ведь установлены разные скорости обмена и в одной шине не должны работать. Или не так?

6

Re: Односторонний шлюз CAN

Igor_Bokov пишет:

При паралельном подключении теряется смысл шлюза. Ведь установлены разные скорости обмена и в одной шине не должны работать. Или не так?

Теряется он или нет зависит только от поставленной задачи.
Не припомню, чтобы я где-то писал, что контроллер будет работать в одной шине...

7 (20-12-2020 19:53:32 отредактировано Igor_Bokov)

Re: Односторонний шлюз CAN

Схема рабочая.

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

Иконка вложения Gatewey 125-500.cfd 1.73 кб, скачивался 198 раз, последний раз 2020-12-20 

8

Re: Односторонний шлюз CAN

BezzzPaniki пишет:

...Фактически оба интерфейса CAN подключены параллельно к имеющимся шинам авто. В этом случае разве оно необходимо?

В этом случае необходимости в терминаторе нет.

BezzzPaniki пишет:

...Вижу, что в CAN1 ничего нового не появилось. Как будто контроллер ничего не него не передаёт.

Все зависит от настройки отборов. Может туда нечего пересылать. Со стороны CAN0 точно присутствуют данные которые могут быть пересланы в CAN1 (не попали в отборы с запретом ретрансляции)?

BezzzPaniki пишет:

...Для наглядности добавляю индикацию встроенным светодиодом при отсутствии активности на интерфейсе CAN1. И он у меня всегда горит красным.

Возможно, регистр бездействия CAN1 принимает нулевое значение только на 1 цикл диаграммы (когда CAN1 занят) и включение зеленого светодиода не удается увидеть. Для верности, можно поставить задержку включения на регистр бездействия (см. вложение).

Приложенная диаграмма проверена на столе. Регистр бездействия CAN1 приходит в состояние 0 при ретрансляции сообщений из CAN0 в CAN1 и при наличии сообщений со стороны CAN1.

Обратите внимание, что если со стороны CAN1 нет ни одного приемника ретранслируемых сообщений, способных подтвердить их прием (установлены фильтры), то это может привести к ошибке на шине.

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

Иконка вложения c72duo_Gatewey_125-500.cfd 1.85 кб, скачивался 171 раз, последний раз 2020-12-22 

9

Re: Односторонний шлюз CAN

Денис, CANNY пишет:

Все зависит от настройки отборов. Может туда нечего пересылать. Со стороны CAN0 точно присутствуют данные которые могут быть пересланы в CAN1 (не попали в отборы с запретом ретрансляции)?

Абсолютно точно. Причём достаточно много.

Денис, CANNY пишет:

Возможно, регистр бездействия CAN1 принимает нулевое значение только на 1 цикл диаграммы (когда CAN1 занят) и включение зеленого светодиода не удается увидеть. Для верности, можно поставить задержку включения на регистр бездействия (см. вложение).

Попробую конечно, но, как Вы понимаете, диод не решит проблемы с отсутствием ретранслируемых сообщений в CAN1))
Вопрос-то не в нём...

Денис, CANNY пишет:

Обратите внимание, что если со стороны CAN1 нет ни одного приемника ретранслируемых сообщений, способных подтвердить их прием (установлены фильтры), то это может привести к ошибке на шине.

Спасибо, учту... Будем решать проблемы по мере их поступления. Пока никаких ошибок ввиду отсутствия ретранслируемой информации на CAN1.

10

Re: Односторонний шлюз CAN

Igor_Bokov пишет:

Схема рабочая.

Боюсь Вас огорчить...
Видимо Вы не достаточно внимательно прочитали описанную задачу в моём исходном сообщении.

11

Re: Односторонний шлюз CAN

BezzzPaniki пишет:

Попробую конечно, но, как Вы понимаете, диод не решит проблемы с отсутствием ретранслируемых сообщений в CAN1))

Но, как вы понимаете, он поможет продвинуться в диагностике проблемы.
Как вы установили отсутствие передачи по CAN1 ? Можете откключить CAN1 от автомобиля и подключить к нему терминатор и осциллограф?
Какая версия CCX в контроллере, какой версией CannyLab пользуетесь?
Диаграмма из вашего первого сообщения в этой ветке работает у нас на столе без замечаний.

12

Re: Односторонний шлюз CAN

Кроме того, попробуйте проверить физическую работоспособность интерфейса CAN1 без использования драйвера шлюза, просто отправляя в него сообщения из диагаммы.

13

Re: Односторонний шлюз CAN

BezzzPaniki пишет:
Igor_Bokov пишет:

Схема рабочая.

Боюсь Вас огорчить...
Видимо Вы не достаточно внимательно прочитали описанную задачу в моём исходном сообщении.



Выложенная мною схема проверена на реальном автомобиле, и с поставленной задачей полностью справляется, из CAN0 - CAN1 проходят все кроме отбора, из CAN1-CAN0 ничего.

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

Иконка вложения Gatewey 125-500.cfd 2.15 кб, скачивался 186 раз, последний раз 2020-12-20 

14

Re: Односторонний шлюз CAN

Константин, CANNY пишет:

Как вы установили отсутствие передачи по CAN1 ?

Я подключился к CAN-шине автомобиля, к которой подключен интерфейс CAN1 и посмотрел активность на этой шине - перечень идентификаторов всех присутствующих в ней сообщений. Данный перечень не пополнился теми, которые должны были быть перекинуты в него с CAN0, а остался прежним (как при отсутствии контроллера).

Константин, CANNY пишет:

Можете отключить CAN1 от автомобиля и подключить к нему терминатор и осциллограф?

Боюсь таковой возможностью не располагаю.

Константин, CANNY пишет:

Какая версия CCX в контроллере, какой версией CannyLab пользуетесь?

CannyLab 2.6 Соответственно ccx 2.08

Константин, CANNY пишет:

Кроме того, попробуйте проверить физическую работоспособность интерфейса CAN1 без использования драйвера шлюза, просто отправляя в него сообщения из диагаммы.

Хорошо... Проверю... Но дело точно не в аппаратной части контроллера, потому как у меня задействовано сразу два контроллера и с обоими ситуация идентичная.

15

Re: Односторонний шлюз CAN

BezzzPaniki пишет:
Константин, CANNY пишет:

Можете отключить CAN1 от автомобиля и подключить к нему терминатор и осциллограф?

Боюсь таковой возможностью не располагаю.

... у меня задействовано сразу два контроллера и с обоими ситуация идентичная.

Можете отключить CAN1 от автомобиля и подключить к нему терминатор и второй CANNY в режиме CAN-монитора?

16

Re: Односторонний шлюз CAN

Igor_Bokov пишет:
BezzzPaniki пишет:
Igor_Bokov пишет:

Схема рабочая.

Боюсь Вас огорчить...
Видимо Вы не достаточно внимательно прочитали описанную задачу в моём исходном сообщении.



Выложенная мною схема проверена на реальном автомобиле, и с поставленной задачей полностью справляется, из CAN0 - CAN1 проходят все кроме отбора, из CAN1-CAN0 ничего.

Ну так теперь-то после того, как Вы исправили значение регистра запрета ретрансляции, понятное дело, что будет работать)))
В первой своей диаграмме значение регистра запрета ретрансляции у Вас было установлено "0".

Собственно последняя редакция Вашей диаграммы ничем от моей не отличается.

17

Re: Односторонний шлюз CAN

Константин, CANNY пишет:
BezzzPaniki пишет:
Константин, CANNY пишет:

Можете отключить CAN1 от автомобиля и подключить к нему терминатор и осциллограф?

Боюсь таковой возможностью не располагаю.

... у меня задействовано сразу два контроллера и с обоими ситуация идентичная.

Можете отключить CAN1 от автомобиля и подключить к нему терминатор и второй CANNY в режиме CAN-монитора?

Да, Константин, спасибо.
Именно так и планировал сделать.
О результатах сообщу.