Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CAN INFINEON
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Controller Area Network (CAN)
max_mart
Народ, всем привет.

Занимаюсь разработкой CAN драйвера. Сначала для ознакомления с контроллером и настройки аппаратной части осуществлял обмен данными с диагностическим устройством - поллингом. Сейчас необходимо привести код к стандарту OSI. Все фреймы принимаю по прерыванию и обрабатываю последовательно, а не кучей.
Контроль тайминга фреймов (session) проверял при помощи дебагинга и диагн. ф-й - все работает без проблем.

И у меня все-таки есть вопросы:
Нужно ли мне вообще организовывать уровень session? И что это дает? Что в нем такого важного, чтобы его делать?

Дело в том, что мне очень важно задействовать как можно меньше ресурсов, но при все должно обрабатываться быстро (т.е. код должен быть оптимизирован по скорости)

max_mart
Бороздил просторы форумаи и интернета: впринципе, как я и думал, что обработчик ошибок (BUS OFF, FRAME TX OR RX COUNTER и т.д.) нужен либо для дианостики, либо для выполнения какого-нибудь срочного события (например отправка сообщения или recovery), например, при достижении счетчика ошибочных фреймов (например, 96) отправка сообщения в матрицу.

В принципе это отпадает 1111493779.gif

НО!

Периодичность приема сообщений проверял таймером - проблем не выявлено.

Однако меня мучает, что все-таки есть вероятность того, что она может нарушаться.

Не будит ли советов, примеров и т.д. по реализации контроля периодичности - уровень session?
Или я зря так опасаюсь и таким образом случайно могу загромоздить код?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.