Bluetooth 5.3을 Edge IoT 설계에 빠르고 비용 효율적으로 추가하는 방법 | 반도체네트워크

죄송합니다. 더 이상 지원되지 않는 웹 브라우저입니다.

반도체네트워크의 다양한 최신 기능을 사용하려면 이를 완전히 지원하는 최신 브라우저로 업그레이드 하셔야 합니다.
아래의 링크에서 브라우저를 업그레이드 하시기 바랍니다.

Internet Explorer 다운로드 | Chrome 다운로드

Bluetooth 5.3을 Edge IoT 설계에 빠르고 비용 효율적으로 추가하는 방법


PDF 다운로드



글/Jens Wallmann, DigiKey 유럽 편집자 제공


끊임없는 경쟁으로 인해 사물 인터넷(IoT) 장치 개발자는 비용을 절감하고 강력하고 안전한 저전력 통신을 보장하면서 새롭고 혁신적인 제품을 빠르게 소개해야 한다는 압박을 받고 있다. 기존의 지능형 IoT 엔드 노드는 에지 처리를 가능하게 하는 마이크로 컨트롤러 장치(MCU)와 연결을 위한 무선 IC로 구성된다. 설계 팀이 효과적인 솔루션에 필요한 무선 주파수(RF) 기술을 갖추지 못한 경우 문제가 발생한다.

적시에 무선 IoT 설계를 완료하고 증명한 후 대량 생산 단계로 전환하기 위해 개발자는 보다 효율적인 개발 공정을 구축해야 한다. 개발 공정의 효율성을 높이는 한 가지 방법은 저전력 MCU를 통합 Bluetooth Low Energy(BLE) 무선 인터페이스와 함께 사용하는 것이다.

이 기사에서는 STMicroelectronics의 초저전력 STM-32WBA52 MCU 계열을 소개하고 개발자가 BLE 평가 기판, 개발 도구 및 응용 예제를 활용하여 BLE 5.3 무선 설계를 빠르게 고안하고 실행할 수 있는 방법을 보여준다. 또한 프로그래밍 및 MCU 배선을 간략하게 살펴본다.


높은 보안 수준을 갖춘 절전형 무선 MCU

BLE 5.3 인증을 받은 STM32WBA52 MCU 계열은 초보 개발자가 무선 통신을 장치에 빠르게 추가할 수 있는 비용 효율적인 솔루션이다. 100MHz 클록 및 TrustZone 기술이 적용된 Arm® Cortex®-M33 코어를 기반으로 하는 이 마이크로 컨트롤러는 높은 수준의 보안을 제공하고, 데이터와 지적 재산(IP)을 보호하며, 해킹 및 장치 복제를 차단한다.

STM32WBA52CEU6 무선 MCU는 512KB의 플래시 메모리와 96KB의 정적 RAM(SRAM)을 제공하고, STM-32WBA52CGU6 변형은 1MB의 플래시 메모리와 128KB의 SRAM을 제공한다. 그림 1은 48 UFQFN 패키지의 IC 기능 범위를 보여준다. 최대 20개의 정전 용량 방식 터치 채널로 밀폐 봉인 장치를 작동할 수 있다(기계식 키가 필요하지 않음).

다양한 기능을 갖춘 STM32Cube 에코시스템은 BLE 응용 제품의 구현 및 프로그래밍을 지원한다. 이 제품은 STM32CubeIDE 개발 환경과 STM32CubeMX 주변 장치 구성기 및 코드 생성기, STM32CubeMonitorRF 성능 테스터, 인공 지능(AI)용 STM32Cube.AI 데스크톱 및 클라우드 버전과 같은 도구를 포함한다. 매칭되는 평가 기판인 NUCLEO-WBA52CG는 시제품 제작을 간소화하고 많은 BLE 샘플 응용 제품과 무료 소스 코드로 검증을 가속화한다.

TT(Bluetooth)-1.jpg
[그림 1] STM32WBA52의 기능별 제품 구성도는 통합 BLE 5.3 무선, 플래시 및 SRAM, 보안 지원을 보여준다. (이미지 출처: STMicroelectronics)

장치 및 데이터 보안

STM32WBA52 제품 라인은 IoT 보안 표준 PSA (Platform Security Arm) Certified Level 3 및 SESIP3 (Security Evaluation Standard for IoT Platforms Assurance Level 3)을 준수한다. 보안 분리, 메모리 보호, 조작 방지 및 Arm TrustZone 아키텍처가 탑재된 MCU Cortex-M33을 기반으로 하는 PSA 보안 프로그램을 통해 사이버 보호가 강화되었다. TF-M(Trusted Firmware for Arm Cortex-M)은 보안 부팅 및 보안 펌웨어 업데이트(X-CUBE-SBSFU), 암호화, 보안 스토리지, 런타임 증명을 포함한 PSA 불변형 신뢰 루트(RoT)를 통해 산업 표준 PSA 인증 보안 프레임워크를 준수한다.


BOM을 최소화하는 통합 무선 통신

통합 초저전력 무선 통신 모듈은 1mW 기준 +10dB (dBm) RF 출력 전력을 제공한다. 이 모듈을 사용하면 단거리(BLE 5.3) 및 장거리에서 최대 2Mbps 데이터 전송률로 안정적으로 통신할 수 있다. 최대 대기 저전력 모드는 무선 통신이 활성화되면 전체 전력을 줄인다. STM32WBA MCU는 최대 20개의 동시 연결을 지원할 수 있다.


무선 통신 모듈의 전기적 성능 특성:

• BLE 5.3을 지원하는 2.4GHz RF 트랜시버

• RX 감도: -96dBm(BLE, 1Mbps)

• 프로그래밍 가능한 출력 전력, 최대 +10dBm(1dB 스텝씩 증가)

• 통합 발룬


고효율 에너지 관리로 인해 배터리 크기 감소

STM32WBA52 MCU는 STMicroelectronics의 LPDMA (Low Power Direct Memory Access), 절전 해제 시간이 빠른 유연한 절전 상태를 포함한 많은 절전 기술을 제공한다. 이러한 기능을 결합하여 MCU 전력 소비를 최대 90% 줄일 수 있으므로, 배터리 크기를 획기적으로 줄이거나 배터리 수명을 늘릴 수 있다.


FlexPowerControl의 전기적 성능 특징:

• 1.71V ~ 3.6V 전원 공급 장치

• 140nA 대기 모드(절전 해제 핀 16개)

• 200nA 대기 모드, 실시간 클록(RTC)

• 2.4μA 대기 모드, 64KB SRAM

• 16.3μA 중지 모드, 64KB SRAM

• 45μA/MHz 실행 모드(3.3V 기준)

• 무선 통신: Rx 7.4mA/Tx @ 0dBm 10.6mA

또한 Bluetooth 5.3은 낮은 듀티 사이클과 높은 듀티 사이클 간에 더 빠른 전환을 제공하여 이전 버전보다 에너지 효율성이 뛰어나다.

Bluetooth 스택 및 데이터 패킷 아키텍처

STM32WBA52의 단일 코어 Arm Cortex-M33 MCU는 BLE 스택(컨트롤러 및 호스트)의 프로파일 및 서비스를 포함하여 응용 제품 펌웨어 개발을 위해 설계되었다. 이 MCU는 최저 물리층(PHY)의 통합 RF 모듈에서 일반 속성 프로파일(GATT) 및 일반 액세스 프로파일(GAP)로의 데이터 흐름을 처리한다(그림 2). GAP는 애드버타이징과 연결을 정의 및 관리하고, GATT는 입/출력 데이터 교환을 정의 및 관리한다.

BLE는 비트 시퀀스의 고정 프레임 구조로 정의되는 데이터 패킷을 전송한다. 사용자 데이터 영역의 길이는 27바이트 ~ 251바이트 사이에서 동적으로 변경될 수 있다.

TT(Bluetooth)-2.jpg
[그림 2] MCU는 무선 통신 PHY에서 GATT 및 GAP로의 데이터 흐름을 처리한다. (이미지 출처: STMicroelectronics)

BLE 응용 제품 예

온라인 백과 사전인 STM32WBA MCU용 STMicro-Wiki에는 다음을 포함하여 Bluetooth 역할에 대한 여러 응용 제품 예제가 포함되어 있다.

• 애드버타이저: BLE_Beacon

• 센서: BLE_HealthThermometer,BLE_HeartRate

• 브리지: BLE_SerialCom

• 라우터: BLE_p2pRouter

• 데이터: BLE_DataThroughput, BLE_p2pServer, Multi Slave BLE_p2pClient

• RF 모니터: BLE_TransparentMode,

• 무선 펌웨어 업데이트: BLE_Fuota

자신만의 BLE 프로젝트에 따라 장치 설계자와 프로그래머는 해당 GitHub 프로젝트 디렉터리에서 NUCLEO 기판으로 컴파일된 이진 파일을 플래시하고 스마트폰 또는 데스크톱 PC에 대한 Bluetooth 연결을 시작할 수 있다. 필수 프로그래밍 장치 소프트웨어인 STM32CubeProg는 디버그 인터페이스와 부트로더 인터페이스를 통한 장치 메모리 읽기, 쓰기, 확인 기능을 제공한다.


BLE 예제 ‘건강 온도계 센서’ 실행

HTP(Health Thermometer Profile)는 Bluetooth Special Interest Group(SIG)에 의해 정의된 GAP 기반 저에너지 프로파일이다. HTP는 건강 온도계 수집기와 건강 온도계 센서를 결합하여 다양한 응용 제품에서 데이터를 연결하고 교환한다(그림 3).

TT(Bluetooth)-3.jpg
[그림 3] NUCLEO 기판(센서/서버)와 스마트폰(수집기/클라이언트) 사이의 BLE 통신 (이미지 출처: STMicroelectronics)

건강 온도계 센서:

• 건강 온도계 서비스를 통한 온도 측정 및 노출

• 원격 장치에서 식별할 장치 정보 서비스 포함

• GATT 서버


건강 온도계 수집기:

• 건강 온도계 센서에 의해 노출된 정보에 액세스하여 최종 사용자에게 표시하거나 나중에 분석하기 위해 비휘발성 메모리에 저장할 수 있음

• GATT 클라이언트

건강 온도계 이진 파일이 NUCLEO의 MCU에 플래시된 후, 개발자는 다음 단계에 따라 BLE 응용 제품 예제를 실행해야 한다.


스마트폰 앱 사용

① ST BLE Toolbox를 스마트폰에 설치한다. 이 앱은 ST BLE 장치를 조작하고 디버깅하는 데 사용된다.

② 건강 온도계 응용 제품을 통해 STM32WBA NUCLEO 기판의 전력이 플래시된다.

③ 스마트폰 Bluetooth(BT)를 켜고 앱에서 사용 가능한 BT 장치를 스캔한다. 건강 온도계를 선택하고 연결한다.


웹 브라우저 인터페이스 사용

① 브라우저 호환성 확인:

- 데스크톱 컴퓨터: Chrome, Edge 또는 Opera

- 스마트폰 장치: Chrome Android

② 건강 온도계 응용 제품을 통해 STM32WBA NUCLEO 기판의 전력이 플래시된다.

③ 컴퓨터에서 Bluetooth를 활성화한다.

④ 브라우저에서 https://applible.github.io/Web_Bluetooth_App_WBA/ 웹 페이지를 엽니다.

⑤ 웹 페이지 상단의 연결 버튼을 클릭한 후 장치 목록에서 HT_xx를 선택하고 페어링을 클릭한다. 이제 장치가 연결된다.

⑥ 건강 온도계를 클릭하여 인터페이스를 표시한다.


표 1에서는 건강 온도계 센서의 서비스 구조를 설명한다. 128비트 길이 UUID(Universally Unique Identifier)는 개별 장치 특성과 서비스를 구분한다.

TT(Bluetooth)-표1.jpg
[표 1] '건강 온도계 센서' GAP용 GATT 서비스 및 UUID (이미지 출처: STMicroelectronics)

GitHub의 다음 JavaScript 시퀀스는 웹 브라우저 인터페이스에서 다양한 GATT 데이터 처리량 특성을 필터링하는 방법을 보여줍니다(목록 1).

TT(Bluetooth)-목록1.jpg
[목록 1] 이 JavaScript 시퀀스는 표 1에서 다양한 GATT 데이터 처리량 특성을 필터링한다. (목록 출처: GitHub, STMicroelectronics)

BLE 스택 공정 추적

NUCLEO-WBA52CG에는 직렬 인터페이스를 통해 PC와 통신하기 위해 STM32 가상 COM 포트 구동기를 지원하는 ST-LINK/V3 회로 내 디버거 및 프로그래밍 장치가 내장되어 있다. 소프트웨어 단자를 통해 이 직렬 통신 포트를 열어서 APP_DBG_MSG 함수에 의해 코드로 생성되는 짧은 문자 메시지를 표시할 수 있다.

app_conf.h 파일에서 프로젝트 내부 트레이스를 활성화해야 한다.

#define CFG_DEBUG_APP_TRACE   (1)

또한 ‘SE BLE Toolbox’ 스마트폰 앱의 <응용 제품 로그> 탭에는 트레이스 기능이 제공된다.


BLE 5.3 응용 제품 프로그래밍

STM32WBA52 MCU 프로그래밍을 위해 STM은 하드웨어 추상화 계층(HAL), 저계층 애플리케이션 프로그래밍 인터페이스(API) 및 CMSIS, 파일 시스템, RTOS, BLE/802.15.4, 스레드 및 Zigbee 스택으로 구성되는 STM32CubeWBA-Package와 STMicroelectronics 기판에서 실행되는 예제를 함께 제공한다.

IAR Embedded Workbench for Arm(EWARM), Keil MDK-ARM, STM32CubeIDE 등 세 개발 환경(IDE) 모두에 대한 프로젝트 구조 설정이 각 NUCLEO-WBA52CG BLE 응용 제품 예제에 포함되어 있다.

건강 온도계 예제의 경우 프로젝트 디렉터리 트리의 특정 파일만(그림 4 왼쪽 프레임) GATT 서비스를 생성한다. 표 1의 두 루틴 ‘건강 온도계 서비스’(HTS) 및 ‘장치 정보 서비스’(DIS)는 병렬로 실행된다(그림 4의 오른쪽 하단).

TT(Bluetooth)-4.jpg
[그림 4] 프로그래밍 장치는 자신만의 GATT 콘텐츠를 프레임 코드 파일에 추가할 수 있고(왼쪽), 이러한 파일은 GATT 서비스를 생성한다(오른쪽). (이미지 출처: STMicroelectronics)
프로그래밍 장치는 자신만의 프로젝트에 대한 소스 코드를 사용하고 USER CODE BEGIN/USER CODE END(목록 2) 표시된 영역에서 GATT 콘텐츠로 소스 코드를 확장할 수 있다. hts.c 파일의 초기화 시퀀스는 UUID 0x2A1C를 전달하는 GATT 특성 온도 측정(TEMM)을 생성한다.

TT(Bluetooth)-목록2.jpg
[목록 2] hts.c 파일의 초기화 시퀀스는 GATT 특성 TEMM을 생성한다. (이미지 출처: GitHub, STMicroelectronics)

외부 부품 요구 사항

STM32WBA52 무선 MCU에는 Bluetooth 기능 기본 작동을 위한 소수의 외부 부품만 필요하다. 여기에는 전압 공급용 커패시터, 수정 발진기, 임피던스 정합 인쇄 회로 기판(pc 기판) 안테나, 고조파 필터가 포함된다(그림 5).

TT(Bluetooth)-5.jpg
[그림 5] Bluetooth의 경우 STM32WBA52의 RF 단자는 임피던스 정합 회로망, 고조파 필터, 안테나에 연결된다. (이미지 출처: STMicroelectronics)

결론

무선 IoT 장치 개발자는 빠르게 진화하는 시장에서 경쟁하기 위해 설계 주기를 단축하고 비용을 절감해야 한다. 하지만 RF 설계는 까다롭다. 통합 BLE 5.3 인터페이스가 탑재된 STM32WBA52 MCU를 사용하면 개발자가 비용 효율적으로 시장 출시 기간을 단축할 수 있다. 미리 프로그래밍된 BLE 스택과 여러 BLE 응용 제품 예제가 맞춤형 프로젝트를 위한 프로그래밍 템플릿을 형성하며, 이 템플릿에 GATT 콘텐츠를 쉽게 삽입할 수 있다. 

leekh@seminet.co.kr
(끝)
<저작권자(c) 반도체네트워크, 무단 전재-재배포 금지>

X


PDF 다운로드

개인정보보호법 제15조에 의한 수집/이용 동의 규정과 관련하여 아래와 같이 PDF 다운로드를 위한 개인정보 수집 및 이용에 동의하십니까? 동의를 거부할 수 있으며, 동의 거부 시 다운로드 하실 수 없습니다.

이메일을 입력하면,
(1) 신규참여자 : 성명/전화번호/회사명/분야를 입력할 수 있는 입력란이 나타납니다.
(2) 기참여자 : 이메일 입력만으로 다운로드가 가능합니다.

×

회원 정보 수정