Jump to content

    

1000 устройств CAN в сети

7 minutes ago, haker_fox said:

ИМХО, проще RS-485


Не проще, т.к. там нет аппаратного контроля. CAN в этом случае - единственное простое решение. А с RS-485 самому придется придумывать протокол контроля целостности передачи данных. Кому оно надо? Подобные идио идеологи придумали в свое время самый говенейший протокол - модбас. И абдуринщики до сих пор с ним мучаются (но им не привыкать: у них и вместо микроконтроллеров помет мамонта используется)...

 

В случае CAN-шины топология будет достаточно простой: порядка 10-20 активных шлюзов на общей шине, на каждом шлюзе сидит 50-100 устройств на своей шине (шлюз может быть подключен в любой точке этой шины). Если нужно еще более древовидную топологию сделать, то в подшинах добавляем еще шлюзы и ветвим структуру.

Edited by Eddy_Em

Share this post


Link to post
Share on other sites
2 minutes ago, Eddy_Em said:

Не проще, т.к. там нет аппаратного контроля.

Да, нет. Зато есть полная свобода в написании своего протокола. И 1000 устройств, думаю, можно посадить на шину.

 

2 minutes ago, Eddy_Em said:

Кому оно надо?

Ну, например, автору топика.

 

3 minutes ago, Eddy_Em said:

самый говенейший протокол - модбас.

Это одно из серьёзных заблуждений. Модбас дополнительно обеспечивает помехоустойчивость протокола, используя особенности физика фиттера. Подбробнее можете найти объяснения от уважаемого @=AK=.

4 minutes ago, Eddy_Em said:

И абдуринщики до сих пор с ним мучаются

С такими не знаком.

Share this post


Link to post
Share on other sites
10 minutes ago, AlexandrY said:

Единственно монтаж и обслуживание облегчила бы  возможность дистанционно включать и выключать терминаторы на узлах.

Так можно же терминатор отдельно от узлов сделать и не заморачиваться с этим.

Share this post


Link to post
Share on other sites
4 minutes ago, haker_fox said:

С такими не знаком

Да ладно! Их уйма на любом радиоэлектронном форуме. Одни с абдуриной дурью маются, другие на STM32 калокуб натягивают...

Share this post


Link to post
Share on other sites
28 minutes ago, Алексей Васильевич said:

Трансирверов будет не так много 1 на 50-100 устройств , и в целом на стоимость системы влияет не сильно, проще сразу ставить на хороших комплектующих или купить уже готовые от проверенных производителей. 

Вы имели ввиду репитеры/каплеры? Так как трансиверов вам надо будет столько же, сколько у вас и узлов. По одному на каждый. И на стоимость это будет влиять. сильно.

В принципе, как вы уже сказали, в качестве репитеров/каплеров по крайней мере для первых проектов, надо взять готовые.

Например https://www.ixxat.com/products/products-industrial. За одно узнаете как они работают.

А потом уже будете сами смотреть, придумывать свои или нет.

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

 

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

 

Share this post


Link to post
Share on other sites
27 минут назад, Алексей Васильевич сказал:

Один из принципиальных моментов один физический кабель. Плоский 0.5х4 оптимальный как по цене , так и по питанию так-же он не будет иметь разрывов и разъемов , за исключением репитеров.

Лучше уж тогда качественную экранированную витую пару Ethernet взять, его хотя бы можно на кроновские контакты расшить.

27 минут назад, Алексей Васильевич сказал:

Критическим является недоставка данных, которая полностью останавливает БЕЗВОЗВРАТНЫЙ процесс , количество ошибок и алгоритм обработки при гарантированной доставке не критичны. 

Комфортным для работы считается время отклика не более 0.5с , отклик более 1с - не комфортная работа, но кратковременно допустимое значение.

Тогда уж лучше на каждый 50 устройств делать отдельную сеть, т.е. ставить умный контроллер с подключением к компьютеру по Ethernet (а если расстояния большие, то по оптике) - это будет более надежным и быстрым, чем построение единой сети на 1000 устройств, пусть даже с репитерами и сегментами.

39 минут назад, Алексей Васильевич сказал:

Насколько импульсивные преобразователе 30v->5v в каждом модули будут влиять на работу сети , и как можно минимизировать это влияние? 

Если качественные, то почти никак, а если самые дешёвые - то плохо влиять будут.

Share this post


Link to post
Share on other sites
3 минуты назад, HardEgor сказал:

Лучше уж тогда качественную экранированную витую пару Ethernet взять, его хотя бы можно на кроновские контакты расшить.

Как выглядят эти контакты ? впервые слышу про контакты для витой пары без разрыва провода. 

Как разводить экран на 1000 устройств ? и сколько жил нужно для питания?

13 минут назад, HardEgor сказал:

Тогда уж лучше на каждый 50 устройств делать отдельную сеть, т.е. ставить умный контроллер с подключением к компьютеру по Ethernet (а если расстояния большие, то по оптике) - это будет более надежным и быстрым, чем построение единой сети на 1000 устройств, пусть даже с репитерами и сегментами.

Второй кабель не допустим , 20 необходимых для прокладки к свичу немыслимо в данной конструкции. 

Вы считаете конвертирование CAN-LAN-CAN будет быстрее CAN-CAN  ?

24 минуты назад, syoma сказал:

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

какую скорость вы считаете оптимальной? 

Share this post


Link to post
Share on other sites
15 minutes ago, Алексей Васильевич said:

впервые слышу про контакты для витой пары без разрыва провода

А зачем без разрыва? На своих железяках мы два типа разъемов практикуем: или стандартные "телефонные" (в зависимости от количества контактов - от RJ11 до RJ45), или DB9 (если нужно понадежней + питание по тому же кабелю передавать).

16 minutes ago, Алексей Васильевич said:

Как разводить экран на 1000 устройств ?

Вот тут - да, с заземлением повозиться придется...

 

Share this post


Link to post
Share on other sites
52 минуты назад, Алексей Васильевич сказал:

Как выглядят эти контакты ? впервые слышу про контакты для витой пары без разрыва провода. 

Как разводить экран на 1000 устройств ? и сколько жил нужно для питания?

На плату вот такие https://ru.farnell.com/krone/6048-1-001-03/terminal-block-idc-3way/dp/1207121

Можно и китайские найти.

Экран как обычно - болтиком :) Но можно и пайкой. Другие варианты не рекомендуются.

 

56 минут назад, Алексей Васильевич сказал:

Второй кабель не допустим , 20 необходимых для прокладки к свичу немыслимо в данной конструкции. 

Вы считаете конвертирование CAN-LAN-CAN будет быстрее CAN-CAN  ?

Зачем так конвертировать? Я предполагаю что у вас все данные собираются в компьютере программой, вот и собирать их через Ethernet.

Share this post


Link to post
Share on other sites
1 hour ago, syoma said:

В принципе, как вы уже сказали, в качестве репитеров/каплеров по крайней мере для первых проектов, надо взять готовые.

Например https://www.ixxat.com/products/products-industrial. За одно узнаете как они работают.

Ну сами репитеры ixxat я бы не брал, цены у них неадекватные, но вот трансиверы которые они применяют - MCP2562FD вещь хорошая. 
Ставить надо их. 
А вот бриджы у ixxat сделаны на SN65HVD251 , и это я бы не ставил. 
Смотрим что они сделаны на16-и битных  Fujitsu MB90F543. Но это конечно же морально устарело. 
Я бы предложил Renesas Synergy (просьба  всяких с ником x123-xxxx это не читать) , там есть два независимых CAN контроллера с 32 с майлбоксами в каждом.   

Share this post


Link to post
Share on other sites
11 часов назад, haker_fox сказал:

А вы с ST "кореша"?)))))))))))) Да и МК подбирается под задачу, а не задача ужимается к МК...

Видимо наш религиозный товарищ конкретно подсел на иглу STM32+калокуб и не может слезть. :biggrin:

3 месяца на изучение только системы тактирования + CAN??? :shok: Столько может понадобиться разве что совсем новичку в embedded. Вот и проговорился товарищ о своём уровне владения предметом...  :biggrin:

Через 2 месяца от начала изучения XMC4xxx с нуля у меня уже свой TCP-стек на нём работал. Не говоря уже о всяких UART и прочей мелочи.

3 часа назад, Eddy_Em сказал:

Ну, скажем, на 8051 лично мне будет трудно перейти. Я пробовал было с MSP430 поработать, но оказалось, что а) нужен какой-то дорогущий программатор и б) фактически нужно самому допиливать софт для работы с этим программатором.

И a) - неправда и б) - тоже. Зачем говорите о том, чего не знаете?

Делал проект на MSP430. "Дорогущий программатор" не понадобился - использовал бесплатный отладочный набор (MSP-EXP430FR5739). Никакой софт не "допиливал" - IAR сразу нормально с ним работал, и примеры есть.

Share this post


Link to post
Share on other sites
48 минут назад, AlexandrY сказал:

Я бы предложил Renesas Synergy (просьба  всяких с ником x123-xxxx это не читать) ,

:biggrin:

48 минут назад, AlexandrY сказал:

там есть два независимых CAN контроллера с 32 с майлбоксами в каждом.   

XMC4700/4800 имеет до 6-и (!) независимых CAN-узлов. А уж message-object-ов там - мама не горюй! 256 шт. как с куста!

Сорри, за то что испортил рекламный ролик Renesas :wink2:

Share this post


Link to post
Share on other sites
43 minutes ago, jcxz said:

Через 2 месяца от начала изучения XMC4xxx с нуля у меня уже свой TCP-стек на нём работал

Ты ври-то, да не завирайся! "Свой" — в смысле взял и прикрутил LWip? Ну-ну...

Я до TCP так и не добрался еще: не хочу использовать LWip, а свое писать - слишком долго. Ну, а вообще к тем же STM32 я привыкал около пяти лет: сначала выбрал SPL. Через полгода оказалось, что это в корне неправильное решение. Перешел на opencm3. К нему привыкал около полугода, накапливал сниппеты, клепал новые железки. Потом в очередной раз авторы убили API opencm3 и я решил выкинуть к чертовой матери все эти говнолибы и пользоваться чистым baremetal. С тех пор накапливаю сниппеты на STM32F0 и STM32F1.

С STM8 все было намного проще: он значительно легче изучается, да и RM на 4 сотни страниц проще два-три раза прочитать, чем RM на тысячу с лишним страниц. Правда, плохо, что порта gcc для него нет, пришлось sdcc использовать.

43 minutes ago, jcxz said:

IAR сразу нормально с ним работал

Я не пользуюсь проприетарным дерьмом!

Edited by Eddy_Em

Share this post


Link to post
Share on other sites
11 minutes ago, Eddy_Em said:

Я не пользуюсь проприетарным дерьмом!

родной тексасовский CCS вроде как свой немного допиленный gcc в качестве компилятора использовать может.

ну и как-то странно что весь из себя открытый и свободный, поддерживаемый криворуким "community" mspgcc через задницу работает и программатор приходится напильником дорабатывать, а дерьмо при этом IAR :)

Share this post


Link to post
Share on other sites
43 minutes ago, jcxz said:

:biggrin:

XMC4700/4800 имеет до 6-и (!) независимых CAN-узлов. А уж message-object-ов там - мама не горюй! 256 шт. как с куста!

Сорри, за то что испортил рекламный ролик Renesas :wink2:

Да ничего против, я ж за объективность. 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.