BLE 프로토콜 스택은 스마트폰 앱에서 'connect()' 버튼을 누르거나 센서 데이터를 읽어올 때, 무선 신호가 어떻게 의미 있는 데이터로 변환되는지 이해하는 핵심입니다. Controller, Host, Application의 세 계층이 데이터를 안전하게 전달하는 과정을 시니어 개발자의 시각으로 상세히 분석합니다.
BLE 프로토콜 스택의 Controller 계층은 어떻게 작동하나요?
Controller 계층은 BLE 스택의 가장 하단에서 물리적인 전파 송수신을 담당합니다. Physical Layer(PHY)는 2.4GHz ISM 대역에서 전파를 변조하여 0과 1로 변환하며, LE 1M, 2M, Coded PHY를 결정합니다. Link Layer(LL)는 Advertising, Scanning, Connection 상태 머신을 관리하고, 패킷 검증(CRC)과 자동 재전송으로 무선 통신의 신뢰성을 보장합니다. Host Controller Interface(HCI)는 물리 칩(Controller)과 소프트웨어(Host) 간의 표준 통신 경로 역할을 하며, 주로 UART/SPI를 통해 명령과 이벤트를 주고받습니다. 또한, Channel Selection Algorithm(CSA)은 Wi-Fi 간섭을 피해 주파수를 변경하고, Sleep Clock Accuracy(SCA)는 기기가 절전 모드일 때 시간 오차를 관리하여 효율적인 통신을 돕습니다. 차세대 기술로는 LE Audio의 실시간 동기화를 위한 Isochronous Channels(CIS/BIS)와 정밀 측위를 위한 Direction Finding(AoA/AoD) 등이 있습니다.
Host 계층에서는 데이터가 어떻게 처리되나요?
관련 글
Host 계층은 Controller에서 올라온 단순 비트 뭉치를 의미 있는 데이터 패킷으로 가공하고 보안을 적용하는 역할을 합니다. Logical Link Control and Adaptation Protocol(L2CAP)은 상위 계층의 큰 데이터를 분할하거나 통합하며, 전송 속도와 관련된 MTU(Maximum Transmission Unit) 설정이 이 계층에서 이루어집니다. Attribute Protocol(ATT)는 데이터의 읽기/쓰기 약속을 정의하며, Generic Attribute Profile(GATT)는 이를 서비스(Service)와 특성(Characteristic)이라는 구조화된 형태로 설계합니다. Generic Access Profile(GAP)은 기기의 이름, 역할(Central/Peripheral) 등 외부 노출 방식을 결정하며, Security Manager(SM)는 페어링 및 본딩을 관리하고 AES-128 암호화를 통해 데이터 보안을 강화합니다. 이 계층들을 통해 단순한 비트가 사용자에게 의미 있는 정보로 변환될 준비를 마칩니다.
Application 계층은 개발자가 어떻게 활용하나요?
Application 계층은 개발자가 직접 코드를 작성하여 실제 사용자 시나리오를 구현하는 최종 단계입니다. 개발자는 표준 프로필(Standard Profiles)을 활용하거나 커스텀 설계를 통해 제품의 기능을 완성합니다. 예를 들어, 심박수(HRP)나 배터리 상태(BAS)와 같은 표준 규격을 사용하면 개발 시간을 단축하고 호환성을 높일 수 있습니다. 반면, 고유한 기능을 구현해야 할 때는 커스텀 서비스를 정의하여 제품만의 차별성을 확보합니다. 이 계층에서는 개발자의 창의력이 실제 제품의 가치로 이어지며, 사용자 경험을 극대화하는 인터페이스와 로직이 구현됩니다.
BLE 프로토콜 스택 사용 시 주의할 점은 무엇인가요?
BLE 프로토콜 스택을 개발할 때 가장 주의해야 할 점은 각 계층의 역할을 명확히 이해하고 있어야 한다는 것입니다. 통신 오류 발생 시, Link Layer의 주파수 간섭 문제인지, L2CAP의 MTU 설정 오류인지, 혹은 Application Layer의 로직 문제인지 정확히 파악해야 효율적인 디버깅이 가능합니다. 또한, Controller 계층의 전력 관리 최적화(SCA)와 Host 계층의 보안 설정(SM)은 배터리 수명과 데이터 안정성에 직접적인 영향을 미치므로 신중하게 설계해야 합니다. 특히, LE Audio와 같은 실시간 동기화가 중요한 기능에서는 Isochronous Channels(CIS/BIS)의 정확한 구현이 필수적입니다. 개인의 개발 환경이나 프로젝트 요구사항에 따라 최적의 프로토콜 스택 구성이 달라질 수 있으므로, 공식 문서와 최신 기술 동향을 꾸준히 학습하는 것이 중요합니다.
자세한 내용은 원본 글에서 확인하세요.











