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

 
 
> Одинаковые идентификаторы
777777
сообщение Mar 22 2013, 06:13
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Проектируется система по сбору информации с группы датчиков. Проблема в том, что имеется несколько одинаковых датчиков (датчики оборотов), но их назначение разное (меряют обороты разных устройств). Но поскольку датчики одинаковые, то и идентификаторы у них будут одинаковые. Может ли CAN разрулить эту ситуацию? Не хотелось бы на датчики ставить какие- то переключатели для задания "подидентификаторов".
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KRS
сообщение Mar 22 2013, 19:15
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(777777 @ Mar 22 2013, 10:13) *
но их назначение разное (меряют обороты разных устройств). Но поскольку датчики одинаковые, то и идентификаторы у них будут одинаковые.

А как вы будете их по приему различать?


К сожалению арбитраж происходит только по ID, хотя можно было бы и по всему пакету его производить.
Т.е. если отправляются одновременно два фрейма с разными ID - то по шине успешно проходит с меньшим ID.
А вот если с одинаковым ID но разными данными - будет выставлена ошибка! Увеличатся счетчики ошибок у обоих устройств и они могут быстро попасть в bus off.
Обойти такую ситуацию можно установив одноразовую попытку передачи, и потом если пакет ушел - то все ок! иначе анализировать ошибку... и если это конфликт то делать случайную задержку перед повторной передачей. Но это все хорошо на этапе идентификации устройств и назначении им идентификаторов (как DHCP)

Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 25th June 2025 - 17:23
Рейтинг@Mail.ru


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