Easyelectronics.ru • Просмотр темы - nRF24L01+ одновременная передача от 6 передатчиков

Easyelectronics.ru

Электроника для всех
Текущее время: 18 авг 2018, 11:08

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



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: nRF24L01+ одновременная передача от 6 передатчиков
СообщениеДобавлено: 22 янв 2018, 00:09 
Старожил

Зарегистрирован: 13 фев 2012, 23:48
Сообщения: 737
Откуда: Украина, Харьков
Добрый вечер! Есть 1 приёмник nRF24L01+ и 6 передатчиков. Все настроены на разные pipes и передают данные каждые 30 мс. Однако, два передатчика могут одновременно отправлять данные, что приводит к потере данных. Как можно настроить передатчики, чтобы блокировалась передача, если другой передатчик отправляет данные, т.е. запретить одновременную отправку двумя передатчиками?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: nRF24L01+ одновременная передача от 6 передатчиков
СообщениеДобавлено: 22 янв 2018, 00:26 
Старожил

Зарегистрирован: 05 фев 2015, 23:41
Сообщения: 326
Там же-ж вроде в протоколе предусмотрена отправка квитанций и повторная передача при отсутствии ?
Сделайте как в Ethernet - обработку коллизий и повторную попытку передачи через рандомный интервал времени.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: nRF24L01+ одновременная передача от 6 передатчиков
СообщениеДобавлено: 22 янв 2018, 00:41 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2117
Строго одновременно у вас все равно не получится - такая синхронность навряд ли есть между разными устройствами. Время активности передатчика небольшое. Увеличьте скорость ло 2 МБит/с, сократите длину пакета, для каждого передатчика поставьте разные интервалы повторной передачи, включите повторную передачу у передатчиков в случае сбоя. В расширенном режиме у передатчика каждый пакет подтверждается приемником, а если не подтвержден, через интервал времени предпринимается еще одна попытка передачи, максимум 16 попыток. Причем, есть специальный регистр, в котором отражается количество потерянных пакетов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: nRF24L01+ одновременная передача от 6 передатчиков
СообщениеДобавлено: 22 янв 2018, 00:57 
Старожил

Зарегистрирован: 05 фев 2015, 23:41
Сообщения: 326
Либо можно (если отойти от предложенного нордиком протокола) перед отправкой слушать эфир, на предмет отсутствия сигналов других передатчиков. Сделать аналог сети с передачей виртуального токена, таймауты предусмотреть... В общем, простор для творчества :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: nRF24L01+ одновременная передача от 6 передатчиков
СообщениеДобавлено: 22 янв 2018, 01:32 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2117
аааай, само по себе это не шибко то пользы даст. Можно хоть полчаса слушать эфир, а потом за долю секунды перейти на передачу ровно одновременно с другим передатчиком, который так же одновременно перешел на передачу, послушав эфир. В Нордике кстати тоже предусмотрен carrier detect.
Да и чего там изобретать, если Нордик уже встроил готовое решение. На этих nRF24 можно забабашить целую сеть, раскидав каналы и адреса. Это конечно не вай-вай, попроще, но как раз для простых случаев обмена короткими несложными пакетами - самое то.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: nRF24L01+ одновременная передача от 6 передатчиков
СообщениеДобавлено: 22 янв 2018, 01:41 
Старожил

Зарегистрирован: 05 фев 2015, 23:41
Сообщения: 326
BusMaster писал(а):
аааай, само по себе это не шибко то пользы даст. Можно хоть полчаса слушать эфир, а потом за долю секунды перейти на передачу ровно одновременно с другим передатчиком, который так же одновременно перешел на передачу, послушав эфир.

В сети с контролем несущей и предотвращением коллизий предусмотрен (предотвращен) такой вариант. Впрочем, как и с передачей токена.
Я не первый, если что, кому не нравиться предложенная нордиком модель. В сети полно примеров своих велосипедов.
Отнюдь не убеждаю поступать именно так. Всё таки ТЗ озвучено не полностью. Может, хватит и повторных передач с разными интервалами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: nRF24L01+ одновременная передача от 6 передатчиков
СообщениеДобавлено: 22 янв 2018, 04:05 
Старожил

Зарегистрирован: 13 фев 2012, 23:48
Сообщения: 737
Откуда: Украина, Харьков
BusMaster писал(а):
... Увеличьте скорость ло 2 МБит/с, сократите длину пакета...

Скорость уже установлена в 2 МБит/с. Длинна пакета 20 байт. Сократить не могу.
BusMaster писал(а):
для каждого передатчика поставьте разные интервалы повторной передачи, включите повторную передачу у передатчиков в случае сбоя. В расширенном режиме у передатчика каждый пакет подтверждается приемником, а если не подтвержден, через интервал времени предпринимается еще одна попытка передачи, максимум 16 попыток. Причем, есть специальный регистр, в котором отражается количество потерянных пакетов.

Попробую. Спасибо. Думаю, что повторной передачи с разным интервалом времени будет достаточно.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

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


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

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


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB