본문 바로가기

Software/Bluetooth

BR/EDR Connection Handover Profile

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 형식을 따른다. 


반응형