2016-05-02 5 views
0

Мне нужно точно знать, сколько пакетов за интервал может обрабатывать мой BLE. Периферийное устройство, согласно его описанию, обрабатывает 6 пакетов за интервал, но мне не удалось выяснить, сколько пакетов может обрабатывать Central. Центральным устройством является Motorola Moto G (поколение 2), работающее под управлением Android 5.0.2.BLE Количество пакетов для каждого интервала подключения в Wireshark

Изучив файл btsnoop_hci.log, я смог идентифицировать несколько параметров соединения, например, интервал подключения (7,5 мс в моем случае). Мои вопросы позволяют определить, сколько пакетов можно обменять за один интервал коонизации, путем изучения пакетов переговоров в Wireshark.

ответ

0

В спецификации нет никаких сообщений о максимальном количестве пакетов в событии соединения. Событие соединения может длиться не более (ConnectionInterval - 150 мкс) (см. 6.B.4.5.1).

Ограничения, если они есть, находятся в PHY, с обеих сторон. Большинство прошивок HCI ограничивают 4-5 пакетов на каждое событие соединения в каждом направлении.

0

Это зависит от контроллера на главной стороне, чтобы решить, как долго должно быть открыто событие соединения (так как на данный момент больше пакетов с любой стороны). Рабу нечего сказать об этом.

Для центрального хоста при создании соединения, а также при обновлении параметров подключения есть два параметра HCI Minimum_CE_Length и Maximum_CE_Length. Это информационные параметры, указывающие, как долго он должен оставаться открытым. Если они установлены на большие числа, контроллер будет иметь событие соединения как можно дольше.

К сожалению, Android установил эти параметры как на 0, что означает, что большинство контроллеров ограничивают событие соединения только 3 или 4 пакетами.

Смежные вопросы