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

 
 
> Интерфейс 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
Ответов
shans
сообщение Apr 7 2006, 09:21
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 26
Регистрация: 21-12-05
Пользователь №: 12 486



Только начал разбираться с CAN-интерфейсом, что-т не догоняю: обязательно ли использование трансиверов? Или возможно подключение без них?
Go to the top of the page
 
+Quote Post
ipc
сообщение Apr 7 2006, 09:49
Сообщение #3


Знающий
****

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



Цитата(shans @ Apr 7 2006, 13:21) *
Только начал разбираться с CAN-интерфейсом, что-т не догоняю: обязательно ли использование трансиверов? Или возможно подключение без них?

Да обязательно.Необходимо для преобразования уровней CAN контроллера к уровням физической линии.
Go to the top of the page
 
+Quote Post
shans
сообщение Apr 7 2006, 11:03
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 26
Регистрация: 21-12-05
Пользователь №: 12 486



Так насколько я понял, физический уровень не оговорен, т.е. почему бы уровням линии не совпадать с уровнями контроллера?
Go to the top of the page
 
+Quote Post
ipc
сообщение Apr 7 2006, 11:10
Сообщение #5


Знающий
****

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



Цитата(shans @ Apr 7 2006, 15:03) *
Так насколько я понял, физический уровень не оговорен, т.е. почему бы уровням линии не совпадать с уровнями контроллера?

Если в системах на базе RS-232 это может и прокатит но вот в RS-485 и CAN(который использует похожую физическую линию) нет.Во первых потому что это шинные интерфейсы(т.е подразумевается что устройств будет больше двух) а главное то что в обычно используемой физической линии CAN нет состояний 0/1 а есть доминантное и рецесивное.
Если кратко то эти состояния неравноценны(как 0 и 1) и когда одно устройство выставляет рецесивное состояние другое устройство может задавить его доминантным чем и достигается контроль передачи и неразрушающий арбитраж.Вот эта фича и обеспечивается драйвером.
Как это делается в других физических линиях(оптика и блютуз) мало понятно но скорее всего идет эмуляция привычной CANу физической линии.
Go to the top of the page
 
+Quote Post
shans
сообщение Apr 7 2006, 11:40
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 26
Регистрация: 21-12-05
Пользователь №: 12 486



Цитата(ipc @ Apr 7 2006, 15:10) *
Цитата(shans @ Apr 7 2006, 15:03) *

Так насколько я понял, физический уровень не оговорен, т.е. почему бы уровням линии не совпадать с уровнями контроллера?

Если в системах на базе RS-232 это может и прокатит но вот в RS-485 и CAN(который использует похожую физическую линию) нет.Во первых потому что это шинные интерфейсы(т.е подразумевается что устройств будет больше двух) а главное то что в обычно используемой физической линии CAN нет состояний 0/1 а есть доминантное и рецесивное.
Если кратко то эти состояния неравноценны(как 0 и 1) и когда одно устройство выставляет рецесивное состояние другое устройство может задавить его доминантным чем и достигается контроль передачи и неразрушающий арбитраж.Вот эта фича и обеспечивается драйвером.
Как это делается в других физических линиях(оптика и блютуз) мало понятно но скорее всего идет эмуляция привычной CANу физической линии.


Ну а если объединить по монтажному "И"? Вполне получаем доминантный и рецессивный уровень. А стоимость реализации значительно ниже. Понятно, что с уровнями под стандарт ISO 11898 не попадаем, но это уже другой вопрос. Извиняюсь, если задаю бестолковые вопросы smile.gif, просто хочу уяснить преимущества решения с использованием трансиверов.
Go to the top of the page
 
+Quote Post
ipc
сообщение Apr 7 2006, 11:50
Сообщение #7


Знающий
****

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



Цитата(shans @ Apr 7 2006, 15:40) *
Цитата(ipc @ Apr 7 2006, 15:10) *

Цитата(shans @ Apr 7 2006, 15:03) *

Так насколько я понял, физический уровень не оговорен, т.е. почему бы уровням линии не совпадать с уровнями контроллера?

Если в системах на базе RS-232 это может и прокатит но вот в RS-485 и CAN(который использует похожую физическую линию) нет.Во первых потому что это шинные интерфейсы(т.е подразумевается что устройств будет больше двух) а главное то что в обычно используемой физической линии CAN нет состояний 0/1 а есть доминантное и рецесивное.
Если кратко то эти состояния неравноценны(как 0 и 1) и когда одно устройство выставляет рецесивное состояние другое устройство может задавить его доминантным чем и достигается контроль передачи и неразрушающий арбитраж.Вот эта фича и обеспечивается драйвером.
Как это делается в других физических линиях(оптика и блютуз) мало понятно но скорее всего идет эмуляция привычной CANу физической линии.


Ну а если объединить по монтажному "И"? Вполне получаем доминантный и рецессивный уровень. А стоимость реализации значительно ниже. Понятно, что с уровнями под стандарт ISO 11898 не попадаем, но это уже другой вопрос. Извиняюсь, если задаю бестолковые вопросы smile.gif, просто хочу уяснить преимущества решения с использованием трансиверов.

Ну так уж и дешевле.Эти драйверы стоят копейки а вот тянуть на километр такую линию(в моем случае трех вольтовую) будет очень забавно.думаю что фронты завалятся в корягу метра через два.Драйвер кроме всего прочего защищает процессор от помех и буферизирует сигналы да и то каждый имеет ограниченную нагрузочную способность(количество узлов в сети).Кроме того сигнал на выходе парафазный и заточен под длинные линии и эффекты связанные с задержками и переотражениями в сети.
Go to the top of the page
 
+Quote Post
=AK=
сообщение Apr 7 2006, 11:58
Сообщение #8


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(ipc @ Apr 7 2006, 21:20) *
думаю что фронты завалятся в корягу метра через два.

LIN работает при помощи открытых коллекторов, т.е. по монтажному ИЛИ. При 20 кбод на 40 м работает.
Далласовский 1-wire тоже использует открытые коллекторы. Даллас пишет - то 700 м.
Go to the top of the page
 
+Quote Post
spf
сообщение Apr 7 2006, 12:07
Сообщение #9


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(=AK= @ Apr 7 2006, 17:58) *
Цитата(ipc @ Apr 7 2006, 21:20) *
думаю что фронты завалятся в корягу метра через два.

LIN работает при помощи открытых коллекторов, т.е. по монтажному ИЛИ. При 20 кбод на 40 м работает.
CAN на 40 метрах может работать в полный рост - 1Мбод при родном драйвере, это в _50_ раз быстрее...


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
=AK=
сообщение Apr 7 2006, 12:23
Сообщение #10


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(spf @ Apr 7 2006, 21:37) *
CAN на 40 метрах может работать в полный рост - 1Мбод при родном драйвере, это в _50_ раз быстрее...

Вопрос был как дешевле реализовать, а не как быстрее. Еще DALI можно помянуть, тоже открытый коллектор. 1200 бод на 300м, зато на любом кабеле и при любой топологии, без терминаторов. C-Bus 5 кбод на 1 км, свободная топология на любой неэкранированной витой паре.

А эти "50 раз быстрее", небось, требуют экранированный кабель с контролируемым волновым сопротивлением, терминаторы с обоих концов и малое кол-во узлов с макс. отводами сантиметров по 10?
Go to the top of the page
 
+Quote Post
ipc
сообщение Apr 7 2006, 12:27
Сообщение #11


Знающий
****

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



Цитата(=AK= @ Apr 7 2006, 16:23) *
Цитата(spf @ Apr 7 2006, 21:37) *

CAN на 40 метрах может работать в полный рост - 1Мбод при родном драйвере, это в _50_ раз быстрее...

Вопрос был как дешевле реализовать, а не как быстрее. Еще DALI можно помянуть, тоже открытый коллектор. 1200 бод на 300м, зато на любом кабеле и при любой топологии, без терминаторов. C-Bus 5 кбод на 1 км, свободная топология на любой неэкранированной витой паре.

А эти "50 раз быстрее", небось, требуют экранированный кабель с контролируемым волновым сопротивлением, терминаторы с обоих концов и малое кол-во узлов с макс. отводами сантиметров по 10?

Да действительно нужны терминаторы(120 ом) и 60 ом сопротивление линии,хотя на нескольких метрах можно себе позволить на это забить.Но вот то что короткие отводы и экранированный кабель тут уж ничего неподелаеш.Вон то же Modbus+ так вобще еще и тапы(тройники) требует на каждый узел а уж кабель скока стоит это вобще караул.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- denwill   Интерфейс CAN   Mar 24 2006, 11:10
- - ipc   Интерфейс работает предельно просто.Принцип переда...   Mar 24 2006, 13:39
- - spf   Цитата(denwill @ Mar 24 2006, 16:10) Как ...   Mar 24 2006, 15:00
||||- - ipc   Цитата(=AK= @ Apr 7 2006, 15:58) Цитата(i...   Apr 7 2006, 12:06
||||- - 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
|||- - 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 Текстовая версия Сейчас: 29th June 2025 - 05:50
Рейтинг@Mail.ru


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