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

 
 
> nRF24L01, Как лучше организовать процесс обмена информацией с трансивером
ikX
сообщение Apr 20 2008, 09:44
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 27-07-05
Пользователь №: 7 138



Сам по себе nRF24L01 работает без проблем. Смущает длительное его время переключения из режима Standby-1 (Standby-2) в режим передачи - 130мкс. Хочется загрузить его на максимум, чтобы он передавал/принимал как можно больший объем информации с минимальными задержками (нужно передавать данные поступающие с интервалом времени 20-40мкс).

а) Сначала была идея накапливать в течение 130мкс данные по следующей схеме:
1)Переводим трансивер из режима Standby-1 в режим PTX, записывая в него несколько байт и выставляя СЕ=1 на 10мкс.
2)TX setting занимает 130 мкс. Использовать эти 130мкс для заполнения буфера передатчика новыми данными.
При этом возникает вопрос: будут ли эти вновь поступившие данные переданы одновременно с данными, записанными до выставления СЕ=1?

При этом теряются 40-50мкс, затрачиваемые на саму передачу данных.

б) На стр. 21 Product Specification указано, что трансивер можно удерживать в режиме PTX не более 4мс. Можно было бы сэкономить кучу раз по 130мкс. Но как это сделать из диаграммы состояний я не вижу: после передачи трансивер переключается или в Standby-1 при CE=0 или в Standby-2 при непустом буфере передатчика.

Как вы решаете такие задачи?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ybd
сообщение Apr 20 2008, 21:09
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 15-05-06
Пользователь №: 17 123



Вы используете shockburst? Мы в конце концов от него отказались - просто передавали несколько пакетов подряд без подтверждения - или пакеты в дальнейшем теряют актуальность,или доставляются smile.gif . В одной из первых удачных версий (проживших дольше других) использовался не единичный (CE=1), а нулевой (CE=0) импульс. В результате - передатчик передает, пока есть пакеты на передачу. Но в конечном (пока) варианте поставили 2 микросхемы - 1 - передатчик, 2 - приемник.
Насчет standby2 - что-то не так. Вроде в него переход только при пустом буфере передатчика и CE=1. При записи пакета в буфер передатчика он уйдет в эфир и без импульса CE (в этом уверен на 90% - точно уже не помню smile.gif )
Go to the top of the page
 
+Quote Post
ikX
сообщение Apr 21 2008, 06:20
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 27-07-05
Пользователь №: 7 138



Цитата(ybd @ Apr 21 2008, 01:09) *
Вы используете shockburst? Мы в конце концов от него отказались - просто передавали несколько пакетов подряд без подтверждения - или пакеты в дальнейшем теряют актуальность,или доставляются smile.gif .

Пакеты без подтверждения - это и есть shockburst, с подтверждением - enhanced shockburst.

Цитата
В одной из первых удачных версий (проживших дольше других) использовался не единичный (CE=1), а нулевой (CE=0) импульс. В результате - передатчик передает, пока есть пакеты на передачу.

В смысле? Было несколько ревизий nRF24L01?

Цитата
Но в конечном (пока) варианте поставили 2 микросхемы - 1 - передатчик, 2 - приемник.

Я тоже уже склоняюсь к варианту, что необходимо поставить несколько передатчиков.

Цитата
Насчет standby2 - что-то не так. Вроде в него переход только при пустом буфере передатчика и CE=1. При записи пакета в буфер передатчика он уйдет в эфир и без импульса CE (в этом уверен на 90% - точно уже не помню smile.gif )

Да на счет Standby2 и состояния буфера я ошибся, но дело это не меняет, чтобы выйти из этого режима по прежнему требуется 130мкс.
Go to the top of the page
 
+Quote Post
ybd
сообщение Apr 22 2008, 21:37
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 15-05-06
Пользователь №: 17 123



Цитата(ikX @ Apr 21 2008, 10:20) *
Пакеты без подтверждения - это и есть shockburst, с подтверждением - enhanced shockburst.
В смысле? Было несколько ревизий nRF24L01?
Я тоже уже склоняюсь к варианту, что необходимо поставить несколько передатчиков.
Да на счет Standby2 и состояния буфера я ошибся, но дело это не меняет, чтобы выйти из этого режима по прежнему требуется 130мкс.

Ну да, я имел ввиду enhanced shockburst.
Было несколько ревизий нашего проекта smile.gif .
Только сейчас обратил внимание на скорость поступления данных. Наверное, будет проще после передачи пакета с данными делать reuse_tx_pl до поступления новых данных и снова reuse smile.gif . Если пакеты нумеруются, то на приеме отбрасывать пакеты с уже принятым номером. Правда, принимать этому чипу уже будет некогда sad.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 01:31
Рейтинг@Mail.ru


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