|
Помогите выбрать протокол, куда копать? |
|
|
|
Mar 20 2008, 15:32
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Ситуация такая: есть коробочка, на которой стоит оптический излучатель, а рядом с ним приемник. Есть вторая такая коробочка, которая относится на растояние до 30м и разворачивается (т.е. излучатель напротив приемника). Одна коробочка знает, что она передатчик, а вторая - что она приемник. Требуется, чтоб по нажатию кнопочки передатчик передал на приемник несколько сотен мегабайт. Скорость передачи в условиях прямой видимости желательно хотя бы 16 мегабит, лучше 20. Естественно, между коробочками могут проходить люди, коробочки могут трястись в руках у операторов - вообщем, могут возникать проблемы в канале, после которых нужно восстанавливать передачу. В целом, вроде ситуация ясна. Внутри коробочек стоит циклон2, для которого оптический приемник и излучатель - два провода, rx и tx. Мне, соответственно, требуется разработать схему, которая обеспечит работоспособность, выбрать (придумать) протокол и реализовать. Подскажите, на какие стандартные протоколы в такой ситуации можно посмотреть, на что опираться? Какие могут быть готовые или окологотовые решения?
|
|
|
|
|
Mar 20 2008, 19:56
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(Kuzmi4 @ Mar 20 2008, 18:48)  а чем MODBUS или PROFIBUS не подходят ? На данный момент они не подходят тем, что я их не знаю.  Собственно в этом и вопрос - какой протокол брать и изучать, дабы не тратить время ни на изучение априорно неподходящих, ни на изобретение велосипеда. Цитата(mdmitry @ Mar 20 2008, 20:25)  Можно использовать протоколы передачи файлов (xmodem, xymodem, zmodem и масса других) Надо определить необходимую вычислительную мощность управляющего контроллера для организации протокола. Хм. Про модемные протоколы я и не подумал. А они тут подходят? По вычислительной мощности - там стоит второй циклон, в котором еще около 10000 свободных элементов.
|
|
|
|
|
Mar 22 2008, 12:38
|

Участник

Группа: Свой
Сообщений: 61
Регистрация: 31-07-07
Из: Москва
Пользователь №: 29 490

|
Думаю можно использовать старый, добрый протокол канала Манчестер (MIL-STD 1553), ну возможно в упрощенной форме, т.к. абонентов только 2.
--------------------
Обойденные грабли - недополученный опыт!
|
|
|
|
|
Mar 23 2008, 11:24
|
Знающий
   
Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997

|
Цитата(AndruB @ Mar 22 2008, 15:38)  Думаю можно использовать старый, добрый протокол канала Манчестер (MIL-STD 1553), ну возможно в упрощенной форме, т.к. абонентов только 2. Вот. А можно поподробней. Манчестер, как я понимаю - принцип передачи бита информации в канале через перепад уровня. Хорош тем, что требует тактовку всего в два раза больше тактовки данных. Т.е. любой протокол можно построить с использованием манчестера, правильно? Сейчас глянул вкратце описание MIL-STD 1553, там написано, что до 1Mбита. А надо 16.  Получится ли легко модифицировать этот протокол до 16 мегабит? Плюс, пишут, что алгоритм весьма сложен в реализации. Нет ли чего попроще, что можно сделать с использованием манчестера?
|
|
|
|
|
Mar 23 2008, 17:38
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Вообще, если одна коробка - передатчик, а другая - приёмник, то нет никакой возможности в случае сбоя канала (например, кто-то пересёк своим телом информационный луч) сообщить передающей стороне об этом. Как собираетесь выкручиваться?
На приёмной стороне сбой можно определить по CRC, но толку от этого мало, если нельзя переспросить запорченный блок.
Манчестер - это не протокол, а способ кодирования информации (кстати очень надёжный и легко реализуемый)
MIL STD 1553 - это протокол мультиплексного канала (один хост, много оконечников)
ИМХО, не имеет смысла говорить о каком-то протоколе, пока нет обратного канала (или он есть, но я как всегда чего-то не понял?)
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Mar 24 2008, 07:32
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 21-02-06
Пользователь №: 14 561

|
Цитата(MrYuran @ Mar 24 2008, 08:46)  А обмен между компами идёт? или между какими-т о железными коробочками? Если между компами, то проще всего поставить с каждой стороны преобразователь Ethernet (какой-нить простой Риалтек) и получится прозрачный канал Ethernet (только по оптике). Иначе - HDLC (канальный уровень) или TCP. А достоверность передачи и перезапросы - на уровне приложений Хотя если точка-точка, то можно любой самопальный протокол придумать, главное, задокументировать как следует. ...HDLC - это протокол управления протоколом канального уровня и он ни коим образом не сравним с TCP Цитата(RHnd @ Mar 20 2008, 18:32)  Подскажите, на какие стандартные протоколы в такой ситуации можно посмотреть, на что опираться? Какие могут быть готовые или окологотовые решения? ... в принципе подходит TCP/IP, ModBus вряд ли. Мне кажется Вам надо проработать подробнее вопрос обмена информацией: например, связь между "ящиками" должна быть постоянно или устанавливаться эпизодически? ... "ящики" равноправные или один из них ведущий, а другой подчиненный? А уже потом определяться с протоколом.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|