Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: nRF24L01+ баг нашелся.
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Wireless/Optic
Rst7
В общем, ситуация такая. Выявился там огрех с обработкой пакетов в приемнике. Актуально только для режима передачи пакетов 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


В общем, не наступите на эти прекрасные грабли, если что.
Rst7
Ну и workaround сегодня проверил. Не ставьте адрес с повторяющимися байтами и все будет окей.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.