Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
bobyk
1

Потеря CAN пакетов

15.02.2013, 01:01. Показов 3494. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
У меня есть STM32F4 подключенный к линуксу по шине CAN. Линукс посылает команды а stm их выполняет. Также линукс постоянно запрашивает данные через CAN_RTR_Remote. Заметил неприятную вещь - небольшая часть пакетов, где то один из ста не доходят до stm-а. Причем в линуксе смотрю статистику интерфейса ни одной ошибки нет. На stm - пакеты обрабатываются в цикле:
Код
void canDyspotsh()
{
if (CAN_MessagePending(CAN1, CAN_FIFO0) < 1)
{
return;
}

CanRxMsg rxMessage;
CAN_Receive(CAN1, CAN_FIFO0, &rxMessage);
...
Помогите разобраться почему так происходит, ведь по идее can интерфейс гарантирует доставку пакетов. И если приемник не получил, на передатчике должна возникать ошибка. Может на stm - е не хватает аппаратного буфера и сделать прием через прерывание, с дальнейшем занесением данных в глобальный буфер?
P.S. на stm - е сделал вроде отладочного эха, чтобы пакеты передавались назад при получении, а в линуксе писались в лог. И действительно видно, что небольшая часть пакетов где то теряются.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2013, 01:01
Ответы с готовыми решениями:

Потеря пакетов (части пакета) USB CDC
Добрый день! Микроконтроллер для передачи данных в ПК использует стёк USB CDC (на STM32F407 через...

Потеря 50% пакетов через роутер и отброс пакетов
Добрейшего времени суток , имеется проблема - потеря пакетов стремящаяся к 50% через роутер (eltex...

Потеря пакетов Wi-fi
Ноут asus rog g751j Роутер tp-link tl-wr841n(новый, настроен и работает нормально) Скорость...

Потеря пакетов
Начались потери пакетов в онлайн игре. Лаги, плохо работает. Сделал тест соединения. Я не...

Потеря пакетов
Здравствуйте, недавно обнаружил у себя такое явление, как потеря пакетов (при помощи программы ping...

1
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
15.02.2013, 22:20 2
Цитата Сообщение от bobyk
Заметил неприятную вещь - небольшая часть пакетов, где то один из ста не доходят до stm-а.
1. Приём пакетов перенести из Цикла в прерывания.
2. Можно разделить приём пакетов по id на 2 буфера FIFO.
0
15.02.2013, 22:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2013, 22:20
Помогаю со студенческими работами здесь

Потеря пакетов
Здравствуйте, не сильно шарю во всей этой среде но хотел бы знать. Есть софт или программа которая...

Потеря пакетов
Всем здравствуйте! С октября месяца пытаюсь решить проблему с потерей пакетов, до декабря что-то...

Потеря пакетов
Добрый день, мой компьютер получает интернет по такой схеме Модем 4G воткнут в роутер, роутер...

Потеря пакетов
Доброго времени суток, пользуюсь интернетом путем раздачи мобильного интернета через юсб-модем на...

Потеря пакетов
Решил я попробовать дать вторую жизнь древнему ПК, и запустить на нём игровой сервер маленькой...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru