본문 바로가기
블루투스/Baseband

Bluetooth Packet Header (LT_ADDR, TYPE, FLOW, ARQN, SEQN, HEC)

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

참고자료: https://www.bluetooth.com/specifications/specs/core-specification-5-3/

* 전체 Bluetooth packet format은 "Bluetooth Packet Format" 참고

 

Header

- Baseband에서 관리("블루투스 아키텍처 계층" 참고)

Bluetooth packet header

 

1. LT_ADDR (3-bit): logical transport address

- Central -> Peripheral 전송: destination Peripheral를 나타낸다

- Peripheral -> Central: Source Peripheral를 나타낸다

 

2. TYPE (4-bit): type code

- Packet type을 분류 (SCO/eSCO/ACL/CPB)

Packet Type
Segment TYPE
code
b3b2b1b0
Slot SCO
(1 Mb/s)
eSCO
(1 Mb/s)
eSCO
(2~3 Mb/s)
ACL
(1 Mb/s)
ACL
(2~3 Mb/s)
CPB
(1 Mb/s)
CPB
(2~3 Mb/s)
1 0000 1 NULL NULL NULL NULL NULL NULL NULL
0001 1 POLL POLL POLL POLL POLL
0010 1 FHS FHS FHS
0011 1 DM1 DM1 DM1 DM1 DM1
2 0100 1 DH1 2-DH1 DH1 2-DH1
0101 1 HV1
0110 1 HV2 2-EV3
0111 1 HV3 EV3 2-EV3
1000 1 DV 3-DH1 3-DH1
1001 1 AUX1 AUX1
3 1010 3 DM3 2-DH3 DM3 2-DH3
1011 3 DH3 3-DH3 DH3 3-DH3
1100 3 EV4 2-EV5
1101 3 EV5 3-EV5
4 1110 5 DM5 2-DM5 DM5 2-DM5
1111 5 DH5 3-DM5 DH5 3-DM5

 

3. FLOW (1-bit): flow control

- 0 (STOP): ACL RX buffer가 full 이어서 data를 받을 수 없어서, POLL/NULL packet만 송수신 할 수 있다

- 1 (GO): ACL RX buffer가 data를 수신할 수 있다

- SCO, eSCO에서 FLOW는 사용되지 않는다

- CPB에서 FLOW는 RFU이다

 

4. ARQN (1-bit): acknowledge indication

- 0 (NAK): CRC를 포함한 payload data가 비정상적으로 전송되었다

- 0 (ACK): CRC를 포함한 payload data가 정상적으로 전송되었다

- CPB에서 ARQN는 RFU이다

 

5. SEQN (1-bit): sequence number

- Packet 순서를 구분하기 위해, packet에 순차적으로 번호를 할당 (sequential numbering scheme)

- CPB에서 SEQN RFU이다

 

6. HEC (8-bit): header error check

- HEC check를 실패하면, packet 전체를 버린다

- Central Response substate에서 FHS packet: Peripheral의 BD_ADDR의 UAP를 사용하여 HEC를 생성

- 나머지 substate: Central의 BD_ADDR의 UAP를 사용하여 HEC를 생성

 
반응형

'블루투스 > Baseband' 카테고리의 다른 글

Bluetooth Packet Access Code (CAC/DAC/GIAC/DIAC)  (0) 2023.01.26
FHS packet  (0) 2023.01.25
Bluetooth Page / Page Scan  (0) 2023.01.17
Bluetooth Inquiry / Inquiry scan  (0) 2023.01.16
Class of Device  (0) 2023.01.07