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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> СС1101, устранение коллизий
Mihey_K
сообщение Feb 10 2014, 08:44
Сообщение #31


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

Группа: Участник
Сообщений: 156
Регистрация: 27-09-06
Из: Irkutsk
Пользователь №: 20 747



Да как в ZigBee похоже. Там проснулся датчик, сообщил арбитру, что он проснулся, и уже сам передает данные, или получает их с арбитра. А арбитр пакеты для энд-девайсов буферизирует, пока те не проснутся. Энд-девайсы там просыпаются каждую секунду, если ничего не надо делать - дальше спать.


--------------------
Блог о разработке на CC430, SIM900, GPS, ARM и не только...
Go to the top of the page
 
+Quote Post
Pasha_a13
сообщение Feb 10 2014, 18:05
Сообщение #32


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

Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244



В Вашем случае для устройства В WOR не нужен, он больше нужен в случае если устройство ограничено в ресурсах по питанию.
Устроство В пусть постоянно висит в приеме и слушает эфир. Он отвечает за то чтобы в любой произвольный момент времени принять пакет от датчика, обработать его и ответить датчику. Если смотреть в сторону ZigBee и городить чето подобное это только головную боль себе нажить. Определенные вещи можно взять оттуда, но отнють не все.
Не советую делать В мастером и чтобы датчики просыпались и принимали от него запросы, получите головную боль с синронизацией. Проще привязываться к моментам приема последнего пакета от каждого конкретного датчика и уже от них, в случае необходимости, отсчитывать момент когда датчик следующий раз ответит(развивая это направление можно отслеживать пропадание датчиков проверяя периодически промежутки времени с момента последнего выхода датчика на связь).
По поводу посылки параметров датчику - я тоже делал подобным образом...в памяти центрального устройства В хранились очереди команд для каждого датчика и когда датчик присылает пакет я смотрю нет ли для данного датчика управляющих команд и в ответном пакете подтверждения делаю пометку что для него есть управлющие данные и передаю их. Я просто изначально размер пакета сделал с запасом, потому мне не надо было передавать ему дополнительные пакеты.
Сколько служебных(командных) байт Вы планируете ему передавать и какая у Вас длина пакета подтверждения?

Сообщение отредактировал Pasha_a13 - Feb 10 2014, 18:07
Go to the top of the page
 
+Quote Post
ivainc1789
сообщение Feb 11 2014, 11:33
Сообщение #33


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Цитата(Pasha_a13 @ Feb 10 2014, 22:05) *
Сколько служебных(командных) байт Вы планируете ему передавать и какая у Вас длина пакета подтверждения?
Ну пока у меня 4 команды. Одним байтом CmdID обхожусь: как тока датчик проснулся, отправил свои основные даныые и принял в ответ пакет подтверждения (4 байта+CmdID), он выполняет ряд действий исходя из содержимого CmdID, в том числе может продолжить RF общение. Пока все хорошо работает и следуя рекомендациям в этой теме - я повысил скорость передачи с 1.2 кБод до 38.4 кБод. Это существенно улучшило энергопотребление.
Go to the top of the page
 
+Quote Post
FPGAz
сообщение Feb 11 2014, 14:13
Сообщение #34


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 9-02-14
Пользователь №: 80 406



Цитата(Salamander @ Feb 2 2014, 18:24) *
Элементарно, Ватсон, у меня работает один модуль и проблема имеет место быть.

Если принимающую сторону быстро закидывать пакетами, то она склеивает ласты даже при одном посылающем эти пакеты модуле. biggrin.gif
Go to the top of the page
 
+Quote Post

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

 


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


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