참고자료: https://www.bluetooth.com/specifications/specs/core-specification-5-3/
* 전체 Advertising Physical Channel PDU의 payload는 "Advertising Physical Channel PDU" 참고
Common Extended Advertising Payload를 사용하는 PDU
* 각 PDU에 포함된 데이터는 "GAP - Advertising data format (Scan Response data format)" 참고
- ADV_EXT_IND ("Advertising PDU Payload" 참고)
- AUX_ADV_IND ("Advertising PDU Payload" 참고)
- AUX_SCAN_RSP
- AUX_SYNC_IND ("Advertising PDU Payload" 참고)
- AUX_CHAIN_IND ("Advertising PDU Payload" 참고)
- AUX_CONNECT_RSP
Payload 포맷
1. Extended Header Length
- Extended Header의 길이를 나타낸다
- 값: 0 ~ 63
2. AdvMode
- Advertisement mode를 나타낸다
Value | Mode | |
0b00 | Non-connectable | Non-scannable |
0b01 | Connectable | Non-scannable |
0b10 | Non-connectable | Scannable |
0b11 | Reserved for future use |
3. Extended Header
- Extended Header Length 값이 0이 아닐 경우에 존재
3-1. Extended Header Flags
- bit 값이 0: Extended Header에서 bit에 해당하는 field가 존재하지 않는다
- bit 값이 1: Extended Header에서 bit에 해당하는 field가 존재한다
Bit | 해당하는 field |
0 | AdvA |
1 | TargetA |
2 | CTEInfo |
3 | AdvDataInfo (ADI) |
4 | AuxPtr |
5 | SyncInfo |
6 | TxPower |
7 | RFU |
3-2. AdvA
- Advertiser의 device address를 나타낸다
3-3. TargetA
- Advertisement를 전달한, Scanner 또는 initiator의 device address
3-4. CTEInfo
- 패킷에 Constant Tone Extension이 포함되었다는 것을 나타낸다
- CTETime: Constant Tone Extension의 8 μs 단위 길이 (2 ~ 20)
- CTEType: Constant Tone Extension type과 switching slot 주기
CTEType value | Constant Tone Extension type |
0 | AoA Constant Tone Extension |
1 | AoD Constant Tone Extension with 1 μs slots |
2 | AoD Constant Tone Extension with 2 μs slots |
3 | RFU |
3-5. AdvData Info (ADI)
- 충돌은 검출하는데 사용된다 (collision detection)
- Advertising Data ID (SID): Advertiser가 전송한 AdvData가, 전에 전송한 AdvData와 같은지, Scanner가 알 수 있게 한다
- Advertising Set ID (SID): Advertiser가 전송한 advertising set을 구분하기 위해 사용
3-6. AuxPtr
- 뒤따라오는 auxiliary packet의 일부 또는 전체 advertisement data를 알려준다
- Channel Index: auxiliary packet 전송에 사용되는 general-purpose channel index
- CA: 해당 CA를 포함한 패킷과, 이후에 전송될 auxiliary packet의 사이에서 사용되는 advertiser clock 정확도를 나타낸다
CA Value | Advertiser clock 정확도 |
0 | 51 ppm ~ 500 ppm |
1 | 0 ppm ~ 50 ppm |
- Offset Units: Aux Offset Field에 의해 사용되며, 값은 아래와 같다
값 | 설명 |
0 | 30 μs |
1 | 300 μs |
- Aux Offset: Auxiliary packet이 전송될 예상 시간을 알려준다
- Aux PHY: Auxiliary packet을 전송하는데 사용되는 PHY를 알려준다
Value | PHY used |
0b000 | LE 1M |
0b001 | LE 2M |
0b010 | LE Coded |
0b011 ~ 0b111 | RFU |
3-7. SyncInfo
- Periodic advertising train(AUX_SYNC_IND PDU) 설정값을 알려준다
- 자세한 내용은 "Common Extended Advertising Payload - SyncInfo field" 참고
3-8. TxPower
- TxPower field를 포함하는 패킷의 전송 radiated TX Power를 나타낸다
- Tx Power Advertising Data type과 같은 값이다
- 자세한 내용은 "Bluetooth TX Power Level" 참고
3-9. ACAD(Additional Controller Advertising Data)
- ACAD 길이는 가변적이다
- ACAD는 fragment 되면 안되고, 하나의 advertising physical channel PDU에 포함되어야 한다
- ACAD에는 Advertiser의 Controller 또는 수신측의 Controller가 사용하는 data가 포함되어야 한다
- ACAD 데이터 포맷은 "GAP - Advertising data format (Scan Response data format)"를 참고
4. AdvData (Host Advertising Data)
- AdvData 데이터 포맷은 "GAP - Advertising data format (Scan Response data format)" 참고
- Host에서 제공한 Advertising Data가 없으면 AdvData field는 생략된다
- Controller는 Host Advertising Data를 fragment 할 수 있다
- Controller는 Host Advertising Data를 fragment 할 때, fragment 길이와 갯수를 결정한다
- Controller는 신뢰성을 위해, fragment 갯수를 최소화해야 한다
- Fragment 되기 전, Host Advertising Data의 최대 길이는 1650 octets 이다
- 만약 Common Extended Advertising Payload 길이가, 255 octet (Physical Channel PDU payload 길이) 보다 길면, Link Layer에서 Host advertising data를 fragment 해야한다
- Host advertising data의 첫 번째 fragment는 AUX_ADV_IND PDU, AUX_SYNC_IND PDU, AUX_SCAN_RSP PDU에 포함되고, 뒤에 있는 나머지 fragment는 AUX_CHAIN_IND PDU에 포함된다 (각 PDU에 포함된 데이터는 "GAP - Advertising data format (Scan Response data format)" 참고)
- 만약 모든 fragment를 전송하지 못할 경우, 전송 가능한 마지막 fragment를 포함한 PDU에서, AuxPtr field의 Aux Offset 값이 0 이어서, scanner가 fragment가 더 있다는 것을 인지할 수 있어야 한다
'블루투스 > LE Link Layer' 카테고리의 다른 글
Common Extended Advertising Payload - SyncInfo field (0) | 2023.02.01 |
---|---|
Constant Tone Extension (0) | 2023.01.31 |
Advertising PDU Payload (0) | 2023.01.31 |
Advertising Physical Channel PDU (0) | 2023.01.30 |
Bluetooth LE Packet Format (0) | 2023.01.29 |