Создайте Bluetooth Piconet путем включения трафика ACL, трафика SCO и AFH

Библиотека Communications Toolbox™ для функций Протокола Bluetooth® позволяет вам создать и сконфигурировать Bluetooth piconet. Библиотека обеспечивает функциональности, чтобы сконфигурировать асинхронный с установлением соединения (ACL) ссылка, ссылка синхронного с установлением соединения (SCO), или и между Ведущим устройством и между Ведомым устройством. Можно также сконфигурировать методы скачкообразного движения частоты как скачкообразное движение основной частоты или адаптивное скачкообразное движение частоты (AFH).

Создайте Bluetooth Piconet путем включения трафика ACL, трафика SCO и AFH

Задайте количество Ведомых устройств в Bluetooth piconet. piconet может содержать максимум семи Ведомых устройств.

numSlaves = 2;

Определите общий номер узлов в piconet (одно Ведущее устройство и несколько Ведомых устройств).

numNodes = numSlaves + 1;

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

  • Если Ведущее устройство соединяется с одним Ведомым устройством, необходимо задать значение логической ссылки как вектор с одним элементом из 1 (Ссылка ACL), 2 (Ссылка SCO), или 3 (ACL и ссылки SCO).

  • Если Ведущее устройство соединяется с несколькими Ведомыми устройствами, необходимо задать значение логической ссылки как вектор-строку n-элемента, где n является количеством Ведомых устройств. Каждым элементом должен быть 1 (Ссылка ACL), 2 (Ссылка SCO), или 3 (ACL и ссылки SCO).

Включите ACL и трафик SCO, задав тип ACL и пакета SCO как 'DM1' и 'HV3', соответственно.

linkTraffic = [1 2];
aclPacketType = 'DM1';
scoPacketType = {2,'HV3'};

Чтобы включить AFH, установите тип последовательности на адаптивную Связь.

sequenceType = 'Connection adaptive';

Инициализируйте массив ячеек, чтобы сохранить узлы Bluetooth.

btNodes = cell(1,numNodes);

Задайте расстояние (в метрах) между двумя узлами Bluetooth.

interNodeDistance = 10;

Создайте узлы, и затем сконфигурируйте их как Ведущее устройство или Ведомое устройство. Чтобы создать и сконфигурировать узлы, используйте функцию helperBluetoothFullDuplexNode.

for nodeIdx = 1:numNodes
    if nodeIdx == 1
        basebandInstance = helperBluetoothBaseband('Role','Master');                            % Baseband Master instance
    else
        basebandInstance = helperBluetoothBaseband('Role','Slave');                             % Baseband Slave instance
    end
    nodePosition = [nodeIdx*interNodeDistance 0 0];                                             % Set node position
    node = helperBluetoothFullDuplexNode('Baseband',basebandInstance);                          % Create and configure node
    node.NodeID = nodeIdx;                                                                      % Update node ID
    node.NodePosition = nodePosition;                                                           % Update node position
    btNodes{nodeIdx} = node;                                                                    % Add Bluetooth nodes in cell array
end

Создайте Bluetooth piconet при помощи функции helperBluetoothCreatePiconet.

helperBluetoothCreatePiconet(btNodes,numSlaves,linkTraffic,sequenceType,scoPacketType);

Ссылки

[1] Технологический Веб-сайт Bluetooth. “Технологический Веб-сайт Bluetooth | официальный сайт Технологии Bluetooth”. Полученный доступ 17 сентября 2020. https://www.bluetooth.com/.

[2] Специальная группа (SIG) Bluetooth. "Спецификация Ядра Bluetooth". Версия 5.2. https://www.bluetooth.com/.

Похожие темы