Управление пакетом ( Packet Control) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Управление пакетом ( Packet Control)



    Длина сообщения (Payload length), байт

    Идентификатор пакета (Packet Id)

Запрос уведомления о получении (No Ack)

Сообщение (Payload) – данные, передаваемые пользователем

Циклически избыточный код (CRC) - контрольная сумма, вычисленная по определённому алгоритму, позволяет проверить целостность данных.

В отличии от обычного, расширенный ShockBurst пакет обладает большей функциональностью за счёт дополнительного поля управления пакетом (Packet Control).

Во-первых, допускаются сообщения разной длины благодаря спецификатору длины сообщения (длина сообщения может быть от 1 до 32 байтов).

Во-вторых, идентификатор пакета позволяет принимающему устройству определять, является ли сообщение новым или оно было повторно передано (и, таким образом, может быть проигнорировано).

В-третьих, в каждом сообщении можно запрашивать уведомление о получении сообщения другим устройством.

 

Автоматическая обработка пакетов

Теперь давайте обсудим три сценария, чтобы лучше понять, как два модуля nRF24L01 + взаимодействуют друг с другом.

Транзакция с подтверждением и прерыванием. Это пример положительного сценария. Здесь передатчик начинает связь, отправляя пакет данных получателю. Как только весь пакет передан, он ожидает около 130 мкс получения уведомления о получении (пакета Ack). Когда получатель получает пакет, он отправляет уведомление (пакет Ack) передатчику. При получении пакета Ack передатчик выдает сигнал прерывания (IRQ), чтобы указать, что новые данные доступны.

Транзакция с потерянным пакетом данных. Это негативный сценарий, когда требуется повторная передача из-за потери переданного пакета. После того, как пакет передан, передатчик ожидает получения пакета Ack. Если передатчик не получает его в течение времени автоматической повторной передачи (Auto-Retransmit-Delay), пакет передается повторно. Когда повторно переданный пакет принят приемником, передается пакет Ack, который, в свою очередь, генерирует прерывание (IRQ) в передатчике, чтобы указать, что новые данные доступны.

Транзакция с потерей уведомления. Это опять-таки негативный сценарий, когда требуется повторная передача из-за потери пакета Ack. Здесь, даже если получатель получает пакет в первой попытке из-за потери пакета Ack, передатчик считает, что получатель вообще не получил пакет. Таким образом, после того, как время автоматической повторной передачи (ARD) истекло, он повторно передает пакет. Теперь, когда получатель получает пакет, содержащий тот же идентификатор пакета, что и предыдущий, он отбрасывает его и снова отправляет ACK-пакет.

Вся эта обработка пакетов выполняется автоматически чипом nRF24L01+ без участия Ардуино (или иного микроконтроллера).

 

Распиновка

Рассмотрим распиновку обеих версий модуля трансивера nRF24L01+.

 

GND - земля. Контакт обычно обрисовывается на плате квадратом, чтобы его можно было легче опознать другие котакты.

VCC - питание модуля. Напряжение питания может быть в пределах от 1,9 до 3,9 вольт. Можно подключить его к выходу 3.3 В на плате Ардуино. Подключение к выводу 5 В может привести к повреждению модуля.

CE (Chip Enable) – при высоком уровне сигнала (active HIGH) происходит переключение режима приём/передача – модуль будет либо передавать, либо получать данные, в зависимости от того, в каком режиме он находился до этого.

CSN (Chip Select Not) – при низком уровне сигнала (active LOW), модуль начинает прослушивать и обрабатывать данные на своем SPI портe. В нормальном состоянии на контакте поддерживается высокий уровень сигнала (HIGH).

SCK (Serial Clock) принимает тактовые импульсы, передаваемые по шине SPI ведущим (Master).

MOSI (Master Out Slave In) выход ведущего, вход ведомого (входной сигнал для модуля).

MISO (Master In Slave Out) вход ведущего, выход ведомого (выходной сигнал модуля).

IRQ – прерывания, сообщает ведущему (Master), что новые данные доступны для обработки.

 



Поделиться:


Последнее изменение этой страницы: 2021-05-27; просмотров: 66; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.75.203 (0.005 с.)