연구노트/통신 설계

[HM-10] BLE의 동작 원리 || BLE는 어떻게 연결되는가

ipmes 2026. 7. 10. 10:00

 

 


 

 

 

 

이전에 알아보았듯 BLE는 항상 연결 상태를 유지하는 방식이 아니라, 필요한 순간에만 통신을 활성화하고 대부분 시간을 슬립 상태로 유지하도록 설계된 무선 통신 방식입니다.

이러한 구조 덕분에 매우 낮은 전력 소모로 동작할 수 있습니다.

 

또한 단순히 블루투스로 데이터를 주고받는 기술이 아니라, Advertising, Scan 과정을 통해 먼저 주변 장치를 발견하고, 필요할 경우 연결(Connection)을 맺고 데이터를 교환하는 구조로 동작합니다.

 

이러한 광고, 스캔, 연결의 흐름과 장치의 역할을 정리해 주는 것이 바로 GAP(Generic Access Profile)입니다.

따라서 GAP를 중심으로 BLE 장치가 어떤 방식으로 동작하는지 살펴보겠습니다.

 

 

BLE에서 GAP(Generic Access Profile)은?

BLE의 GAP는 Classic Bluetooth의 GAP와 완전히 다른 개념이라기보다, 기존 Bluetooth의 프로파일 개념을 저전력 환경에 맞게 구현한 것입니다.

따라서 BLE에서는 Advertising, Scanning, Connection 같은 저전력 통신 절차에 더 초점이 맞춰져 있습니다.

 

GAP는 특히 Advertising, Scanning, Connection 같은 초기 동작을 관리하며 장치가 어떤 역할로 동작할지도 함께 구분해 줍니다.

 

즉 어떤 장치는 자신을 주변에 알리는 쪽으로 동작하고, 어떤 장치는 주변의 신호를 찾아 연결을 시작하는 쪽으로 동작하게 됩니다.

 

 

Advertising / Scan / Connection

BLE의 연결 과정을 이해할 때 자주 나오는 세 가지 개념이 있습니다.

 

Advertising ( 광고 )

Advertising은 장치가 자신의 존재와 정보를 주기적으로 송출하는 동작입니다.

 

 

Scan ( 스캔 )

Scan은 다른 장치가 주변의 Advertising 신호를 찾아보는 동작입니다.

 

 

Connection ( 연결 )

Connection은 서로를 찾은 두 장치가 1:1 양방향 통신을 시작하는 단계입니다.

이 단계로 넘어가면 단순한 탐색이 아니라, 정해진 규칙에 따라 데이터를 주고받게 됩니다.

 

BLE는 이 동작들을 조합하여 두 가지 핵심 통신 모드로 전환하며 작동합니다.

연결 없이 효율적으로 정보를 퍼뜨리는 Advertising Mode와, 정밀한 데이터 교환을 수행하는 Connecction Mode의 구체적인 특징은 다음과 같습니다.

 

 

Advertise Mode

Advertise Mode는 장치가 일방향으로 신호를 송출하는 상태입니다.

이때 장치는 주변 장치가 자신을 인식할 수 있도록 정기적으로 광고 패킷을 송출합니다.

이 패킷에는 장치 이름, 서비스 정보, UUID, 간단한 상태 정보 등이 포함될 수 있습니다.

 

이 모드에서 가장 중요한 특징은 수신 기기와 반드시 연결을 맺지 않아도 된다는 점입니다.

신호를 보내는 장치는 주변의 장치가 수신하고 있는지 확인하지 않고, 일방적으로 패킷을 던집니다.

 

우리가 흔히 아는 비콘이나 위치 추적용 스마트 태그가 바로 연결을 계속 유지 하지 않기 때문에 이 방식을 활용해 배터리 하나로 수개월에서 수년간 동작할 수 있는 것입니다.

 

 

Connection Mode

Connection Mode는 1:1 양방향 연결이 성립한 상태입니다.

이 단계에서는 데이터를 주고받는 규칙이 정해지고, 두 장치가 타이밍을 맞춰 통신합니다.

 

Connection Mode로 전환되고 나면 광고(Advertising)와 스캔(Scan) 같은 탐색 과정이 아니라 연결 세션을 기준으로 통신이 이루어집니다.

 

연결이 완료되면 기존의 Advertiser와 Scanner는 각각 Peripheral과 Central이라는 역할로 동작합니다.

또한 BLE는 2.4GHz 대역에서 발생할 수 있는 간섭을 줄이기 위해, 서로 동기화된 주파수 도약(Frequency Hopping) 방식으로 데이터를 송수신합니다.

 

 

 

 

 

Peripheral(주변장치)와 Central(중앙장치)의 역할

 

Peripheral ( 주변장치 )

Peripheral은 연결이 성립되기 전 자신을 주변에 알리고 연결 요청을 기다리는 Advertiser 역할을 수행하는 장치입니다.

즉, 주변에 연결이 가능함을 알린 후 Central의 연결 요청을 수락하여 최종적으로 Peripheral 역할을 맡게 됩니다.

 

특징은 다음과 같습니다.

  • 연결 전 주기적으로 Advertising 신호를 보냅니다.
  • Central로부터 연결 요청이 오면 이를 수락하여 1:1 연결 세션을 시작합니다.

 

Central ( 중앙장치 )

Central은 주변의 광고 신호를 스캔하고 능동적으로 연결(Connection)을 시작하는 장치입니다.

연결이 성립된 이후에는 전체 통신의 기준 타이밍을 제어하고 관리하는 역할을 합니다.

 

특징은 다음과 같습니다.

  • 주변 장치들이 발송하는 Advertising 신호를 스캔합니다.
  • 연결하고자 하는 장치를 찾으면 연결을 요청합니다.
  • 연결이 완료된 후 데이터 통신의 흐름과 타이밍을 주도합니다.

 

 

BLE 장치의 추가 역할

Broadcaster

주변 장치에 Advertising 패킷만 일방적으로 송신하는 역할입니다.

연결(Connection)은 수행하지 않으며, 자신의 존재나 특정 정보를 주기적으로 주변에 알리는 용도로 사용됩니다.

 

 

Observer

Observer는 주변 BLE 장치의 Advertising 패킷을 수신만 하는 역할입니다.

연결(Connection)은 수행하지 않으며, 주변 Broadcaster가 송신하는 신호를 스캔하여 장치 정보나 상태 정보를 확인하는 데 사용됩니다.

 

 

그렇기 때문에 4가지 역할의 핵심은 이렇습니다.

Peripheral / Central은 1:1 채널을 생성하는 연결형(Connection-oriented) 관계,

Broadcaster / Observer는 연결 단계가 없는 비연결형(Connectionless) 관계를 담당합니다.

 

 

역할
특징
예시
Peripheral
Advertising을 송신하고 연결 요청을 기다리는 장치
스마트워치, 심박 센서 등
Central
주변 BLE 장치를 스캔하고 연결을 시작하는 장치
스마트폰, PC 등
Broadcaster
연결 없이 광고만 하는 장치
BLE 비콘 등
Observer
연결 없이 스캔만 하는 장치
비콘 감지 시스템 등

 

 

 

 

 

BLE 프로토콜 스택 개요

BLE는 하드웨어와 소프트웨어를 한 덩어리로 묶지 않고, 여러 층으로 나누어 설계합니다.

이렇게 하면 각 계층이 자기 역할만 맡을 수 있어, 하드웨어가 바뀌어도 소프트웨어는 비교적 쉽게 유지할 수 있습니다.

 

큰 틀에서 보면 BLE는 Controller, Host, Application 세 영역으로 나눌 수 있습니다.

 

  1. Controller는 실제 무선 통신을 담당하고,
  2. Host는 데이터와 규칙을 처리하며,
  3. Application은 개발자가 직접 다루는 최상위 영역입니다.

 

 

Controller 영역

Controller는 BLE의 하위 계층으로, 실제 무선 신호 송수신과 링크 제어를 담당하는 영역입니다.

PHY(Physical Layer)와 Link Layer(LL)로 구성되며, 전파 송수신, 패킷 처리, 연결 타이밍 관리 등을 수행합니다.

 

Physical Layer (PHY)

PHY는 2.4GHz ISM 대역에서 실제 무선 신호를 송수신하는 계층입니다.

주파수 도약을 이용해 데이터를 주파수의 미세한 변화로 표현해 전송하는 GFSK(Gaussian Frequency Shift Keying) 방식을 사용합니다.

 

Link Layer (LL)

Link Layer는 BLE의 핵심 제어 계층입니다.

광고(Advertising), 스캔(Scanning), 연결(Connection) 상태를 직접 다루고, 패킷 전송 흐름도 관리합니다.

또한 데이터 재전송, CRC 검사, 연결 유지, 주파수 도약 스케줄 관리 등 통신 흐름을 담당합니다.

 

 

HCI

 

HCI는 Controller와 Host 사이의 통신을 담당합니다.

이는 Host가 Controller에 BLE 동작 명령을 전달하고, Controller는 그 결과나 상태 정보를 다시 Host에 전달하는 중간 통신 계층이라고 볼 수 있습니다.

 

