Generator Kode Radio WiSE STMicroelectronics UM3399 STM32Cube
Petunjuk Penggunaan Produk
- Aplikasi STM32CubeWiSE-RadioCodeGenerator membutuhkan setidaknya 2 Gbyte RAM, port USB, dan Adobe Acrobat reader 6.0.
- Ekstrak konten stm32wise-cgwin.zip file ke dalam direktori sementara.
- Luncurkan STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file dan ikuti petunjuk di layar.
- Paket perangkat lunak STM32CubeWiSE-RadioCodeGenerator files diorganisasikan ke dalam folder termasuk 'app' dan 'ex'amples'.
- Untuk membuat diagram alir di STM32CubeWiSE-RadioCodeGenerator:
- Tambahkan SeqActions ke diagram alur menggunakan bilah alat atau menu global.
- Hubungkan SeqActions ke titik masuk dan satu sama lain dengan menggambar panah transisi tindakan.
- Navigasi grafik alur dengan menyeret tindakan dan menambahkan transisi tindakan sesuai kebutuhan.
Perkenalan
- Dokumen ini menjelaskan paket SW STM32CubeWiSE-RadioCodeGenerator (STM32CubeWiSEcg) dengan generator kode sequencer STM32WL3x MRSUBG.
- STM32CubeWiSE-RadioCodeGenerator adalah aplikasi PC yang digunakan untuk membangun diagram alir yang menentukan tindakan transceiver mana yang akan dieksekusi dalam kondisi mana, menggunakan driver sequencer MRSUBG.
- Radio Sub-GHz STM32WL3x berisi sequencer ini, yang merupakan mekanisme seperti mesin keadaan yang memungkinkan manajemen otonom transfer RF, tanpa memerlukan intervensi CPU.
- Jika diperlukan intervensi CPU, interupsi dapat ditetapkan. Tindakan transceiver dapat diatur dalam diagram alir. Dalam dokumen ini, tindakan transceiver individual disebut sebagai SeqActions.
- Namun, kode sumber bukanlah representasi terbaik untuk diagram alir karena menyembunyikan struktur logis dan temporalnya.
- STM32CubeWiSE-RadioCodeGenerator mengatasi masalah ini dengan menyediakan metode grafis untuk membangun diagram alir dan kemudian mengekspor diagram alir yang dihasilkan sebagai kode sumber C untuk diintegrasikan ke dalam aplikasi pengguna.
- Definisi diagram alir disimpan dalam RAM mikrokontroler dalam bentuk:
- Seperangkat tabel RAM ActionConfiguration, yang saling terhubung menggunakan pointer. Pointer ini mendefinisikan SeqActions, yaitu, jenis tindakan (misalnyaample, transmisi, penerimaan, pembatalan), serta parameter dan kondisi radio spesifik SeqAction untuk transmisi tindakan.
- Tabel RAM GlobalConfiguration yang unik. Ini mendefinisikan titik masuk flowgraph (SeqAction pertama yang akan dijalankan), serta beberapa nilai flag default dan parameter radio umum.
- Parameter radio, yang dapat dikonfigurasi secara individual untuk setiap SeqAction, disimpan dalam salah satu register dinamis, yang isinya merupakan bagian dari tabel RAM ActionConfiguration. Parameter radio yang ditetapkan selama seluruh eksekusi diagram alir (kecuali jika dimodifikasi selama interupsi CPU), disimpan dalam register statis, yang isinya merupakan bagian dari tabel RAM konfigurasi global.
Informasi umum
Lisensi
Dokumen ini menjelaskan perangkat lunak yang berjalan pada mikrokontroler berbasis STM32WL3x Arm® Cortex ® -M0+.
Catatan: Arm adalah merek dagang terdaftar dari Arm Limited (atau anak perusahaannya) di AS dan/atau di tempat lain.
Dokumen terkait
Tabel 1. Referensi dokumen
Nomor | Referensi | Judul |
[1] | Rp0511 | MCU sub-GHz berbasis Arm® STM32WL30xx/31xx/33xx |
Memulai
- Bagian ini menjelaskan semua persyaratan sistem untuk menjalankan STM32CubeWiSE-RadioCodeGenerator.
- Ia juga merinci prosedur instalasi paket perangkat lunak.
Persyaratan sistem
Aplikasi STM32CubeWiSE-RadioCodeGenerator memiliki persyaratan minimum berikut:
- PC dengan prosesor Intel® atau AMD® yang menjalankan sistem operasi Microsoft® Windows 10
- Setidaknya 2 Gbyte RAM
- port USB
- Pembaca Adobe Acrobat 6.0
Pengaturan paket perangkat lunak STM32CubeWiSE-RadioCodeGenerator
Lakukan langkah-langkah berikut:
- Ekstrak konten stm32wise-cgwin.zip file ke dalam direktori sementara.
- Ekstrak dan luncurkan STM32CubeWiSE-RadioCodeGenerator_Vx.xxexe file dan ikuti petunjuk di layar.
Paket perangkat lunak STM32CubeWiSE-RadioCodeGenerator files
Paket perangkat lunak STM32CubeWiSE-RadioCodeGenerator files diorganisasikan ke dalam folder berikut:
- aplikasi: berisi STM32CubeWiSE-RadioCodeGenerator.exe
- examples: folder ini diorganisasikan ke dalam subfolder berikut:
- kode: folder ini berisi diagram alir example sudah diekspor sebagai kode C, siap untuk disuntikkan ke dalam proyek aplikasi
- flowgraphs: folder ini menyimpan beberapa contohampskenario operasi sequencer MRSUBG otonom
Catatan rilis dan lisensi files terletak di folder root.
Deskripsi perangkat lunak STM32CubeWiSE-RadioCodeGenerator
- Bagian ini menjelaskan fungsi utama aplikasi STM32CubeWiSE-RadioCodeGenerator. Untuk menjalankan utilitas ini, klik ikon STM32CubeWiSE-RadioCodeGenerator.
Setelah meluncurkan STM32CubeWiSE-RadioCodeGenerator, jendela aplikasi utama akan muncul. Jendela ini terdiri dari:
- Menu dan bilah alat global
- Representasi visual drag-and-drop dari diagram alir
- Bagian konfigurasi SeqAction (hanya terlihat jika SeqAction sedang diedit)
Membangun diagram alir
Dasar-dasar
Diagram alir dibuat dalam dua langkah:
- Tambahkan SeqActions ke diagram alir. Ini dapat dilakukan menggunakan tombol “Add Action” di bilah alat, menggunakan menu global (Edit → Add Action) atau dengan pintasan “Ctrl+A”.
- Hubungkan SeqActions ke titik masuk dan satu sama lain dengan menggambar panah transisi tindakan.
Kondisi di mana transisi ini terjadi didefinisikan kemudian (lihat Bagian 3.2.1: Alur kontrol).
Menavigasi diagram alur, menyeret tindakan
Dengan menyeret latar belakang papan catur dari diagram alir dengan penunjuk tetikus (klik kiri), viewport pada diagram alir dapat disesuaikan. Roda gulir tetikus dapat digunakan untuk memperbesar dan memperkecil. Mengklik di mana saja pada suatu tindakan (kecuali untuk port keluaran, tombol hapus, dan tombol edit) untuk memilih suatu tindakan. Tindakan dapat diatur dalam diagram alir dengan menyeretnya menggunakan tombol tetikus kiri.
Menambahkan transisi tindakan
- Seperti yang ditunjukkan pada Gambar 2, setiap tindakan memiliki dua “port keluaran”, yang disebut NextAction1 (NA1) dan NextAction2 (NA2), yang dapat dihubungkan ke SeqActions yang dieksekusi setelah tindakan selesai. Misalnyaample, NextAction1 dapat digunakan untuk mengeksekusi beberapa tindakan jika tindakan saat ini berhasil dan NextAction2 dapat dipicu jika terjadi kegagalan.
- Untuk membuat transisi tindakan, arahkan kursor tetikus ke salah satu port keluaran, tekan tombol kiri tetikus, dan gerakkan kursor tetikus untuk menyeret panah transisi. Gerakkan kursor tetikus ke port masukan di sebelah kiri beberapa SeqAction lain, lalu lepaskan tombol kiri tetikus untuk membuat koneksi permanen. Untuk menghapus transisi tindakan, ulangi saja langkah-langkah untuk membuat transisi tindakan, tetapi lepaskan tombol kiri tetikus di suatu tempat di atas latar belakang kotak-kotak.
- Jika output (NextAction1, NextAction2) dibiarkan tidak terhubung, sequencer akan berhenti jika tindakan berikutnya ini dipicu.
- Pastikan juga untuk menghubungkan "Entry Point" ke port input SeqAction. SeqAction ini adalah yang pertama kali dieksekusi segera setelah sequencer dipicu.
Mengedit dan menghapus tindakan
- SeqActions dapat diedit dengan mengklik tombol pensil di kiri atas SeqAction. SeqAction dapat dihapus dengan mengklik tanda silang merah di kanan atas (lihat Gambar 3). Menghapus SeqAction juga akan menghapus semua transisi tindakan yang masuk dan keluar.
Konfigurasi SeqAction
SeqActions dapat dikonfigurasi melalui antarmuka konfigurasi bertab yang dapat diakses melalui tombol pensil di kiri atas setiap tindakan dalam diagram alir. Antarmuka ini pada dasarnya mengonfigurasi konten tabel RAM ActionConfiguration untuk tindakan tertentu, yang terdiri dari opsi konfigurasi terkait alur kontrol serta konten register dinamis. Konten register dinamis dapat dikonfigurasi secara manual dengan kontrol penuh atas setiap nilai register (lihat Bagian 3.2.3: Konfigurasi radio tingkat lanjut) atau melalui antarmuka yang disederhanakan (lihat Bagian 3.2.2: Konfigurasi radio dasar). Antarmuka yang disederhanakan seharusnya cukup untuk hampir semua kasus penggunaan.
Mengontrol aliran
Tab alur kontrol (lihat Gambar 4) berisi beberapa opsi konfigurasi dasar seperti nama tindakan dan interval batas waktu tindakan. Nama tindakan tidak hanya digunakan untuk ditampilkan dalam diagram alur tetapi juga dibawa ke kode sumber yang dihasilkan.
- Tab alur kontrol (lihat Gambar 4) berisi beberapa opsi konfigurasi dasar seperti nama tindakan dan interval batas waktu tindakan. Nama tindakan tidak hanya digunakan untuk ditampilkan dalam diagram alur tetapi juga dibawa ke kode sumber yang dihasilkan.
- Yang terpenting, tab alur kontrol mengonfigurasi kondisi yang menjadi dasar transisi ke NextAction1 / NextAction2 serta interval transisi dan tanda. Kondisi transisi dapat dikonfigurasi dengan mengklik tombol berlabel “…”, yang akan memunculkan dialog pemilihan topeng yang ditunjukkan pada Gambar 5. Interval transisi mengubah properti NextAction1Interval / NextAction2Interval dari tabel RAM. Lihat manual referensi STM32WL3x [1] untuk informasi lebih lanjut tentang arti interval ini dan signifikansi tanda SleepEn / ForceReload / ForceClear.
- Lebih jauh, deskripsi singkat tentang blok SeqAction dapat ditambahkan pada tab ini. Deskripsi ini hanya digunakan untuk keperluan dokumentasi dan dibawa ke kode sumber yang dihasilkan sebagai komentar kode sumber.
Konfigurasi radio dasar
Tab konfigurasi radio dasar dapat dibagi menjadi tiga bagian:
- Bagian di bagian atas tempat dua parameter terpenting dari tindakan apa pun dikonfigurasi: perintah yang akan dijalankan (TX, RX, NOP, SABORT, dan seterusnya) dan, jika berlaku, panjang paket yang akan ditransfer.
- Bagian di sebelah kiri tempat parameter radio aktual seperti: frekuensi pembawa, laju data, properti modulasi, ambang batas penyangga data, dan pengatur waktu dikonfigurasi.
- Bagian di sebelah kanan tempat interupsi CPU dapat diaktifkan secara individual. Penangan interupsi dibuat untuk setiap interupsi yang ditandai. Ini pada dasarnya mengonfigurasi konten register RFSEQ_IRQ_ENABLE.
Lihat manual referensi STM32WL3x [1] untuk mengetahui arti dari berbagai parameter radio.
Konfigurasi radio tingkat lanjut
- Jika opsi konfigurasi yang ditampilkan melalui tab konfigurasi radio dasar (Bagian 3.2.2: Konfigurasi radio dasar) tidak mencukupi, tab konfigurasi radio STM32WL3x tingkat lanjut memungkinkan pengaturan konten register dinamis yang sembarangan. Tab konfigurasi tingkat lanjut diaktifkan dengan mencentang kotak centang Konfigurasi Tingkat Lanjut di bagian kanan atas antarmuka konfigurasi bertab.
- Tidak mungkin untuk menggunakan konfigurasi dasar dan lanjutan secara bersamaan, pengguna harus memilih salah satu. Namun, tentu saja dimungkinkan untuk mengedit kode sumber yang dihasilkan secara manual setelahnya dan menambahkan opsi konfigurasi yang mungkin hilang.
Dialog konfigurasi global
- Dialog “Pengaturan Proyek Global” dapat diakses melalui tombol bilah alat “Pengaturan Global”. Dialog tersebut berisi opsi konfigurasi untuk konten register statis serta pengaturan proyek tambahan. Perhatikan bahwa hanya sebagian kecil opsi konfigurasi register statis yang dapat dikonfigurasi melalui dialog ini. Opsi ini hanya disediakan untuk mempercepat pembuatan prototipe aplikasi dengan STM32CubeWiSE-RadioCodeGenerator.
- Biasanya diharapkan bahwa konten register statis diatur dalam kode sumber aplikasi yang ditulis secara manual.
- Arti dari pengaturan proyek lainnya dijelaskan dalam dialog itu sendiri.
- Kode C tambahan yang dimasukkan tepat sebelum membuat tabel RAM Konfigurasi Global dari konten register statis juga dapat diberikan. Kolom ini dapat digunakan untuk menyiapkan nilai register statis yang tidak dapat diakses melalui masker konfigurasi register statis yang diberikan.
Pembuatan kode
Diagram alir dapat diubah menjadi kode sumber proyek C yang lengkap dengan menekan tombol Hasilkan Kode di bilah alat. Folder proyek yang dihasilkan tidak berisi proyek files untuk IAR, Keil®, atau GCC. Ini files harus ditambahkan secara manual ke proyek STMWL3x.
Berikut adalah struktur folder proyek yang dihasilkan:
Folder proyek
- termasuk
- SequencerFlowgraph.h: tajuk file untuk SequencerFlowgraph.c, statis. Jangan edit ini.
- stm32wl3x_hal_conf.h: Konfigurasi HAL STM32WL3x file, statis.
- sumber
- SequencerFlowgraph.c: definisi flowgraph. Ini adalah bagian penting file yang menggunakan sequencer driver untuk menentukan tabel RAM konfigurasi global dan konfigurasi tindakan. Dibuat secara otomatis, tidak perlu diedit.
- main.c: Proyek utama file yang menunjukkan cara memuat dan menerapkan definisi diagram alir. Statis, ubah ini sesuai kebutuhan.
- Untuk mengedit main.c atau stm32wl3x_hal_conf.h, pilih perilaku penimpaan Simpan dalam pengaturan proyek. Dengan cara ini, hanya SequencerFlowgraph.c yang akan ditimpa.
Cara mengimpor kode yang dihasilkan ke dalam file CubeMXample
Untuk mengimpor proyek yang dihasilkan oleh STM32CubeWiSE-RadioCodeGenerator ke dalam ekstensi CubeMXample (MRSUBG_Skeleton), perlu mengikuti langkah-langkah berikut:
- Buka folder yang berisi files yang dihasilkan oleh STM32CubeWiSE-RadioCodeGenerator dan salin folder “Inc” dan “Src”.
- Tempelkan dua folder tersebut pada folder “MRSUBG_Skeleton” dan timpa dua folder yang sudah ada.
- Buka proyek “MRSUBG_Skeleton” di salah satu IDE berikut:
- HANGAT
- MDK-ARM
- STM32CubeIDE
- Di dalam proyek “MRSUBG_Skeleton”, tambahkan “SequencerFlowghraph.c” file:
- Untuk proyek EWARM, jalur untuk menambahkan file adalah sebagai berikut: MRSUBG_Skeleton\Application\User
- Untuk proyek MDK-ARM, jalur untuk menambahkan file adalah sebagai berikut: MRSUBG_Skeleton\Application/User
- Untuk proyek STM32CubeIDE, jalur untuk menambahkan file adalah sama:
MRSUBG_Skeleton\Aplikasi\Pengguna
- Untuk proyek EWARM, jalur untuk menambahkan file adalah sebagai berikut: MRSUBG_Skeleton\Application\User
- Di dalam proyek MRSUBG_Skeleton, tambahkan stm32wl3x_hal_uart.c dan stm32wl3x_hal_uart_ex.c fileke jalur berikut: MRSUBG_Skeleton\Drivers\STM32WL3x_HAL_Driver. Jalurnya sama untuk semua IDE. Kedua fileterletak di Firmware\Drivers\STM32WL3x_HAL_Driver\Src.
- Untuk menggunakan fitur COM, stm32wl3x_nucleo_conf.h file, terletak di Firmware\Projects\NUCLEOWL33CC\ Examples\MRSUBG\MRSUBG_Skeleton\Inc, harus dimodifikasi dengan menyetel USE_BSP_COM_FEATURE dan USE_COM_LOG ke 1U:
- Salin kode berikut ke “stm32wl3x_it.c”, yang terletak di MRSUBG_Skeleton\Application\User.
Diagram alir exampsedikit
- Empat mantanampdiagram alir disediakan di samping kode sumber. Contoh-contoh iniampfile dapat dimuat ke STM32CubeWiSE-RadioCodeGenerator dengan mengklik tombol “Load” pada toolbar.
ACK_RX Otomatis
- Demo Auto-ACK mengilustrasikan bagaimana dua perangkat STM32WL3x dapat secara otomatis berkomunikasi satu sama lain dengan intervensi CPU minimal, dengan bantuan perangkat keras sequencer.
- Diagram alir ini mengimplementasikan perilaku (Auto-Transmit-ACK) perangkat A. Di perangkat A, sequencer diinisialisasi dalam status penerimaan (WaitForMessage), yaitu menunggu pesan tiba.
- Setelah pesan yang valid tiba, sequencer secara otomatis beralih ke status transmisi (TransmitACK), di mana paket ACK dikirim sebagai respons, tanpa campur tangan CPU. Setelah selesai, sequencer diatur ulang ke status WaitForMessage awalnya.
- Diagram alir ini menerapkan perilaku yang sama dengan MRSUBG_SequencerAutoAck_Rx example dari Exampfolder les\MRSUBG dari paket Perangkat Lunak STM32Cube WL3. Jika AutoACK_RX di-flash pada satu perangkat
A, dan AutoACK_TX di-flash pada beberapa perangkat, B, kedua perangkat saling mengirim pesan, seperti dalam permainan ping-pong.
ACK_TX Otomatis
- Demo “Auto-ACK” mengilustrasikan bagaimana dua perangkat STM32WL3x dapat secara otomatis berkomunikasi satu sama lain dengan intervensi CPU minimal dengan bantuan perangkat keras sequencer.
- Diagram alir ini mengimplementasikan perilaku ("Auto-Wait-for-ACK") dari perangkat B. Di perangkat B, sequencer diinisialisasi dalam status transmisi (TransmitMessage), di mana ia mentransmisikan pesan. Setelah transmisi selesai, ia secara otomatis beralih ke status penerimaan di mana ia menunggu pengakuan dari perangkat A (WaitForACK). Setelah pengakuan yang valid tiba, sequencer diatur ulang ke status TransmitMessage awalnya dan seluruh proses dimulai lagi. Jika tidak ada ACK yang diterima dalam waktu 4 detik, batas waktu dipicu dan sequencer kembali ke status TransmitMessage.
- Diagram alir ini menerapkan perilaku yang sama dengan contoh “MRSUBG_SequencerAutoAck_Tx”ample dari Mantanampfolder les\MRSUBG dari paket Perangkat Lunak STM32Cube WL3. Jika AutoACK_RX di-flash pada satu perangkat, A, dan AutoACK_TX di-flash pada perangkat lain, B, kedua perangkat tersebut saling mengirim pesan, seperti dalam permainan ping-pong.
Mendengarkan sebelum berbicara (LBT)
- Mantan iniampfile diambil dari manual referensi STM32WL3x [1]. Lihat manual tersebut untuk rincian lebih lanjut tentang contoh ini.ampsaya.
Mode mengendus
- Mantan iniampfile diambil dari manual referensi STM32WL3x [1]. Lihat manual tersebut untuk rincian lebih lanjut tentang contoh ini.ampsaya.
Riwayat revisi
Tabel 2. Riwayat revisi dokumen
Tanggal | Versi | Perubahan |
21 November 2024 | 1 | Rilis awal. |
10 Februari 2025 | 2 | Nama perangkat diperbarui ke lingkup STM32WL3x. |
PEMBERITAHUAN PENTING – BACA DENGAN SEKSAMA
- STMicroelectronics NV dan anak perusahaannya (“ST”) berhak melakukan perubahan, koreksi, penyempurnaan, modifikasi, dan perbaikan pada produk ST dan/atau dokumen ini kapan saja tanpa pemberitahuan. Pembeli harus memperoleh informasi relevan terkini tentang produk ST sebelum melakukan pemesanan. Produk ST dijual sesuai dengan syarat dan ketentuan penjualan ST yang berlaku pada saat konfirmasi pemesanan.
- Pembeli bertanggung jawab penuh atas pilihan, pemilihan, dan penggunaan produk ST dan ST tidak bertanggung jawab atas bantuan aplikasi atau desain produk pembeli.
- Tidak ada lisensi, tersurat maupun tersirat, terhadap hak kekayaan intelektual apa pun yang diberikan oleh ST di sini.
- Penjualan kembali produk ST dengan ketentuan yang berbeda dari informasi yang ditetapkan di sini akan membatalkan garansi apa pun yang diberikan oleh ST untuk produk tersebut.
- ST dan logo ST adalah merek dagang ST. Untuk informasi tambahan tentang merek dagang ST, lihat www.st.com/trademarks. Semua nama produk atau layanan lainnya adalah milik dari pemiliknya masing-masing.
- Informasi dalam dokumen ini menggantikan dan mengganti informasi yang sebelumnya diberikan dalam versi dokumen ini sebelumnya.
- © 2025 STMicroelectronics – Semua hak dilindungi undang-undang
Tanya Jawab Umum
- T: Apa persyaratan sistem minimum untuk STM32CubeWiSE-RadioCodeGenerator?
- A: Persyaratan sistem minimum mencakup setidaknya 2 Gbyte RAM, port USB, dan Adobe Acrobat reader 6.0.
- T: Bagaimana cara mengatur paket perangkat lunak STM32CubeWiSE-RadioCodeGenerator?
- A: Untuk mengatur paket perangkat lunak, ekstrak konten zip yang disediakan file ke direktori sementara dan luncurkan file yang dapat dieksekusi file mengikuti petunjuk di layar.
Dokumen / Sumber Daya
![]() |
Generator Kode Radio WiSE STMicroelectronics UM3399 STM32Cube [Bahasa Indonesia:] Panduan Pengguna UM3399, UM3399 STM32 Cube WiSE Radio Code Generator, UM3399, STM32, Cube WiSE Radio Code Generator, Radio Code Generator, Code Generator, Generator |