Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Модуль связи nRF24L01+ (2,4 МГц) |
Цитата |
|
Расстояние между модулями было приближено к реальным? Или испытания производились в пределах комнаты?
Расстояние между модулями было приближено к реальным? Или испытания производились в пределах комнаты?
|
|
|
|
Добавлено: 19 дек 2017, 18:10 |
|
|
|
|
|
Заголовок сообщения: |
Re: Модуль связи nRF24L01+ (2,4 МГц) |
Цитата |
|
[quote]Если ноль не лишний, то это ужасный результат.[/quote]Ноль не лишний. Отправлялось 50.000 пакетов. Принималось - 49.993-49.995. Была ошибка из-за невнимательности в количестве девяток в результате. Принятые пакеты считал инкрементом счетчика на приемной стороне. Передающая отправляла 50.000. Достоверность пакетов определялась сравнением с "эталонным" пакетом. Есть еще одна неточность (точнее - недоговоренность) в моем предыдущем сообщении: указанное время (~220 мкс) требуется исключительно для передачи 3-байтового инфопакета в эфир. К этому времени нужно приплюсовать 130 мкс, необходимые на переход из RX в TX, плюс только же на обратный переход. Но пресловутые 130 мкс - это аппаратная задержка, которая задается программно, и не требует измерения. Итоговое время на переход из RX в TX, передачу пакета в эфир, и обратный переход в RX ~480 мкс. Меня это вполне устраивает.
|
|
|
|
Добавлено: 19 дек 2017, 15:49 |
|
|
|
|
|
Заголовок сообщения: |
Re: Модуль связи nRF24L01+ (2,4 МГц) |
Цитата |
|
[quote="Valentinych"]Я уже говорил, что автоподтверждение мне не требуется. Так что это не вариант.[/quote] Я предложил сугубо для тестового варианта… «на нет и суда нет». (С) [quote]Кстати, из 5000[color=#FF0000]0[/color] пакетов в среднем доставляется [color=#0000FF]4993-4995[/color].[/quote] Если [color=#FF0000]ноль[/color] не лишний, то это [color=#0000FF]ужасный результат[/color]. [quote]Проверка на достоверность показывает примерно такой же результат.[/quote] А как без подтверждения и достоверности считал принятые пакеты?
|
|
|
|
Добавлено: 18 дек 2017, 18:36 |
|
|
|
|
|
Заголовок сообщения: |
Re: Модуль связи nRF24L01+ (2,4 МГц) |
Цитата |
|
[quote="SVN"]Для этого можно сделать тестовый вариант с подтверждением передачи… при приходе подтверждения о приёме посылать новый пакет… встав «осциллографом» на вывод (IRQ) модуля можно определить какое время имеет данный период.[/quote]Я уже говорил, что автоподтверждение мне не требуется. Так что это не вариант. Все решилось проще - запустил цикл отправки пакетов реальной длины (data - 3 байта, плюс все остальные байты и биты самой NRF), и посчитал, сколько пакетов приходит за определенное время. Потом посчитал, сколько времени требуется на один пакет. Результат ~220 мкс. Это даже меньше того, на что я рассчитывал. Кстати, из 50000 пакетов в среднем доставляется 4993-4995. Проверка на достоверность показывает примерно такой же результат. Так что этот вопрос закрыт. Сегодня-завтра планирую провести тест сразу 8 модулей в единой сети, построенной по моей методике. Хотя уверен, что результат предсказуем. :D
|
|
|
|
Добавлено: 18 дек 2017, 18:00 |
|
|
|
|
|
Заголовок сообщения: |
Re: Модуль связи nRF24L01+ (2,4 МГц) |
Цитата |
|
[quote="Valentinych"]Боюсь, что сложно будет засинхронизироваться.[/quote] Для этого можно сделать тестовый вариант с подтверждением передачи… при приходе подтверждения о приёме посылать новый пакет… встав «осциллографом» на вывод (IRQ) модуля можно определить какое время имеет данный период.
|
|
|
|
Добавлено: 18 дек 2017, 12:00 |
|
|
|
|
|
Заголовок сообщения: |
Re: Модуль связи nRF24L01+ (2,4 МГц) |
Цитата |
|
[quote="SVN"]Standby это режим ожидания… сон это Power Down.[/quote] Согласен, я не точно выразился. Но режим ожидания - тоже энергосберегающий, поэтому энергетический выхлоп практически одинаковый. А у меня не стоит задача экономить батарейки. Поэтому просто посажу вывод СЕ на питание, тем самым исключив потери времени на постоянные ныряния в Standby-I. [quote]Думаю это можно определить экспериментально с помощью осциллографа.[/quote]Боюсь, что сложно будет засинхронизироваться. Но попробовать можно. Хотя, судя по формуле из мануала, искомое время передачи инфо-пакета длиной 3 байта (мой размерчик) без подтверждения доставки будет ~400 мкс. То, что доктор прописал.
|
|
|
|
Добавлено: 17 дек 2017, 16:08 |
|
|
|
|
|
Заголовок сообщения: |
Re: Модуль связи nRF24L01+ (2,4 МГц) |
Цитата |
|
[quote="Valentinych"]Да, Табл. 18 стр. 40[/quote] Похоже у нас разные мануалы… я в своих двух такой информации не нашёл. [quote]Впрочем, в этом контексте термин Standby скорее обозначает не спячку (режим энергосбережения, или сна), а выключение одного режима перед включением другого режима.[/quote] Standby это режим ожидания… сон это Power Down. [quote]И хочу напомнить: я как раз задал вопрос о том, сколько времени нужно трансиверу для перехода из режима в режим. А мы углубились в несущественные детали.[/quote] Думаю это можно определить экспериментально с помощью осциллографа.
|
|
|
|
Добавлено: 16 дек 2017, 19:37 |
|
|
|
|
|
Заголовок сообщения: |
Re: Модуль связи nRF24L01+ (2,4 МГц) |
Цитата |
|
[quote="SVN"]Я походу не пойму твои примеры.[/quote] Так я сразу написал, что все модули должны быть настроены одинаково, на одну частоту, на один канал, и иметь одинаковые адреса.
[quote]Об этой информации мне ничего не известно. Это в даташите так написано? [/quote] Да, Табл. 18 стр. 40
[quote]Без этого режима не обойтись… Standby-1 и Standby-11 это стандартные режимы переходов от приёмника к передатчику и наоборот. [/quote]В той же таблице указаны и эти состояния. Но из этого не следует, что при переходе из RX в TX и обратно модуль должен ОБЯЗАТЕЛЬНО погружаться в спячку (Standby-I/II). Но он МОЖЕТ там находиться перед активацией любого режима трансивера. Именно поэтому на диаграммах не определено время нахождение в состоянии Standby-I/II. Это состояние просто обозначено. Впрочем, в этом контексте термин Standby скорее обозначает не спячку (режим энергосбережения, или сна), а выключение одного режима перед включением другого режима.
[quote] Это откуда такая информация?[/quote]Информация из предыдущего абзаца по вашей ссылке. Впрочем, нужно уточнить, каким именно релизом даташит пользуется каждый из нас. :D Впрочем, это сейчас не принципиально - я не планирую использовать такие режимы. И хочу напомнить: я как раз задал вопрос о том, сколько времени нужно трансиверу для перехода из режима в режим. А мы углубились в несущественные детали.
|
|
|
|
Добавлено: 15 дек 2017, 15:08 |
|
|
|
|
|
Заголовок сообщения: |
Re: Модуль связи nRF24L01+ (2,4 МГц) |
Цитата |
|
[url]https://youtu.be/IV9eiSZp3rY[/url]
|
|
|
|
Добавлено: 15 дек 2017, 11:16 |
|
|
|
|
|
Заголовок сообщения: |
Re: Модуль связи nRF24L01+ (2,4 МГц) |
Цитата |
|
[quote="Valentinych"]А кто мешает в инфопакете выделить байт для трансляции адресов приемника и передатчика? У меня их всего 10, так что одного байта хватит с избытком. Это один способ. Есть и второй. Если каждый передатчик включается через строго определенное время от синхроимпульса, что сложного в том, чтобы просто посчитать, от какого именно передатчика пришел данный сигнал?[/quote] Я походу не пойму твои примеры… [u]приёмник не воспринимает передачу данных от передатчиков, у которых номера TX-ADDR не совпадают с номерами RX-ADDR-Px приёмника[/u]. В даташите написано следующее: [quote]In RX mode the receiver demodulates the signals from the RF channel, constantly presenting the demodulated data to the baseband protocol engine. The baseband protocol engine constantly searches for a valid packet. If a valid packet is found (by a matching address and a valid CRC) the payload of the packet is presented in a vacant slot in the RX FIFOs. If the RX FIFOs are full, the received packet is discarded.[/quote] [quote="Valentinych"]плюс еще какое-то время на отправку пакета в эфир (оно зависит от длины пакета, и в худшем случае, при пакете 32 байта, занимает примерно 100-120 мкс), [/quote] Об этой информации мне ничего не известно. Это в даташите так написано? [quote]так что никаких режимов стендбай,[/quote] Без этого режима не обойтись… Standby-1 и Standby-11 это стандартные режимы переходов от приёмника к передатчику и наоборот. [quote]P.S. Вдогонку: приемник умеет принимать сигналы сразу (одновременно!) от шести передатчиков (труб). И легко может отселектировать любой из них, или все сразу.[/quote] Это откуда такая информация? Из даташита стр.39 [quote]Up to six nRF24L01+s configured as PTX can communicate with one nRF24L01+ configured as a PRX. All data pipe addresses are searched for simultaneously. [b][color=#FF0000]Only one data pipe can receive a packet at a time.[/color][/b] All data pipes can perform Enhanced ShockBurst™ functionality.[/quote]
|
|
|
|
Добавлено: 15 дек 2017, 10:17 |
|
|
|
|