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

 
 
> Интерфейс CAN, Принципы обмена по протоколу CAN
denwill
сообщение Mar 24 2006, 11:10
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 21-03-06
Пользователь №: 15 438



Здравствуйте уважаемые разработчики!

Прочитал много информации по данной теме:
-http://www.microchip.ru/files/d-sheets-rus/an713.pdf
-http://www.gaw.ru/html.cgi/txt/interface/can/start.htm
-Спецификации CAN 2.0 A и CAN 2.0 B
-Документация на AT90CAN128
-http://electronix.ru/forum/index.php?showtopic=12898&hl=CAN
-и др.
Но к сожалению так и не смог понять логику работы интерфейса!
Как например, раздать идентификаторы устройствам (приоритеты данных от этих устройств одинаковые)?
Как передать данные конкретному устройству (нужен ли для этого remote frame, и если да, то какой идентификатор передается в этом фрейме)?

Расчитываю на Ваш совет! Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ipc
сообщение Mar 24 2006, 13:39
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 553
Регистрация: 30-03-05
Из: Санкт Петербург
Пользователь №: 3 793



Интерфейс работает предельно просто.Принцип передачи пакетный,у каждого пакета есть идентификатор(в зависимости от версии CAN 2.0а или 2.0b) его размер 11 или 29 бит соответсвенно.Поле данных размером от 0 до 8 байт.
Кроме того CAN интересен именно тем что одновременно передавать пакеты могут несколько устройств но будет отправлен в первую очередь тот у кого выше приоритет,остальные пакеты будут отправлены позже.CAN обладает так называемым неразрушающим арбитражем и поэтому ни при каких условиях в нем неможет быть коллизий.
Что касается приоритетов.Чем меньше число записанное в идентификатор пакета тем выше приоритет этого пакета.Но само собой два устройства в сети в один момент времени немогут отправлять пакеты с одним идентификатором,в сетке тут же начнется бардак.
Само собой одно устройство может принимать и отправлять несколько пакетов с разными идентификаторами,но для этого должно быть соответсвующим образом сконфигурировано.В каждом CAN контроллере програмируется скорость обмена и аппаратные фильтры которые предназанчены для отсеивания ненужных устройству пакетов.В случае если в сеть начал передаватся пакет ВСЕ устройства в сети его принимают и сравнивая со своими фильтрами ведут аппаратный отсев.Никто немешает принимать все пакеты и фильтровать их программно но это приведет к излишней потере процессорного времени.Remote Frame оставлен для совместимости и сейчас практически неиспользуется.Работа с ним большего всего похожа на режим хендшекинг(те запрос ответ) существующий в системах на базе RS-485.
Теперь главное.Конечно CAN это очень здорово но это всего лишь интерфейс,для того чтобы начать работать с ним нужно выбрать(или придумать) протокол(те формат передаваемых данных и политику обмена и раздачи идентификаторов).Существует много стандартных протоколов например CANOpen,DeviceNet итд.
Каждый протокол был разработан для решения определенного круга задач и если нехочется изобретать велосипед и к тому же получить устройство работающие в соответствии со стандартом(что позволяет использовать его совместно с другими стандартными устройствами) то стоит немного подумать и в результате выбрать протокол.
Каждый протокол однозначно определяет всю последовательность телодвижений для конфигурационного и информационного обмена в сети и вопроса "как/когда/кому/с каким ID отправить пакет просто неможет возникнуть.
Конечно было бы неплохо узнать о задаче побольше но всеравно немогу удержатся и непосоветовать посмотреть на протокол CANOpen который я юзаю уже несколько лет.

