Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CAN на скоростях >1 Мегабит/с
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Controller Area Network (CAN)
Mos
Привет Ол.
Интересно было бы узнать, можно ли построить сеть CAN, состоящую из 10-ти устройств и работающую на скорости, например, 10 Мегабит? (или хотябы 2)
И почему, собственно стандарт регламентирует именно 1 Мегабит?
Andy Mozzhevilov
Цитата(Mos @ Mar 20 2007, 04:58) *
Привет Ол.
Интересно было бы узнать, можно ли построить сеть CAN, состоящую из 10-ти устройств и работающую на скорости, например, 10 Мегабит? (или хотябы 2)

Есть вроде еще скорость 1.6Мбит.
Цитата
И почему, собственно стандарт регламентирует именно 1 Мегабит?

Обусловлено принципом работы CAN, когда все участвуют в арбитраже и подтверждают принятие фрейма. Для этого нужно учитывать время распространиения сигнала в кабеле. Для 1Мбит длина шины CAN получается до 30М при использовании витой пары. 10Мбит теоретически возможно, но не думаю, что сеть длиной в пару метров максимум будет интересна.
Mos
Мне известно о существовании 1.6 МБит. Речь идёт о скоростях гораздо выше.

Не совсем понятно по поводу скорости распространения сигнала по витой паре.
Ведь по ней-же идут гигагерцы (Gigabit Ethernet) или на худой конец - мегагерцы (Fast Ethernet). А максимальные частоты на которых работает КЭН (не те, на которых он непосредственно передаёт биты, а те, на которых, например, происходит синхронизация - там, где обрабатываются доли импульсов) соответствуют пропускной способности 8-12 Мегабит.

Т.е. - ну хотябы раз в 5 можно было бы ускорить...

Посто КЭН идеально подходит под большинство (95%) моих задачь. Производительность - тоже устраивает, но её хватает впритык (запас остаётся %10). А хочется имет запас 60-75. Морочить голову Ethernetom (трансами, свичами) не сильно хочется.
Andy Mozzhevilov
Цитата(Mos @ Mar 20 2007, 16:28) *
Не совсем понятно по поводу скорости распространения сигнала по витой паре.


Скорость распространения - примерно 5 нс/м.
Для 2-х узлов CAN, расположенных на концах сегмента сигнал должен дойти за определенное время,
поскольку есть такое понятие как арбитраж и подтверждение сообщений на шине (флаги активной и пассиной ошибок и т.п.)
При передаче каждого бита контроллер CAN его же и принимает назад. В определенной точке произодится проверка Rx и сравнение с тем, что в данный момент на Tx, потому что другой узел CAN может перебить рецессивный уровень доминантным. То есть в пределах длительности бита время распространения сигнала от одного контроллера до другого должна быть оговорена. Поэтому есть зависимость скорости максимальной CAN от длины кабеля, и она определяется именно принципом работы протокола, а не шириной полосы, которую можно передать по витой паре впринципе.
При увеличении длины линии более допустимой просто в то время, как сигнал от одного контроллера дойдет до другого он может прийти во время передачи уже другого бита.
spf
Цитата(Mos @ Mar 20 2007, 04:58) *
Привет Ол.
Интересно было бы узнать, можно ли построить сеть CAN, состоящую из 10-ти устройств и работающую на скорости, например, 10 Мегабит?

Может тогда стоит посмотреть на FlexRay?
"The FlexRay system is targeted to support data rates of up to 10Mbit/sec with increased flexibility for easy system extension and the dynamic use of bandwidth. The 10Mbit/sec data rate is available on two channels, giving a gross data rate of up to 20Mbit/sec"

Компоненты есть у Fujitsu -- http://mcu.emea.fujitsu.com/mcu_product/overview_FlexRay.htm

Цитата(Mos @ Mar 20 2007, 04:58) *
(или хотябы 2)

Пускал на MB90-х "на столе" такую скорость - работает, в доках это не запрещено. Поэтому если так уж хочется, то можно wink.gif
Mos
2 Andy Mozzhevilov:
Всё. Теперь понятно (заглянул в бук.итеп.ру).
Спасибо.

2 spf:
Да, я ознакомился (оччень поверхностно) с ФР. Хотя и (только на мой взгляд) немного не благозвучное название, но характеристики радуют и привлекают.
Но:
1) Не так легко, особенно в Украине, достать компоненты sad.gif (хотя для серъёзного проекта - это не препятствие, другое дело - выбить эти компоненты для учебных целей, да к ним ещё и Эволюшин Кит);
2) Ещё не у каждой бабки в огороде используется Флекс Рей (мало публикаций, технология на заре) - может стоит приглядеться, а потом уж...
3) Не видел ещё компонентов промышленной автоматизации (а мои задачи связанны с ней) на Ф-Рее.
Понятно, что всё это ещё придёт, но не через пол-года - год.

За инфу спасибо. Надо будет и мне у себя на столе собрать такую сеть, а потом потестить её в поле.
rezident
FlexRay в автомобилях используют. В промышленной автоматике не слышал, чтобы его применяли.
spf
Цитата(rezident @ Mar 20 2007, 19:44) *
FlexRay в автомобилях используют. В промышленной автоматике не слышал, чтобы его применяли.

Не будем забывать что CAN тоже разрабатывался для автомобилей wink.gif
А когда пощупали его чудные возможности, то стали применять шире.
Если кому-то потребуется высокая скорость и надежность то и FlexRay можно применять, не вижу препятствий. Отдельный контроллер (как SJA1000 для CAN) есть, есть и МК со встроенным FlexRay.
Стоить сеть будет дороже чем теперешний CAN, но и CAN на своей заре был дорогим.
Mos
Цитата(rezident @ Mar 20 2007, 16:44) *
FlexRay в автомобилях используют. В промышленной автоматике не слышал, чтобы его применяли.


Да, я где-то видел фотку бэхи с ФР.

Цитата(spf @ Mar 20 2007, 19:50) *
Не будем забывать что CAN тоже разрабатывался для автомобилей wink.gif
А когда пощупали его чудные возможности, то стали применять шире.
Если кому-то потребуется высокая скорость и надежность то и FlexRay можно применять, не вижу препятствий. Отдельный контроллер (как SJA1000 для CAN) есть, есть и МК со встроенным FlexRay.
Стоить сеть будет дороже чем теперешний CAN, но и CAN на своей заре был дорогим.

Полностью согласен, но вынужден признать, что ФР ещё имеет слишком мало внедрений (напр. чем КЭН) и -> оччень мало производителей чипов его поддерживают. (хотя на сколько я понял ему еже ~5 лет)
spf
Цитата(Mos @ Mar 21 2007, 15:24) *
и -> оччень мало производителей чипов его поддерживают.

Если погуглить то можно найти достаточно много, причем у серьезных производителей - NEC, Freescale, Fujitsu, Philips, Renesas... Другой вопрос что они еще не так распространены.
Mos
А MCP2515 можно тактировать на 40 МГц, что при наименьшем делителе даёт 2 Мегабита!
А ЫНТЭЛовскому позор! - Тактируется на 16МГц, за 1-такт - 2 инструкции, итого - 1.66 Мегабит.
А ведь за 5-и кратную цену, можно было бы...
spf
Цитата(Mos @ May 17 2007, 05:44) *
А MCP2515 можно тактировать на 40 МГц, что при наименьшем делителе даёт 2 Мегабита!

Fujitsu на 16 МГц дает 2 Мб.
Цитата
А ЫНТЭЛовскому позор! - Тактируется на 16МГц, за 1-такт - 2 инструкции, итого - 1.66 Мегабит.

О чем речь?
Какие могут быть инструкции в CAN'е?
Mos
Цитата(spf @ May 17 2007, 02:17) *
Fujitsu на 16 МГц дает 2 Мб.

Вы этот фудж за 1.4 евро купите?

Цитата(spf @ May 17 2007, 02:17) *
Какие могут быть инструкции в CAN'е?
О чем речь?

В кэне - инкаких, а в кэновском микроконтроллере - какието.
Для работы с каналом, максимальный битрейт данных в котором =Ф, необходима частота дискретизации >= 2Ф (с) Шеннон-Котельников. -> При максиальной частоте кристалла для Ынтела в 16 МГц, скорость в 1.6МБит можно получить только выполняя ДВЕ МАШИННЫЕ ИНСТРУКЦИИ за 1 такт кристалла.
А фудж, кстати, за 1 такт кристалла выполняет 4 инструкции.
spf
Цитата(Mos @ May 20 2007, 03:39) *
Вы этот фудж за 1.4 евро купите?

Нет, т.к. нет отдельных контроллеров, только на борту у МК.
Цитата
В кэне - инкаких, а в кэновском микроконтроллере - какието.
Для работы с каналом, максимальный битрейт данных в котором =Ф, необходима частота дискретизации >= 2Ф (с) Шеннон-Котельников. -> При максиальной частоте кристалла для Ынтела в 16 МГц, скорость в 1.6МБит можно получить только выполняя ДВЕ МАШИННЫЕ ИНСТРУКЦИИ за 1 такт кристалла.

Так и не могу понять о каких-таких высших материях идет речь.
Пока какой-то суп из "Ынтеля", машинных инструкций и имен теоретиков. Что к CAN не имеет никакого отношения.
Цитата
А фудж, кстати, за 1 такт кристалла выполняет 4 инструкции.

Это в каком документе такое написано?
У МК Fujitsu нет понятия "такт кристалла". cranky.gif
Есть такты у ядра процессора, внешней шины, CAN контроллера, периферии...
Mos
Предлагаю прекратить не сильно конструктивный диалог этим сообщением.
Andy Mozzhevilov
Цитата(Mos @ May 20 2007, 03:39) *
В кэне - инкаких, а в кэновском микроконтроллере - какието.
Для работы с каналом, максимальный битрейт данных в котором =Ф, необходима частота дискретизации >= 2Ф (с) Шеннон-Котельников. -> При максиальной частоте кристалла для Ынтела в 16 МГц, скорость в 1.6МБит можно получить только выполняя ДВЕ МАШИННЫЕ ИНСТРУКЦИИ за 1 такт кристалла.


Смешно, но вроде уже не 1-е апреля?
Mos
Цитата(Andy Mozzhevilov @ May 21 2007, 05:14) *
Смешно...

Почему только Вам?
spf
Цитата(Mos @ Jun 3 2007, 02:45) *
Почему только Вам?

Остальным просто лень писать... и так понятно что тот суп не имеет смысла продолжать обсуждать.
slimjack
По поводу FlexRay. Уже очень даже доступны в Украине драйвера но никто не хочет продавать контроллеры с FR или stand-alone FR контроллеры. Очень скупая информация в интернете по этому протоколу (если сравнивать с CAN).

И у меня такой вопрос. Шина M-LVDS Type-2 (вроде техасовская фишка), как я понял, позволяет реализовать доминантное и рецессивное состояние шины, т.е. неразрушающий арбитраж. Т.е. как бы имеем физическую среду для CAN с большими скоростями (хотя расстояние небольшое, но лично в моем случае и 5 м хватит). Но как теперь заставить CAN контроллер работать, например, на 10 МГц?
Собираюсь освоить TMS320f28335 - в доке пишут, что CAN до 1 Мбит (подробно еще не изучил).
Как вариант, можно использовать какойнить шустрый контроллер с программным CAN, но где взять этот софтовый CAN?
bookevg
Цитата(slimjack @ Sep 10 2010, 00:27) *
И у меня такой вопрос. Шина M-LVDS Type-2 (вроде техасовская фишка), как я понял, позволяет реализовать доминантное и рецессивное состояние шины, т.е. неразрушающий арбитраж. Т.е. как бы имеем физическую среду для CAN с большими скоростями (хотя расстояние небольшое, но лично в моем случае и 5 м хватит). Но как теперь заставить CAN контроллер работать, например, на 10 МГц?

Скиньте ссылку на драйвер. Кроме того, в драйвере д.б. защита от зависания контроллера, т.е. если он долго хочет нули передавать.

Цитата(slimjack @ Sep 10 2010, 00:27) *
Собираюсь освоить TMS320f28335 - в доке пишут, что CAN до 1 Мбит (подробно еще не изучил).Как вариант, можно использовать какой нить шустрый контроллер с программным CAN, но где взять этот софтовый CAN?

Если инфа про драйвер будет верна, то придется все делать на FPGA и как минимум 2-3кяч на реализация CAN
slimjack
http://focus.ti.com/docs/prod/folders/print/sn65mlvd040.html

Где-то в апноутах NI предлагается входы передатчиков подтянуть навсегда к единице, а данные подавать на вход разрешения передатчиков. При этом если передается логический ноль, передатчик отключается и диф. напр. равно 0, что для приемников Типа 2 означает логический ноль (для приемников Типа 1 - это неопределенное состояние).
KRS
Цитата(slimjack @ Sep 10 2010, 00:27) *
Как вариант, можно использовать какойнить шустрый контроллер с программным CAN, но где взять этот софтовый CAN?

Вообще то в настройках CAN модуля обычно есть прескалер частоты и длина бита в тактах TSEG1 + TSEG2 + 1 (или немного другие). Никто не мешает выставить скорость выше 1 Мбита! Вопрос в том насколько стабильно будет работать!
Мы пробовали на 3 Мбита - работает. Но эксперимент был не чистый!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.