BLE (6) - BLE 5.0 프로토콜 특징
Updated:
6. Bluetooth LE 5.0 프로토콜 특징
Bluetooth 5.0 에서는 기존 LE (Low Energy) 프로토콜과의 획기적인 차이를 보이는 기능들이 추가되었다. 이번 포스트에서는 BLE 5.0 에서 추가된 다음의 기능들 중 물리적 계층 (PHY)과 관련된 특징을 소개하고자 한다.
- 2x higher speed
- 4x longer range
- 8x increased broadcasting capacity
- improved channel selection algorithm (CSA #2)
6.1 2Mbps 전송 속도
BLE 4.2 까지 PHY 에서의 데이터 전송 속도는 1 Mbps
로 고정되어 있었으며, 이러한 BLE 시스템의 PHY 를 LE 1M
라고 한다. BLE 5.0 에서의 PHY 는 하위 버전과의 호환을 위해 의무적으로 LE 1M
을 포함해야하며, 그 외에 LE 2M
과 LE Coded
계층이 추가되었다.
이름에서 유추해볼 수 있듯이, LE 2M
에서는 2 Mbps
전송 속도를 사용하며 근거리 환경에서 보다 빠른 통신 속도를 제공한다. 기존 LE 1M
와 비교했을 때 통신 감도에 있어서는 80% 정도 성능이 저하될 것으로 추정되지만, 다른 RF 전파에 영향을 받지 않는 근거리 환경에서는 보다 높은 수준의 어플리케이션 구현이 가능할 것으로 보인다.
특히, BLE 4.2 에서 DLE (Data Length Extension) 기능이 추가되었으나, 사실상 BLE 기반의 무선 오디오 어플리케이션 등을 구현하는데는 어려움이 있었다. LE 2M
도입은 이러한 측면에서 BLE 프로토콜의 응용 분야를 확장시켜줄 것으로 보인다. 아래 그림은 이전 포스트 (BLE (5))에서 소개한 방식으로 ATT payload 크기가 27, 150, 244 bytes
인 경우에 대해 MATLAB
상에서 계산한 BLE 5.0 의 이론적인 유효 데이터 전송 속도이다.
6.2 4x Long range 통신
기본적으로 무선 시스템에서의 통신 거리는 송신단에서 평소보다 신호를 강하게 송출하거나, 수신단에서 기존의 신호를 보다 잘 감지하는 방식으로 늘릴 수 있다.
LE 1M
과 LE 2M
에서는 채널 코딩 (channel coding) 없이 데이터를 전송하기 때문에, 노이즈에 의해 오류가 발생해도 이를 감지하고 (Detection), 정정하는 과정을 (Correction) 포함하지 않는다. 반면 LE Coded
계층을 이용할 경우 통신 과정에서 FEC (Forward Error Corretion) 과정을 포함한다. 따라서, 송신 단에서는 원래의 데이터 비트와 함께 추가로 여분의 비트를 전송하며, 수신단에서는 해당 정보를 토대로 오류를 정정한다.
간단한 예로,
0
또는1
대신0000
과1111
을 전송한다고 가정해보자. 가령101
이란 데이터는111100001111
의 형태로 전송될 것이다. 이 경우, 보내는 신호 대비 유효 데이터 수는 1/4로 감소했기 때문에 데이터 전송 속도는 느려지지만, 중간에 한 비트 정도 오류가 발생하더라도 수신단에서 복구가 가능하다. 즉, 이와 같은 방식으로 통신 감도(거리)를 향상(증가)시킬 수 있다.
BLE 5.0 에서는 FEC 부호화 단계에서 convolutional encoder 를 사용하며, 다음의 다항식으로 코드를 생성한다 (+
는 XOR 연산이다).
- G0[x] = x + x[n-1] + x[n-2] + x[n-3]
- G1[x] = x + x[n-2] + x[n-3]
위 그림은 임의의 데이터를 위 다항식에 대응되는 convolution encoder 로 부호화하는 과정의 예시를 보여준다. 만약 convolution encoder 에 대해 모르는 경우, 위의 수식이 이해 되지 않을 수 있는데, 그림을 보면 원본 데이터가 01101...
에서 0011010111...
과 같은 형태로 바뀌는구나 하는 정도는 이해할 수 있을 것이다.
LE Coded
계층을 이용하는 경우 기본적으로 1 Mbps
속도로 데이터를 전송하고, LE Coded S=2
의 경우는 위의 convolutional encoder 출력 값을 그대로, LE Coded S=8
의 경우 부호화된 결과 값에 다시 잉여 비트를 추가하여 전송한다(0 -> 0011, 1 -> 1100
). 결과적으로 LE Coded S=2
에서는 하나의 정보를 2 개로, LE Coded S=8
에서는 8 개로 늘려서 전송하는 것이다.
위의 표에서 확인할 수 있듯이, FEC 기반의 Long range 기능을 사용할 경우 실질적인 데이터 전송 속도는 1 Mbps
이하로 떨어지지만, 통신 거리는 보다 좋아지는 것을 볼 수 있다. LE Coded S=2
와 LE Coded S=8
계층을 이용하는 경우 각각 6 dB
또는 12 dB
정도 통신 감도가 향상되며, 이론상 Link Budget 에서의 6 dB
는 기존 대비 두 배의 통신 거리와 대응된다. 따라서 LE Coded S=8
PHY 에서 125 kbps
로 데이터를 전송하는 경우, LE 1M
PHY 와 비교했을 때 통신 거리가 4 배 정도 증가하는 것으로 해석하는 것이다.
Notice: 한 가지 유념해야할 사실은 BLE 5.0 에서 새롭게 추가된 기능들의 이면에는 소비 전력이라는 기회 비용이 존재한다. LE Coded
계층에서의 Long range 기능을 구현하는 경우 LE 1M
과 비교했을 때 송신 패킷수가 약 2~8배 정도 증가한다. 즉, BLE 디바이스에서는 그만큼의 시간동안 추가로 radio 모듈을 동작시켜야 하고, 결과적으로 높은 소비 전류를 요구하게 된다.
Reference
https://www.nordicsemi.com/Products/Low-power-short-range-wireless/Bluetooth-5
http://www.summitdata.com/blog/whats-new-with-bluetooth-5-0/
https://www.allaboutcircuits.com/technical-articles/long-distance-bluetooth-low-energy-bit-data-paths
https://www.bluetooth.com/bluetooth-resources/bluetooth-5-go-faster-go-further [PDF]
Comments