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

Bluetooth Architecture Layer

by 테크쟁이 2022. 12. 10.
반응형

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

블루투스 아키텍처 그림은 "Bluetooth Controller 조합" 참고

 

1. 블루투스 코어 시스템 아키텍처(Bluetooth core system architecture) - 데이터 처리 구조 관점

Bluetooth core system architecture

 

1-1. 블루투스 코어 시스템 아키텍처 설명

Host Application 블루투스 프로파일과 프로토콜을 사용하는 어플리케이션
- User의 입력/출력을 처리
Profile 어플리케이션의 상호 운용성(interoperability)을 유지하면서, 특정 장치의 기능을 하기 위한 프로토콜 모음
- HFP: 핸즈프리 같은 전화통화 관련 프로파일
- A2DP: 음악 관련 프로파일
- HID: 무선 마우스, 무선 키보드 관련 프로파일
- SPP: 시리얼포트 관련 프로파일
- 그외 다수 프로파일 존재
GAP
(Generic Access Profile)
블루투스 장치의 기본적인 요구사항을 정의
- 블루투스 디바이스 Discovery
- 블루투스 디바이스 Connection
- 다른 Security Level을 사용하는 과정 정의
- User interface에서 사용 가능한 파라미터 포맷 정의
SDP
(Service Discovery Protocol)
디바이스가 지원하는 서비스와 사용(연결) 가능한 서비스를 알려준다.
L2CAP
(Logical Link Control and 
Adaptation protocol)
어플리케이션 데이터를, 동기(SCO) 비동기(ACL) 등등 데이터 종류에 따라 분류하고 Segmentation/Reassembly를 한다.
- Protocol Multiplexer
- Baseband Logical Link에 따라 
CID(Channel Identifier)가 부여
- CID(Channel Identifier)를 사용하여, 각 Logical Channel을 구분
HCI(Host Controller Interface) Host와 Controller의 통신을 위한 interface
- UART, USB, SD 등이 있다
Controller Link Manger 장치 간의 암호화, logical links 및 관련 logical transports의 생성, 수정 및 해제를 한다.
Logical link creation/modification/release
Authentication, Pairing, Link Key change
Role switch
Bluetooth Device Name
Encryption enabling/disabling
Transmit power adapting
QoS setting adjustment
Test mode
Baseband
(Link Controller)
주로 블루투스 패킷의 인코딩/디코딩과 전송 관련 작업이 많다.
Bluetooth Device Address (BD_ADDR)
FHS(Frequency hopping sequence)
Link Supervision Timeout(LSTO)
Packet encoding/decoding
Flow controll, acknowledgment, retransmission
Active mode, Sniff mode, Sniff subrating mode, Hold mode
State(Standby, Connection, Page/Page Scan, Inquiry/Inquiry Scan)
Class of Device
Radio RF interface를 통해, 블루투스 패킷을 송수신
BR/EDR radio, LE radio

 

 

2. 블루투스 데이터 전송 아키텍처(Bluetooth data transport architecture) - 데이터 처리 흐름 관점

Bluetooth generic data transport architecture

 

2-1. 블루투스 데이터 전송 아키텍처 설명

* 자세한 블루투스 데이터 전송 아키텍처 관련 내용은 "Bluetooth Data Transport Architecture" 참고.

계층(Layer) 설명
L2CAP Channels 다양한 애플리케이션 및 서비스 프로토콜이 ACL-U, APB-U 또는 LE-U와 같은 공유 Logical Link를 통해 데이터를 다중화하여 전송할 수 있도록 한다. 즉, 여러 상위 계층 프로토콜이나 애플리케이션이 동시에 동일한 Logical Link를 사용할 수 있게 해주는 역할을 한다.

L2CAP Channels 식별자
CID: 각 L2CAP 채널 엔드포인트는 L2CAP에 의해 할당되는 채널 식별자(Channel Identifier, CID)로 식별된다. 어떤 장치에서든 각 L2CAP 채널 엔드포인트는 고유한 CID를 가진다.

다중화 및 역다중화
L2CAP의 주요 역할은 채널 클라이언트로부터 받은 서비스 데이터 유닛(SDU)을 ACL-U, APB-U, 또는 LE-U Logical Link에 다중화하고, 수신 측에서는 이를 역다중화하여 해당 채널 클라이언트에 전달한다.

단편화 및 재조합
애플리케이션 데이터 유닛(SDU)은 L2CAP PDU로 분할(segmentation)되고, L2CAP PDU는 기본 Baseband 패킷보다 클 경우 여러 조각(fragmentation)으로 나뉘어 전송한다. 수신 측에서는 이를 재조합(recombination)하고 재조립(reassembly)한다. Logical Link ID(LLID) 필드는 이러한 단편화된 메시지의 시작(0b10)과 연속(0b01)을 구분하는 데 사용된다.

채널 유형
- Connection-oriented (연결 지향)
- Connectionless (연결 없는)
- Fixed Channels (고정 채널)
Logical Links
(논리적 링크)
두 장치 이상 간에 독립적인 데이터 전송 서비스를 제공하는 데 사용되는 가장 낮은 아키텍처 계층.

전송되는 데이터 유형을 나타내는 접미사(C: 제어, U: 사용자, S: 스트림)를 붙인다.

Logical Links 식별자
데이터 페이로드를 전달하는 기본 대역(Baseband) 패킷의 페이로드 헤더에 있는 Logical Link ID(LLID) 비트에 의해 식별되고, SCO/eSCO 링크에는 LLID가 없다. LC Logical Link는 패킷 헤더에 매핑되는 반면, 다른 Logical Link는 패킷 페이로드에 포함된다. SCO-S 및 eSCO-S 링크는 LLID가 없으므로, Logical Transport 식별자인 Logical Transport 주소(LT_ADDR)로 식별된다.

