Rst7 5 16 октября, 2017 Опубликовано 16 октября, 2017 · Жалоба В общем, ситуация такая. Выявился там огрех с обработкой пакетов в приемнике. Актуально только для режима передачи пакетов 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 есть, но что-то мне кажется, что ближайший месяц они мне будут рассказывать за то, какой я кривой и косой пользователь их продукции ;) В общем, не наступите на эти прекрасные грабли, если что. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 17 октября, 2017 Опубликовано 17 октября, 2017 · Жалоба Ну и workaround сегодня проверил. Не ставьте адрес с повторяющимися байтами и все будет окей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться