1 (02-10-2023 16:05:28 отредактировано Байкалец)

Тема: Не могу запустить простой шлюз LIN

Сделал для начала простой шлюз передачи данных без изменений. Первый блок работает отлично. Передает запросы от LIN1 в LIN2 с частотой 50мс. В LIN2 хакером читаются ответы с той же частотой. А вот второй блок не работает вообще. Затык уже на приеме. Постоянно мерцает красный светодиод. Чувствую решение простое, но уже 2 часа его не вижу...

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

Иконка вложения 1.cfd 4.22 кб, скачивался 40 раз, последний раз 2023-10-02 

2

Re: Не могу запустить простой шлюз LIN

Как минимум, вы используете функциональные блоки "Побитовое И" там где следует использовать функциональные блоки "Логическое  И"

Кроме того, рекомендуем использовать актуальную версию CannyLab - v.2.15 в нее вошло системное ПО с исправлениями касающимися LIN2

3

Re: Не могу запустить простой шлюз LIN

Заменил на логические и. По 2.15 стоит. Ничего не изменилось. Удалил лишнее.

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

Иконка вложения 1.cfd 3.76 кб, скачивался 39 раз, последний раз 2023-10-02 

4

Re: Не могу запустить простой шлюз LIN

Тема шлюза LIN многократно поднималась на форуме. Например:
https://forum.canny.ru/viewtopic.php?id=1031
https://forum.canny.ru/viewtopic.php?id=1026
https://forum.canny.ru/viewtopic.php?id=795

и т.д.

И в документации. В частности:
https://canny.ru/docs/c72duo/lin/#sec-- … hime-slave

Для обеспечения успешной отправки данных узлом находящемся в режиме SLAVE по запросу MASTER-узла, необходимо заранее, не дожидаясь запроса, подготовить данные к передаче. Для этого необходимо...

И убедитесь в наличии подтягивающих резисторов в каждом сегменте LIN:

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

lin_pu.png, 25.02 кб, 752 x 439
lin_pu.png 25.02 кб, скачивался 40 раз, последний раз 2023-10-02 

5 (03-10-2023 06:27:35 отредактировано Байкалец)

Re: Не могу запустить простой шлюз LIN

Да. Я эти все темы перечитал не раз. Проблема сейчас не в шлюзе. Мастер шлет запрос в LIN2 и не может принять ответ. Хотя ответ в шине прекрасно читается сторонним девайсом.
Забудем про слово шлюз и упростим схему. Мастер шлет запросы. Ответы появляются в шине. Но контроллер их не принимает. Постоянно мерцает красный диод. Зеленый не моргнул ни разу.
Резистор подключил. Менял LIN2 на LIN3. Менял номер вывода. Менял сам контроллер канни на аналогичный (новый). Менял настройки LIN. Ничего не помогло. При этом в самой шине все отлично. Ответы идут каждые 50мс без пропусков.

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

Иконка вложения 1.cfd 2.41 кб, скачивался 39 раз, последний раз 2023-10-03 

6

Re: Не могу запустить простой шлюз LIN

Сейчас просто скачал вашу диаграмму "Работы контроллера в режиме Мастер". Подставил свой ID. И все осталось так же. Контроллер шлет запросы. В шине появляются ответы. А контроллер не может их принять. Мерцает красный светодиод.

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

Иконка вложения образец.cfd 1.83 кб, скачивался 44 раз, последний раз 2023-10-03 

7

Re: Не могу запустить простой шлюз LIN

Во вложении тестовая диаграмма. Контроллер работает сам на себя. При соединении интерфейсов между собой (физическом замыкании контактов контроллера, соответствующих каналам 0 и 1), контроллер выполняет обмен данными между LIN2 и LIN1. По LIN2 отправляет запросы (как MASTER), по LIN1 - отвечает на них (как SLAVE, см. блок "Эмулятор SLAVE"). На обоих интерфейсах включена внутренняя подтяжка к плюсу.
Обмен происходит корректно, данные интерфейс MASTER получает. Ошибок нет.

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

Иконка вложения c72duo_lin_test.cfd 3.46 кб, скачивался 56 раз, последний раз 2023-10-03 

8

Re: Не могу запустить простой шлюз LIN

Загрузил вашу диаграмму. Да, на столе работает. Мерцает зеленый светодиод.  Но в реальной LIN шине не работает. Мастер отправляет запросы, подрулевой блок откликается и отправляет ответы, Канхакер отлично видит эти ответы, а Канни их не принимает и выдает ошибки.

9

Re: Не могу запустить простой шлюз LIN

К сожалению, нам не известны характеристики блока, к которому Вы пробуете подключиться. Возможно, в нем используется другая версия протокола LIN. Попробуйте изменить настройку интерфейсов LIN контроллера с LIN 2.0 на LIN 1.3.

10 (04-10-2023 06:18:13 отредактировано Байкалец)

Re: Не могу запустить простой шлюз LIN

Перепробовал все настройки и с подтяжкой и без, ставил подстроечный резистор 0-10кОм. Контроллер без проблем отправляет запрос в эту шину и запрос доходит до блока. И подключенный к шине канхакер с теми же настройками протокола все видит в шине.
Подключил контроллер к проблемному отрезку LIN с вашей тестовой диаграммой (только ID поменял чтобы конфликта не было) - сам себе контроллер все передает нормально.

Подключил осциллограф.
Амплитуда сигнала когда контроллер работает "сам с собой" одинаковая, а когда с подрулевым блоком амплитуда разная у запроса (12В) и ответа (11В). Может в этом быть причина? и если да, то как это можно исправить?

Опять же из общей LIN контроллер получает запросы нормально, а там тоже амплитуда занижена (11В)...

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

Иконка вложения Ответ от блока подрулевых переключателей.jpg 1.61 мб, скачивался 14 раз, последний раз 2023-10-04 

Иконка вложения Самоопрос.jpg 1.78 мб, скачивался 12 раз, последний раз 2023-10-04 

11

Re: Не могу запустить простой шлюз LIN

Судя по скриншоту CAN-hacker присланному на почту передача подрулевым переключателем ведется в стандарте LIN 1.3 а не LIN 2.0

12

Re: Не могу запустить простой шлюз LIN

Да. Спасибо за поддержку по почте. Разобрались!