이 계층은 소프트웨어 API 형태로 구현될 수도 있고, UART, SPI, USB 같은 방식으로 구현될 수 있으며,

이 덕분에 서로 다른 장치 구조에서도 BLE 통신을 공통된 방식으로 다룰 수 있습니다.

 

 

 

Host 영역

 

Host는 무선 신호 자체보다는, 그 위에서 돌아가는 데이터 구조와 규칙을 담당합니다.

즉, 데이터를 어떻게 나누고, 어떤 형식으로 주고받을지 정리하는 소프트웨어 영역입니다.

 

L2CAP(Logical Link Control and Adaptation Protocol)

L2CAP는 상위 계층 데이터를 BLE 패킷 구조에 맞게 전달하여, 여러 상위 프로토콜(ATT, SMP 등)의 데이터 흐름을 정리하고 나누어 전달하는 중간 계층 입니다.

 

SMP(Security Manager Protocol)

SMP는 보안과 관련된 계층입니다.

페어링(Pairing)과 키 분배(Key Distribution) 과정을 정의하며, 다른 계층들이 안전하게 연결하고 데이터를 교환할 수 있도록 합니다.

 

ATT(Attribute Protocol)

ATT는 BLE에서 데이터를 읽고 쓰기 위한 기본 프로토콜입니다.

데이터를 '주소, 타입, 값, 권한' 같은 Attribute라는 구조로 관리하게 됩니다.

 

GAP(Generic Access Profile)

GAP는 장치의 역할과 초기 연결 방식을 정의합니다.

앞서 5부에서 다룬 것처럼, 장치를 어떻게 발견하고 연결할지를 정하는 기본 인터페이스라고 보면 됩니다.

 

 

 

Application 영역

Application은 개발자가 실제로 기능을 구현하는 최상위 영역입니다.

여기서는 BLE의 내부 규칙을 직접 다루기보다는, 서비스와 특성을 통해 기능을 구현합니다.

 

 

GATT

GATT는 하위 계층인 ATT를 기반으로, 데이터를 어떻게 다룰지 정의하는 데이터 구조 및 통신 규칙 표준 입니다.

BLE 연결 상태에서 두 장치 간 데이터 통신은 대부분 GATT 절차를 통해 이루어집니다.

 

해당 절차는 다음 요소로 이루어진 구조를 사용합니다.

 

  1. 데이터를 공통된 목적으로 묶은 서비스 (Service)
  2. 그 그룹안의 데이터 항목인 특성 (Characteristic)
  3. 각 서비스, 특성, 부가 정보를 고유하게 식별하는 UUID (Universally Unique Identifier)
  4. 특성의 값에 단위, 설명, 알림 설정 등 부가 정보를 붙여 주는 디스크립터 (Descriptor)

 

 

Application

Application은 스마트워치 앱, 피트니스 앱, 비콘 감지 서비스처럼 실제 동작하는 프로그램입니다.

결국 BLE는 이 Application이 필요한 데이터를 읽고 쓰기 위한 무선 통신 수단으로

 

 

마무리

지금까지 우리는 BLE의 핵심 동작 원리와 기반이 되는 GAP부터 4대 역할에 대해 자세히 알아보았습니다.

또한 BLE 프로토콜 구조는 Controller, Host, Application으로 나뉘며, 각 계층은 서로 다른 역할을 맡습니다.

 

결국 BLE 기술이 오늘날 스마트 홈, 헬스케어, 물류, 위치 기반 서비스 등 IoT 시장의 표준으로 자리 잡을 수 있었던 핵심에 대해 살펴보았고, 이렇게 지금까지 BLE의 기본 구조와 동작 원리에 대해 알아보았습니다.

다음 시간에는 이러한 BLE 기능을 실제로 사용할 수 있는 HM-10 모듈에 대해 알아보겠습니다.

 

 

 

 




TEL (062-226-1777, 010-9891-7244), E-mail (ipmes@ipmes.co.kr)

임베디드 시스템 | PCB 설계 제작 | 펌웨어 개발 | 신호처리 | 응용프로그램

 

#IPMES, #아이피엠이에스, #연구노트, #임베디드, #PCB제작, #펌웨어개발,

#하드웨어개발, #소프트웨어개발, #회로설계,

#광주PCB, #광주시제품, #광주시제품개발, #광주OEM, #광주광역시PCB,

#광주임베디드, #광주음성처리, #광주신호처리, #광주광역시임베디드,

#광주회로설계, #광주아트웍, #PCB샘플링

#블루투스. #Bluetooth, #BLE, #저전력블루투스

#BLE원리 #블루투스통신원리