|
Интерфейс CAN, Принципы обмена по протоколу CAN |
|
|
|
Mar 24 2006, 11:10
|
Группа: Новичок
Сообщений: 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, и если да, то какой идентификатор передается в этом фрейме)?
Расчитываю на Ваш совет! Спасибо.
|
|
|
|
|
 |
Ответов
|
Apr 14 2006, 05:07
|

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

|
Цитата Все-таки решительно надо иметь земляной провод в идеологии RS-485. Это не вполне очевидно, поскольку есть много примеров дифф. линий, в которых нет "земляного" провода. В 4-х проводном варианте земля тоже одна. Ну незнаю.Сколько раз делал системы на RS-485 никогда с землей особо незаморачивался.Может быть в устройствах без опторазвязки это и критично но теже айсипиконы имеют развязаное питание и драйвер запитывается через преобразователь посему про землю поданую снаружи ничего незнает. Цитата Пока не довёл до конца изучение CiA 301, но уже подчерпнул много полезного. Раздел с определением полей внутри CANID пока не смотрел, поэтому не могу говорить на тему реализованного количества поддерживаемых устройств. Спасибо за указание на стандарт. Там все просто но непутайте NID(node ID) и COBID.Все поле идентификатора в соответствии со стандартом можно делить как угодно.Допустим обычно в CANOpen сети может быть до 127 устройств те под NID нужно выделить 7 бит.Остается 4 бита.Т.е прибор сможет иметь 16 разных видов пакетов с уникальными COBID. Если сократить количество устройств до 63 то типов пакетов будет в 2 раза больше итд. Цитата Правильно подмечено, просчитался, так сказать на ходу сочинял вариант попроще, пользую только 2.0B. К сожалению 2.0в пока нельзя использовать в CANOpen.Но организация которая занимается его стандартизацией(CIA) что то бубнила по поводу того что работы над новыми стандартами ведутся. Надо помнить что аппаратный приоритет оперирует со всем полем идентификатора.И COBID выбираются таким образом чтообы более важные сообщения передавались лучше независимо от источника и получателя.Хотя конечно к примеру пакет EMERGENCY имеющий код 0x80 отправленный прибором с NID=1(COBID получится 0x80+1=0x81) будет более приоритетным чем у устройства с NID=2(COBID=0x82).Потому как в сети нет двух одинаковых приоритетов на самом деле их 2^11 штук.
|
|
|
|
|
Aug 22 2006, 11:48
|

Группа: Участник
Сообщений: 13
Регистрация: 14-08-06
Из: Санкт-Петербург
Пользователь №: 19 540

|
Цитата(ipc @ Apr 14 2006, 09:07)  К сожалению 2.0в пока нельзя использовать в CANOpen.Но организация которая занимается его стандартизацией(CIA) что то бубнила по поводу того что работы над новыми стандартами ведутся. А можно по-подробнее? Почему нельзя? Я не могу разве, имея контроллер с 2.0B, реализовать нужные функции CANopen программно? Сетевой уровень разве не единый?
|
|
|
|
|
Aug 22 2006, 11:57
|

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

|
Цитата(ДДН @ Aug 22 2006, 15:48)  Цитата(ipc @ Apr 14 2006, 09:07)  К сожалению 2.0в пока нельзя использовать в CANOpen.Но организация которая занимается его стандартизацией(CIA) что то бубнила по поводу того что работы над новыми стандартами ведутся.
А можно по-подробнее? Почему нельзя? Я не могу разве, имея контроллер с 2.0B, реализовать нужные функции CANopen программно? Сетевой уровень разве не единый? Сейчас проблематично найти контроллер который неподдерживает 2.0в но я консультировался с представителями CAN-CIA и мне было ясно сказано что выпущеные на сегодняшний день спецификации касающиеся формата идентификатора(COBID) рассматривают только его 11 битное представление. Конечно можно сделать свою 29 битную реализацию CANOpen но она непройдет сертификацию(CANOpen Conformance Test) и небудет совместима с современными программно-аппаратными средствами.Если это небеспокоит то можно делать все что угодно только называть это CANopen будет нельзя.
|
|
|
|
|
Aug 22 2006, 14:32
|
Местный
  
Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675

