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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Помогите выбрать протокол, куда копать?
RHnd
сообщение Mar 20 2008, 15:32
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Ситуация такая: есть коробочка, на которой стоит оптический излучатель, а рядом с ним приемник. Есть вторая такая коробочка, которая относится на растояние до 30м и разворачивается (т.е. излучатель напротив приемника). Одна коробочка знает, что она передатчик, а вторая - что она приемник. Требуется, чтоб по нажатию кнопочки передатчик передал на приемник несколько сотен мегабайт. Скорость передачи в условиях прямой видимости желательно хотя бы 16 мегабит, лучше 20. Естественно, между коробочками могут проходить люди, коробочки могут трястись в руках у операторов - вообщем, могут возникать проблемы в канале, после которых нужно восстанавливать передачу. В целом, вроде ситуация ясна. Внутри коробочек стоит циклон2, для которого оптический приемник и излучатель - два провода, rx и tx.
Мне, соответственно, требуется разработать схему, которая обеспечит работоспособность, выбрать (придумать) протокол и реализовать.
Подскажите, на какие стандартные протоколы в такой ситуации можно посмотреть, на что опираться? Какие могут быть готовые или окологотовые решения?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Mar 20 2008, 15:48
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



а чем MODBUS или PROFIBUS не подходят ?

Вроде зарекомендовали себя уже давно...
PROFIBUS - воопсче злая вЭщ!
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Mar 20 2008, 17:25
Сообщение #3


Начинающий профессионал
*****

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



Можно использовать протоколы передачи файлов (xmodem, xymodem, zmodem и масса других)
Надо определить необходимую вычислительную мощность управляющего контроллера для организации протокола.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
RHnd
сообщение Mar 20 2008, 19:56
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Цитата(Kuzmi4 @ Mar 20 2008, 18:48) *
а чем MODBUS или PROFIBUS не подходят ?

На данный момент они не подходят тем, что я их не знаю. smile.gif Собственно в этом и вопрос - какой протокол брать и изучать, дабы не тратить время ни на изучение априорно неподходящих, ни на изобретение велосипеда.



Цитата(mdmitry @ Mar 20 2008, 20:25) *
Можно использовать протоколы передачи файлов (xmodem, xymodem, zmodem и масса других)
Надо определить необходимую вычислительную мощность управляющего контроллера для организации протокола.

Хм. Про модемные протоколы я и не подумал. А они тут подходят?

По вычислительной мощности - там стоит второй циклон, в котором еще около 10000 свободных элементов.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Mar 20 2008, 21:51
Сообщение #5


Начинающий профессионал
*****

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



Цитата(RHnd @ Mar 20 2008, 22:56) *
Хм. Про модемные протоколы я и не подумал. А они тут подходят?
По вычислительной мощности - там стоит второй циклон, в котором еще около 10000 свободных элементов.

Я не знаю возможности ПЛИС, а на контроллере программа не сложная. Указанные протоколы имеют реализацию на С в свободном доступе. Достаточно немного поискать.
Если реализация только на ПЛИС, то эти протоколы, наверно, не лучшие.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
AndruB
сообщение Mar 22 2008, 12:38
Сообщение #6


Участник
*

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



Думаю можно использовать старый, добрый протокол канала Манчестер (MIL-STD 1553), ну возможно в упрощенной форме, т.к. абонентов только 2.


--------------------
Обойденные грабли - недополученный опыт!
Go to the top of the page
 
+Quote Post
RHnd
сообщение Mar 23 2008, 11:24
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Цитата(AndruB @ Mar 22 2008, 15:38) *
Думаю можно использовать старый, добрый протокол канала Манчестер (MIL-STD 1553), ну возможно в упрощенной форме, т.к. абонентов только 2.

Вот. А можно поподробней. Манчестер, как я понимаю - принцип передачи бита информации в канале через перепад уровня. Хорош тем, что требует тактовку всего в два раза больше тактовки данных. Т.е. любой протокол можно построить с использованием манчестера, правильно?

Сейчас глянул вкратце описание MIL-STD 1553, там написано, что до 1Mбита. А надо 16. sad.gif Получится ли легко модифицировать этот протокол до 16 мегабит? Плюс, пишут, что алгоритм весьма сложен в реализации. Нет ли чего попроще, что можно сделать с использованием манчестера?
Go to the top of the page
 
+Quote Post
rezident
сообщение Mar 23 2008, 12:01
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Манчестер это физический уровень согласно 7-ми уровневой модели OSI, а вам нужно реализовать канальный и возможно транспортный. Посмотрите на описание сетевой модели OSI хотя бы в Википедии. Может там найдете знакомые названия и ответ на свой вопрос wink.gif
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Mar 23 2008, 17:38
Сообщение #9


Беспросветный оптимист
******

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



Вообще, если одна коробка - передатчик, а другая - приёмник, то нет никакой возможности в случае сбоя канала (например, кто-то пересёк своим телом информационный луч) сообщить передающей стороне об этом. Как собираетесь выкручиваться?

На приёмной стороне сбой можно определить по CRC, но толку от этого мало, если нельзя переспросить запорченный блок.

Манчестер - это не протокол, а способ кодирования информации (кстати очень надёжный и легко реализуемый)

MIL STD 1553 - это протокол мультиплексного канала (один хост, много оконечников)

ИМХО, не имеет смысла говорить о каком-то протоколе, пока нет обратного канала (или он есть, но я как всегда чего-то не понял?)


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
RHnd
сообщение Mar 23 2008, 21:03
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Не, обратный канал есть. На каждой коробочке оптический излучатель и оптический приемник. А передатчик-приемник в том смысле, что одна коробочка должна передать данные другой.
То, что манчестер - способ кодирования, это я понимаю. Он, почти наверняка, использоваться и будет. А вот протокол пока не выбрал.
Чего-то сегодня википедия лежит. sad.gif
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Mar 24 2008, 05:46
Сообщение #11


Беспросветный оптимист
******

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



А обмен между компами идёт?
или между какими-т о железными коробочками?
Если между компами, то проще всего поставить с каждой стороны преобразователь Ethernet (какой-нить простой Риалтек) и получится прозрачный канал Ethernet (только по оптике).
Иначе - HDLC (канальный уровень) или TCP.
А достоверность передачи и перезапросы - на уровне приложений
Хотя если точка-точка, то можно любой самопальный протокол придумать, главное, задокументировать как следует.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Mar 24 2008, 05:58
Сообщение #12


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



всё гораздо хуже
протокол это десятое дело в таком подходе.
нет обратного канала по этому данные должны быть зажаты чем-то что позволит восстановить ошибки

хорошая идея при этом использование принципов записи на компакт диск
Go to the top of the page
 
+Quote Post
RHnd
сообщение Mar 24 2008, 06:34
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 518
Регистрация: 12-04-07
Из: Санкт-Петербург
Пользователь №: 26 997



Да нет же, обратная связь есть! Обе коробки могут как передавать, так и принимать, причем одновременно. Полный дуплекс.
Компов рядом с коробочками нет и не будет. Данные жать нет смысла - они уже пожатые передаются.
Меня еще смущает тот момент, что угол наведения достаточно узкий, поэтому требуется сделать такое: передатчик с момента подачи питания должен постоянно находиться в режиме поиска, ища приемник на том конце.
Go to the top of the page
 
+Quote Post
rv3dll(lex)
сообщение Mar 24 2008, 06:52
Сообщение #14


Полное ничтожество
*****

Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354



Цитата(RHnd @ Mar 24 2008, 09:34) *
Да нет же, обратная связь есть! Обе коробки могут как передавать, так и принимать, причем одновременно. Полный дуплекс.
Компов рядом с коробочками нет и не будет. Данные жать нет смысла - они уже пожатые передаются.
Меня еще смущает тот момент, что угол наведения достаточно узкий, поэтому требуется сделать такое: передатчик с момента подачи питания должен постоянно находиться в режиме поиска, ища приемник на том конце.


с пожать я не правильно выразился
на компакте двойное кодирование рида соломона которое не сильно увеличивает данные.
если есть обратная связь достаточно 16 битной сигнатурной суммы на каждые несколько килобайт данных
Go to the top of the page
 
+Quote Post
tag
сообщение Mar 24 2008, 07:32
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 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 вряд ли. Мне кажется Вам надо проработать подробнее вопрос обмена информацией: например, связь между "ящиками" должна быть постоянно или устанавливаться эпизодически? ... "ящики" равноправные или один из них ведущий, а другой подчиненный? А уже потом определяться с протоколом.
Go to the top of the page
 
+Quote Post

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

 


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


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