1 (16-06-2022 19:46:59 отредактировано pro-1)

Тема: Шлюз LIN

Денис, не могли бы проверить диаграмму. Пока на данный момент цель такая, сделать шлюз с помощью Canny 7.2 Duo между кнопками руля и машиной, без изменения каких-либо данных. Так чтобы включив Canny в разрыв шины, обмен с рулём продолжался как и без её разрыва. ID присутствующие в диаграмме указаны не использующиеся. На данный момент при использовании диаграммы выскакивает ошибка, обмен не идёт. Физически подключение правильное, так как испытано другой диаграммой без разрыва, которая добавляет новое устройство Slave в шину. 8-ой канал идёт в сторону авто, 7-ой в сторону руля.

Модераторское: вынесено в отдельную тему. см.правила

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

Иконка вложения L1L2_GATE+00.cfd 8.05 кб, скачивался 103 раз, последний раз 2022-06-16 

2

Re: Шлюз LIN

Ваша диаграмма вряд-ли будет работать.
В отличии от шлюза CAN, для организации корректного LIN-шлюза, прозрачного или нет, необходимо заранее знать все идентификаторы, участвующие в обмене в разрываемом сегменте сети.
Скорее всего ошибка возникает в случае, когда MASTER отправляет запросы на получение данных от SLAVE и не получает ответов, так как шлюз не опросил подключенного к нему SLAVE заранее не зная его ID и не поместил полученные от него данные в свой SLAVE-буфер для ответа MASTERу.

3

Re: Шлюз LIN

Хорошо, а если мне нужно ретранслировать только один ID 0x0011 , на остальные можно не отвечать. Я переделал диаграмму с учитывая этот ID, и всё равно возникает ошибка, эта ошибка видна сразу же на приборке, если нет ответа мастеру. Как сделать ретрансляцию только этого ID ?

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

Иконка вложения L1L2_GATE+02.cfd 8.05 кб, скачивался 112 раз, последний раз 2022-06-17 

4

Re: Шлюз LIN

Возможно это не единственный ID по которому MASTER запрашивает данные. Возможно влияет содержимое сообщения с ID=0x011.
Зеленый светодиод контроллера промаргивает?
ЛОГи обмена данными без шлюза и со шлюзом (со стороны MASTERа) могли бы что-нибудь подсказать.

5

Re: Шлюз LIN

За выходные, доработал диаграмму, Canny включен в разрыв Lin шины. Ответ на id 11 от мастера обрабатывается Canny. Остальные ID скидываются напрямую рулю. От руля нужно в будущем менять некоторые кнопки местами. Т.е. изменять ответы мастеру от руля. В таком виде диаграмма работает. Кнопки руля работают, но бывает подтормаживают. Хотелось бы сделать чтобы все ID передаваемые от руля были на разных дополнительных буферах, но когда я соединяю коммутатор 10 с 64 (выделено жёлтым), отваливается эмуляция ответа на id 11. Используется буфер 3, может пересекается с другими данными, как то сложно всё связать воедино.  Голову уже всю сломал, но не могу понять в чём проблема. Константин, может быть посмотрите опытным взглядом ?

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

Иконка вложения L1L2_GATE+05.cfd 22.92 кб, скачивался 99 раз, последний раз 2022-06-19 

6

Re: Шлюз LIN

Похоже что в последней версии вашей диаграммы полностью нарушилась исходная концепция.
Изначальный принцип был следующий: шлюз передает все данные от MASTERа SLAVEу, вместе с тем сам отправляет запросы SLAVEу на получение данных и готовит их для передачи по запросу MASTERа, используя свои дополнительные буферы передачи SLAVE (режим MULTISLAVE).
Важно было выяснить, по каким ID MASTER запрашивает данные и организовать опрос руля для возможности реализации этого обмена данными используя MULTISLAVE. Вероятно, таких ID всего 1 или 2.

7

Re: Шлюз LIN

Денис спасибо, разобрался. Вернулся к версии 02, работает. Но похоже работа с дополнительными буферами будет затруднительна. В ответных посылка от руля кодируется номер сообщения. Получается запрос нужно делать только после отправки дополнительного буфера. С коротким интервалом в 30 мс, работает только один ID, вот его и хочу для начала записывать в дополнительный буфер.

8

Re: Шлюз LIN

В этом случае можно попробовать опрашивать SLAVE шлюзом (возможно даже с большей частотой, чем опрашивает MASTER), а номер сообщения формировать самостоятельно, при записи доп.буфера передачи, и инкрементировать его после забора сообщения MASTERом.