참고자료: https://www.bluetooth.com/specifications/specs/core-specification-5-3/
* 블루투스 전체 LE 패킷 포맷은 "Bluetooth LE Packet Format" 참고
Advertising Physical Channel PDU
- Periodic physical channel에서도 사용된다
- Advertising PDU를 송신하는 state: Advertising state
- Advertising PDU를 수신하는 state: Scanning state 또는 Initiating state
1. Header
1-1. PDU Type
PDU Type - LE Advertising physical channel PDU Header | |||||
PDU Type | PDU Name | Physical Channel | LE Coded | LE 1M | LE 2M |
0b0000 | ADV_IND | Primary Advertising | ● | ||
0b0001 | ADV_DIRECT_IND | Primary Advertising | ● | ||
0b0010 | ADV_NONCONN_IND | Primary Advertising | ● | ||
0b0011 | SCAN_REQ | Primary Advertising | ● | ||
AUX_SCAN_REQ | Secondary Advertising | ● | ● | ● | |
0b0100 | SCAN_RSP | Primary Advertising | ● | ||
0b0101 | CONNECT_IND | Primary Advertising | ● | ||
AUX_CONNECT_REQ | Secondary Advertising | ● | ● | ● | |
0b0110 | ADV_SCAN_IND | Primary Advertising | ● | ||
0b0111 | ADV_EXT_IND | Primary Advertising | ● | ● | |
AUX_ADV_IND | Secondary Advertising | ● | ● | ● | |
AUX_SCAN_RSP | Secondary Advertising | ● | ● | ● | |
AUX_SYNC_IND | Periodic | ● | ● | ● | |
AUX_CHAIN_IND | Secondary Advertising | ● | ● | ● | |
Periodic | ● | ● | ● | ||
0b1000 | AUX_CONNECT_RSP | Secondary Advertising | ● | ● | ● |
나머지 모든 값 | RFU |
1-2. ChSel / TxAdd / RxAdd
- PDU에 따라 값의 의미가 다르다 (아래 표 참고)
Advertising PDU에서 ChSel / TxAdd / RxAdd | ||||
Advertising PDU |
PDU | ChSel | TxAdd | RxAdd |
ADV_IND | LE Channel Selection Algorithm #2 1: advertiser 지원 |
advertiser address 0: public 1: random |
RFU | |
ADV_DIRECT_IND | LE Channel Selection Algorithm #2 1: advertiser 지원 |
advertiser address 0: public 1: random |
target address 0: public 1: random |
|
ADV_NONCONN_IND | RFU | advertiser address 0: public 1: random |
RFU | |
ADV_SCAN_IND | RFU | advertiser address 0: public 1: random |
RFU | |
ADV_EXT_IND | RFU | RFU | RFU | |
AUX_ADV_IND | RFU | RFU | RFU | |
AUX_SYNC_IND | RFU | RFU | RFU | |
AUX_CHAIN_IND | RFU | RFU | RFU | |
Scanning PDU |
SCAN_REQ | RFU | scanner address 0: public 1: random |
advertiser address 0: public 1: random |
SCAN_RSP | RFU | advertiser address 0: public 1: random |
RFU | |
AUX_SCAN_REQ | RFU | scanner address 0: public 1: random |
advertiser address 0: public 1: random |
|
AUX_SCAN_RSP | RFU | RFU | RFU | |
Initiating PDU |
CONNECT_IND | LE Channel Selection Algorithm #2 0: initiator 미지원 1: initiator 지원, advertiser 지원 0 또는 1: initiator 지원, advertiser 미지원 |
initiator address 0: public 1: random |
advertiser address 0: public 1: random |
AUX_CONNECT_REQ | RFU | initiator address 0: public 1: random |
advertiser address 0: public 1: random |
|
AUX_CONNECT_RSP | RFU | RFU | RFU |
1-3. Length
- Payload의 octet 길이 (1~255 octet)
2. Payload
2-1. Advertising PDU Payload
- 자세한 내용은 "Advertising PDU Payload"참고
- ADV_IND PDU
- ADV_DIRECT_IND PDU
- ADV_NONCONN_IND PDU
- ADV_SCAN_IND PDU
- ADV_EXT_IND PDU
- AUX_ADV_IND PDU
- AUX_SYNC_IND PDU
- AUX_CHAIN_IND PDU
2-2. Scanning PDU Payload
- 자세한 내용은 "Scanning PDU Payload"참고
- SCAN_REQ PDU (scan request PDU)
- SCAN_RSP PDU (scan response PDU)
- AUX_SCAN_REQ PDU (scan request PDU)
- AUX_SCAN_RSP PDU (scan response PDU)
2-3. Initiating PDU Payload
- 자세한 내용은 "Initiating PDU Payload"참고
- CONNECT_IND PDU (Initiating state 디바이스 -> Advertising state 디바이스)
- AUX_CONNECT_REQ PDU (Initiating state 디바이스 -> Advertising state 디바이스)
- AUX_CONNECT_RSP PDU (Advertising state 디바이스 -> Initiating state 디바이스)
'블루투스 > LE Link Layer' 카테고리의 다른 글
Common Extended Advertising Payload (0) | 2023.01.31 |
---|---|
Advertising PDU Payload (0) | 2023.01.31 |
Bluetooth LE Packet Format (0) | 2023.01.29 |
LE Device address (0) | 2023.01.08 |
LE Link Layer State (0) | 2023.01.06 |