본문 바로가기
블루투스/LE Link Layer

Common Extended Advertising Payload

by 테크쟁이 2023. 1. 31.
반응형

참고자료: 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 포맷

Common Extended Advertising 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이 아닐 경우에 존재

Extended Header

 

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이 포함되었다는 것을 나타낸다

CTEInfo field

- 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)

AdvData Info (ADI) field

- Advertising Data ID (SID): Advertiser가 전송한 AdvData가, 전에 전송한 AdvData와 같은지, Scanner가 알 수 있게 한다

- Advertising Set ID (SID): Advertiser가 전송한 advertising set을 구분하기 위해 사용

 

3-6. AuxPtr

- 뒤따라오는 auxiliary packet의 일부 또는 전체 advertisement data를 알려준다

AuxPtr field

- 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이 전송될 예상 시간을 알려준다

ADV_EXT_IND PDU와 AUX_ADV_IND PDU에서 Aux Offset

- 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) 설정값을 알려준다

SyncInfo

- 자세한 내용은 "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