|
Цитата(ipc @ Aug 22 2006, 15:57)  Цитата(ДДН @ Aug 22 2006, 15:48)  Цитата(ipc @ Apr 14 2006, 09:07)  К сожалению 2.0в пока нельзя использовать в CANOpen....
А можно по-подробнее? Почему нельзя? Я не могу разве, имея контроллер с 2.0B, реализовать нужные функции CANopen программно? Сетевой уровень разве не единый? Сейчас проблематично найти контроллер который неподдерживает 2.0в но я консультировался с представителями CAN-CIA и мне было ясно сказано что выпущеные на сегодняшний день спецификации касающиеся формата идентификатора(COBID) рассматривают только его 11 битное представление. Конечно можно сделать свою 29 битную реализацию CANOpen но она непройдет сертификацию(CANOpen Conformance Test) и небудет совместима с современными программно-аппаратными средствами. А это не Вы писали: " Все поле идентификатора в соответствии со стандартом можно делить как угодно.Допустим обычно в CANOpen сети может быть до 127 устройств те под NID нужно выделить 7 бит.Остается 4 бита.Т.е прибор сможет иметь 16 разных видов пакетов с уникальными COBID. Если сократить количество устройств до 63 то типов пакетов будет в 2 раза больше итд. " А вот если это "итд." растянуть на 29 бит? И что, это уже не CanOpen? Я не говорю про профиль I/O, и то - младшие входы/выходы я буду передавать со стандартными ID, а если мое устройство поддерживает много больше входов/выходов? Я что, не могу присвоить им (например, динамически) ID с применением 29-бит идентификаторов? А если я создам свой собственный профиль? А если у меня "Programmable CANopen Devices", т.е. смотрим DSP302. Да во всех COB-ID бит 29 говорит: 0 == 11-bit ID (CAN 2.0A), 1 == 29-bit ID (CAN 2.0B) Я, конечно, ничего не сертифицировал... Или под сертификацие имеется ввиду только соответствие одному из профилей, которыз раз, два, и ...
|
|
|
|
|
Aug 23 2006, 04:37
|

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

|
Цитата(Andrew2000 @ Aug 22 2006, 18:32)  Цитата(ipc @ Aug 22 2006, 15:57)  Цитата(ДДН @ Aug 22 2006, 15:48)  Цитата(ipc @ Apr 14 2006, 09:07)  К сожалению 2.0в пока нельзя использовать в CANOpen....
А можно по-подробнее? Почему нельзя? Я не могу разве, имея контроллер с 2.0B, реализовать нужные функции CANopen программно? Сетевой уровень разве не единый? Сейчас проблематично найти контроллер который неподдерживает 2.0в но я консультировался с представителями CAN-CIA и мне было ясно сказано что выпущеные на сегодняшний день спецификации касающиеся формата идентификатора(COBID) рассматривают только его 11 битное представление. Конечно можно сделать свою 29 битную реализацию CANOpen но она непройдет сертификацию(CANOpen Conformance Test) и небудет совместима с современными программно-аппаратными средствами. А это не Вы писали: " Все поле идентификатора в соответствии со стандартом можно делить как угодно.Допустим обычно в CANOpen сети может быть до 127 устройств те под NID нужно выделить 7 бит.Остается 4 бита.Т.е прибор сможет иметь 16 разных видов пакетов с уникальными COBID. Если сократить количество устройств до 63 то типов пакетов будет в 2 раза больше итд. " А вот если это "итд." растянуть на 29 бит? И что, это уже не CanOpen? Я не говорю про профиль I/O, и то - младшие входы/выходы я буду передавать со стандартными ID, а если мое устройство поддерживает много больше входов/выходов? Я что, не могу присвоить им (например, динамически) ID с применением 29-бит идентификаторов? А если я создам свой собственный профиль? А если у меня "Programmable CANopen Devices", т.е. смотрим DSP302. Да во всех COB-ID бит 29 говорит: 0 == 11-bit ID (CAN 2.0A), 1 == 29-bit ID (CAN 2.0B) Я, конечно, ничего не сертифицировал... Или под сертификацие имеется ввиду только соответствие одному из профилей, которыз раз, два, и ... Под стандартом CANOpen в первую очередь подразумевается соответствие профилю DS301 а под сертификацией прохождение теста устройства прогой CANOpen Conformance Test в сертификационной организации CAN-CIA и получения уникального Vendor ID(который кстати используется в LSS).Оба этих критерия и определяют можно ли на фронт панели своего девайса поставить логотип CANOpen и гордица этим до пенсии.
|
|
|
|
Сообщений в этой теме
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 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 @ Aug 22 2006, 15:57) Сейчас п... Aug 23 2006, 07:26
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|