E-mail: info@hyxkiot.com Call: +86 18664368785
Your Location:Home > News > Industry News

Four Types of BLE Beacon Broadcast States

Release date:2022-4-9 0:40:35

In the BLE beacon broadcast state, the link layer sends a broadcast PDU in the broadcast event. There are 4 types of broadcast events:

ADV_IND

ADV_DIRECT_IND

ADV_SCAN_IND

ADV_NONCONN_IND

 

1. BLE beacon broadcast channel selection:

In broadcast events, each broadcast event will transmit data in 3 broadcast channels, and each event starts transmission with the smallest channel number. That is to say, when the broadcast event comes, the PDU is transmitted from the broadcast channel 37, 38, and 39 in turn.


 

2. BLE Beacon broadcast interval:

For a non-direct broadcast event, the interval between two broadcast events, T_advEvent is calculated as follows

T_advEvent = advInterval + advDelay

 

Advlinterval is the broadcast interval. The broadcast interval must be an integer multiple of 0.625ms, and the range should be between 20ms and 10.24s. If the broadcast event is neither a non-directional scan event (ADV_SCAN_IND) nor a non-directional non-connectable event (ADV_NONCONN_IND), then the broadcast interval cannot be less than 100ms. If the broadcast event is non-directional connectable, the broadcast interval must be greater than or equal to 20ms. That is to say, Connectable Directed must be greater than 100ms advDelay broadcast delay, which is a random number between 0 and 10msz.

 

3. BLE Beacon Broadcast events

 

3.1 ADV_IND

The ADV_IND event is the most commonly used, it allows the Scanner to reply to the scan request or the Initiator to reply to the connection request. The Scanner can reply with a scan request (SCAN_REQ PDU) requesting more information from the broadcaster. The Initiator MAY send a CONNECT_REQ PDU to request the link to enter the CONNECT state.

The interval between two ADV_IND PDUs must be less than or equal to 10ms. When the broadcast interval is entered, the broadcast state will be turned off. Each broadcast event contains packets from three different broadcast channels.


Connectable Undirected advertising event with only advertising PDUS

If the broadcaster receives the SCAN_REQ PDU with the device address and passes the broadcast filtering policy, the broadcaster must (mandatory by the shell) reply to the SCAN_RSP PDU on the same broadcast channel. When the SCAN_RSP PDU is sent out, the broadcaster will send the next Broadcast the channel's ADV_IND PDU or turn off the broadcast. If the broadcast filter policy is not passed, the broadcaster will send the ADV_IND PDU of the next broadcast channel or close the broadcast.


Connectable undirected advertising event with Scan_REQ and Scan_RSP PDUs in the middle of advertising event.

 

Connectable undirected advertising event with Scan_REQ and Scan_RSP packet at the end an advertising event

If the broadcaster receives the CONNECT_REQ PDU with the device address and passes the broadcast filtering policy, the broadcaster will exit the broadcast state and enter the connection state as a slave role. If the broadcast filter policy is not passed, the broadcaster will send the ADV_IND PDU of the next broadcast channel or close the broadcast. The timing diagram is as follows

 

3.2 ADV_DIRECT_IND

When the ADV_DIRECT_IND PDU is sent, the broadcaster listens for CONNECT_REQ PDUs

Connection request packets, other scan request packets will be ignored. The ADV_DIRECT_IND PDU contains the initiator's device address and the broadcaster's device address. The CONNECT_REQ PDU also contains both the sender's address and the broadcaster's device address. Only when the corresponding CONNECT_REQ PDU is received, the broadcaster will enter the connection state, or the broadcaster will send the ADV_DIRECT_IND PDU of the next broadcast channel or close the broadcast. The interval between ADV_DIRECT_IND PDUs broadcast on the same broadcast channel cannot be greater than 3.75ms. Entering the broadcast state cannot exceed 1.28s


Connectable undirected advertising event type with only advertising PDUs

 

3.3 ADV_SCAN_IND

This broadcast is actually a non-directional and discoverable broadcast. It has the same time control as general broadcast, and the response is also SCAN_REQ PDU and SCAN_RSP PDU. The difference between this broadcast and general broadcast is that it cannot establish a connection. It can only be in the broadcast state. or ready state. This is a broadcast form suitable for broadcast data, dynamic data can be included in broadcast data, and static data can be included in scan response data. When the broadcaster receives a SCAN_REQ PDU packet from the scanner, which contains the broadcaster's device address and passes the broadcast filtering policy, the broadcaster replies with a SCAN_RSP PDU. If the broadcast filter policy is not passed, the broadcaster will send the ADV_IND PDU of the next broadcast channel or close the broadcast.

 

3.4 ADV_NONCONN_IND

This event is only broadcast, cannot monitor information from scanners and initiators, and cannot enter connected state

 

4. Whether the four states can be connected and scanned


ADV_IND can reply to a scan request, or it can be connected.

ADV_DIRECT_IND does not reply to scan requests and can be connected by an initiator with the correct address.

ADV_NONCONN_IND will not reply to the scan request and cannot be connected.

ADV_SCAN_IND can reply to the scan request when it cannot be connected.

Copyright © 2021 Shenzhen Huayang Xinke Electronics Co., Ltd. All rights reserved