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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Хитрый проект с CAN шиной, Есть подозрение что идея нежизнеспособна
sysel
сообщение Nov 17 2010, 10:19
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Здравствуйте!

Ведётся работа над созданием довольно масштабного проекта системы управления (не нашей фирмой).
Основная идея - объединение разнотипных плат ввода-вывода, устройств приёма и генерации сигналов в рамках одной телекоммуникационной стойки (19 дюймов 6U, евромеханика). Планируется что все устройства до 256 узлов будут общаться по одной CAN шине.
Нам предлагают адаптировать свою продукцию, чтоб она работала в этой стойке и работала с этим CAN-ом.


Идеология такая:
Физическая среда - витая пара.
Идентификатор устройства определяется положением его в стойке (на бек плате запаяны соответствующие перемычки).
Арбитр выдаёт пакет начала обмена. Все устройства (256 штук) должны выдать в шину пакеты данных (сразу же после приёма пакета от арбитра). Причем предполагается, что вопрос арбитража должен решаться самой шиной. Предполагаемая скорость работы 500 кБит/сек. Обмены без привлечения протоколов высокого уровня. Пакеты от устройств 4-6 байт, что укладывается в размер одной посылки.


Есть подозрения, что идея гнилая из-за:
1) руководитель проекта напоминает специалиста по освоению бюджетов.
2) большое число устройств на шине. разработчики выкопали драйвер TJA1051, который как-бэ должен сдюжить.
3) скорость 500 кБит
4) подозрительная идея свалить весь арбитраж на возможности CAN (типа пусть все 256 устройств одновременно начнут вещать, а там как-нибудь между собой разберутся)
5) хотят чтобы все устройства были гальванически развязаны от шины. Причем предполагают использовать связку ADUM14xx + TJA1051.


Вопрос собственно:
Жизнеспособна ли данная идея?

У нас есть опыт работы с CAN на таких скоростях, но число абонентов - менее 10. Проверить реализуемость идеи с 256 устройствами нет возможности.

Не хотелось бы ввязываться в проект который обречен, ибо потом ещё можем крайними оказаться.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 17 2010, 11:19
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



2) Адресное поле 11 битов в худшем случае. Значит разработчики допускали наличие 2048 устройств. Если вы о нагрузочной способности - то надо читать даташит драйвера.
3) По спецификации может быть и больше
4) Вообще-то это одна из основных "фишек" CAN. Зачем наворачивать еще что-то поверх?
5) Ну I2C же как-то развязывают. Здесь доминантный и рецессивный уровни формируются по тем же правилам. Не вижу принципиальных препятствий. А если драйвер поставить на неразвязанной стороне - то вообще все решается "в лоб".


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Nov 17 2010, 12:34
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Сергей Борщ @ Nov 17 2010, 13:19) *
2) Адресное поле 11 битов в худшем случае. Значит разработчики допускали наличие 2048 устройств. Если вы о нагрузочной способности - то надо читать даташит драйвера.
3) По спецификации может быть и больше
4) Вообще-то это одна из основных "фишек" CAN. Зачем наворачивать еще что-то поверх?
5) Ну I2C же как-то развязывают. Здесь доминантный и рецессивный уровни формируются по тем же правилам. Не вижу принципиальных препятствий. А если драйвер поставить на неразвязанной стороне - то вообще все решается "в лоб".


Не, битность адреса в CAN-е не означает что разработчики планировали столько устройств. Потому что в CAN-е это не адреса получателей, а идентификаторы функций которые надо выполнить.
Это специальная фишки разгружающая процессор.
Ему не надо долго парсить пакеты перед этим определяя их целостность, а сразу войдя в ISR выполнить определенное действие
Функцию в сети могут выполнить все одновременно. И одно устройство может потреблять все 2048 функций.

Но 256 устройств на такой скорости на одной ветке явный перебор. Там по емкости драйвер такую линию не потянет. Надо сегментировать линию повторителями.

Потом помнить что доступ всех устройств к шине может занять при заданных параметрах до 40 мс.
Т.е. если трафик от более приоритетных идентификаторов более плотный, то менее приоритетные идентификаторы вообще могут быть не высланы.
Go to the top of the page
 
+Quote Post
garry_
сообщение Nov 17 2010, 13:11
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 85
Регистрация: 22-06-04
Из: Moscow
Пользователь №: 105



задача для кана классическая, делал подобное , идеологически все работотать будет, только побейте свою сеть кан на две минимум а лучше на 4 сети (драйвер не потянет такое кол-во устройств),
работать будет железно
Go to the top of the page
 
+Quote Post
sysel
сообщение Nov 17 2010, 13:47
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Цитата(garry_ @ Nov 17 2010, 16:11) *
задача для кана классическая, делал подобное , идеологически все работотать будет, только побейте свою сеть кан на две минимум а лучше на 4 сети (драйвер не потянет такое кол-во устройств),
работать будет железно


Можно ли делать повторители сращиванием "попка к попке" (RX1 -> TX2, RX2 -> TX1) драйверов шины? Как себя в этом случае поведёт CAN (драйвер же вносит задержку) ?

Какой драйвер обеспечивает максимальную нагрузочную способность ?

Можно ли обойтись ISO1050 ?
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 17 2010, 14:57
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(sysel @ Nov 17 2010, 16:47) *
Можно ли делать повторители сращиванием "попка к попке" (RX1 -> TX2, RX2 -> TX1) драйверов шины? Как себя в этом случае поведёт CAN (драйвер же вносит задержку) ?

Зачем там могут понадобиться повторители? Что вы вообще под этим термином подразумеваете? (RX1 -> TX2, RX2 -> TX1) - это защёлка, которая сработает как только придёт первая же доминанта. Вы бы хоть что-нибудь про CAN почитали, прежде чем такое писать.

Там CAN хабы нужны. Но с ними не всё гладко...
Go to the top of the page
 
+Quote Post
sysel
сообщение Nov 17 2010, 15:13
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Цитата(galjoen @ Nov 17 2010, 17:57) *
Зачем там могут понадобиться повторители? Что вы вообще под этим термином подразумеваете? (RX1 -> TX2, RX2 -> TX1) - это защёлка, которая сработает как только придёт первая же доминанта. Вы бы хоть что-нибудь про CAN почитали, прежде чем такое писать.

Там CAN хабы нужны. Но с ними не всё гладко...


Простите, чущь сморозил. С CANом работал, но до повторителей и хабов дело не доходило. Устройств мало на шине было, ISO1050 отлично справлялся.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Nov 17 2010, 16:02
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(sysel @ Nov 17 2010, 18:13) *
до повторителей и хабов дело не доходило

Ну так почитайте про CAN хабы. В этой ветке обсуждалось.
Go to the top of the page
 
+Quote Post
Mos
сообщение Apr 1 2011, 10:44
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 31-10-06
Пользователь №: 21 829



1. идея авнтюрная. опытный образец будет работать на ура - промышленный нет;
2. больше 40 узлов - утопия;
3. хабов не бывает.
Go to the top of the page
 
+Quote Post
Forger
сообщение Apr 2 2011, 15:31
Сообщение #10


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Mos @ Apr 1 2011, 13:44) *
3. хабов не бывает.


Бывают (см. в конце): http://www.compeljournal.ru/enews/2009/5/6


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
eurol
сообщение Apr 3 2011, 22:02
Сообщение #11





Группа: Новичок
Сообщений: 1
Регистрация: 9-03-11
Пользователь №: 63 480



Цитата(Mos @ Apr 1 2011, 14:44) *
2. больше 40 узлов - утопия;


Почему больше 40 - утопия?
Если все в одной стойке, то запросто будет работать.
У нас по четыре и больше стойки в одну сеть объединены - работают себе вполне.
Правда, то ли с длиной, то ли с количеством абонентов некая проблема - в одном случае пришлось отрывать одну стойку и вешать отдельной сетью.
Go to the top of the page
 
+Quote Post
syoma
сообщение Apr 4 2011, 06:53
Сообщение #12


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

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Не знаю, CAN мутить в одной стойке? Он, помоему, не для такого был предназначен.
ИМХО Вам лучше на другие интерфейсы посмотреть. Например сейчас очень развивается EtherCat - там принцип обмена до невозможности простой и даже простой 8-и битник справляется. Мне кажется для стойки - самое оно.
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Apr 4 2011, 08:58
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(syoma @ Apr 4 2011, 10:53) *
Например сейчас очень развивается EtherCat - там принцип обмена до невозможности простой и даже простой 8-и битник справляется.

???
Очень хотелось бы посмотреть на 8-и битник, с аппаратной поддержкой EtherCat
Пример, пожалуйста
Go to the top of the page
 
+Quote Post
Linker
сообщение Apr 4 2011, 09:34
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105



Цитата(Forger @ Apr 2 2011, 22:31) *
Бывают (см. в конце): http://www.compeljournal.ru/enews/2009/5/6

Похоже, что это просто коммутатор одного модуля CAN процессора на две независемые подсети. Если в момент работы с подсетью CAN1 пройдет сообщение в подсети CAN2, то оно пропадет. Или я ошибаюсь?
Хабы делаются на основе процессоров, у которых на борту по несколько CAN модулей.


--------------------
Я здесь и сейчас...
Go to the top of the page
 
+Quote Post
Mos
сообщение Apr 4 2011, 11:49
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 89
Регистрация: 31-10-06
Пользователь №: 21 829



Цитата(Forger @ Apr 2 2011, 18:31) *
Бывают (см. в конце): http://www.compeljournal.ru/enews/2009/5/6


1. на логическом уровне - конечно бывают (это итак понятно);
2. спасибо за ссылку. интересный обзор;
3. вот:

(тынц), стр. 7:

Цитата
Feedback Suppression
The logic unit described in Table 3 constantly ensures that
dominant symbols on one bus line are transmitted to the
other bus line without imposing any priority on either of the
lines. This feature would lead to an “interlock” state with
permanent dominant signal transmitted to both bus lines, if
no extra measure is taken.
Therefore feedback suppression is included inside the
logic unit of the transceiver. This block masks−out reception
on that bus line, on which a dominant is actively transmitted.
The reception becomes active again only with certain delay
after the dominant transmission on this line is finished.


т.е. ничё нового - подобное решение с задержкой включения приёмника (с целью избежания самоблокировки /защёлкивания/) уже не раз обсуждалось на форуме - а вот какая должна быть длительность этой задержки; как она коррелирует со скоростью, с длинами сегментов, с крутизной фронтов...

ИМХО, хабы физ. уровня для КЭНа - сопли и заплатки (не надёжно, короче..)

ещё, 2 eurol,
утопия, потому, что в наших суровых реалиях в проектах самоделкина никто не будет использовать нормальный кабель на 120 ом, Fieldbus-коннекторы (35-70-100 евро/шт) и т.д - плашками прижмут к плате да и всё. (ну кабель ещё ладно, возьмут Profibus лаповский (он типа вообще 160 ом; не понятно на какой частоте измеряли)).
4 шкафа - это метров 100 кабеля (наразделку метров 10 уйдёт)
Go to the top of the page
 
+Quote Post

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

 


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


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