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

 
 
> Организация сетевого обмена на AT90S8515, Построение локальной сети микроконтроллеров
nelord
сообщение Jun 2 2008, 13:20
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 5-11-07
Пользователь №: 32 068



Здравствуйте!
Подскажите как лучше реализовать сетевой обмен между МК, если имеется следующие требования:
- обмен по последовательному каналу (планирую использовать UART + MAX232);
- число абонентов от 1 до 16;
- возможность горячего подключения/отключения абонентов;
- длина передаваемого сообщения данных / команд не более 64 байт.

Сетевой обмен будет макетироваться на STK500 и моделироваться в Proteus'е.
Есть ряд вопросов по реализации:
- следует ли реализовывать некое подобие Ethernet, TokenRing, HDLC?
- как следует осуществлять квитирование? (для связи будет использоваться нуль-модемный кабель (RS-232C, COM (DB-9M)))
- будут ли программно доступны линии спецификации RS-232C (9-контактов), кроме TxD/RxD/GND? Есть подозрения, что они будут недоступны. Поясню, планировал использовать ряд линий как запрос на конфигурирование сети и быстрый ответ на передачу данных (принято без/с ошибками), без них же будет затруднительно это реализовать.

Полагаю использовать преамбулу в 2 байта + 2 байта, определяющие тип передачи, + 2 байта CRC16. Думаю, что имеет смысл реализовать некоторый набор стандартных команд-пакетов, например опрос статуса и т.д. По-началу хотел реализовать детерминированный доступ к каналу - в духе TokenRing, однако сейчас в недоумении, как организовать выбор монитора (резервного монитора) из всех МК, а также организовать обход абонента, которому нечего передавать и/или передача адресована не ему, - это для сокращения временных задержек, связанных с приемом, а затем перепередачей данных. Сейчас же в раздумьях, как это можно сделать, чтобы потом была возможность выполнить макетирование на STK500.

Подскажите, пожалуйста, как решить вышеописанные вопросы. Заранее благодарен.

В догонку, есть еще одно требование - реализовать "средства (аппаратные и программные), обеспечивающие контроль работы канала связи с помощью пульта оператора в режиме диагностики, предусмотрев централизованное управление всеми транзакциями по командам оператора", следует ли на этой плате ставить дополнительную ИМС памяти (для приемного буфера), если да, то какого объема лучше? Для индикации будет использован цифро-буквенный ЖКИ типа LM041L/LM044L.

P.S.: также было высказано "требование-пожелание" - программы должны быть написаны на ассемблере (это несколько огорчило... smile3009.gif ).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Qwertty
сообщение Jun 2 2008, 13:45
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527



Цитата(nelord @ Jun 2 2008, 17:20) *
Здравствуйте!
Подскажите как лучше реализовать сетевой обмен между МК, если имеется следующие требования:
...

MAX232 (как и RS232 вообще) не предназначена для построения сетей. ИМХО Ваш выбор - RS485 и что-то типа max483.
AT90S8515 - странный выбор,контроллер не производится лет 5.
Про Протеус лучше забыть, в нем хорошо только игрушки отлаживать.
Линий кроме RXD и TXD у AVR нет. Если нужны следует выбрать другой контроллер, например AT91SAM7S128.
Протоколов много стандартных - MODBUS, WAKE, или на их основе изобретайте свое.
Курсовик? smile.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 2 2008, 15:32
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Qwertty @ Jun 2 2008, 16:45) *
Линий кроме RXD и TXD у AVR нет. Если нужны следует выбрать другой контроллер, например AT91SAM7S128.

Зачем? Берем любые GPIO и называем их так как надо.

Цитата
Какой из предложенных протоколов лучше выбрать: MODBUS или WAKE?

Я бы выбрал modbus.

Цитата
следует ли на этой плате ставить дополнительную ИМС памяти (для приемного буфера), если да, то какого объема лучше?

Я бы ставил 8-32kB (корпуса/сигналы одинаковые), но "не для приемного буфера", а для комфортной работы. Т.е. подключить эту память по шине и использовать также как и внутреннюю - если надо под стек, под переменные и проч.
Чип m162 или m128 (с внешней шиной и с JTAG'ом для отладки).
Go to the top of the page
 
+Quote Post
nelord
сообщение Jun 2 2008, 16:20
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 5-11-07
Пользователь №: 32 068



Цитата(defunct @ Jun 2 2008, 19:32) *
Зачем? Берем любые GPIO и называем их так как надо.
Я бы выбрал modbus.
Я бы ставил 8-32kB (корпуса/сигналы одинаковые), но "не для приемного буфера", а для комфортной работы. Т.е. подключить эту память по шине и использовать также как и внутреннюю - если надо под стек, под переменные и проч.
Чип m162 или m128 (с внешней шиной и с JTAG'ом для отладки).


Разумеется, что можно использовать любой I/O вывод, вопрос был относительно поддержки физической коммутации этих выводом с разъемом DB-9M на плате STK500, в документации для указанной коммутации есть только "RS232 SPARE", то есть TxD/RxD + GND

Описание спецификации modbus нашел следующее, если кому быть может понадобится:
http://www.idom.ru/files/Schneider/Info/Ne.../Modbus_Rus.Doc

Также вопрос: почему RS-485 лучше, чем RS-232, как я понял почитав по следующим ссылкам:
Цитата

он отличается только в передаче по дифференциальной паре, то есть лучше применим для сетей с удаленными абонентами + лучше помехозащищен.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 2 2008, 17:26
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(nelord @ Jun 2 2008, 19:20) *
Разумеется, что можно использовать любой I/O вывод, вопрос был относительно поддержки физической коммутации этих выводом с разъемом DB-9M на плате STK500, в документации для указанной коммутации есть только "RS232 SPARE", то есть TxD/RxD + GND

Дык в чем вопрос? Подведите требуемые линии к разъему.
Всяко проще чем переходить к совсем другим платформам.

Цитата
Также вопрос: почему RS-485 лучше, чем RS-232, как я понял почитав по следующим ссылкам:
он отличается только в передаче по дифференциальной паре, то есть лучше применим для сетей с удаленными абонентами + лучше помехозащищен.

1. 2.5км дальность сегмента.
2. можно подключать до 32-х устройств к одной шине из двух проводов.

Он не лучше применим, он создан для сетевых решений, в то время как 232-й это соединение точка-точка и к сетевым решениям не применим вообще.
Go to the top of the page
 
+Quote Post
nelord
сообщение Jun 3 2008, 06:49
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 5-11-07
Пользователь №: 32 068



Цитата(defunct @ Jun 2 2008, 21:26) *
... 232-й это соединение точка-точка и к сетевым решениям не применим вообще.


Согласен, что соединение - точка-точка, что же мешает соединить всех абонентов следующим образом: TxD(n-1)-RxD(n), n=1, ... N-1; TxD(N-1)-RxD(0). Организовав таким образом кольцо связями точка-точка.

Сейчас у меня остался вопрос, как организовать доступ к каналу, если не обходимо поддерживать горячее подключение. Поясню - имеется активный монитор (при чем как отдавать предпочтение одному абоненту не очевидно), возможно что включат новых абонентов, несконфигурированных для работы в сети, или же выключат станцию-монитора. То есть нужно организовать что-то вроде MAC (Media Access Control) канального уровня модели OSI.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jun 3 2008, 06:59
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(nelord @ Jun 3 2008, 09:49) *
Согласен, что соединение - точка-точка, что же мешает соединить всех абонентов следующим образом: TxD(n-1)-RxD(n), n=1, ... N-1; TxD(N-1)-RxD(0). Организовав таким образом кольцо связями точка-точка.

1. Мазохизм 2. Потеря быстродействия. 3. Потеря надежности.

Цитата(nelord @ Jun 3 2008, 09:49) *
Сейчас у меня остался вопрос, как организовать доступ к каналу, если не обходимо поддерживать горячее подключение. Поясню - имеется активный монитор (при чем как отдавать предпочтение одному абоненту не очевидно), возможно что включат новых абонентов, несконфигурированных для работы в сети, или же выключат станцию-монитора. То есть нужно организовать что-то вроде MAC (Media Access Control) канального уровня модели OSI.

Сессия скоро, что, MAC в задании записан?
Даже если записан, пишем, что объединяем этот уровень со следующим и вводим адресацию на перемычках. Хочешь подключиться - сконфигурируй перемычки.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- nelord   Организация сетевого обмена на AT90S8515   Jun 2 2008, 13:20
||- - nelord   Цитата(Dog Pawlowa @ Jun 3 2008, 10:59) M...   Jun 3 2008, 08:51
||- - Dog Pawlowa   Цитата(nelord @ Jun 3 2008, 11:51) ... Ад...   Jun 3 2008, 09:35
||- - nelord   Цитата(Dog Pawlowa @ Jun 3 2008, 13:35) К...   Jun 3 2008, 10:13
||- - Dog Pawlowa   Цитата(nelord @ Jun 3 2008, 13:13) Хочу в...   Jun 3 2008, 10:46
||- - galjoen   Цитата(Dog Pawlowa @ Jun 3 2008, 14:46) П...   Jun 3 2008, 11:35
||- - defunct   Цитата(galjoen @ Jun 3 2008, 14:35) Напри...   Jun 3 2008, 12:00
|||- - galjoen   Цитата(defunct @ Jun 3 2008, 16:00) Ниско...   Jun 3 2008, 12:45
|||- - Dog Pawlowa   Цитата(galjoen @ Jun 3 2008, 15:45) 2 ...   Jun 3 2008, 13:16
||- - Т.Достоевский   Цитата(galjoen @ Jun 3 2008, 15:35) А воо...   Jun 5 2008, 20:33
||- - galjoen   Цитата(Т.Достоевский @ Jun 6 2008, 00:33)...   Jun 6 2008, 14:53
||- - nelord   Цитата(galjoen @ Jun 6 2008, 18:53) ... П...   Jun 8 2008, 15:00
||- - Dog Pawlowa   Цитата(nelord @ Jun 8 2008, 18:00) Тут на...   Jun 8 2008, 20:12
||- - galjoen   Цитата(Dog Pawlowa @ Jun 9 2008, 00:12) П...   Jun 9 2008, 14:23
||- - Dog Pawlowa   Цитата(galjoen @ Jun 9 2008, 17:23) Все,...   Jun 9 2008, 15:21
||- - nelord   Цитата(galjoen @ Jun 9 2008, 18:23) Вы ка...   Jun 9 2008, 18:23
|- - VladimirYU   [quote name='nelord' date='Jun 3 2008,...   Jun 3 2008, 07:25
- - nelord   Именно, курсовик. Свой уже сдал, попросили сделать...   Jun 2 2008, 14:23
- - Kuzmi4   2 nelord - на счёт модбаза - где то сдесь и исходн...   Jun 2 2008, 15:40
- - Kuzmi4   2 Dog Pawlowa - с его проводом занятости просто на...   Jun 3 2008, 10:56
|- - Dog Pawlowa   Цитата(Kuzmi4 @ Jun 3 2008, 13:56) 2 Dog ...   Jun 3 2008, 11:11
|- - nelord   Цитата(Kuzmi4 @ Jun 3 2008, 14:56) 2 nelo...   Jun 3 2008, 11:35
|- - nelord   Цитата(Kuzmi4 @ Jun 3 2008, 14:56) 2 nelo...   Jun 3 2008, 12:01
|- - defunct   Цитата(nelord @ Jun 3 2008, 15:01) Хотел ...   Jun 3 2008, 12:13
- - MrYuran   Огласите пжалста, весь список! То есть, задани...   Jun 3 2008, 11:00
- - Qwertty   Упс - два раза вставилось..   Jun 3 2008, 11:35
- - Qwertty   Просто мысль - для курсовика экономика не важна, м...   Jun 3 2008, 11:35
- - nelord   Спасибо большое за помощь. С этим я разобрался, но...   Jun 3 2008, 12:20
|- - Dog Pawlowa   Цитата(nelord @ Jun 3 2008, 15:20) Спасиб...   Jun 3 2008, 12:26
- - Kuzmi4   2 nelord - а здесь пробовали искать http://electro...   Jun 3 2008, 12:20
- - nelord   Попутно возник еще один вопрос, при детальном анал...   Jun 8 2008, 16:32
- - vet   Цитата(nelord @ Jun 8 2008, 20:32) Попутн...   Jun 9 2008, 04:54


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

 


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


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