Перейти к содержанию
    

20 радиопередатчиков и 1 приёмник

Нужно сделать систему из 20 передатчиков и 1 приёмника.

Расстояние передачи 10м

Передатчики должны передавать 2 байта раз в секунду. Остальное время молчать- потребление очень критично.

 

Есть ли какие-то готовые решения ? Помимо Bluetooth ?

Если бы был 1 передатчик использовал бы в нём rfPIC. В приёмнике бы включал RF-тракт только в моменты передачи, определял бы их таймером.

А когда передатчиков много, надо как-то разрешать коллизии...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно сделать систему из 20 передатчиков и 1 приёмника.

....

А когда передатчиков много, надо как-то разрешать коллизии...

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

Изменено пользователем rx3apf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

возможно стоит посмотреть в сторону zigbee, например на модули от DIGI http://www.digi.com/technology/rf-articles/wireless-zigbee или от украинских разработчиков http://www.embee.ua/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

zigbee и прочие методы синхронизации это, конечно, здорово, но с ними есть одна проблема - к 20 передатчикам потребуется ещё и 20 приёмников чтобы слушать эфир.

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

Надежда только на статистику. Пока суммарный трафик не превышает 5-10% от пропускной способности канала коллизии случаются редко.

Можете поискать информацию о системе ALOHA, и расчет пропускной способности для неё. Если не ошибаюсь, предел там порядка 1/2e, то есть около 18%.

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

zigbee и прочие методы синхронизации это, конечно, здорово, но с ними есть одна проблема - к 20 передатчикам потребуется ещё и 20 приёмников чтобы слушать эфир.

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

Надежда только на статистику. Пока суммарный трафик не превышает 5-10% от пропускной способности канала коллизии случаются редко.

Можете поискать информацию о системе ALOHA, и расчет пропускной способности для неё. Если не ошибаюсь, предел там порядка 1/2e, то есть около 18%.

 

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

В эту строну и думаю.

Если передатчиков 20, а окно передачи разбито на 1000 ячеек, то конкретный передатчик будет перекрыт любым другим с вероятностью 19/1000 = 0.019 .

Перекрывание одного и того же передатчика в трёх окнах подряд - уже 0.019 х 0.019 х 0.019 = 0.0000068

То есть, 1 раз на 1/0.0000068 = 150000 окон передачи

Ячейку передачи лучше выбирать не квазислучайно, а совсем случайно. Читая шум с ножки АЦП .

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ячейку передачи лучше выбирать не квазислучайно, а совсем случайно. Читая шум с ножки АЦП .

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

Зависит от реализации ГСЧ и "затравки". Устройства разные, вероятно, есть серийник. Вот от него и плясать. А вот будет ли сигнал с АЦП истинно случайным - это еще вопрос...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Расстояние передачи 10м...

...потребление очень критично

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Мне представляется что это не проблема. Строго одновременное включение даже пары устройств маловероятно, но и в этом случае их времена достаточно быстро разойдутся за счёт несинхронности их генераторов. Впрочем, инициализировать ГСЧ каким-нибудь уникальным номером (если он есть) или случайным числом с того-же АЦП лишним не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно сделать систему из 20 передатчиков и 1 приёмника.

Расстояние передачи 10м

Передатчики должны передавать 2 байта раз в секунду. Остальное время молчать- потребление очень критично.

 

Передатчики не могут работать на разных частотах?

Может быть самое простое было-бы настроить передатчики на 20 частот а приёмник перестраивать и слушать эфир по 2 секунды (чтобы гарантировано засечь ответ)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...