Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как организовать кольцо RS-485?  (Прочитано 12015 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Lukich
Гость
« : 24-08-2006 17:49 » 

Народ, подскажите, где можно ознакомиться с принципами замыкания в кольцо линии RS-485. Интересуют алгоритмы информационного обмена, особенности аппаратной реализации и какие возникают проблемы. На первый взгляд задача сдается мне неподъемной. Но ведь применений – масса! Не понял
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 24-08-2006 20:10 » 

Если я правильно понимаю, о чём речь, то требуется собрать кольцо, в котором каждый узел может выполнять функции приёмника и/или передатчика и/или транзитного узла. Программно такие сети часто строят на базе протоколов с так называемой "передачей маркера", примером которых является Token Ring. Поищи материалы на тему "сети с передачей маркера" - там найдёшь алгоритмы и общее описание принципов. По аппаратной части ничего не скажу - не знаю.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Lukich
Гость
« Ответ #2 : 25-08-2006 13:50 » 

Поищи материалы на тему "сети с передачей маркера"...
Спапсибо! Только не понял где поискать - в инете, или где поближе? 
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 25-08-2006 15:40 » 

Цитата: Lukich
Только не понял где поискать - в инете, или где поближе?
Поближе к этому форуму не знаю.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 25-08-2006 18:09 » 

Данный интерфейс 4-х проводный и функционирует по принципу 1 ведущий - много ведомых. Какое из этого можно сделать кольцо?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Lukich
Гость
« Ответ #5 : 30-08-2006 17:27 » 

Моя задача сводится к построению физической линии типа «кольцо», но на основе RS485. Во всяком случае в аппаратной части.
Если представить себе такую картину. Каждый абонент (репитер) представляет собой два приемопередатчика, работающих на разные сегменты линии, и заранее определено направление передачи для штатного функционирования кольца, скажем, по часовой стрелке. Передача – мгновенная, что на входе, то и на выходе. С набегом фазы по кольцу для 9.6 КБод, наверное, справиться можно. Что тут противоречит стандарту RS485? Остается только придумать, как отрабатывать нештатные ситуации разрыва кольца в произвольном месте (обрыв, КЗ, выход из строя абонента). В этом случае придется играть с изменением направления передачи каждым абонентом.
   Другим способом могла бы быть передача пакетов информации по эстафете, т.е. не в реальном времени, а если принял слева – то передал направо и наоборот. Ведущий шины принимает с обеих сторон и передает в обе стороны. Но тут должно быть ограничение – все ведомые адресуют свои посылки только ведущему. А ведущий передает только свои посылки. Здесь, к тому же, огромные временные потери, ограничивающие число адресных устройств.
   А может быть есть еще какие идеи? Или даже что-то уже подобное сделал?
Очень интересно!
 Улыбаюсь)
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 30-08-2006 18:37 » 

Цитата: Luckich
Моя задача сводится к построению физической линии типа "кольцо", но на основе RS485. Во всяком случае в аппаратной части.
Это физический уровень. А далее описываются такие вещи, как напрвление передачи, смена направления в случае ошибки и т.п... Если я правильно понимаю, RS-485 представляет собой развитие RS-232, работает на бОльшие расстояния на бОльших скоростях, более помехоустойчив и т.п. Между тем с точки зрения вычислительного узла он как был COM-портом, так им и остался (с некоторыми модификациями). Это означает, что контроллер интерфейса обеспечивает работу лишь физического уровня: собственно передачу данных, управление коллизиями при попытке одновременного начала передачи с разных сторон и т.п. вещи. "Мгновенная" пересылка с порта на порт внутри узла, выбор направления передачи, протокол передачи - это уже канальный уровень, реализуемый программно. Лучше не смешивать разные уровни организации сети.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 30-08-2006 21:44 » new

Lukich, рекомендую I2C - намного более простая шина и на коротких растояниях допускается до 400кбит/с. Нижний порог не лимитирован. Причем, передача не тактирована строго и скорость автоматом синхронизируется с возможностями передающего и принимающего. Протокол передачи простой (3 провода, TTL) и часто встречается встроенный в МК интерфейс.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines