Introduction & Profile Overview
Abstract :
Bluetooth Core Specification 4.0 이상 호환.
BR/EDR Connection profile은 TDS(Transport Discovering Service)를 사용하여 선택적으로 BLE에서 연결작업을 쉽게 처리할 수 있도록 한다.
해당 profile은 Advertising을 위해 TDS을 사용하며 GATT(Generic Attribute Profile)을 요구로 한다.
Protocol stack :
Roles :
해당 profile은 두가지 role에 대하여 역할을 지정한다 : Provider & Seeker
Provider는 Transport Discovery Service를 instantiates 하는 경우 GATT Server로 동작되어 진다.
Seeker는 GATT Client가 되어야 한다.
Concurrency limitations and restrictions :
해당 profile을 통해 구현된 Seeker 또는 provider의 동시성이나 제한 사항은 없다. Devices는 Seeker와 provider의 role을 동시에 수행할 수 있다.
BR/EDR Connection handover profile의 경우 일반적으로 BR/EDR 기반 profile에 고정된 master 또는 slave의 역할이 없기 때문에 devices는 seeker & provider의 role을 구현해야 한다.
Provider role requirements
Provider가 TDS(Transport Discover Service)를 instantiates화 하는 경우 GAP Peripheral role을 지원해야 한다. Provider가 TDS를 지원하지 않으면 TDS AD 데이터를 지원해야 한다.
BD_ADDR LTV(Length-Type-Value)가 Advertising data에 의존하지 않고 Connection Handover profile에 의해 표현되는 BR/EDR 장치의 BD_ADDR이 Advertiser의 public address와 일치하지 않으면 mandatory 사항이다. 그렇지 않으면 optional한 사항이다.
위의 요구사항은 다음을 의미 한다.
Advertising data에 TDS profile data를 포함하는 provider는 서비스 중인 BR/EDR device의 BD_ADDR과 동일한 public address를 사용하지 않는 한 BD_ADDR LTV를 포함해야한다.
Seeker 가 Advertising data에서 TDS profile data를 찾았지만, BD_ADDR LTV가 없고 public address가 TDS profile data의 advertiser의해 사용되는 경우, Seeker는 public address를 BR/EDR devices.
Advertising이 Connection 불가인 경우 BD_ADDR_LTV가 Transport Discovery Data AD type 이여야 한다.
다음 추가 요구사항은 Transport Discovery Data AD Type에 적용된다.
이 구성은 provider가 BR/EDR에 대한 Connection Handover가 가능하고 더 많은 data가 GATT database에서 사용 가능할 수 있음을 Seeker가 판단할 수 있게 해준다.
Provider는 지원되는 Services를 Advertise하기 위해 Advertise packet에 Transport Discovery Data AD Type을 포함해야 한다. Provider는 여러 organization ID가 있는 Transport Discovery data AD Type에 여러 Transport Block을 포함할 수 있지만 Bluetooth SIG organization ID(0x01)는 하나만 포함해야 한다.
다음은 Transport Data parameter fields에 서로 다른 LTV structure를 포함하는 예이다.(Parsing profile data)
아래의 예제에서 Transport Data fields에는 두 개의 16bit services UUID가 포함된 LTV 구조(Type 0x01 = 16bit Services List)와 2개의 32bit services UUID가 포함 된 LTV 구조(Type 0x02 = 32bit Service UUID list). 남아있는 Transport Data는 명확하게 하기 위해 생략되었지만 동일한 LTV 형식을 따른다.
'Software > Bluetooth' 카테고리의 다른 글
Codec 이야기(AAC, SBC, MP3, APT-X, LDAC) (3) | 2020.03.04 |
---|---|
블루투스(Bluetooth) 프로토콜 스택과 프로파일(Profile) - <1> (0) | 2017.09.25 |
블루투스(Bluetooth)의 개요와 기초 (0) | 2017.09.19 |
블루투스와 와이파이의 평화로운 공존 방법 (0) | 2017.09.18 |
블루투스 프로파일 개요 (Bluetooth Profiles Overview) (1) | 2017.05.11 |