roboforum.ru

Технический форум по робототехнике.


Проект "RoboRF" - открытый недорогой радиоканал для роботов

В разделе рассматриваются вопросы информационного обмена в робототехнике.
Аппаратный уровень, протоколы.

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение Duhas » 29 янв 2009, 22:51

на счет выбора вариантов можно вообще аццко извратиться и чем-нить типа бутлоадера перешиваться с внешней флехи в нужную конфигурацию... забугорные "коллеки" апупеют :P :crazy:
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение boez » 29 янв 2009, 22:54

А - надо будет глянуть на зигбишный CSMA/CA. Он вроде чуток другой, чем в вайфае.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение frig » 29 янв 2009, 23:05

А нам надо, чтобы транспорт RRF работал с чем угодно?


аха.

1. передающий - принимающему: "хочу передать". Уже на этом этапе нужен адрес принимающего. Иначе кто ответит?
2. принимающий - передающему: "передавай" или "нефиг"
3. передающий - принимающему: сам пакет
4. принимающий - передающему: "принял", "повтори" или "ничего не выйд


не вижу смысла в таком принципе работы. только занимание полосы. передающий все равно должен слушать несущую. если нет несущей - он может передавать "хочу передавать". на этом этапе может возникнуть коллизия. да, она будет не такой длинной как при передаче самого пакета, но будет!

альтернативные варианты

1. передающий - хочу передавать (слушает несущую), другие получив "хочу передавать" - молчат определенный промежуток времени. если это время пусто - шлют свое "хочу передавать". если после передачи запроса на передачу передающий что-то слышит в эфире - значит произошла коллизия и он затыкается.
2. если тихо - начинает передачу. там уже будет пакет.

гарантии доставки выносить еще и на канальный уровень смысла не вижу.


второй вариант - в качестве идентификации все равно использовать или ip или короткий адрес, который спустят сверху. он все равно будет спущен при передаче пакета. таким образом будет идентификация на канальном уровне адресом сетевого уровня.
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение Myp » 29 янв 2009, 23:27

короче чувствую я не дождусь в этой жизни обычного радиоудлиннителя усарта... :cry:
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение frig » 29 янв 2009, 23:49

короче чувствую я не дождусь в этой жизни обычного радиоудлиннителя усарта... :cry:


не бояйся. тебе ж не нужен абы какой удлинитель? тебе ж хороший нужен, чтобы работал?

зы еще ж можно не только ждать, но и принимать активное участие в приближении сладких мгновений обладания сим чудным девайсом. :D

пошлятина какая-то получилась
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение galex1981 » 30 янв 2009, 00:05

frig писал(а):альтернативные варианты

1. передающий - хочу передавать (слушает несущую), другие получив "хочу передавать" - молчат определенный промежуток времени. если это время пусто - шлют свое "хочу передавать". если после передачи запроса на передачу передающий что-то слышит в эфире - значит произошла коллизия и он затыкается.
2. если тихо - начинает передачу. там уже будет пакет.

гарантии доставки выносить еще и на канальный уровень смысла не вижу.


второй вариант - в качестве идентификации все равно использовать или ip или короткий адрес, который спустят сверху. он все равно будет спущен при передаче пакета. таким образом будет идентификация на канальном уровне адресом сетевого уровня.


Коллизии не будет если "хочу передавать" будет состоять из "Адрес передатчика + Адрес приемника + хочу передавать"
2. принимающий - передающему: Адрес приемника +Адрес передатчика+ "передавай" или Адрес приемника +Адрес передатчика+"нефиг"
......
ну в общем кадр состоит из /адрес передающего/=1 байт, /адрес принимающего/=1 байт, команда или данные
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение frig » 30 янв 2009, 00:12

Коллизии не будет если "хочу передавать" будет состоять из "Адрес передатчика + Адрес приемника + хочу передавать"


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

адрес приемника тут вообще не нужен. регулировать что-то и говорить "не передавай" имеет смысл при управлении передачей на транспортном уровне. но не на канальном.
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение blindman » 30 янв 2009, 06:34

Что думаете об этом: [[en:MACAW]] ?
Подробнее здесь : http://pdos.csail.mit.edu/decouto/paper ... avan94.pdf
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение frig » 30 янв 2009, 10:18

это то самое о чем говорит boez. мне не нравится ввиду того, что нужна адресация на этом уровне и эти переговоры сожрут довольно много полезной полосы, которой и так много.
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение blindman » 30 янв 2009, 10:39

А разве в классической модели OSI нет адресации на канальном уровне?
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение frig » 30 янв 2009, 10:49

а почитай. реально нам эта адресация не нужна. только дублирование функций а значит избыточный вес пакетов и "отъедание" полосы служебкой.
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение blindman » 30 янв 2009, 11:28

frig, давай я попробую сформулировать то как я понимаю что ты предлагаешь для канального уровня.

На канальном уровне - только контроль доступа к среде. Канальный уровень не занимается адресацией ни в каком виде. Контроль доступа осуществляется следующим образом : узел ждет освобождения среды (отсутствие несущей), передает пакет (возможно предваряемый коротким пакетом "хочу передавать"), переходит в режим приема. Так?
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение frig » 30 янв 2009, 11:37

Так?


Так, но надобно немного продумать определение коллизий при передаче короткого пакета. Возможно генерировать его случайной длины и тот у кого пакет длиннее будет иметь приоритет, так как остальные услышат остаток его пакета после передачи своего и будут ждать окончания передачи.

так еще и приоритеты можно расставить на доступ к среде.

Добавлено спустя 3 минуты 55 секунд:
могу диаграммку нарисовать для наглядности. и алгоритм набросать.
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение blindman » 30 янв 2009, 11:48

То есть все-таки еще одно переключение передача/прием/передача, чтобы иметь возможность услышать "чужой" длинный пакет.

Так в чем тогда будет разница:

включение передачи
RTS
включение приема
прослушивание канала (ищем "хвост" чужого пакета RTS)
включение передачи
DATA
включение приема


включение передачи
RTS
включение приема
CTS
включение передачи
DATA
включение приема
ACK


Всего один короткий пакет, плюс адреса (1-байтные скорее всего)

frig писал(а):могу диаграммку нарисовать для наглядности. и алгоритм набросать.

Было бы неплохо.

Добавлено спустя 1 минуту 55 секунд:
Кстати схема с RTS/CTS позволяет хоть как-то решить проблему скрытого узла.

----------------
Now playing: Андрей Макаревич - Лица
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Проект "RoboRF" - открытый недорогой радиоканал для роботов

Сообщение frig » 30 янв 2009, 12:41

Вот диаграмма при адресах в пакетах и подтверждениях. объясню почему так.

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


Добавлено спустя 5 минут 17 секунд:
2.JPG


теперь здесь. адреса нет. это скорее не запрос на передачу а выкрик "Я передаю!" состоять может быть из произвольной последовательности единиц и нулей. Побеждает тот у кого длиннее. Его даже не надо разбирать как пакет а только воспринимать наличие несущей.

Потом переключаемся и буквально 1 байт слушаем эфир. если у нас выходит самый длинный - начинаем передачу. подтверждения, буфера - все уровнями выше.

Добавлено спустя 8 минут 40 секунд:
а еще надо учитывать, что разница может и не большая относительно, но нагрузка на МК будет выше во первых, а во вторых все переговоры о скоростях о мощностях и о всем другом тоже будут идти поверх такого метода доступа к среде. т.е. потери будут больше, чем просто на передаче данных.
frig
 
Сообщения: 1640
Зарегистрирован: 12 фев 2007, 12:25
Откуда: Днепр

Пред.След.

Вернуться в Коммуникации

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1