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

 
 
 
Reply to this topicStart new topic
> nRF24L01+ баг нашелся.
Rst7
сообщение Oct 16 2017, 20:23
Сообщение #1


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 322
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



В общем, ситуация такая. Выявился там огрех с обработкой пакетов в приемнике. Актуально только для режима передачи пакетов Back-To-Back, т.е. с выключенным умом под названием Enhanced Shock Burst.

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

На приемном конце начинается веселье. Адреса у меня стояли для отладки дефолтные (E7E7E7E7E7), длина адреса была 3 (но это все похоже не суть). Длина CRC - 2 байта.

Если второй байт CRC первого пакета оказывается равным первому байту адреса, то второй пакет дропается.

Для отладки я выключил контроль CRC и увеличил на два значение регистра RX_PW_P0 (чтобы CRC принималась в пакет). На приемной стороне выглядело это так:

Первый пакет:
P0 P1 .... Pn CRC0 CRC1

Ну как бы все как надо. Второй пакет получался в двух вариантах

а) Если второй байт CRC первого пакета не равен первому байту адреса

P0 P1 ... Pn CRC0 CRC1

б) А вот если второй байт CRC первого пакета равен первому байту адреса (в моем случае - 0xE7), то происходил провал

0xE7 P0 P1 ... Pn CRC0

Т.е. такое впечатление, что последний байт CRC уже учелся как первый байт адреса. Причем, именно последний байт, заполнять PAYLOAD байтами 0xE7 я пробовал, к провалу это не приводит.

Почему игнорируется преамбула второго пакета (точнее, она не сбрасывает в исходное состояние поиск адреса) - я фиг знаю, ну видимо там вот такие кривые руки у HDL-кодера были.

Я подозреваю, что тут еще роль играет то, что все байты адреса по дефолту одинаковы. Завтра попробую сделать адрес с разными значениями байтов, возможно это решит проблему. Заодно написал на форум, который у самих NordicSemi есть, но что-то мне кажется, что ближайший месяц они мне будут рассказывать за то, какой я кривой и косой пользователь их продукции wink.gif


В общем, не наступите на эти прекрасные грабли, если что.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Rst7
сообщение Oct 17 2017, 11:02
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 322
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Ну и workaround сегодня проверил. Не ставьте адрес с повторяющимися байтами и все будет окей.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th May 2018 - 22:47
Рейтинг@Mail.ru


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