STMicroelectronics UM3399 STM32Cube WiSE 무선 코드 생성기
제품 사용 지침
- STM32CubeWiSE-RadioCodeGenerator 애플리케이션에는 최소 2GB의 RAM, USB 포트, Adobe Acrobat Reader 6.0이 필요합니다.
- stm32wise-cgwin.zip의 내용을 추출합니다. file 임시 디렉토리로.
- STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe를 실행합니다. file 화면의 지시를 따르세요.
- STM32CubeWiSE-RadioCodeGenerator SW 패키지 files는 'app' 및 'ex'를 포함한 폴더로 구성됩니다.amp레'.
- STM32CubeWiSE-RadioCodeGenerator에서 플로우 그래프를 빌드하려면:
- 툴바나 글로벌 메뉴를 사용하여 흐름 그래프에 SeqActions를 추가합니다.
- SeqActions를 진입점과 서로 연결하려면 동작 전환 화살표를 그립니다.
- 필요에 따라 동작을 드래그하고 동작 전환을 추가하여 흐름 그래프를 탐색합니다.
소개
- 이 문서에서는 STM32WL32x MRSUBG 시퀀서 코드 생성기가 포함된 STM32CubeWiSE-RadioCodeGenerator(STM3CubeWiSEcg) SW 패키지에 대해 설명합니다.
- STM32CubeWiSE-RadioCodeGenerator는 MRSUBG 시퀀서 드라이버를 사용하여 어떤 조건에서 어떤 트랜시버 동작을 실행할지 정의하는 플로우 그래프를 구축하는 데 사용되는 PC 애플리케이션입니다.
- STM32WL3x Sub-GHz 무선에는 CPU 개입 없이 RF 전송을 자율적으로 관리할 수 있는 상태 머신과 같은 메커니즘인 시퀀서가 포함되어 있습니다.
- CPU 개입이 필요한 경우 인터럽트를 정의할 수 있습니다. 트랜시버 동작은 흐름 그래프에 정렬할 수 있습니다. 이 문서에서 개별 트랜시버 동작은 SeqActions라고 합니다.
- 그러나 소스 코드는 흐름 그래프의 논리적, 시간적 구조를 숨기기 때문에 흐름 그래프를 표현하는 데 가장 적합한 방법은 아닙니다.
- STM32CubeWiSE-RadioCodeGenerator는 그래픽 방식을 통해 플로 그래프를 구축한 다음 생성된 플로 그래프를 사용자 애플리케이션에 통합할 수 있는 C 소스 코드로 내보내 이러한 문제를 해결합니다.
- 플로우 그래프 정의는 다음 형식으로 마이크로컨트롤러 RAM에 저장됩니다.
- 포인터를 사용하여 서로 연결된 ActionConfiguration RAM 테이블 세트. 이러한 포인터는 SeqActions, 즉 작업 유형을 정의합니다(예:ample, 전송, 수신, 중단)뿐만 아니라 SeqAction 특정 무선 매개변수와 동작 전송을 위한 조건도 있습니다.
- 고유한 GlobalConfiguration RAM 테이블입니다. 이는 플로우그래프의 진입점(실행할 첫 번째 SeqAction)과 일부 기본 플래그 값 및 공통 라디오 매개변수를 정의합니다.
- 각 SeqAction에 대해 개별적으로 구성할 수 있는 무선 매개변수는 동적 레지스터 중 하나에 저장되며, 그 내용은 ActionConfiguration RAM 테이블의 일부입니다. 플로우그래프의 전체 실행에 걸쳐 고정된 무선 매개변수(CPU 인터럽트 중에 수정되지 않는 한)는 정적 레지스터에 저장되며, 그 내용은 글로벌 구성 RAM 테이블의 일부입니다.
일반 정보
라이센스
이 문서에서는 STM32WL3x Arm® Cortex ® -M0+ 기반 마이크로컨트롤러에서 실행되는 소프트웨어에 대해 설명합니다.
메모: Arm은 미국 및/또는 기타 지역에서 Arm Limited(또는 그 자회사)의 등록 상표입니다.
관련 문서
표 1. 문서 참조
숫자 | 참조 | 제목 |
[1] | RM0511 | STM32WL30xx/31xx/33xx Arm® 기반 sub-GHz MCU |
시작하기
- 이 섹션에서는 STM32CubeWiSE-RadioCodeGenerator를 실행하는 데 필요한 모든 시스템 요구 사항을 설명합니다.
- 또한 소프트웨어 패키지 설치 절차도 자세히 설명합니다.
시스템 요구 사항
STM32CubeWiSE-RadioCodeGenerator 애플리케이션의 최소 요구 사항은 다음과 같습니다.
- Microsoft® Windows 10 운영 체제를 실행하는 Intel® 또는 AMD® 프로세서가 장착된 PC
- 최소 2GB의 RAM
- USB 포트
- 어도비 아크로뱃 리더 6.0
STM32CubeWiSE-RadioCodeGenerator SW 패키지 설정
다음 단계를 수행하세요.
- stm32wise-cgwin.zip의 내용을 추출합니다. file 임시 디렉토리로.
- STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe를 추출하여 실행합니다. file 화면의 지시를 따르세요.
STM32CubeWiSE-RadioCodeGenerator SW 패키지 files
STM32CubeWiSE-RadioCodeGenerator SW 패키지 files는 다음 폴더로 구성됩니다.
- 앱: STM32CubeWiSE-RadioCodeGenerator.exe 포함
- examples: 이 폴더는 다음 하위 폴더로 구성됩니다.
- 코드: 이 폴더에는 흐름 그래프가 포함되어 있습니다.ample는 이미 C 코드로 내보내져 애플리케이션 프로젝트에 주입될 준비가 되었습니다.
- flowgraphs: 이 폴더는 일부 ex를 저장합니다.amp자율 MRSUBG 시퀀서 작업의 시나리오
릴리스 노트 및 라이센스 files는 루트 폴더에 있습니다.
STM32CubeWiSE-RadioCodeGenerator 소프트웨어 설명
- 이 섹션에서는 STM32CubeWiSE-RadioCodeGenerator 애플리케이션의 주요 기능을 설명합니다. 이 유틸리티를 실행하려면 STM32CubeWiSE-RadioCodeGenerator 아이콘을 클릭합니다.
STM32CubeWiSE-RadioCodeGenerator를 실행한 후, 메인 애플리케이션 창이 나타납니다. 다음으로 구성됩니다.
- 글로벌 메뉴 및 도구 모음
- 흐름 그래프의 시각적 드래그 앤 드롭 표현
- SeqAction 구성 섹션(SeqAction이 현재 편집 중인 경우에만 표시됨)
플로우 그래프 구축
기초
플로우그래프는 두 단계로 구성됩니다.
- 플로우그래프에 SeqActions를 추가합니다. 툴바의 "Add Action" 버튼을 사용하거나, 글로벌 메뉴(Edit → Add Action)를 사용하거나, "Ctrl+A" 단축키를 사용하여 수행할 수 있습니다.
- SeqActions를 진입점과 서로 연결하려면 동작 전환 화살표를 그립니다.
이러한 전환이 발생하는 조건은 나중에 정의됩니다(섹션 3.2.1: 제어 흐름 참조).
플로우 그래프 탐색, 동작 드래그
마우스 포인터로 흐름 그래프의 체크무늬 배경을 드래그(왼쪽 클릭)하면 view플로우 그래프의 포트를 조정할 수 있습니다. 마우스 스크롤 휠을 사용하여 확대/축소할 수 있습니다. 동작의 아무 곳이나 클릭하여(출력 포트, 삭제 버튼 및 편집 버튼 제외) 동작을 선택합니다. 마우스 왼쪽 버튼으로 끌어서 플로우 그래프에 동작을 정렬할 수 있습니다.
액션 전환 추가
- 그림 2에서 볼 수 있듯이 각 액션에는 NextAction1(NA1)과 NextAction2(NA2)라는 두 개의 "출력 포트"가 있으며, 이는 액션이 완료된 후 실행되는 SeqActions에 연결될 수 있습니다. 예를 들어ample, NextAction1은 현재 동작이 성공한 경우 일부 동작을 실행하는 데 사용될 수 있고, NextAction2는 실패한 경우 트리거될 수 있습니다.
- 액션 전환을 만들려면 마우스 포인터를 출력 포트 중 하나 위로 가져가 왼쪽 마우스 버튼을 누른 다음 마우스 포인터를 움직여 전환 화살표를 드래그합니다. 마우스 포인터를 다른 SeqAction의 왼쪽에 있는 입력 포트 위로 가져가 왼쪽 마우스 버튼을 놓아 연결을 영구적으로 만듭니다. 액션 전환을 제거하려면 액션 전환을 만드는 단계를 반복하지만, 체크보드 배경 위 어딘가에서 왼쪽 마우스 버튼을 놓습니다.
- 출력(NextAction1, NextAction2)이 연결되지 않은 상태로 남아 있으면 다음 동작이 트리거되면 시퀀서가 종료됩니다.
- 또한 "Entry Point"를 일부 SeqAction의 입력 포트에 연결해야 합니다. 이 SeqAction은 시퀀서가 트리거되는 즉시 실행되는 첫 번째 SeqAction입니다.
편집 및 삭제 작업
- SeqActions는 SeqAction의 왼쪽 상단에 있는 연필 버튼을 클릭하여 편집할 수 있습니다. 오른쪽 상단에 있는 빨간색 십자가를 클릭하여 삭제할 수 있습니다(그림 3 참조). SeqAction을 삭제하면 들어오는 액션과 나가는 액션 전환도 모두 제거됩니다.
SeqAction 구성
SeqActions는 플로우 그래프의 각 작업 왼쪽 위에 있는 연필 버튼을 통해 액세스할 수 있는 탭 구성 인터페이스를 통해 구성할 수 있습니다. 이 인터페이스는 기본적으로 특정 작업에 대한 ActionConfiguration RAM 테이블의 내용을 구성하며, 여기에는 제어 흐름 관련 구성 옵션과 동적 레지스터 내용이 모두 포함됩니다. 동적 레지스터 내용은 모든 레지스터 값을 완전히 제어하여 수동으로 구성하거나(섹션 3.2.3: 고급 무선 구성 참조) 간소화된 인터페이스를 통해 구성할 수 있습니다(섹션 3.2.2: 기본 무선 구성 참조). 간소화된 인터페이스는 거의 모든 사용 사례에 충분해야 합니다.
제어 흐름
제어 흐름 탭(그림 4 참조)에는 작업 이름 및 작업 시간 초과 간격과 같은 몇 가지 기본 구성 옵션이 포함되어 있습니다. 작업 이름은 흐름 그래프에 표시하는 데 사용될 뿐만 아니라 생성된 소스 코드에도 전달됩니다.
- 제어 흐름 탭(그림 4 참조)에는 작업 이름 및 작업 시간 초과 간격과 같은 몇 가지 기본 구성 옵션이 포함되어 있습니다. 작업 이름은 흐름 그래프에 표시하는 데 사용될 뿐만 아니라 생성된 소스 코드에도 전달됩니다.
- 가장 중요한 점은 제어 흐름 탭에서 NextAction1/NextAction2로의 전환이 의존하는 조건과 전환 간격 및 플래그를 구성한다는 것입니다. 전환 조건은 "..."라는 레이블이 붙은 버튼을 클릭하여 구성할 수 있으며, 이를 클릭하면 그림 5에 표시된 마스크 선택 대화 상자가 나타납니다. 전환 간격은 RAM 테이블의 NextAction1Interval/NextAction2Interval 속성을 수정했습니다. 이 간격의 의미와 SleepEn/ForceReload/ForceClear 플래그의 중요성에 대한 자세한 내용은 STM32WL3x 참조 설명서[1]를 참조하십시오.
- 또한, SeqAction 블록에 대한 간략한 설명을 이 탭에 추가할 수 있습니다. 이 설명은 문서화 목적으로만 사용되며 생성된 소스 코드에 소스 코드 주석으로 전달됩니다.
기본 무선 구성
기본 라디오 구성 탭은 세 부분으로 나눌 수 있습니다.
- 모든 동작의 가장 중요한 매개변수 두 가지를 구성하는 맨 위의 섹션입니다. 실행할 명령(TX, RX, NOP, SABORT 등)과 해당되는 경우 전송할 패킷의 길이입니다.
- 왼쪽 섹션에는 캐리어 주파수, 데이터 전송 속도, 변조 속성, 데이터 버퍼 임계값 및 타이머와 같은 실제 무선 매개변수가 구성됩니다.
- CPU 인터럽트를 개별적으로 활성화할 수 있는 오른쪽 섹션. 체크된 각 인터럽트에 대해 인터럽트 핸들러가 생성됩니다. 이는 기본적으로 RFSEQ_IRQ_ENABLE 레지스터의 내용을 구성합니다.
다양한 무선 매개변수의 의미는 STM32WL3x 참조 매뉴얼[1]을 참조하십시오.
고급 무선 구성
- 기본 무선 구성 탭(섹션 3.2.2: 기본 무선 구성)을 통해 노출된 구성 옵션이 충분하지 않은 경우 고급 STM32WL3x 무선 구성 탭에서 임의의 동적 레지스터 내용을 설정할 수 있습니다. 고급 구성 탭은 탭 구성 인터페이스의 오른쪽 상단에 있는 고급 구성 확인란을 선택하여 활성화합니다.
- 기본 구성과 고급 구성을 동시에 사용할 수는 없으며, 사용자는 둘 중 하나를 선택해야 합니다. 그러나 생성된 소스 코드를 나중에 수동으로 편집하고 잠재적으로 누락된 구성 옵션을 추가하는 것도 물론 가능합니다.
글로벌 구성 대화 상자
- "전역 프로젝트 설정" 대화 상자는 "전역 설정" 도구 모음 버튼을 통해 액세스할 수 있습니다. 이 대화 상자에는 정적 레지스터 내용에 대한 구성 옵션과 추가 프로젝트 설정이 모두 포함되어 있습니다. 정적 레지스터 구성 옵션의 일부만 이 대화 상자를 통해 구성할 수 있습니다. 이러한 옵션은 STM32CubeWiSE-RadioCodeGenerator를 사용하여 애플리케이션 프로토타입 애플리케이션을 가속화하기 위해서만 제공됩니다.
- 일반적으로 정적 레지스터 내용은 애플리케이션의 수동으로 작성된 소스 코드에 설정되어 있다고 예상됩니다.
- 다른 프로젝트 설정의 의미는 대화 상자 자체에서 설명됩니다.
- 정적 레지스터 내용에서 글로벌 구성 RAM 테이블을 생성하기 직전에 삽입되는 추가 C 코드도 제공될 수 있습니다. 이 필드는 제공된 정적 레지스터 구성 마스크를 통해 액세스할 수 없는 정적 레지스터 값을 설정하는 데 사용될 수 있습니다.
코드 생성
툴바에서 Generate Code 버튼을 눌러 플로우그래프를 완전한 프로젝트 C 소스 코드로 변환할 수 있습니다. 생성된 프로젝트 폴더에는 프로젝트가 포함되지 않습니다. files는 IAR, Keil® 또는 GCC를 의미합니다. files는 STMWL3x 프로젝트에 수동으로 추가해야 합니다.
생성된 프로젝트 폴더 구조는 다음과 같습니다.
프로젝트 폴더
- 주식회사
- SequencerFlowgraph.h: 헤더 file SequencerFlowgraph.c의 경우 정적입니다. 이것을 편집하지 마세요.
- stm32wl3x_hal_conf.h: STM32WL3x HAL 구성 file, 정적.
- 출처
- SequencerFlowgraph.c: 플로우그래프 정의. 이것은 중요합니다. file 시퀀서 드라이버를 사용하여 글로벌 구성 및 액션 구성 RAM 테이블을 정의합니다. 자동 생성되므로 편집하지 마십시오.
- main.c: 프로젝트 메인 file 플로우 그래프 정의를 로드하고 적용하는 방법을 보여줍니다. 정적, 필요에 따라 수정합니다.
- main.c 또는 stm32wl3x_hal_conf.h를 편집하려면 프로젝트 설정에서 덮어쓰기 동작 유지를 선택합니다. 이렇게 하면 SequencerFlowgraph.c만 덮어쓰기됩니다.
생성된 코드를 CubeMX ex로 가져오는 방법ample
STM32CubeWiSE-RadioCodeGenerator에서 생성된 프로젝트를 CubeMX ex로 가져오려면ample (MRSUBG_Skeleton)의 경우 다음 단계를 따라야 합니다.
- 가 들어 있는 폴더를 엽니다. fileSTM32CubeWiSE-RadioCodeGenerator에서 생성된 s를 복사하고 "Inc" 및 "Src" 폴더를 복사합니다.
- 두 개의 폴더를 “MRSUBG_Skeleton” 폴더에 붙여넣어 이미 있는 두 폴더를 덮어씁니다.
- 다음 IDE 중 하나에서 “MRSUBG_Skeleton” 프로젝트를 엽니다.
- 이웜
- MDK-ARM
- STM32큐브IDE
- “MRSUBG_Skeleton” 프로젝트 내부에 “SequencerFlowghraph.c”를 추가합니다. file:
- EWARM 프로젝트의 경우 추가 경로는 다음과 같습니다. file 다음과 같습니다: MRSUBG_Skeleton\Application\User
- MDK-ARM 프로젝트의 경우 추가 경로는 다음과 같습니다. file 다음과 같습니다: MRSUBG_Skeleton\Application/User
- STM32CubeIDE 프로젝트의 경우 추가할 경로는 다음과 같습니다. file 동일합니다:
MRSUBG_Skeleton\응용 프로그램\사용자
- EWARM 프로젝트의 경우 추가 경로는 다음과 같습니다. file 다음과 같습니다: MRSUBG_Skeleton\Application\User
- MRSUBG_Skeleton 프로젝트 내부에 stm32wl3x_hal_uart.c 및 stm32wl3x_hal_uart_ex.c를 추가합니다. files를 다음 경로로 변경하세요: MRSUBG_Skeleton\Drivers\STM32WL3x_HAL_Driver. 경로는 모든 IDE에서 동일합니다. 두 files는 Firmware\Drivers\STM32WL3x_HAL_Driver\Src에 있습니다.
- COM 기능을 사용하려면 stm32wl3x_nucleo_conf.h fileFirmware\Projects\NUCLEOWL33CC\ Ex에 위치함amples\MRSUBG\MRSUBG_Skeleton\Inc는 USE_BSP_COM_FEATURE 및 USE_COM_LOG를 1U로 설정하여 수정해야 합니다.
- 다음 코드를 MRSUBG_Skeleton\Application\User에 있는 “stm32wl3x_it.c”에 복사합니다.
플로우그래프 전amp레
- 4개의 전amp소스 코드와 함께 le 플로우그래프가 제공됩니다. 이러한 examp툴바의 "로드" 버튼을 클릭하면 STM32CubeWiSE-RadioCodeGenerator에 파일을 로드할 수 있습니다.
자동ACK_RX
- Auto-ACK 데모는 두 대의 STM32WL3x 장치가 시퀀서 하드웨어의 도움을 받아 최소한의 CPU 개입으로 어떻게 자동으로 서로 통신할 수 있는지 보여줍니다.
- 이 흐름 그래프는 장치 A의 동작(자동 전송 ACK)을 구현합니다. 장치 A에서 시퀀서는 수신 상태(WaitForMessage)로 초기화되어 메시지가 도착할 때까지 기다립니다.
- 유효한 메시지가 도착하면 시퀀서는 자동으로 전송 상태(TransmitACK)로 전환되고, CPU 개입 없이 ACK 패킷이 응답으로 전송됩니다. 이것이 완료되면 시퀀서는 초기 WaitForMessage 상태로 재설정됩니다.
- 이 플로우 그래프는 MRSUBG_SequencerAutoAck_Rx ex와 동일한 동작을 구현합니다.ampLe from the ExampSTM32Cube WL3 소프트웨어 패키지의 les\MRSUBG 폴더. AutoACK_RX가 한 장치에 플래시된 경우
A, 그리고 AutoACK_TX가 어떤 장치에 플래시되고, B, 두 장치는 마치 탁구 게임에서처럼 서로 메시지를 주고받습니다.
자동ACK_TX
- "자동 ACK" 데모는 두 개의 STM32WL3x 장치가 시퀀서 하드웨어의 도움으로 최소한의 CPU 개입으로 어떻게 자동으로 서로 통신할 수 있는지 보여줍니다.
- 이 플로우그래프는 장치 B의 동작("자동 ACK 대기")을 구현합니다. 장치 B에서 시퀀서는 메시지를 전송하는 전송 상태(TransmitMessage)로 초기화됩니다. 전송이 완료되면 자동으로 수신 상태로 전환되어 장치 A로부터 확인을 기다립니다(WaitForACK). 유효한 확인이 도착하면 시퀀서는 초기 TransmitMessage 상태로 재설정되고 전체 프로세스가 다시 시작됩니다. 4초 이내에 ACK를 수신하지 못하면 시간 초과가 발생하고 시퀀서는 어쨌든 TransmitMessage 상태로 돌아갑니다.
- 이 플로우 그래프는 “MRSUBG_SequencerAutoAck_Tx”와 동일한 동작을 구현합니다.amp전직에서 온 leampSTM32Cube WL3 소프트웨어 패키지의 les\MRSUBG 폴더. AutoACK_RX가 한 장치 A에 플래시되고 AutoACK_TX가 다른 장치 B에 플래시되면 두 장치는 탁구 게임처럼 메시지를 주고받습니다.
말하기 전에 들어라(LBT)
- 이 전ample는 STM32WL3x 참조 매뉴얼[1]에서 가져온 것입니다. 이 ex의 추가 세부 사항은 해당 매뉴얼을 참조하십시오.amp르.
스니프 모드
- 이 전ample는 STM32WL3x 참조 매뉴얼[1]에서 가져온 것입니다. 이 ex의 추가 세부 사항은 해당 매뉴얼을 참조하십시오.amp르.
개정 내역
표 2. 문서 개정 내역
날짜 | 버전 | 변화 |
21년 2024월 XNUMX일 | 1 | 최초 출시. |
10-2025-XNUMX | 2 | STM32WL3x 범위에 맞게 장치 이름을 업데이트했습니다. |
중요 공지 – 주의 깊게 읽어보세요
- STMicroelectronics NV 및 그 자회사("ST")는 언제든지 통지 없이 ST 제품 및/또는 이 문서를 변경, 수정, 개선, 수정 및 개선할 권리를 보유합니다. 구매자는 주문하기 전에 ST 제품에 대한 최신 관련 정보를 얻어야 합니다. ST 제품은 주문 확인 시점에 적용되는 ST의 판매 약관에 따라 판매됩니다.
- 구매자는 ST 제품의 선택, 선정 및 사용에 대한 전적인 책임을 지며, ST는 구매자의 제품 설계나 애플리케이션 지원에 대한 책임을 지지 않습니다.
- ST는 본 계약에 따라 어떠한 지적 재산권에 대한 명시적 또는 묵시적 라이센스도 부여하지 않습니다.
- 여기에 명시된 정보와 다른 조항이 적용된 ST 제품을 재판매할 경우, ST가 해당 제품에 대하여 부여한 모든 보증은 무효화됩니다.
- ST 및 ST 로고는 ST의 상표입니다. ST 상표에 대한 추가 정보는 www.st.com/trademarks를 참조하십시오. 다른 모든 제품 또는 서비스 이름은 해당 소유자의 자산입니다.
- 이 문서의 정보는 이 문서의 이전 버전에서 제공된 정보를 대체하고 교체합니다.
- © 2025 STMicroelectronics – 모든 권리 보유
자주 묻는 질문
- 질문: STM32CubeWiSE-RadioCodeGenerator의 최소 시스템 요구 사항은 무엇입니까?
- A: 최소 시스템 요구 사항에는 최소 2GB의 RAM, USB 포트, Adobe Acrobat Reader 6.0이 포함됩니다.
- 질문: STM32CubeWiSE-RadioCodeGenerator 소프트웨어 패키지를 어떻게 설정할 수 있나요?
- A: 소프트웨어 패키지를 설정하려면 제공된 zip 파일의 내용을 추출하십시오. file 임시 디렉토리로 이동하고 실행 파일을 시작합니다. file 화면의 지시를 따릅니다.
문서 / 리소스
![]() |
STMicroelectronics UM3399 STM32Cube WiSE 무선 코드 생성기 [PDF 파일] 사용자 매뉴얼 UM3399, UM3399 STM32 Cube WiSE 무선 코드 생성기, UM3399, STM32, Cube WiSE 무선 코드 생성기, 무선 코드 생성기, 코드 생성기, 생성기 |