Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Стандартные ошибки в CAN
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Controller Area Network (CAN)
-=Sergei=-
ДД. Делаю контроллер CAN интерфейса (на верилоге для заказной схемы)


Реализовано 6 буферов сообщений, программируемых либо на прием либо на передачу. В каждом буфере есть свой статусный регистр(ы) и есть общий статусный реистр(ы). Эти регистры соотвественно доступны центральному процессору.
Соответсвенно описанные вышие ошибки могут возникать при работе с тем или иным буфером при приеме или передаче сообщений.
Вопрос следующий стоит ли мне отображать их в соотвественно буфферных статусных регистрах или достаточно отобразить в общем статусном регистре. Так как факт появления этой ошибки сообственно ни очем кроме того что она появилась не говорит. Так как все равно они разрешаются автоматически без участия процессора.

Склонаясь к отображению в общем статусе.

(+)
1. Меньше ресурсов схема будет
2. Проще мне как разработчику

(-)
1. При возможных пока еще не обнаруженных косяках, чем больше у будущего программера данных, тем более простой путь обхода он найдет.
2. У аналогов отображается эти ошибки в буфферных статусах.

Какие советы дадите ?
KRS
Да у большинства контроллеров с каном на борту вообще такие ошибки не отображаются.
Отображаются только счетчики ошибок TX RX и прерываение по переходу WARNING больше 96 ошибок и ERROR PASSIVE, ну и BUS OFF соответсвенно.
IMHO больше информации нужно только для диагностики и профилирования сети, а не в шататном режиме работы.
spf
Цитата(-=Sergei=- @ May 21 2007, 16:55) *
1. При возможных пока еще не обнаруженных косяках, чем больше у будущего программера данных, тем более простой путь обхода он найдет.

Или еще быстрее запутает программу и себя. ;)
Цитата
2. У аналогов отображается эти ошибки в буфферных статусах.

У каких аналогов?

У MK Fujitsu ошибки CAN отображается в общем регистре -- Last Error Code bits (8 бит). Это у последней реализации CAN, раньше и этого не было (только счетчики имелись)

PS: В этом же варианте есть бит, запрещающий автоматический повтор сообщения, поэтому тезис "факт появления этой ошибки сообственно ни очем кроме того что она появилась не говорит. Так как все равно они разрешаются автоматически без участия процессора" может и не сработать.



Цитата(-=Sergei=- @ May 21 2007, 16:55) *
Реализовано 6 буферов сообщений, программируемых либо на прием либо на передачу.

Почему так мало? ;)
-=Sergei=-
Цитата(spf @ May 22 2007, 07:18) *
Или еще быстрее запутает программу и себя. wink.gif

У каких аналогов?

У MK Fujitsu ошибки CAN отображается в общем регистре -- Last Error Code bits (8 бит). Это у последней реализации CAN, раньше и этого не было (только счетчики имелись)

PS: В этом же варианте есть бит, запрещающий автоматический повтор сообщения, поэтому тезис "факт появления этой ошибки сообственно ни очем кроме того что она появилась не говорит. Так как все равно они разрешаются автоматически без участия процессора" может и не сработать.
Почему так мало? wink.gif



Пока сделано так.
CRC, Frame, Stuff, RxBit Error - отображаются в общем статусе, так как происходят при приеме и однозначно сопоставить с каким либо буфером нельзя.
TxBit и ACK отображаются в статусах буферов из которых отправлялось сообщение при котором возникла ошибка.

Аналоги - 8-ми разрядники Атмеля, Мирочипа итп.

Делаем 8-ми рязрядный мконтроллер, в принципе добавить буферов непроблема с точки зрения схемоты, вопрос в площади. И так CAN сейчас занимает 50% всей цифры.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.