이중 모드 Wi-Fi/Bluetooth IoT 설계에서 배터리 수명을 극대화하는 방법
DigiKey 북미 편집자 제공
2020-09-24
배터리로 구동되는 IoT(사물 인터넷) 장치 및 기타 연동 제품의 설계자는 지속적인 무선 연결과 배터리 수명 연장이라는 상충되는 요구 사항을 충족해야 합니다. 이미 전력 제한이라는 제약이 점차 확대되면서 동일한 장치에 Bluetooth 5와 Wi-Fi를 둘 다 구현하려는 수요가 늘고 있습니다. Wi-Fi 및 Bluetooth 프로토콜은 전력 소비를 줄이는 데 도움이 되는 표준 프로토콜을 제공합니다. 그러나 더 직접적인 지원은 네트워크 처리 작업을 오프로드할 수 있는 무선 서브 시스템을 저전력 마이크로 컨트롤러와 결합하는 아키텍처의 형태로 제공됩니다.
이 기사에서는 이중 모드 Wi-Fi/Bluetooth 연결의 중요성과 이 연결로 인해 IoT 설계가 어떻게 복잡해지는지 설명합니다. 그런 다음 Cypress Semiconductor의 개발 기판 및 관련 소프트웨어를 사용하여 지속적인 연결과 긴 배터리 수명을 지원하는 이중 모드 Wi-Fi/Bluetooth IoT 장치를 개발하는 방법을 보여 줍니다.
이중 모드 Wi-Fi/Bluetooth 지속적인 연결의 요구 증가
Bluetooth 연결은 Bluetooth가 지원되는 스마트폰과 기타 모바일 장치를 통해 사용자와 상호 작용하도록 설계된 많은 IoT 장치의 표준 요구 사항으로 간주됩니다. 그러나 많은 IoT 응용 분야의 IoT 장치에서는 인터넷에 직접 연결하거나 동일한 네트워크의 다른 피어 장치 및 호스트 시스템과 상호 작용하기 위해 WLAN(무선 LAN)에 액세스하는 Wi-Fi 연결이 필요합니다.
이러한 IoT 장치가 데이터 또는 기타 메시지를 전송해야 할 때 WLAN 또는 Bluetooth 호스트에 연결하면 되는 경우 개발자는 여러 면에서 훨씬 간단하게 배터리 수명을 늘릴 수 있습니다. 많은 IoT 장치의 활성 듀티 사이클은 일반적으로 낮으므로 이러한 장치에서는 주로 저전력 절전 모드로 작동하고, 센서 측정 수행, 관련 처리 작업 완료 및 결과 데이터 전송을 위해 필요한 시간 동안 절전 모드를 해제한 다음 저전력 모드로 돌아가서 배터리 수명을 늘릴 수 있습니다. 실제로 대부분의 IoT 장치는 피어 장치, 호스트 시스템 및 최종 사용자가 보내는 비동기 수신 명령 및 데이터에 빠르게 응답해야 합니다.
응답성을 유지하려면 IoT 장치가 허용되는 시간 내에 응답할 수 있도록 연결 상태가 계속 유지되어야 트래픽을 신속하게 처리할 준비를 할 수 있습니다. 개발자가 장치에서 들어오는 트래픽을 수신하기 위해 반복해서 절전 모드를 해제는 방식으로 기본 요구 사항을 충족한다면 장치의 배터리가 빠르게 고갈됩니다. 실제로 배터리 구동 Wi-Fi 장치의 무선 수신기는 개별 전송 작업으로 인한 전력 소비가 더 많은데도 불구하고 일반적으로 무선 송신기보다 시간에 따라 더 많은 전력을 소비합니다. 물론 장치의 호스트 프로세서가 매 수신 작업에서 맡은 역할을 다하기 위해 소비하는 전력만으로도 전력 예산에 상당한 부담입니다. 다행히 무선 표준에서는 개발자가 전력을 줄이면서도 지속적인 연결 효과를 유지할 수 있는 프로토콜을 정의합니다.
무선 연결 표준을 통해 장치에서 전력 소비를 줄이는 방법
정상 작동 상태에서 Wi-Fi 수신 스테이션(STA)은 Wi-Fi 서브 시스템 대부분의 전력 공급을 차단하여 전력을 절약합니다. AP(액세스 포인트)가 절전 모드 STA의 프레임을 버퍼링하므로 메시지 손실은 발생하지 않습니다. 정상적인 네트워크 관리 작업의 일환으로 AP는 각 STA의 대기 중인 트래픽이 AP에 있는지 여부를 나타내는 TIM(트래픽 표시 맵)이라고 하는 비트맵이 포함된 비콘을 정기적으로 전송합니다. 또한 AP는 버퍼링된 멀티캐스트 또는 동보 통신 데이터의 가용성을 나타내는 DTIM(전달 트래픽 표시 맵)이 포함된 비콘을 주기적으로 전송합니다. STA는 일반 비콘 간격의 배수인 DTIM 시간 값 내에서 정기적으로 절전 해제되어야 합니다. DTIM 시간 값이 높게 구성된 IoT 네트워크에서는 네트워크의 장치가 수신기 절전을 해제하여 AP에 해당 프레임이 있음을 나타내는 비콘을 수신할 때까지 더 오래 절전 모드를 유지할 수 있으므로 전력 소비를 줄일 수 있습니다. 이것이 아래에서 설명하는 표준 802.11 절전 폴링 메커니즘의 기본 접근 방식입니다.
BLE(Bluetooth 저에너지)를 사용하면 장치에서 Bluetooth 애드버타이징 주파수 및 페이로드를 최적화하여 전력 소비를 줄일 수 있습니다. 애드버타이징 간격을 늘리면 IoT 장치에서 송신기 작동을 지연시킬 수 있고, 페이로드를 줄이면 IoT 장치에서 송신기 이벤트 기간을 줄일 수 있습니다. 물론 모든 응용 제품에서 긴 애드버타이징 간격이나 최소 페이로드를 허용할 수 있는 것은 아닙니다. 예를 들어 오디오 또는 실시간 감지 장치에서 애드버타이징 간격이 길면 연결이 지연되어 응용 제품의 전반적인 동작에 악영향을 미칠 수 있습니다.
주변 장치에서 사용할 수 있는 또 다른 BLE 기능으로, 주변 장치에서 연결 이벤트를 건너뛰도록 할 수 있는 슬레이브 대기 시간이 있습니다. Wi-Fi DTIM과 마찬가지로 BLE 슬레이브 대기 시간을 사용하면 장치가 더 오랫동안 저전력 모드를 유지할 수 있습니다. 이 특수한 모드에서는 단순히 연결 간격을 늘리지 않고 주변 장치가 호스트와의 연결 이벤트를 건너뛰면서도 필요에 따라 추가 대기 시간 없이 절전 해제하고 데이터를 전송할 수 있습니다.
이중 모드 연결 및 배터리 수명 연장 지원
이러한 방법으로 Wi-Fi 및 Bluetooth 장치에서 최대 전력 작동의 기간과 빈도를 줄일 수 있지만, 개발자는 Cypress Semiconductor의 CY8CKIT-062S2-43012 Wi-Fi BT 파이오니어 키트에서 시연된 하드웨어 및 소프트웨어 기능을 사용하면 배터리 수명을 연장하기 위해 더 많은 작업을 수행할 수 있습니다. Cypress 키트는 점퍼 전선과 USB 케이블 외에도 포괄적인 개발 플랫폼을 제공하는 PSoC 62S2 Wi-Fi BT 파이오니어 기판과 저전력 IoT 설계를 구현하기 위한 모든 기능을 갖춘 하드웨어 시스템을 포함하고 있습니다. Cypress 소프트웨어와 함께 Cypress 키트를 사용하면 개발자가 다양하고 정교한 전력 관리 기능을 즉시 평가하고 신속하게 배포할 수 있습니다.
키트의 기판에는 여러 인터페이스 커넥터, 버튼 및 LED 외에 Cypress KitProg3 온보드 프로그래밍 및 디버깅을 제공하는 CY8C5868LTI-LP038 PSoC 5LP 장치가 통합되어 있습니다. 온보드 스토리지를 추가하기 위해 Cypress는 S25FL512S 512Mb 직렬 NOR 플래시 메모리 장치와 CY15B104 4Mb 직렬 FRAM(강유전체 임의 액세스 메모리)을 통합합니다(그림 1).
그림 1 : Cypress의 PSoC 62S2 Wi-Fi BT 파이오니어 기판은 PSoC 6 마이크로 컨트롤러와 Wi-Fi/Bluetooth 무선 연결 모듈을 통합하는 캐리어 모듈 기반의 포괄적인 시스템 기능 집합을 제공합니다. (이미지 출처: Cypress Semiconductor)
기판의 핵심인 캐리어 모듈은 Cypress Semiconductor의 PSoC 6 마이크로 컨트롤러와 Murata Electronics의 수동 소자 부품을 사용하는 Type 1LV LBEE59B1LV 무선 연결 모듈을 통합합니다. RF(무선 주파수) 스위치와 이중 대역 2.45GHz/5GHz 미니 칩 안테나로 지원 장치가 완성됩니다.
처리 성능과 전력 소비 사이의 기존 트레이드 오프를 제거하기 위해 설계된 PSoC 6은 기본 응용 프로세서 역할을 하는 150MHz Arm® Cortex®-M4와 저전력 작동을 처리하는 100MHz Arm Cortex-M0+를 통합합니다. PSoC6에는 통합 플래시 및 SRAM(정적 RAM)과 함께 암호화 엔진, 프로그래밍 가능한 아날로그 및 디지털 주변 소자, CapSense 접촉 감지 지원 및 여러 시스템 인터페이스가 포함됩니다(그림 2).
그림 2 : Cypress의 PSoC 62S2 Wi-Fi BT 파이오니어 기판 캐리어 모듈에 내장된 PSoC 6 마이크로 컨트롤러는 다중 코어 아키텍처를 사용하여 응용 처리와 저전력 실시간 실행 모두의 요구 사항을 모두 충족합니다. (이미지 출처: Cypress Semiconductor)
Murata의 LBEE59B1LV 모듈은 Cypress CYW43012 WICED(내장형 장치용 무선 인터넷 연결) Wi-Fi + Bluetooth 장치, 레퍼런스 클록 및 필터를 포함하는 10.0 x 7.2 x 1.4mm 크기 패키지의 완전한 무선 서브 시스템을 제공합니다(그림 3).
그림 3 : Murata의 Type 1LV LBEE59B1LV 무선 연결 모듈은 Cypress CYW43012 WICED 장치를 기반으로 하는 사전 인증된 완전한 Wi-Fi + Bluetooth 무선 서브 시스템을 제공합니다. (이미지 출처: Murata Electronics)
이 모듈은 Bluetooth 5.0 및 Wi-Fi 802.11a/b/g/n을 통한 2.4GHz 및 5GHz 무선 연결을 지원합니다. 또한 이 모듈은 5GHz 대역의 20MHz 채널을 위한 802.11ac의 256 QAM(직교 진폭 변조)을 지원하는 802.11ac 친화적 모드를 제공하여 802.11n 전용 제품보다 처리량이 많고 비트당 에너지가 낮습니다. 개발 속도를 높이기 위해 설계된 Murata의 LBEE59B1LV 모듈은 여러 지역에서 사전 인증되었으므로 규정 준수 테스트 및 인증과 관련된 긴 지연을 제거합니다.
모듈 내에서 Cypress의 WICED 장치는 각각 Wi-Fi 및 Bluetooth 서브 시스템의 Arm Cortex-M3 프로세서 및 Arm Cortex-M4 프로세서를 통합합니다. 고객 코드용으로 제공되진 않지만 Arm Cortex-M3 프로세서는 Wi-Fi 작업 및 아래에서 설명하는 오프로드 기능을 포함한 추가 기능을 지원하는 Cypress 펌웨어를 실행합니다. Bluetooth 서브 시스템의 Arm Cortex-M4는 Bluetooth 컨트롤러 펌웨어, Bluetooth 스택 및 프로파일을 실행합니다. 또한 이 코어는 Cypress의 WICED SDK(소프트웨어 개발 키트)를 사용하여 프로그래밍된 고객 코드도 실행할 수 있습니다.
무선 IoT 설계에서 절전 방법 사용
전력 소비를 최소화하기 위해 설계된 PSoC 6 및 무선 연결 모듈은 포괄적인 전력 모드와 전력 절감 기능을 제공합니다. Cypress는 무선 IoT 설계에서 절전 방법을 간단하게 사용할 수 있도록 설계된 중요 보완 소프트웨어를 통해 이 전력 효율적인 하드웨어 플랫폼을 지원합니다. 예를 들어 개발자는 독립적인 내장형 WHD(Wi-Fi 호스트 드라이버) 라이브러리를 사용하여 앞에서 설명한 절전 폴링 방법을 쉽게 구현할 수 있습니다.
개발자는 간단히 장치에서 WHD API(응용 프로그래밍 인터페이스) 함수 whd_wifi_enable_powersave()를 호출하여 절전 폴링을 활성화하고 나중에 whd_wifi_disable_powersave()를 호출하여 비활성화할 수 있습니다. 활성화되면 STA는 절전 모드로 전환되었음을 AP에 알립니다. 앞에서 설명한 대로 AP는 절전 모드 STA를 대상으로 하는 모든 프레임을 버퍼링하고 프레임을 사용할 수 있음을 표시하기 위해 주기적 비콘을 구성합니다. STA가 절전 해제되어 비콘을 확인하면 해당 프레임을 검색하는 표준 프로세스를 시작합니다.
절전 폴링 메커니즘은 듀티 사이클이 낮은 STA를 위한 것이지만 폴링 없는 절전이라고 하는 유사한 방법은 처리량 요구 사항이 더 높은 STA를 지원합니다. 여기서 STA는 null 함수 데이터 프레임을 전송하고, 이에 따라 AP에서의 프레임 전송이 시작됩니다.
절전 폴링 및 폴링 없는 절전은 장치에서 수신기 작업을 줄일 수 있지만 네트워크 작업 오버헤드와 관련된 불필요한 트랜잭션의 제거에는 도움이 되지 않습니다. 예를 들어 IoT WLAN이 포함된 네트워크에서는 외부 네트워크, 특히 공용 인터넷에 연결될 때 원치 않는 패킷 트래픽을 전달합니다. IoT 장치의 호스트 프로세서를 사용하지 않고 통신 서브 시스템 내에서 이러한 패킷을 필터링할 수 있으면 호스트 프로세서가 저전력 절전 모드를 유지할 수 있습니다.
원치 않는 패킷 외에도 올바른 네트워크 트래픽 때문에 호스트 프로세서가 불필요하게 절전 해제될 수 있습니다. 예를 들어 Wi-Fi 표준 ARP(주소 확인 프로토콜 )는 장치와 연결된 IP 주소를 장치의 MAC(미디어 액세스 제어) 주소에 매핑하는 기능을 수행하기 위해 동보 통신 패킷을 사용합니다. 이 작업은 장치가 네트워크의 다른 장치에 연결하고, 중복 IP 주소를 검색하고, 어떤 이유로든 IP 주소가 변경된 경우 다른 장치에 알릴 수 있도록 하는 일반 WLAN 기능에 꼭 필요합니다.
ARP 요청 및 응답 패킷은 네트워크 작업에 꼭 필요하므로 IoT 장치의 호스트 프로세서는 ARP 요청 및 응답을 처리하는 것만으로도 부하가 과중할 수 있습니다. 장치의 WLAN 인터페이스가 호스트와 네트워크 간에 요청과 응답을 전달하기만 하는 경우 ARP 요청이 있을 때마다 때론 불필요하게 호스트가 절전 해제됩니다.
대조적으로 Murata의 무선 연결 모듈은 이 교환에 개입하여 PSoC 6 마이크로 컨트롤러에서 ARP 요청 처리를 오프로드합니다. 그렇지 않고 PSoC 6이 기본 IoT 응용 기능에 관여하는 경우 이 기능은 응용 실행을 위한 프로세서 주기를 유지합니다. PSoC 6이 절전 모드에 있으면 이 기능은 전체 IoT 장치 전력 소비를 줄일 수 있습니다. 피어 자동 응답으로 ARP 오프로드를 활성화하면 Murata 모듈은 모듈에 캐시된 항목으로 수신 ARP 요청을 충족할 수 없는 경우에만 PSoC 6을 절전 해제합니다(그림 4, 왼쪽).
그림 4 : 활성화되면 ARP 오프로딩은 네트워크(왼쪽) 또는 호스트 프로세서(오른쪽)에서 ARP 요청을 가로채서 캐시가 요청을 충족할 경우(위) 자동으로 응답하고 캐시가 누락된 경우(아래)에만 프로세서를 절전 해제합니다. (이미지 출처: Cypress Semiconductor)
같은 접근 방식으로 WLAN 전력 소비도 줄일 수 있습니다. 정상 작동 상태에서 Murata 모듈은 네트워크 트래픽을 모니터링(염탐)하고 다른 ARP 응답에서 IP:MAC 쌍을 캐시할 수 있습니다. 호스트 자동 응답을 사용하여 Murata 모듈은 PSoC 6의 ARP 요청에 응답할 수 있으며, ARP 캐시에서 PSoC 6의 요청을 충족할 수 없는 경우에만 무선 서브 시스템을 호출합니다(그림 4, 오른쪽).
간단한 메뉴 기반의 절전 기능 구현
파이오니어 키트를 사용한 ARP 오프로딩 구현은 매우 간단합니다. Cypress의 MTB(ModusToolBox) IDE(통합 개발 환경)에 포함된 Cypress Device Configurator 도구를 사용하면 개발자가 몇 가지 메뉴를 선택하여 이 기능을 배포할 수 있습니다. Cypress는 개발자가 ARP 오프로딩을 포함한 여러 구성을 신속하게 선택할 수 있도록 사전 구축된 구성 파일을 제공합니다.
Device Configurator 도구를 사용하면 매우 간단하게 구성을 정의할 수 있습니다. 개발자는 도구의 메뉴 옵션을 사용하여 호스트 절전 해제 핀을 활성화하고 핀 이름을 지정하고(CYBSP_WIFI_HOST_WAKE) 핀 파라미터를 설정합니다(그림 5).
그림 5 : Cypress의 Device Configurator 도구를 사용하면 개발자가 메뉴를 통해 파이오니어 기판에 사용할 수 있는 절전 옵션을 설정할 수 있습니다. (이미지 출처: Cypress Semiconductor)
도구의 Wi-Fi 탭에서 개발자는 호스트 절전 해제를 활성화하고 인터럽트 핀을 이전에 입력한 이름(CYBSP_WIFI_HOST_WAKE)으로 설정합니다. 추가 메뉴 항목은 ARP 오프로딩을 활성화하고, 기능을 피어 자동 응답으로 설정하고, 네트워크 염탐을 활성화하고, 캐시 항목 만료 시간을 설정합니다(그림 6).
그림 6: Cypress Device Configurator 도구의 추가 메뉴 탭을 사용하여 개발자는 ARP 오프로딩 및 피어 자동 응답과 같은 특정 기능을 활성화할 수 있습니다. (이미지 출처: Cypress Semiconductor)
구성을 저장한 후 개발자는 간단히 소스 파일을 생성하고 수정된 프로젝트를 구축하고 파이오니어 기판을 프로그래밍할 수 있습니다. 유사한 절차에 따라 개발자는 Wi-Fi 패킷 필터링을 오프로드하고 다른 일반적인 네트워크 작업을 처리하도록 Murata 모듈을 구성할 수 있습니다. 뿐만 아니라 동일한 접근 방식을 통해 IoT 장치에서 IoT 호스트 프로세서를 절전 해제하지 않고도 Wi-Fi 연결을 유지하는 데 필요한 Wi-Fi TCP 연결 유지 프로토콜을 수행할 수 있습니다.
정상 WLAN 작동 상태에서 클라이언트 장치와 호스트 서버는 연결 유지 패킷을 교환하여 TCP 연결을 유지합니다. 이 교환의 어느 한쪽이라도 몇 번의 시도 후에 응답을 받지 못하면 연결이 종료됩니다. 전력이 제한된 IoT 장치에서도 호스트 프로세서는 이 교환에 참여하기 위해 계속 절전 해제되거나 연결을 계속 다시 설정하느라 전력을 더 많이 사용해야 합니다.
ARP 오프로딩과 마찬가지로 개발자는 Device Configurator 도구를 사용하여 TCP 연결 유지 오프로딩을 활성화할 수 있습니다. 이 기능을 활성화하면 Murata 모듈은 PSoC 6을 절전 해제하지 않고 자동으로 연결 유지 프로토콜을 실행합니다(그림 7).
그림 7: TCP 연결 유지 오프로드를 활성화하면 무선 연결 모듈(WLAN 장치)이 자동으로 연결 유지 프로토콜을 수행하므로 호스트 프로세서가 저전력 절전 모드를 유지할 수 있습니다. (이미지 출처: Cypress Semiconductor)
Cypress에서는 가장 쉬운 구현 경로로 Device Configurator 도구 사용을 권장하지만 개발자는 ARP 오프로딩, 패킷 필터링, TCP 연결 유지 오프 로딩 등을 포함하는 Cypress 플랫폼의 절전 기능을 수동으로 구현할 수도 있습니다.
두 가지 접근 방식의 기반이 되는 Cypress의 LPA(Low Power Assistant) 미들웨어는 Wi-Fi, Bluetooth 및 PSoC 6 마이크로 컨트롤러를 위한 이러한 절전 기능 외에도 여기서 설명하지 않은 기타 기능도 지원합니다.
개발자가 메뉴를 사용하거나 구성 코드를 수동으로 추가하여 구성을 정의하면 LPA 펌웨어가 응용 제품에 투명하게 작동하여 저전력 하드웨어 기능 및 소프트웨어 기능의 사용을 자동으로 조정합니다.
결론
Wi-Fi와 Bluetooth를 모두 지원해야 하는 필요성만으로도 이미 어려움을 겪는 설계자에게 IoT 장치에서 지속적인 무선 연결과 배터리 수명 연장이라는 두 요구 사항은 상충됩니다. 위에서 살펴본 바와 같이 네트워크 처리 작업을 오프로드할 수 있는 무선 서브 시스템을 저전력 마이크로 컨트롤러와 결합한 Cypress Semiconductor의 CY8CKIT-062S2-43012 Wi-Fi BT 파이오니어 키트를 사용하면 설계자는 IoT 무선 연결과 저전력 요구 사항을 충족할 수 있습니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.


