Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Странное поведение CAN-транссивера.
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Controller Area Network (CAN)
navy2000
Имеем сетку из 50...100 приборов на шине CAN. Драйвер PCA82C250. Скорость передачи около 10 кБит. Кабель - экранированная витая пара. Экран на каждом приборе подключается к земле прибора через 560 Ом. Общее расстояние линии примерно километр. Приборы собраны в две группы. Внутри групп расстояние меджу приборами около метра. По концам линии терминаторы 120 Ом. Связь устойчивая.
Собственно проблема:
При обрыве кабеля в любом месте внутри группы в оставшихся подсегментах связь не нарушается, но при обрыве длинного участка кабеля около одной из групп в другой (у которой остался длинный никуда не подключенный провод) связи нет. Причем, драйвер самовозбуждается и генерит треугольные импульсы. Связи нет во всей группе.
Провел эксперимент - нагрузил драйвер на емкость 150 нФ (почти эквивалент ненагруженного кабеля) эффект тот же, самовозбуждение.
Это PCA82C250 такой кривой, или в любой CAN-сети будет наблюдаться такой эффект? Идея была сделать живучую сеть, когда она рвется на сегменты, они (сегменты) продолжают работать автономно.
spf
Цитата(navy2000 @ Aug 27 2008, 13:55) *
Имеем сетку из 50...100 приборов на шине CAN. Драйвер PCA82C250. Скорость передачи около 10 кБит.

Так драйвер используется не по назначению, он же для 1 Мбита, для низких скоростей надо другие применять.
navy2000
Цитата(spf @ Aug 27 2008, 15:35) *
Так драйвер используется не по назначению, он же для 1 Мбита, для низких скоростей надо другие применять.

Каковы ваши рекомендации?
zltigo
Цитата(spf @ Aug 27 2008, 10:35) *
Так драйвер используется не по назначению, он же для 1 Мбита

Ой smile.gif некошерный. А кто-то из призводителей обещает что их драйвера будут нормально работать на нетерминированный кусок линии? А?
spf
Цитата(navy2000 @ Aug 27 2008, 17:10) *
Каковы ваши рекомендации?

http://www.kvaser.com/can/products/drivers.htm

Смотри "low speed" или "one wire".


Цитата(zltigo @ Aug 27 2008, 17:29) *
Ой smile.gif некошерный. А кто-то из призводителей обещает что их драйвера будут нормально работать на нетерминированный кусок линии? А?

Не исключено, что это обещали уже после того, как спекли дедушку 82c250 wink.gif
Linker
Цитата(navy2000 @ Aug 27 2008, 14:55) *
При обрыве кабеля в любом месте внутри группы в оставшихся подсегментах связь не нарушается, но при обрыве длинного участка кабеля около одной из групп в другой (у которой остался длинный никуда не подключенный провод) связи нет.

Версия zltigo по поводу потери "теминаторства" корректна. Хотя, живучесть CAN сети после обрыва кабеля одна из самых рекламируемых фишек. В автомобиле ведь может быть та же ситуация с обрывом и также один из терминаторов, а может и оба - могут оказаться на пораженных участках. И непонятно, почему идет генерация, да еще треугольная? А удалось определить, в каком именно из оставшихся приборов драйвер генерит? Может там какая-то локальная неисправность...Хорошо бы увидеть схему обвязки драйвера и его входные цепи со стороны кабеля.

Цитата(spf @ Aug 27 2008, 15:35) *
Так драйвер используется не по назначению, он же для 1 Мбита, для низких скоростей надо другие применять.

А из чего это следует? Насколько я понял, скорость определяется длиной линии:чем длинее линия, тем меньше скорость.
spf
Цитата(Linker @ Aug 27 2008, 20:37) *
Насколько я понял, скорость определяется длиной линии:чем длинее линия, тем меньше скорость.

Это требование функционирования самого CAN протокола. А согласование физики линии выполняется уже драйвером. Если бы было все замечательно (один и тот же драйвер работал на скоростях, отличающихся на два порядка и расстояния отличающиеся в 25 раз), то не изобретали бы драйвера для низких скоростей. wink.gif
Linker
Цитата(spf @ Aug 27 2008, 22:24) *
Это требование функционирования самого CAN протокола. А согласование физики линии выполняется уже драйвером. Если бы было все замечательно (один и тот же драйвер работал на скоростях, отличающихся на два порядка и расстояния отличающиеся в 25 раз), то не изобретали бы драйвера для низких скоростей. wink.gif

А драйвер для низких скоростей какие длины кабелей покрывает? И еще вопрос: нужны ли какие-то расчеты и дополнительные элементы (кроме терминаторов по 120 Ом) для согласования множества драйверов в сети в зависимости от их количества, длины линии, элементов молниезащиты, обвязки и т.д. Может есть какие-то методы определения степени согласованности линии? Я имею ввиду измерения на линии.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.