roboforum.ru

Технический форум по робототехнике.
Текущее время: 03 дек 2024, 21:58

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 162 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10, 11  След.
Автор Сообщение
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 21 сен 2008, 21:42 
Не в сети
Аватара пользователя

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

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 21 сен 2008, 21:57 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
blindman писал(а):
Надо переключаться.

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

Предлагаю:
1. В первой версии протокола тупо фиксировать частоту в обоих модулях и работать по ней.
2. Дальше один из модулей объявляем мастером, второй подмастерьем.
3. Периодически (частоту определим исходя из ответа на вопрос ниже) происходит цикл обмена:
3.1. Мастер кидает запрос в котором выдает свой идентификатор, номер передаваемого пакета, ответ на предыдущую посылку подмастерья, количество байт в посылке, сами байты посылки (если их кол-во >0) и контрольную сумму всей посылки, после чего переходит в режим приёма.
3.2. Подмастерье принимает пакет, проверяет контрольную сумму посылки мастера, если она не битая (проверяет по контрольной сумме), кладёт пришедшие байты в буфер обмена;
3.3. Подмастерье формирует свой пакет такой же как у мастера, если еще есть шанс, что мастер не перешел в режим приёма, ждет.
3.4. Подмастерье отправляет свой пакет мастеру и переходит в режим приёма.

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

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

Вроде всё.

PS: Какое там время переключения между приемом и передачей?

Добавлено спустя 11 минут 40 секунд:
На будущее по поводу смены частоты можно тупой алгоритм накидать или какой-нибудь готовый способ реализовать, но не думаю что в первой версии это надо.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 21 сен 2008, 22:14 
Не в сети
Аватара пользователя

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

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 21 сен 2008, 22:55 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2blindman: А может заглушки пока поставить в те куски когда, которые за смену частоты отвечают? Нафига это реально пока? Может быстрее первую версию без этого сделать, а там уже процесс пойдёт и спокойно добить?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 21 сен 2008, 23:02 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
Если готовый код FHSS взять - то еще быстрей пойдет.

Вот кстати проект спектроанализатора на ATmega48 и CC2500
http://www.zero13wireless.net/foro/show ... php?t=1220

и исходники под компилятор ICC, даже скомпилились "сходу" ...


Вложения:
ICC ATmega48 CC2500 AVR Code.rar [9.47 КиБ]
Скачиваний: 31
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 23 сен 2008, 09:32 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
cc2500 и MSP430F2274 - отладочный модуль можно использовать бесплатно на удаленном компьютере.
http://www.techonline.com/product/virtualab/205100815

The eZ430-RF2500 is a complete USB-based MSP430 wireless development tool providing all the hardware and software to evaluate the MSP430F2274 microcontroller and CC2500 2.4-GHz wireless transceiver. The eZ430-RF2500 uses the IAR Embedded Workbench Integrated Development Environment (IDE) or Code Composer Essentials (CCE) to write, download, and debug an application. The new USB debugging interface enables the eZ430-RF2500 to remotely send and receive data from a PC using the MSP430 Application UART.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 06 окт 2008, 08:43 
Не в сети
Аватара пользователя

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

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 06 окт 2008, 09:44 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
7.3728 МГц


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 06 окт 2008, 11:50 
Не в сети
Аватара пользователя

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

В обмене участвуют 2 узла, один master, другой slave. Каждый модуль должен иметь уникальный 16-бтный адрес.
После включения, каждый узел должен быть сконфигурирован. Для этого по уарту записываются 6 байт : флаг мастера, адрес этого узла, адрес второго узла, номер канала. Например, выбрали адреса 0xCF5E и 0x356A, 5 канал. В один модуль выдаем последовательность 0x01 0x5E 0xCF 0x6A 0x35 0x05, в другой 0x00 0x6A 0x35 0x5E 0xCF 0x05. После инициализации можно начинать прием/передачу.

Скорость передачи по радио - 100кбит/с. При тестировании один узел был подключен к ПК, с которого передавались данные. На другой стороне выводы RX и TX соединены, таким образом данные возвращаются в ПК. При расположении узлов в непосредственной близости от друг друга (1.5 - 2 м) , в обе стороны передается неперывный поток данных со скоростью 9600 бит/с

Вложение:
Комментарий к файлу: Master
master.png
master.png [ 18.13 КиБ | Просмотров: 2470 ]

Вложение:
Комментарий к файлу: Slave
slave.png
slave.png [ 16.76 КиБ | Просмотров: 2453 ]


Вложения:
Комментарий к файлу: Исходники
radiouart.zip [13.39 КиБ]
Скачиваний: 27

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

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

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 06 окт 2008, 11:55 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
вопрос
если мы "на лету" мастер переконфигурим, загрузим для него другой адрес узла и пар-ры, сможем переключиться на другой узел?
или это нужно все узлы выключать и заново включать?

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 06 окт 2008, 11:59 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
Цитата:
Скорость передачи по радио - 100кбит/с. При тестировании один узел был подключен к ПК, с которого передавались данные. На другой стороне выводы RX и TX соединены, таким образом данные возвращаются в ПК. При расположении узлов в непосредственной близости от друг друга (1.5 - 2 м) , в обе стороны передается неперывный поток данных со скоростью 9600 бит/с

почему такие низкие скоростя?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 06 окт 2008, 12:47 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Можно переконфигурировать на лету, хотя это и не предусмотрено в прошивке - после получения 6 байтов конфигурации все остальное рассматривается как данные. Но можно сделать и мультипоинт - один мастер и несколько подчиненных. Надо будет немного изменить алгоритм, типа раздельные номера пакетов для каждого подчиненного и т.п. Но это задача на потом, сейчас надо протестировать, на каких расстояниях можно получить приемлемую скорость передачи, затем сделать FHSS.

Добавлено спустя 38 минут 29 секунд:
EdGull писал(а):
почему такие низкие скоростя?

А какие скорости ты ожидал? Можно передавать и 19200, но иногда некоторые байты теряются. Но простор для оптимизации есть. Использовал готовую библиотеку для работы с уартом, у нее неоптимальная для этого применения работа с буферами. Можно увеличить размер пакета (с соответствующим увеличением задержки), оптимизировать работу с прерываниями, отработку тайм-аутов. Но в любом случае приблизиться к полному использованию пропускной способности канала при двухсторонней передаче невозможно - есть еще время переключения режимов приема/передачи, задержки для синхронизации узлов, конечное время реакции на прерывания и т.д.

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 06 окт 2008, 13:00 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
ну во-первых предлагаю увеличить скорость передачи по радио до 250кбит/с.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 06 окт 2008, 13:12 
Не в сети
Аватара пользователя

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

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

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разработка стандарта передачи данных по радиоканалу (СС2500)
СообщениеДобавлено: 06 окт 2008, 13:21 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
а по какому алгоритму ты настравивал регистры СС2500 для подстройки частоты?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 162 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10, 11  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO