В общем, ситуация такая. Выявился там огрех с обработкой пакетов в приемнике. Актуально только для режима передачи пакетов 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 есть, но что-то мне кажется, что ближайший месяц они мне будут рассказывать за то, какой я кривой и косой пользователь их продукции
В общем, не наступите на эти прекрасные грабли, если что.
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин