본문 바로가기

[ST_MICRO]/STM32WB

(13)
STM32WB55 SSM - Zigbee 저전력 테스트 이번 프로젝트에서 초 저전력으로 주기적인 데이터 수집이 목표이다. AAA 배터리로 3년을 지속 할 수 있는 것이 목표 이다. 계산상으로 대기모드에서 15uA 이하가 유지 되어야 한다. STM32WB시리즈의 Zigbee 대기모드에서 RF동작이 가능한모드는 STOP2모드나 STNADBY 모드이다. STOP모드에서는 스펙상으로 2.2uA로 되어 있다. STM32WB의 저전력 모드에 대해 측정이 필요 할것 같다. 일반적으로 RF전송을 할 수 있는 모듈의 경우 15~30mA의 소모 전류가 필요 한데 저전력 모드로 들어 가지 않고 노말 5mA로 유지되면서 데이터 전송이 가능하다. Zigbee 모드에서 슬립모드로 진입하면.. UTIL_LPM_SetStopMode(CFG_INIT_TASK, UTIL_LPM_DISABL..
STM32WB55 SSM - Zigbee 데이터 송수신 테스트 STM32WB55는 무선 관련 스텍이 별도의 코어에서 수행되고 필요에 따라서 원하는 무선 프로파일을 다운로드 해서 사용할 수 있는 구조이다. nRF5시리즈의 SoftStack과 유사한 구조 이다. 차이점이라면 별도의 코어로 동작하기 때문에 장단점이 있을 수 있겠다. Zigbee 스택을 이용해서 무선으로 데이터 전송하는 테스트를 해 보자. 우선 Zigbee중 FFD(풀스택)을 다운로드 해서 테스트 해보면 좋을것 같다. 무선 스텍은 STM32WB_Copro_Wireless_Binaries 폴더에 있다. 소프트에어 스택 다운로드 방법은 STM32CubeProgrammer 를 이용하여 다운로드 하면 된다. 아래 그림과 같은 순서로 다운로드 하면된다. 주의 사항으로는 Start address 를 스택별, STM3..
STM32WB55 - Arduino Dhrystone, Whetstone, IIR Benchmark 성능 테스트 STM32WB55도 Arduino 환경에서 개발 가능하다. Board 파일을 "Generic STM32 Series" 로 선택해서 원하는 칩으로 환경설정 할 수 있다. 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 벤치마크 테스트 결과 상당히 낮은 수치가 나온다. 저전력을 위해 32Mhz로 구동하고 있지만 Cortex-M4코어에서 너무 낮은 수치가 나오는데... mode = Arduino Dhrystone Benchmark, Version 2.1 (Language: C) Execution starts, 300000 runs through Dhrystone Execution ends : 26.643 Seconds Microse..
STM32WB55 SSM - STM32CubeIDE에서 RTC 테스트 STM32WB는 STM32와 동일한 코드를 이용해서 무선 기능을 사용할 수 있다. 하지만 기존 STM32와 약간 다른 사항들이 있는것 같은데 테스트 하면서 정리해 보자 저전력 모드에서 일정시간(30분) 마다 깨어나서 Zigbee 데이터를 전송하려면 RTC가 필수다. RTC 기능을 테스트 해 보자. RTC Enable하면 에러 발생한다. 내부 RTC(LSI)로 할당해서 그런것 같다. 외부 RTC(LSE) 로 설정하니 정상 동작 한다. RTC 초기화 코드 static void MX_RTC_Init(void) { /* USER CODE BEGIN RTC_Init 0 */ #define RTC_ASYNCH_PREDIV 0x7F #define RTC_SYNCH_PREDIV 0x0FF /* USER CODE END..
STM32WB55 SSM - 보드 제작 ST에서 BLE, Zigbee 스텍을 지원하는 저전력의 MCU가 출시 되어 SSM Type EVM 형태로 제작 했다. 기존의 STM32 코드를 이용하면서 RF기능이 필요한곳에 사용하기 좋을것 같다. Zigbee 스텍이 필요한 곳이 있어 프로젝트 적용하기전에 테스트 용도로 사용해 볼 예정이다.

반응형