1

Тема: LIN Master

Добрый день, не нашел информации, как отправить пакеты с разным таймингом, для LIN шины.
Порядок отправки Master 10 запросов 100мс, а один пакет 20мс. Вообще есть ли такая возможность или нет?
Пробовал на примере как сделано у CAN шины, но видно шина последовательная и не получается.

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

Иконка вложения Тайминг LIN.cfd 4.57 кб, скачивался 11 раз, последний раз 2024-12-24 

2

Re: LIN Master

Пробовал на примере как сделано у CAN шины, но видно шина последовательная и не получается.

И LIN и CAN - последовательные шины

Порядок отправки Master 10 запросов 100мс, а один пакет 20мс.

Это в сумме дает довольно высокую нагрузку на LIN в принципе. Вы уверены , что нет ошибки в определении периода каждого сообщения? Есть возможность взглянуть на лог реальной LIN сети, чью работу вы эмулируете?

Так или иначе, но способ выбранный вами будет работать при некоторой дополнительной настройке диаграммы - повышении частоты генератора (продемонстрирую позже). Однако, при росте размера диаграммы следует контролировать Регистр длительности программного цикла контроллера, чтобы он не вышел за пределы 5 мс.

3

Re: LIN Master

Извините, есть лог только с Car Bus Analyzer.

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

Иконка вложения RGB без сидения.trc 58.29 кб, скачивался 10 раз, последний раз 2024-12-24 

4

Re: LIN Master

См.вложение.
Относительно идентификаторов LIN сообщений см.: https://forum.canny.ru/viewtopic.php?pid=11243#p11243

Альтернативный подход продемонстрирован на примере CAN: https://forum.canny.ru/viewtopic.php?pid=7929#p7929
но может быть использован с LIN аналогичным образом

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

Иконка вложения Тайминг LIN 1.cfd 6.53 кб, скачивался 11 раз, последний раз 2024-12-24 

5 (24-12-2024 18:39:33 отредактировано tols-tom)

Re: LIN Master

Относительно идентификаторов LIN сообщений см.: https://forum.canny.ru/viewtopic.php?pid=11243#p11243

Спасибо что поправили, забываю снимать галочку в настройках бит защищённости.

Альтернативный подход продемонстрирован на примере CAN: https://forum.canny.ru/viewtopic.php?pid=7929#p7929
но может быть использован с LIN аналогичным образом

Пробовал, не получилось.
А поясните пожалуйста, как работает регистр длительности программного цикла? Сколько не читал не могу понять, где его видно физически.

6

Re: LIN Master

tols-tom пишет:

Пробовал, не получилось.

Без диаграммы вашей попытки трудно судить о причинах вашей неудачи.

tols-tom пишет:

А поясните пожалуйста, как работает регистр программного цикла? Сколько не читал не могу понять, где его видно физически.

Вы имеете ввиду Регистр длительности программного цикла? Что именно не понятно? Что значит "видно физически"?

7

Re: LIN Master

Что именно не понятно? Что значит "видно физически"?

Физически, я имел ввиду какая цифра появляется в регистре, когда выполнится вся диаграмма.

8

Re: LIN Master

Как и указано в документации: https://canny.ru/docs/c72duo/resources/ … -diagrammy

Регистр содержит величину равную продолжительности предыдущего полного цикла выполнения функциональной диаграммы в миллисекундах.

9

Re: LIN Master

Диаграмму проверил, всё четко работает, спасибо большое за помощь.
С Наступающим Новым Годом!!!

10

Re: LIN Master

То что диаграмма работает я знаю. Для меня важнее было бы узнать, поняли ли вы как она работает. И вас с наступающим.

11

Re: LIN Master

Для меня важнее было бы узнать, поняли ли вы как она работает.

На этой диаграмме, для меня пока не понятен регистр длит.прог.цикла.  В симуляторе  сначала нажимает кнопку пуск, диаграмма работает, так же в окошке длительность программного цикла стоит 1 мс, нажав кнопку  стоп, после нажимаем цикл, он показывает последний блок желтым и время 1 мс в секундомере, но что то мне подсказывает, что это не то время цикла. Как все таки правильно узнать за сколько диаграмма выполняется по времени?

12

Re: LIN Master

tols-tom пишет:

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

Во время работы симулятора значения всех регистров чтения остается равным нулю. См.примечание здесь https://canny.ru/docs/cannylab/simulato … e-opisanie

Эмулировать работу контроллера в симуляторе можно, например, принудительно изменяя значения регистров в симуляторе: https://canny.ru/docs/cannylab/simulato … -znachenij

tols-tom пишет:

Как все таки правильно узнать за сколько диаграмма выполняется по времени?

Записать диаграмму в контроллер и вывести значение Регистра длительности программного цикла через какой-либо интерфейс, данные которого вы сможете получить и отобразить на ПК. Например в CAN, UART, VCP

13

Re: LIN Master

Во время работы симулятора значения всех регистров чтения остается равным нулю. См.примечание здесь https://canny.ru/docs/cannylab/simulato … e-opisanie

Эмулировать работу контроллера в симуляторе можно, например, принудительно изменяя значения регистров в симуляцииhttps://canny.ru/docs/cannylab/simulator/#sec--cannylab-simulator-prinuditelnoe-izmenenie-znachenij

Это я всё знаю.

Записать диаграмму в контроллер и вывести значение Регистра длительности программного цикла через какой-либо интерфейс, данные которого вы сможете получить и отобразить на ПК. Например в CAN, UART, VCP

А вот про это я не знал, очень интересно, я не встречал такого описания. Спасибо!!!