реклама на сайте
подробности

 
 
> STM32 & ISO-TP стратегия
MaxiGroup
сообщение May 16 2018, 10:19
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 28-04-05
Из: Russia, Moscow
Пользователь №: 4 581



Здравствуйте коллеги,

хочу спросить совета у повидавших виды: стоит задача реализации отправки-приема больших пакетов по CAN.

Приглянулась реализация ISO-TP но исходников нема.
На сайте Техаса предлагают некую контору, которая продает такие исходники за $17500, на гитхабе какие-то недоделки ужасные покопал и понял, что лучше писать самому.

Тут возник вопрос, коли отправляя пакет, нужно ждать подтверждения и затем решать - повторить его или дальше слать, или отмена. То по какому принципу делать? Использовать прерывания или писать тупо очередь в функции с ожиданием(типа отправил, таймаут, потом проверил не приходило ли чего, потом дальше. Но может я параноик, но мне кажется что в таком случае возможны пропуски пакетов)
А с прерываниями как-то оч сложно представляется, нужно очень много флагов разных... )))
Палка о двух концах...

А в современном мире как такие вещи делаются?

Что посоветуете?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
pitt
сообщение May 16 2018, 11:36
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(MaxiGroup @ May 16 2018, 06:19) *
Что посоветуете?

Делюсь собственным опытом/мнением. Использую систему команда - статус, запрос - ответ. Обе стороны имеют тайм-аут, по-которому переходят в другой режим работы. Например, послана команда усановить какую-то величину на каком-то выходе. В ответ передатчику посылается статус приемника как подтверждение приема. Скорее всего, значениеуказанного выхода уже включено в статус устройства. Если нет, то посылается отдельный запрос на чтение данного значения. Про тайм-ауты я уже упоминал. Это все, наверное, очень просто и слишком в общем виде, ну так проработка деталей - Ваша работа. Данная методология отлично себя зарекомендовала на множестве проектов, в том числе и с коммуникацией по CAN с наличием более сотни устройств на одной шине и, соответственно, с коллизиями и потерями пакетов по различным причинам, которые необходимо анализировать и принимать меры. Запомните, потери неизбежны, а вот фиксирование таких потерь и устойчивость системы к ним - это уже другая история.

Успехов.


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
MaxiGroup
сообщение May 16 2018, 12:18
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 28-04-05
Из: Russia, Moscow
Пользователь №: 4 581



Цитата(pitt @ May 16 2018, 14:36) *
Делюсь собственным опытом/мнением...


Спасибо!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016