Сообщение отредактировал ipc - Mar 24 2006, 13:44
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- denwill   Интерфейс CAN   Mar 24 2006, 11:10
- - spf   Цитата(denwill @ Mar 24 2006, 16:10) Как ...   Mar 24 2006, 15:00
- - shans   Только начал разбираться с CAN-интерфейсом, что-т ...   Apr 7 2006, 09:21
|- - ipc   Цитата(shans @ Apr 7 2006, 13:21) Только ...   Apr 7 2006, 09:49
|- - shans   Так насколько я понял, физический уровень не огово...   Apr 7 2006, 11:03
|- - ipc   Цитата(shans @ Apr 7 2006, 15:03) Так нас...   Apr 7 2006, 11:10
||- - shans   Цитата(ipc @ Apr 7 2006, 15:10) Цитата(sh...   Apr 7 2006, 11:40
||- - ipc   Цитата(shans @ Apr 7 2006, 15:40) Цитата(...   Apr 7 2006, 11:50
|||- - =AK=   Цитата(ipc @ Apr 7 2006, 21:20) думаю что...   Apr 7 2006, 11:58
||||- - ipc   Цитата(=AK= @ Apr 7 2006, 15:58) Цитата(i...   Apr 7 2006, 12:06
||||- - spf   Цитата(=AK= @ Apr 7 2006, 17:58) Цитата(i...   Apr 7 2006, 12:07
||||- - ipc   Цитата(spf @ Apr 7 2006, 16:07) Цитата(=A...   Apr 7 2006, 12:18
|||||- - shans   Цитата(ipc @ Apr 7 2006, 16:18) Цитата(sp...   Apr 7 2006, 13:22
|||||- - spf   Цитата(shans @ Apr 7 2006, 19:22) SPI, I2...   Apr 9 2006, 11:55
|||||- - shans   Цитата(spf @ Apr 9 2006, 15:55) Цитата(sh...   Apr 11 2006, 10:33
|||||- - ipc   Цитата(shans @ Apr 11 2006, 14:33) Цитата...   Apr 11 2006, 10:44
||||- - =AK=   Цитата(spf @ Apr 7 2006, 21:37) CAN на 40...   Apr 7 2006, 12:23
||||- - ipc   Цитата(=AK= @ Apr 7 2006, 16:23) Цитата(s...   Apr 7 2006, 12:27
|||- - shans   Ну не такие уж копейки, а на километр мне тянуть н...   Apr 7 2006, 12:12
||- - spf   Цитата(shans @ Apr 7 2006, 17:40) Ну а ес...   Apr 7 2006, 12:02
|- - spf   Цитата(shans @ Apr 7 2006, 17:03) Так нас...   Apr 7 2006, 11:56
- - ipc   Вобщето машина это нетолько запорожец а автобусы и...   Apr 7 2006, 13:34
- - dormouse   "Если сравнивать RS-485 c CAN" - то это...   Apr 12 2006, 18:40
- - ipc   Ну во первых не три проводка а два.А в остальном я...   Apr 13 2006, 04:29
- - dormouse   Все-таки решительно надо иметь земляной провод в и...   Apr 13 2006, 14:28
|- - spf   Цитата(dormouse @ Apr 13 2006, 20:28) to:...   Apr 13 2006, 16:54
- - dormouse   Продолжаю разбираться с CiA 301. Меня смутил поряд...   Apr 13 2006, 20:39
|- - spf   Цитата(dormouse @ Apr 14 2006, 02:39) либ...   Apr 14 2006, 03:08
- - ipc   ЦитатаВсе-таки решительно надо иметь земляной пров...   Apr 14 2006, 05:07
- - ДДН   Цитата(ipc @ Apr 14 2006, 09:07) К сожале...   Aug 22 2006, 11:48
- - ipc   Цитата(ДДН @ Aug 22 2006, 15:48) Цитата(i...   Aug 22 2006, 11:57
- - Andrew2000   Цитата(ipc @ Aug 22 2006, 15:57) Цитата(Д...   Aug 22 2006, 14:32
|- - ipc   Цитата(Andrew2000 @ Aug 22 2006, 18:32) Ц...   Aug 23 2006, 04:37
- - ДДН   Цитата(ipc @ Aug 22 2006, 15:57) Сейчас п...   Aug 23 2006, 07:26


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

 


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


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