BR/EDR Logical Links 종류
- LC (링크 제어)
- ACL-C 및 APB-C (ACL 제어)
- ACL-U 및 APB-U (사용자 비동기/등시간)
- SCO-S (사용자 동기 데이터)
- eSCO-S (사용자 확장 동기 데이터)
- PBD (프로필 방송 데이터)

LE Logical Links 종류
- LE-C (LE 제어):
- LE-U (LE 사용자)
- ADVB-C (광고 방송 제어)
- ADVB-U (광고 방송 사용자 데이터)
- LE-S (저에너지 스트림)
- LE-F (저에너지 프레임)
- LEB-C (저에너지 방송 제어)
Logical Transports
(논리적 전송)
Logical Transports에서 변경 가능한 속성
- 플로우 제어(flow control)
- 확인 응답/재전송 메커니즘(acknowledgment/repeat mechanisms)
- 순서 번호 지정(sequence numbering)
- 스케줄링 동작(scheduling behavior)

Logical Transports 에서 속성 제어 프로토콜
- BR/EDR: Link Manager (LMP) 프로토콜
- LE: Link Layer (LL) 프로토콜

Logical Transports 식별자
- BR/EDR: 대부분의 BR/EDR 논리적 전송은 패킷 헤더에 포함된 논리적 전송 주소(LT_ADDR)로 식별된다. Central은 Peripheral에게 LT_ADDR을 할당한다. SCO 및 eSCO와 같은 일부 논리적 전송은 기본 ACL의 LT_ADDR을 재사용하기도 하지만, 패킷 유형이나 예약된 슬롯 정보를 통해 구분된다.
- LE: LE Active Physical Links와 관련된 LE ACL 논리적 전송은 해당 Physical Channel의 무작위 액세스 주소(Access Address)로 식별된다. PADVB 논리적 전송은 advertising 장치의 Bluetooth 장치 주소, 타이밍 및 advertising set으로 식별되며, CIS 및 BIS 논리적 전송 또한 고유한 액세스 주소와 타이밍 정보로 식별됩니다

BR/EDR Logical Transports 종류
- ACL (Asynchronous Connection-Oriented)
- SCO (Synchronous Connection-Oriented)
- eSCO (Extended Synchronous Connection-Oriented)
- APB (Active Peripheral Broadcast)
- CPB (Connectionless Peripheral Broadcast)

LE Logical Transports 종류
- LE ACL (LE Asynchronous Connection)
- ADVB (LE Advertising Broadcast)
- PADVB (LE Periodic Advertising Broadcast)
- CIS (Connected Isochronous Stream)
- BIS (Broadcast Isochronous Stream)
Physical Links
(물리적 링크)
Bluetooth 장치들 사이에 형성되는 베이스밴드 연결을 표현하는 가상적인 개념으로, 전송되는 패킷에는 관련 내용이 없다.

Physical Link에서 속성 변경 프로토콜
- BR/EDR: Link Manager (LM) 프로토콜
- LE: 에서는 Link Layer (LL) 프로토콜

Physical Link에서 변경 가능한 속성
- 전송 전력(transmit power)
- 전력 제어(단, CPB 링크는 제외)
- 링크 감독(Link supervision)
- 암호화(Encryption)
- 채널 품질에 따른 데이터 속도 변경
- 다중 슬롯 패킷 제어
- Adapted piconet Physical Channel의 AFH(Adaptive Frequency Hopping) 채널 맵 속성
- CPB Physical Link는 LM 프로토콜을 미지원.

Physical Link 식별자
BR/EDR: 기본 ACL 논리적 전송(default ACL logical transport)의 ID인 LT_ADDR으로 식별.
LE: Link Layer 패킷에 사용되는 액세스 주소(Access Address)로 식별.

BR/EDR Physical Link 종류
- Active physical link
- Connectionless Peripheral Broadcast Physical Link(CPB physical link)
- Scanning physical link

LE Physical Link 종류
- LE active physical link
- LE advertising physical link
- LE periodic physical link
- LE isochronous physical link
Physical Channels
(물리적 채널)
통신을 위한 물리 채널을 위해, 트랜시버를 동일한 RF 주파수에 동시에 맞춤.
- 주파수 호핑 시퀀스: RF 캐리어 시퀀스를 동기화.

Physical Channels 식별자
- Access Code (DAC, CAC, IAC)를 사용하여 물리 채널을 구분.

BR/EDR Physical Channels 종류
- Basic piconet channel
- Adapted piconet channel
- Inquiry scan channel
- Page scan channel
- Synchronization scan channel

LE Physical Channels 종류
- LE piconet physical channel
- LE advertising physical channel
- Periodic physical channel
- LE Isochronous physical channel
Physical Transports
(물리적 전송)
RF 채널에서 하나 이상의 변조 방식을 사용하여, PHY 패킷 전송 및/또는 수신을 담당.
- BR/EDR 물리적 전송: BR/EDR Physical Channel을 캡슐화하며, BR/EDR 패킷을 사용.
- LE 물리적 전송: LE Physical Channel을 캡슐화하며, LE 패킷을 사용.

 

2-2. 블루투스 패킷에서 블루투스 데이터 전송 아키텍처

* 블루투스 패킷에 대한 자세한 내용은 "Bluetooth BR/EDR Packet Format" 참고.

EDR ACL PacketEDR ACL Packet에서 Bluetooth Data Transport Architecture 식별자

 

2-3. Bluetooth Baseband Architecture Layer

자세한 내용은 "Bluetooth Baseband Architecture Layer" 참고.

Bluetooth Baseband Architecture Layer 그림

반응형