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

 
 
> CAN128. Попробуем разобраться.
dormouse
сообщение Feb 16 2006, 20:04
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 22
Регистрация: 1-03-05
Из: Москва
Пользователь №: 2 980



Начал разработку несложного софта для системы из нескольких at90can128. Фактически, надо сделать несложный исходник на IAR EC++ 4.1 Посмотрел, что есть из готового, но ничего не нашёл.
Единственное - колоссального размера исходник от Atmel'a (вроде адаптированный от прошлой архитектуры).

Для начала очень желаемо суметь написать софт, который сможет принять-послать-обработать ошибку.

Насчёт более высокого уровня (DeviceNET, CANOpen e.t.c) пока не сумел разобраться - складывается ощущение, что ничего готового (ни одного готового каркаса) невозможно найти...

Есть желающие включиться в разработку из идейных или материальных побуждений?

Жду ответа.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dormouse
сообщение Feb 22 2006, 12:54
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 22
Регистрация: 1-03-05
Из: Москва
Пользователь №: 2 980



Пока изучаю, ещё не компилировал. После обдумывания ситуации и изучения просторов интернета я понял, что ясного представления о "CAN" в терминах модели OSI у меня нет. Точнее - то я вижу это как UART, то как RS-232, то как modbus over serial (надюсь, что аналогия понятна: mailbox - это уже больше UART, поскольку это обработка; арбитраж мастеров по приоритету - тоже часть функций более высокого уровня; перепосылка... А обработка количества ошибок и отключение от линии- вообще неясно кем выполняется.).

По сути, для моих приложений оказалось достаточно ("можно втиснуть") MODBUS/RS-485 @ 0.5MBit.
На такой скорости вполне можно обойтись мастером и дополнительной линией синхронизации начала выполнения инструкции, переданной через MODBUS (если стартовый пакет не дойдёт до одного из slave, будет катастрофа).

В данном исходнике я вижу нечто подобное уровню физической сети + часть гарантированной доставки сообщения. Более высокий уровень надо мастерить руками и продвинутая версия будет называться DeviceNET, CANOpen e.t.c? При этом я так и не нашёл ни одного исходника "бесплатного" типа. Если посмотреть в форум (недавно начатая ветка про программы/библиотеки IAR C), можно увидеть характерное количество скачиваний файлов типа twi.c, lcd.c, timer.c e.t.c. Можно ли попробовать совместно с Вами написать что-то подобное (или просить Вас выложить более прилизанный каркас?) - т.е. готовое приложение "скомпилировал-залил в две CAN128-на правом жмём кнопочку-левый отвечает помаргиванием".


PS Ответа от slavna.ru с предложением о покупке их адаптера USB-CAN не получил пока.
Go to the top of the page
 
+Quote Post
spf
сообщение Feb 26 2006, 05:18
Сообщение #3


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

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



Цитата(dormouse @ Feb 22 2006, 17:54) *
Пока изучаю, ещё не компилировал. После обдумывания ситуации и изучения просторов интернета я понял, что ясного представления о "CAN" в терминах модели OSI у меня нет.

Два первых уровня реализованы аппаратно
http://www.can-cia.org/can/higher-layer/
На www.datamicro.ru был?
Цитата
Точнее - то я вижу это как UART, то как RS-232, то как modbus over serial (надюсь, что аналогия понятна: mailbox - это уже больше UART, поскольку это обработка; арбитраж мастеров по приоритету - тоже часть функций более высокого уровня; перепосылка... А обработка количества ошибок и отключение от линии- вообще неясно кем выполняется.).

Арбитраж выполняется аппаратно, перепосылка аппаратно, контроль допустимого количества ошибок приложением пользователя, отключение от шины аппаратно, при достижении порога ошибок. При нормальной работе "отключение от шины " не требуется.
Цитата
По сути, для моих приложений оказалось достаточно ("можно втиснуть") MODBUS/RS-485 @ 0.5MBit.
На такой скорости вполне можно обойтись мастером и дополнительной линией синхронизации начала выполнения инструкции, переданной через MODBUS (если стартовый пакет не дойдёт до одного из slave, будет катастрофа).

Какая катастрофа?
Каким образом собираетесь контролировать что слейв еще жив?
Цитата
В данном исходнике я вижу нечто подобное уровню физической сети + часть гарантированной доставки сообщения.

Доставка гарантируется аппаратно.
Цитата
Более высокий уровень надо мастерить руками и продвинутая версия будет называться DeviceNET, CANOpen e.t.c? При этом я так и не нашёл ни одного исходника "бесплатного" типа.

Ищи лучше, одну ссылку давал, вот вторая:
http://www.microcanopen.com/
Подобные ссылке копил раньше, сейчас они не работают, поэтому приходится "искать" их текущее местоположение...

Протокол высокого уровня может и не потребоваться, в определенных условиях можно обойтись аппаратными возможностями фильтрации сообщений.

В CAN самое важное понять принцип арбитража и фильтрации по ID, и как можно больше пользоваться этими возможностями при реализации обмена между абонентами. ID это не только номер абонента, в нем можно выделить поля параметров, приоритетов и т.п.
Цитата
Если посмотреть в форум (недавно начатая ветка про программы/библиотеки IAR C), можно увидеть характерное количество скачиваний файлов типа twi.c, lcd.c, timer.c e.t.c. Можно ли попробовать совместно с Вами написать что-то подобное (или просить Вас выложить более прилизанный каркас?) - т.е. готовое приложение "скомпилировал-залил в две CAN128-на правом жмём кнопочку-левый отвечает помаргиванием".

Пример уже привели, на его основе уже можно сделать такую поделку.


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- dormouse   CAN128. Попробуем разобраться.   Feb 16 2006, 20:04
- - era   Типа совет. Когда работал с CAN-ом слепил приблуд...   Feb 16 2006, 21:31
- - Aleks17   По-моему проще разобраться и своё сгородить. На С ...   Feb 17 2006, 03:39
- - spf   Цитата(dormouse @ Feb 17 2006, 01:04) Для...   Feb 17 2006, 04:24
- - dormouse   Найденные в продаже устройства: 1. Славна $70...   Feb 17 2006, 11:07
- - KRS   При начале работы я использовал CAN примерно так: ...   Feb 17 2006, 14:42
|- - ruslannd   Цитата(KRS @ Feb 17 2006, 18:42) При нача...   Apr 4 2006, 10:13
|- - ruslannd   Цитата(KRS @ Feb 17 2006, 18:42) При нача...   Apr 4 2006, 11:43
||- - KRS   Цитата(ruslannd @ Apr 4 2006, 15:43) Цита...   Apr 4 2006, 14:28
||- - ruslannd   Цитата(KRS @ Apr 4 2006, 18:28) Цитата(ru...   Apr 5 2006, 14:48
|- - J0hnNick   Цитата(KRS @ Feb 17 2006, 18:42) При нача...   Jun 15 2007, 10:21
|- - d'Bill   Дык их то и надо написАть ручками   Jun 18 2007, 19:34
- - Седой   Уважаемый dormouse, Вы пишите: ЦитатаPS Ответа от ...   Feb 24 2006, 07:51
- - dormouse   Письмо я направил на NPP@SLAVNA.RU, 17 Фев 2006 16...   Feb 24 2006, 11:00
- - dormouse   Отлично. Почти собрал этот исходник. Осталось толь...   Feb 26 2006, 06:06
|- - Andy Mozzhevilov   Цитата(dormouse @ Feb 26 2006, 11:06) До ...   Feb 26 2006, 10:02
|- - ipc   Цитата(dormouse @ Feb 26 2006, 10:06) Про...   Apr 4 2006, 11:14
- - John   Посмотрите еще здесь - Описание CAN на русском яз...   Mar 1 2006, 03:15
- - dormouse   Позволю добавить от себя ;-) Я разобрался с работо...   Apr 4 2006, 21:00
|- - ipc   Цитата(dormouse @ Apr 5 2006, 01:00) Позв...   Apr 5 2006, 05:11
|- - zltigo   Цитата(dormouse @ Apr 5 2006, 00:00) PS О...   Apr 12 2006, 19:07
- - kanzler   Привет всем! Идейные соображения по поводу CAN...   Apr 5 2006, 05:28
|- - ipc   Цитата(kanzler @ Apr 5 2006, 09:28) Приве...   Apr 5 2006, 05:39
- - dormouse   Совершенно верное суждение насчёт протоколов высок...   Apr 5 2006, 07:00
|- - ipc   Цитата(dormouse @ Apr 5 2006, 11:00) Сове...   Apr 5 2006, 07:22
- - dormouse   Тогда можно попросить указать цены на вами закупле...   Apr 5 2006, 07:51
- - ipc   Плата IXXAT USBtoCAN(2 канала с опторазвязкой) ~25...   Apr 5 2006, 08:03
- - dormouse   Цена действительно оказалась более чем приемлемой....   Apr 5 2006, 08:16
|- - ipc   Цитата(dormouse @ Apr 5 2006, 12:16) Цена...   Apr 5 2006, 08:55
- - dormouse   Atmel сделала шаг вперёд к gcc и CAN. Конкретно: т...   Apr 12 2006, 18:24
- - Седой   ЦитатаЧуть-чуть портят впечатление кривенькие с ко...   Apr 17 2006, 13:05
- - zuuuuk   Меня очень интерисует эта тема. т. к. я сейчас тол...   Jun 8 2007, 16:24
|- - spf   Цитата(zuuuuk @ Jun 8 2007, 22:24) Меня о...   Jun 8 2007, 16:34
- - Dimorus   я не могу понять как этот Can ваще работает млиин ...   Jun 19 2007, 15:19
- - Dimorus   А кто-нибудь автора dormouse видел или может знает...   Jun 20 2007, 15:42
|- - Alexeus   Цитата(Dimorus @ Jun 20 2007, 18:42) А кт...   Jan 22 2009, 13:52
|- - galjoen   Цитата(Alexeus @ Jan 22 2009, 16:52) Така...   Jan 23 2009, 11:02
- - SasaVitebsk   По моему на асме ничего не было. Если только билио...   Jan 22 2009, 18:10
- - ARV   я же выкладывал нормальную библиотеку для работы с...   Jan 22 2009, 18:20
|- - Alexeus   Цитата(ARV @ Jan 22 2009, 21:20) я же вык...   Jan 23 2009, 12:12
|- - ARV   Цитата(Alexeus @ Jan 23 2009, 15:12) Спас...   Jan 24 2009, 16:45
|- - Alexeus   Это, конечно, похоже больше в тематику- обучалка, ...   Jan 26 2009, 07:36
- - SasaVitebsk   А там нечего писать. Инициализацию - заимствовать....   Jan 23 2009, 19:52


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 11:05
Рейтинг@Mail.ru


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