|
Хитрый проект с CAN шиной, Есть подозрение что идея нежизнеспособна |
|
|
|
Nov 17 2010, 10:19
|

Знающий
   
Группа: Свой
Сообщений: 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 устройствами нет возможности.
Не хотелось бы ввязываться в проект который обречен, ибо потом ещё можем крайними оказаться.
|
|
|
|
|
Nov 17 2010, 12:34
|

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 мс. Т.е. если трафик от более приоритетных идентификаторов более плотный, то менее приоритетные идентификаторы вообще могут быть не высланы.
|
|
|
|
|
Nov 17 2010, 13:47
|

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

|
Цитата(garry_ @ Nov 17 2010, 16:11)  задача для кана классическая, делал подобное , идеологически все работотать будет, только побейте свою сеть кан на две минимум а лучше на 4 сети (драйвер не потянет такое кол-во устройств), работать будет железно Можно ли делать повторители сращиванием "попка к попке" (RX1 -> TX2, RX2 -> TX1) драйверов шины? Как себя в этом случае поведёт CAN (драйвер же вносит задержку) ? Какой драйвер обеспечивает максимальную нагрузочную способность ? Можно ли обойтись ISO1050 ?
|
|
|
|
|
Nov 17 2010, 14:57
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(sysel @ Nov 17 2010, 16:47)  Можно ли делать повторители сращиванием "попка к попке" (RX1 -> TX2, RX2 -> TX1) драйверов шины? Как себя в этом случае поведёт CAN (драйвер же вносит задержку) ? Зачем там могут понадобиться повторители? Что вы вообще под этим термином подразумеваете? (RX1 -> TX2, RX2 -> TX1) - это защёлка, которая сработает как только придёт первая же доминанта. Вы бы хоть что-нибудь про CAN почитали, прежде чем такое писать. Там CAN хабы нужны. Но с ними не всё гладко...
|
|
|
|
|
Apr 3 2011, 22:02
|
Группа: Новичок
Сообщений: 1
Регистрация: 9-03-11
Пользователь №: 63 480

|
Цитата(Mos @ Apr 1 2011, 14:44)  2. больше 40 узлов - утопия; Почему больше 40 - утопия? Если все в одной стойке, то запросто будет работать. У нас по четыре и больше стойки в одну сеть объединены - работают себе вполне. Правда, то ли с длиной, то ли с количеством абонентов некая проблема - в одном случае пришлось отрывать одну стойку и вешать отдельной сетью.
|
|
|
|
|
Apr 4 2011, 08:58
|
Местный
  
Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675

|
Цитата(syoma @ Apr 4 2011, 10:53)  Например сейчас очень развивается EtherCat - там принцип обмена до невозможности простой и даже простой 8-и битник справляется. ??? Очень хотелось бы посмотреть на 8-и битник, с аппаратной поддержкой EtherCat Пример, пожалуйста
|
|
|
|
|
Apr 4 2011, 09:34
|
Местный
  
Группа: Свой
Сообщений: 210
Регистрация: 15-01-08
Из: Новосибирск
Пользователь №: 34 105

|
Цитата(Forger @ Apr 2 2011, 22:31)  Похоже, что это просто коммутатор одного модуля CAN процессора на две независемые подсети. Если в момент работы с подсетью CAN1 пройдет сообщение в подсети CAN2, то оно пропадет. Или я ошибаюсь? Хабы делаются на основе процессоров, у которых на борту по несколько CAN модулей.
--------------------
Я здесь и сейчас...
|
|
|
|
|
Apr 4 2011, 11:49
|
Частый гость
 
Группа: Свой
Сообщений: 89
Регистрация: 31-10-06
Пользователь №: 21 829

|
Цитата(Forger @ Apr 2 2011, 18:31)  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 уйдёт)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|