[image]

Некий вопрос знатокам электроники

 
BG Реконструктор #09.10.2003 18:37
+
-
edit
 
Подскажите, пожалуйста, как организовать двухпроводной интерфейс на базе RS232 между несколькими устройствами. Просьба сильно на меня не орать и матом не ругатся. Я тут придумал один вариант, но хочется послушать кто что думает.
   
RU Alesandro #09.10.2003 19:07
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
То есть не два устройства общаются? Это придётся арбитра городить. Топологию типа "звезда". Иначе никак. И лучше 232-й в 485-й протокол переводить.
То есть первым дело посылается запрос арбитру на связь с этим устройтов, если тот, кому идёт запрос, на занят, то их "соединить". Иначе - ждать.
   
BG Реконструктор #09.10.2003 19:21
+
-
edit
 
Alesandro, 09.10.2003 17:07:14:
То есть не два устройства общаются? Это придётся арбитра городить. Топологию типа "звезда". Иначе никак. И лучше 232-й в 485-й протокол переводить.
То есть первым дело посылается запрос арбитру на связь с этим устройтов, если тот, кому идёт запрос, на занят, то их "соединить". Иначе - ждать.
 

Да, арбитр подразумевается, конечно. Топология "звезда" невозможна, ибо арбитр имеет только отдин rs232 порт. Так что остаётся последовательное подсоединение. Основная проблема в этом случае - что делать, когда 2 или больше устройств хотят посылать данные одновременно. Я тут придумал 2 возможные решения:
1. На каждый пакет данных арбитр посылает подтверждение о их получении. Если подтверждения нет, то через некий (случайный) промежуток времени устройство повторяет попытку посылки. Этот вориант мне очень не нравится - коммуникации становятся слишком медленными.
2. Сделать "костыли" в виде добавления 2-х проводов (ессть такая возможность): один для запроса очистки линии и один для сигнала, что линия свободна. Недостаток варианта - более сложный "сетевой" интерфейс и ограниченое число (в случае до 8-ми) подсоединяемых устройств.
   
FR Alesandro #09.10.2003 19:33
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
В таком случае есть ещё один выход, при котором и арбитр не нужен: топология типа кольцо. Rx левого компа соединяется с Tx правого. Направление передачи по кольцу - только одно.
ну и как обычно в таких сетях - гуляет маркер, который либо показывается, что сеть свободна, либо содержит заголовок, кому и от кого пришёл пакет.
   

hcube

старожил
★★
двух или трех проводной, включая землю?

Если два физических провода - то... надо посмотреть схемку RS-232 и сделать очень просто - физически подключить все RXы к общей шине, а дополнительно поставить устройство - активатор TXа. За неимением лучшего - симисторный оптрон. Это надо сделать обязательно, потому что на TX в любом случае есть сигнал - или 0 или 1. Чтобы они не мешали - их надо отключать - переводить выход в Z-состояние. И подключить его светодиод к двум свободным выходам RS-232. После чего смотреть - ежели по RX что-то приходит - то ждем. Определить это можно если спаралелить RX скажем на DCD и сканировать состояние - как перестало дергаться вверх-вниз - значит данные пришли . Ну, и програмно сделать арбитр, который запрещает передачу если что-то принимаем. Получится полудуплексный канал топологии общая шина на двух физических проводах - земля и сигнальный . Собственно примерно так работает сетка на коаксиале, только там частоты повыше раз в 100 .

Вдогонку - кольцо, конечно, проще сделать . Но у меня на провод меньше и при передаче пакета задержка на ретрансляцию нулевая .
   
BG Реконструктор #10.10.2003 11:42
+
-
edit
 
au, 09.10.2003 17:28:34:
А обязательно нужен 232? А то техника не месте не стояла последние лет 30 Есть микролан (вроде) от Dallas/Maxim. Для начала
 

На МК есть только USART и SPI. Я думал о SPI, однако там коммуникации только синхронные, что меня не очень устраивает. Кроме того USART является дуплексным устройством, а SPI - нет (одна линия для приёма и передачи).
Ещё в AVR-ах USART имеет какой-то Multi-processor Communication mode, при включении которого произходит некая фильтрация данных (по адресу), однако пока я не намерен воспользоватся этой фичей.
   
BG Реконструктор #10.10.2003 11:59
+
-
edit
 
Alesandro, 09.10.2003 17:33:14:
В таком случае есть ещё один выход, при котором и арбитр не нужен: топология типа кольцо. Rx левого компа соединяется с Tx правого. Направление передачи по кольцу - только одно.
ну и как обычно в таких сетях - гуляет маркер, который либо показывается, что сеть свободна, либо содержит заголовок, кому и от кого пришёл пакет.
 

Нет, кольцо меня тоже не устраивает. Я хочу создать "универсальный расширяемый микроконтроллер". Постараюсь выяснить что это такое.
Значит, имеем, так сказать, материнскую плату. На ней установлены 3+n кроваток для МК. 3+n потому, что "пустая" система, ничего не делающая, имеет набор из целых 3 МК.
Значит, в первую кроватку втыкаем "исполняющий" модуль. Это МК с очень многими I/O пинами. Причем все они конфигурированы на Output. Роля модуля - подавать управляющие сигналы внешнему миру.
Второй модуль - собиратель информации с внешнего мира (противоположное первому). Все его ноги конфигурированы на вход, ещё он должен иметь некое количество АЦП.
Третий модуль - арбитр коммуникаций.
В остальных кроватках могут (ключевое слово, ради которого топология кольца не приемлима, так как физически кольца нет) помещаются модули логики.

Цель занятия - иметь универсальное управляющее устройство, функциональность которого можно расширать путём втыкания в него новых модулей.
   
BG Реконструктор #10.10.2003 12:04
+
-
edit
 
hcube, 09.10.2003 20:36:30:
двух или трех проводной, включая землю?
 

Ну, я ещё нигде не встречал документацию, в которой земля учитывается как носитель информации. Так что "2-х проводная коммуникация" - это такая коммуникация в которой носителями информации являются 2 провода.
   
BG Реконструктор #10.10.2003 12:07
+
-
edit
 
au, 10.10.2003 09:53:43:
Может стоит взглянуть на CAN? (controller area network) Есть МК с ним внутри, и есть отдельно чипы. Документация и прочие дела есть в сети, если надо — могу дать спецификацию (если не затерялась). Штука это не новая, отработанная, и специально для вашей задачи — связь между контроллерами.
 

Я слышал о CAN, но так и не понял как эта штука работает.
   
RU Alesandro #10.10.2003 12:07
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
>Resurrector>AVR-ах USART имеет какой-то Multi-processor Communication mode
Это, никак, уже в Мегах? В обычных не помню такого.
В защиту топологии кольца могу порекомендовать джампер, ставящийся рядом с первым же свободным слотом и замыкающим кольцо.

А так действительно, попробуйте Micro-LAN от Далласа-Максима, он же 1-wire. Но ме-е-едленно... Одно дело термометры считывать или ключи-"таблетки", другое - данными обмениваться...
   
BG Реконструктор #10.10.2003 12:11
+
-
edit
 
> джампер, ставящийся рядом с первым же свободным слотом и замыкающим кольцо. :)

Нда, джампер - это идея. Подумаю над этим...

>Но ме-е-едленно...

Примерная скорость?
   
RU Alesandro #10.10.2003 12:16
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
Примерная скорость - ну по спецификации минимальная длина тайм-слота 60 мкс. Это передача одного бита. Вот и получается, что предельная скорость около 16Кбит/сек. Но это в теории, а ведь там ещё и сброс по той же линии перед началом передачи ходит, по пол-миллисекунды длиной, плюс ещё нелёгкая процедура адресации - линия-то одна, а устройств много... Ну, 10 Кбит/сек где-то.
   
Это сообщение редактировалось 10.10.2003 в 15:53
+
-
edit
 
Resurrector, 09.10.2003 17:37:56:
Подскажите, пожалуйста, как организовать двухпроводной интерфейс на базе RS232 между несколькими устройствами. Просьба сильно на меня не орать и матом не ругатся. Я тут придумал один вариант, но хочется послушать кто что думает.
 

Не пробовал но вот тут:

Интернет-журнал «Мистер Вульф»

Информация о нашей встрече и это интервью, которое почти наверняка стало последним в его жизни, не должно было быть опубликовано. Я пообещал это Борису Березовскому. Живому. Когда видел его вчера. Теперь ситуация изменилась, я чувствую себя обязанным рассказать о встрече, которая была одной из последних в его жизни // www.iceinet.ru
 

есть интересная идея по теме сеть на комах
успех
цеци
 
RU Alesandro #10.10.2003 16:57
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
[ceci_:],10.10.2003 15:39:59
 

Угу, как раз то, что hcube предлагал.
Интересная сеть...
   
BG Реконструктор #10.10.2003 17:10
+
-
edit
 
[ceci_:],10.10.2003 13:39:59
Не пробовал но вот тут:

Интернет-журнал «Мистер Вульф»

Информация о нашей встрече и это интервью, которое почти наверняка стало последним в его жизни, не должно было быть опубликовано. Я пообещал это Борису Березовскому. Живому. Когда видел его вчера. Теперь ситуация изменилась, я чувствую себя обязанным рассказать о встрече, которая была одной из последних в его жизни // www.iceinet.ru
 

есть интересная идея по теме сеть на комах
успех
цеци
 

эээ, слишком сложно для меня. Более того, речь идет о сети МК.
   

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru