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

 
 
 
Reply to this topicStart new topic
> Согласование RS-485, RS-485 -> CAN
ykatkov
сообщение Jun 25 2011, 07:58
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 24-05-10
Пользователь №: 57 489



Есть система, топология системы организована по типу "звезда". В центре - приемопередатчик RS-485, на концах лучей (до 200 м) приемопередатчики CAN (до 25 "лучей"). Терминаторы не используются ни в центре (RS-485), ни на концах лучей (CAN). Скорость передачи 19200.

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

Вопросы:

1. На сколько реально использовать топологию "звезда" при скорости 19200? Сильно ли сказывается несогласованность линии?
2. На сколько правильно подсоединсть CAN к RS-485 напрямую? Наскольео я понимаю, доминантные состояния CAN и 485 совпадают. При передаче рецесивном состоянии CAN приемопередатчик 485 сам подтягивает линию в свое рецесивное состояние (как будто линия не нагружена). При передачи рецесивного состояния 485, CAN такую разность потенциалов на линии тоже воспримет как рецесивное состояние и всё будет отлично работать.
3. Как правильно было бы переделать CAN в RS-485?

Спасибо!
Go to the top of the page
 
+Quote Post
V_G
сообщение Jun 25 2011, 08:16
Сообщение #2


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

Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955



1. На скорости 19200 можно делать топологию "звезда", но не стоит передавать данные на 200 м.
2. Помимо аппаратных спецификаций, СAN имеет довольно сложную программную реализацию, т.е. просто побайтная передача в CAN невозможна, а в RS-485 вполне пройдет.
3. Правильная переделка CAN в RS-485 состоит в полном выбрасывании CAN-интерфейса (и аппаратного, и программного) и в замене его на RS-485.
4. Если же действительно доминантные-рецессивные состояния совпадают (не проверял, но может быть), есть смысл попробовать переделать софт центрального приемопередатчика на кан-стандарт

Сообщение отредактировал V_G - Jun 25 2011, 08:17
Go to the top of the page
 
+Quote Post
=AK=
сообщение Jun 25 2011, 08:40
Сообщение #3


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(ykatkov @ Jun 25 2011, 17:28) *
1. На сколько реально использовать топологию "звезда" при скорости 19200? Сильно ли сказывается несогласованность линии?

Дык, прикиньте сами. Положим, крайний узел посылает данные в центр. Сигнал пройдет через 200 м кабеля примерно за 1 мкс. Еще через 1 мкс он дойдет до другого крайнего узла, отразится от него и еще черз 1 мкс вернется в центр. Таким образом, через 2 мкс после того, как центр впервые "услышит" сигнал, он будет сильно загажен звоном, который, однако, будет со временем постепенно стихать.

Длительность бит-интервала на 19200 равна 52 мкс. Для приема наиболее критично, каков сигнал в середине бит-интервала, т.е. через 26 мкс. За это время первоначальный "звон" успеет обернуться тудым-сюдым 13 раз и за счет этого должен более-менее успокоиться и придти в норму.

Чтобы за 13 отражений сигнал утихнул как можно более, хорошо бы ввести в линию искусственное затухание, которое забирало бы часть энергии при каждом проходе эхо-сигнала. Понятно, что на концах линий нельзя ставить "настоящие" поглотители (т.е. терминаторы с сопротивлением, равным волновому сопротивлению кабеля), поскольку этих концов концов слишком много, а драйвер RS-485 рассчитан всего на 2 таких терминатора.

Однако, "за неимением гербовой - пишем на простой" (с). Раз нельзя поставить "правильные" терминаторы, то надо поставить такие, какие сможет потянуть драйвер. Ведь даже неполноценный терминатор лучше, чем никакого - он хоть и не полностью поглотит всю энергию, однако хоть сколько-то поглотит, так что после 13-го отражения, в центре бит-интервала, сигнал будет очень даже нормальным.

А посему, надо на конце каждого луча поставить "недотерминатор" сопротивлением 50R*25 = 1.2k, и будет вам щастье. sm.gif

Цитата(ykatkov @ Jun 25 2011, 17:28) *
Наскольео я понимаю, доминантные состояния CAN и 485 совпадают.

Насколько я понимаю, в RS-485 ни доминантного, ни рецессивного состояния нет. А какой уровень перетянет при столкновении выходов - это как уж фишка ляжет для конкретной пары передатчиков.
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение Jun 25 2011, 14:46
Сообщение #4


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Цитата(=AK= @ Jun 25 2011, 11:40) *
Насколько я понимаю, в RS-485 ни доминантного, ни рецессивного состояния нет.

В "чистом" RS-485 - нет. А в созданном на его основе J1708 - есть...
Go to the top of the page
 
+Quote Post
=AK=
сообщение Jun 25 2011, 20:31
Сообщение #5


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(HARMHARM @ Jun 26 2011, 00:16) *
на его основе J1708

А, предтеча CAN. От RS-485 в нем то, что используются те же приемопередатчики. Однако они работают в режиме "открытого коллектора", что делает J1708 подверженным помехам.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:35
Рейтинг@Mail.ru


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