ST-logo

STMicroelectronics UM3469 X-CUBE-ISO1 Software Expansion

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion

Pambuka

Paket piranti lunak ekspansi X-CUBE-ISO1 kanggo STM32Cube mlaku ing STM32 lan kalebu perangkat kukuh kanggo X-NUCLEO-ISO1A1. Piranti lunak nyedhiyakake solusi sing gampang digunakake kanggo pangembangan piranti PLC dhasar sing diwenehake dening X-NUCLEO. Ekspansi kasebut dibangun ing teknologi piranti lunak STM32Cube kanggo nggampangake portabilitas ing macem-macem mikrokontroler STM32.

Piranti lunak kasebut dilengkapi implementasine ing papan ekspansi X-NUCLEO-ISO1A1 sing disambungake menyang papan pangembangan NUCLEO-G071RB (utawa NUCLEO-G0B1RE utawa NUCLEO-G070RB). Wiwit saiki, ing dokumen kasebut mung NUCLEO-G071RB sing bakal kasebut kanthi gampang.
Papan X-NUCLEO-ISO1A1 dirancang kanggo ndhukung tumpukan rong papan kanthi setelan jumper sing cocog kanggo nambah kemampuan input lan output.

Akronim lan singkatan

Tabel 1. Daftar akronim

Akronim Katrangan
PLC Kontrol logika sing bisa diprogram
API Antarmuka pemrograman aplikasi
PWM Modulasi lebar pulsa
GPIO Input/output tujuan umum.
HAL Lapisan abstraksi hardware
PC komputer pribadi
FW Firmware

Apa STM32Cube?

STM32Cube™ makili inisiatif STMicroelectronics kanggo nggawe urip pangembang luwih gampang kanthi nyuda gaweyan, wektu, lan biaya pangembangan. STM32Cube nyakup portofolio STM32.
STM32Cube versi 1.x kalebu:

  • STM32CubeMX, alat konfigurasi piranti lunak grafis sing ngidini generasi kode inisialisasi C nggunakake penyihir grafis.
  • Platform piranti lunak lengkap sing ditempelake khusus kanggo saben seri (kayata STM32CubeG0 kanggo seri STM32G0), sing kalebu:
    • piranti lunak lapisan abstraksi STM32Cube HAL, njamin portabilitas maksimal ing portofolio STM32
    • set konsisten komponen middleware kayata RTOS, USB, TCP/IP, lan grafis
    • kabeh keperluan lunak ditempelake karo pesawat lengkap Examples.

Arsitektur STM32Cube
Solusi perangkat kukuh STM32Cube dibangun watara telung tingkat independen sing bisa gampang sesambungan karo siji liyane, minangka diterangake ing diagram ngisor.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-1

Ekspansi piranti lunak X-CUBE-ISO1 kanggo STM32Cube

Swaraview
Perangkat kukuh kanggo X-NUCLEO-ISO1A1, papan ekspansi input / output terisolasi industri, dikembangake ing sekitar lingkungan lan perpustakaan STM32, nggunakake MCU kinerja dhuwur saka papan Nucleo STM32 kanggo ngatur input digital, output kanthi diagnostik terpadu bebarengan karo watesan saiki dinamis, lan generasi sinyal PWM. Fitur konfigurasi lan kontrol papan sing komprehensif, kalebu kerangka kerja kanggo kahanan standar lan alternatif, makro kanggo nyetel nilai pra-scaler, lan definisi kanggo port lan pin GPIO.

Iku ndhukung macem-macem sampkasus panggunaan aplikasi kayata input digital kanggo mirroring output, komunikasi UART liwat papan Nucleo, deteksi fault, kasus test, lan generasi PWM kang bisa langsung digunakake lan bisa gampang selaras lan ditambahi.

API nyedhiyakake fungsi sing kuat kanggo kontrol input/output digital, deteksi kesalahan, lan nganyari status papan, kanthi setelan konfigurasi kanggo mbukak loro papan bebarengan ing mode sing beda. Fungsi API khusus kasedhiya kanggo miwiti, miwiti, mungkasi, lan konfigurasi sinyal PWM kanggo saluran output digital.

Paket dhukungan Papan kalebu fungsi kanggo ngontrol lan ngawasi pin GPIO sing disambungake karo IPS1025H-32 lan maca status pin GPIO sing disambungake karo CLT03-2Q3 liwat isolator digital.
Konfigurasi lan inisialisasi adhedhasar STM32CubeMX, kanthi pangembangan lan debugging didhukung dening alat STM32CubeIDE, IAR Systems, lan Keil®.

Arsitektur
Perangkat kukuh kanggo X-NUCLEO-ISO1A1 bisa dipérang dadi sawetara blok fungsional sing béda-béda, saben tanggung jawab kanggo macem-macem aspek operasi sistem:

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-2

  • Konfigurasi lan Kontrol Papan:
    • Papan_config.h file ngandhut macro kanggo ngatur Papan kanggo mbukak ing kahanan gawan utawa sulih, utawa loro-lorone. Uga kalebu definisi kanggo nilai pra-scaler lan port GPIO lan pin.
    • Blok iki mesthekake yen papan wis disetel kanthi bener kanggo kondisi operasi sing dikarepake lan kabeh konfigurasi hardware sing dibutuhake wis ana.
  • Kasus Gunakake Aplikasi:
    • Ing st_iso_app.h lan st_iso_app.c files ngemot kasus panggunaan aplikasi sing dirancang kanggo nyoba macem-macem fungsi papan.
    • Kasus panggunaan kasebut kalebu input digital menyang pangilonan output, tes deteksi kesalahan, lan generasi sinyal PWM.
    • Exampkonfigurasi le kasedhiya kanggo mlaku loro Papan bebarengan ing mode beda, nuduhake versatility lan keluwesan saka perangkat kukuh.
  • Fungsi API:
    • Ing iso1a1.h lan iso1a1.c files nyedhiyani pesawat lengkap API kanggo ndhukung macem-macem fungsi.
    • API kasebut kalebu fungsi kanggo kontrol input/output digital, deteksi kesalahan, lan nganyari status papan.
    • API dirancang kanthi prasaja lan intuisi, supaya pangguna gampang sesambungan karo papan lan nindakake operasi sing dibutuhake.
  • Kontrol Sinyal PWM:
    • Ing pwm_api.h lan pwm_api.c files ngemot fungsi API tartamtu related kanggo generasi sinyal PWM.
    • Fungsi kasebut ngidini kanggo miwiti, ngatur, miwiti, lan mungkasi sinyal PWM kanggo saluran output digital.
    • Fungsi PWM dudu pilihan standar. Konfigurasi Papan wis diowahi kanggo ngaktifake iki. Waca Bagean 3.5: API kanggo rincian liyane.
  • Paket Dukungan Papan:
    • Paket dhukungan papan kalebu files kanggo kontrol lan ngawasi pins GPIO antarmuka karo IPS1025H-32 lan maca negara saka pins GPIO antarmuka karo CLT03-2Q3.
    • Ips1025h_32.h lan ips1025h_32.c files nyedhiyani fungsi kanggo nyetel, mbusak, lan ndeteksi bente ing pin GPIO antarmuka karo IPS1025H-32.
    • Clt03_2q3.h lan clt03_2q3.c files nyedhiyani fungsi kanggo maca negara saka pin GPIO antarmuka karo CLT03-2Q3.

Perangkat kukuh demonstrasi ngetrapake sawetara kasus panggunaan sing gampang kanggo nampilake kemampuan sistem kasebut. Kasus panggunaan lan API pangguna iki dieksekusi kanthi cara sing terkoordinasi kanggo njamin operasi sing lancar lan asil sing akurat. Arsitèktur iki dirancang supaya gampang ditambahi, saéngga pangguna bisa nambah fungsi anyar lan kasus panggunaan sing dibutuhake. Konfigurasi standar diwenehake kanggo mbukak siji papan kanthi IO industri digital. Setelan jumper uga perlu ing mode gawan minangka diterangake ing Tabel 2. Digital input Digital metu mirroring (DIDO) iku gawan aplikasi perangkat kukuh usecase.

Struktur folder

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-3

Folder ing ngisor iki kalebu ing paket piranti lunak:

  • Dokumentasi ngemot HTML sing dikompilasi file kui saka kode sumber, rincian komponen lunak lan API.
  • Drivers ngemot:
    • folder STM32Cube HAL, dumunung ing subfolder STM32G0xx_HAL_Driver. Iki files ora diterangake kene amarga padha ora tartamtu kanggo piranti lunak X-CUBE-ISO1 nanging teka langsung saka framework STM32Cube.
    • folder CMSIS sing ngemot standar antarmuka piranti lunak mikrokontroler Cortex® files saka Arm. Iki files iku lapisan abstraksi hardware vendor-independen kanggo seri prosesor Cortex®-M. Folder iki uga ora owah saka kerangka STM32Cube.
    • folder BSP ngemot kode kanggo komponen IPS1025H-32 lan CLT03-2Q3 lan API related kanggo X-NUCLEO-ISO1A1.
  • Aplikasi ngemot folder pangguna sing ngemot utama.c file, kasus panggunaan aplikasi file, st_iso_app.c lan board_config.h file, kasedhiya kanggo platform NUCLEO-G071RB.

folder BSP
Piranti lunak X-CUBE-ISO1 nggunakake rong komponen sing beda files, sing ana ing BSP/Komponèn:

IPS1025
Ips1025h_32.h lan ips1025h_32.c files nyedhiyani implementasine driver lengkap kanggo pin GPIO antarmuka karo IPS1025H-32, kalebu fungsi lengkap kanggo kontrol kabeh pin lan ndeteksi bente. Iki files ngleksanakake fungsi kanggo initializing piranti, nyetel lan mbusak status saluran, ndeteksi kahanan fault, lan ngatur fungsi PWM. Pembalap ndhukung macem-macem piranti lan saluran, kanthi kapabilitas lengkap kanggo saluran individu utawa minangka grup.

CLT03
Clt03_2q3.h lan clt03_2q3.c files ngleksanakake driver lengkap-Bintang kanggo pin GPIO antarmuka karo CLT03-2Q3, karo kabisan lengkap kanggo maca kabeh negara pin. Driver nyedhiyakake fungsi kanggo miwiti piranti, maca status saluran individu, lan entuk informasi status kanggo kabeh saluran bebarengan. Ndhukung macem-macem konfigurasi piranti lan njaga kahanan internal kanggo manajemen saluran sing efektif.

API piranti lunak X-CUBE-ISO1 dipérang dadi rong sumber utama files, sing ana ing subfolder ISO1A1:

ISO1A1
ISO 1A1 files nyakup pesawat lengkap fungsi API dirancang kanggo konfigurasi Papan, interaksi komponen, lan Manajemen fault. Fungsi kasebut nggampangake operasi maca lan nulis, deteksi kesalahan lan nganyari, lan kalebu macem-macem keperluan helper kanggo ndhukung fungsi API utami. Kajaba iku, ing files nyedhiyakake fungsi kanggo kontrol LED, initialization GPIO, penanganan interrupt, lan komunikasi UART.

PWM API
API PWM nyedhiyakake fungsi kanggo miwiti, ngatur, miwiti, lan mungkasi sinyal PWM. Iki ngidini nyetel frekuensi PWM lan siklus tugas kanggo pin timer sing ditemtokake, njamin kontrol sing tepat babagan operasi PWM.

Folder aplikasi
Folder Aplikasi ngemot file utama files dibutuhake kanggo perangkat kukuh, kalebu header lan sumber files. Ing ngisor iki katrangan rinci babagan files ing folder iki:

  • board_config.h: Konfigurasi macros kanggo Papan.
  • main.c: Program utama (kode example kang adhedhasar perpustakaan kanggo ISO1A1).
  • st_iso_app.c: Fungsi aplikasi kanggo testing lan konfigurasi Papan.
  • stm32g0xx_hal_msp.c: HAL initialization rutin.
  • stm32g0xx_it.c: Interrupt handler.
  • syscalls.c: implementasine telpon sistem.
  • sysmem.c: Manajemen memori sistem.
  • system_stm32g0xx.c: Inisialisasi sistem.

Sumber daya sing dibutuhake piranti lunak
Piranti Nucleo ngontrol lan komunikasi karo papan X-NUCLEO-ISO1A1 liwat GPIO. Iki mbutuhake sawetara GPIO kanggo input, output, lan deteksi kesalahan piranti IO industri sing ana ing papan X-NUCLEO-ISO1A1. Deleng manual pangguna Hardware UM3483 kanggo rincian liyane lan konfigurasi jumper.

Konfigurasi Papan (board_config.h)
Papan_config.h file nemtokake sumber daya digunakake lan macro konfigurasi kanggo ngatur piranti lunak miturut konfigurasi Papan. Nangani nganti rong papan (kayata tumpukan rong papan).
Konfigurasi DEFAULT piranti lunak didadekake siji karo papan ekspansi X-NUCLEO-ISO1A1 kanthi jumper ing posisi standar. Kanggo ngatur piranti lunak kanggo X-NUCLEO-ISO1A1 ing setelan gawan, mbusak komentar BOARD_ID_DEFAULT makro ing board_config.h file.

Konfigurasi ALTERNATE piranti lunak disetel kanthi mbusak komentar BOARD_ID_ALTERNATE makro ing board_config.h file lan ngganti posisi jumper ing Papan.
Kanggo nggunakake loro Papan bebarengan ing konfigurasi tumpukan, uncomment loro BOARD_ID_DEFAULT lan BOARD_ID_ALTERNATE macro lan mesthekake jumper Papan siji ing posisi gawan lan liyane ing posisi sulih. Elinga yen duwe loro Papan ing konfigurasi padha (salah siji ing standar utawa loro-lorone ing sulih) ora dianjurake lan bisa nyebabake prilaku undesired.
Nalika mlaku mung siji Papan, mesthekake yen piranti lunak wis diatur mung siji konfigurasi lan makro sing cocog karo konfigurasi liyane komentar.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-4

Pre-scalers
Kita bisa ngatur nilai wis scaler ing board_config.h kanggo entuk kisaran frekuensi beda kanggo output PWM dening nyetel macro cocok. Kanggo nggunakake nilai pra-skalar, mbusak komentar ing makro sing cocog lan menehi komentar liyane. Kanthi gawan, DEFAULT_PRESCALAR digunakake.

  • PRESCALER_1
  • PRESCALER_2
  • DEFAULT_PRESCALER

Nilai prescaler mung digunakake nalika timer digunakake, lan ora dibutuhake kanggo operasi I/O dhasar. Nilai-nilai makro pra-skalar lan rentang frekuensi sing cocog bisa dideleng ing dokumentasi kode utawa ing kode kasebut.

LED detak jantung
Kita bisa ngatur LED pangguna ijo, D7 kanggo kedhip ing fashion deg-degan minangka test kanggo sambungan sing tepat kanggo Papan NUCLEO-G071RB. Makro, HEARTBEAT_LED yen ora diwenehi komentar, kedhip LED ijo ing X-NUCLEO-ISO1A1 nalika disambungake menyang NUCLEO. Iku tetep urip kanggo 1 detik lan mati kanggo 2 detik, karo wektu dijupuk care saka timers. Yen ora digunakake utawa fungsi apa wae sing nglibatake LED diarani, makro kudu ora dikomentari.

Input lan output konfigurasi GPIO
Saben papan X-NUCLEO-ISO1A1 dilengkapi rong port input lan rong port output. Kapabilitas papan bisa ditambahi kanthi numpuk loro papan X-NUCLEO-ISO1A1 ing ndhuwur saben liyane, saéngga bisa nggunakake papat port input digital lan papat port output digital. Piranti lunak sing kasedhiya kalebu API lengkap sing nggampangake maca, nyetel, lan ngresiki port. Kajaba iku, API ngidini setelan, maca, utawa ngresiki kabeh port bebarengan. Informasi rinci babagan fungsi API kasedhiya ing dokumentasi kode uga ing bagean API dokumen iki.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-5

Ing kene ater-ater DI nuduhake port input digital lan DO nuduhake port output digital. Kanggo konfigurasi alternatif, piranti lunak nggunakake konvènsi jeneng sing padha karo _alt suffix ditempelake.
Tabel ing ngisor iki rincian makro GPIO sing ditetepake ing piranti lunak sing cocog karo macem-macem port IO:

Tabel 2. GPIOs diparengake kanggo Default lan konfigurasi lunak alternatif

jeneng Fungsi Konfigurasi standar Konfigurasi alternatif
INPUT PIN Pin input 1 GPIOC, IA0_IN_1_PIN GPIOD, IA0_IN_1_PIN
Pin input 2 GPIOD, IA1_IN_2_PIN GPIOC, IA1_IN_1_PIN
PIN OUTPUT Pin output 1 GPIOC, QA0_CNTRL_1_PIN GPIOD, QA0_CNTRL_1_PIN
Pin output 2 GPIOC, QA1_CNTRL_2_PIN GPIOC, QA1_CNTRL_2_PIN
PIN FAULT Pin kesalahan 1 GPIOC, FLT1_QA0_2_OT_PIN GPIOD, FLT1_QA0_1_OT_PIN
Pin kesalahan 2 GPIOC, FLT2_QA0_2_OL_PIN GPIOD, FLT2_QA0_1_OL_PIN
Pin kesalahan 3 GPIOC, FLT1_QA1_2_OT_PIN GPIOC, FLT1_QA1_1_OT_PIN
Pin kesalahan 4 GPIOC, FLT2_QA1_1_OL_PIN GPIOD, FLT2_QA1_2_OL_PIN
KONFIGURASI MAKRO BOARD_ID_DEFAULT BOARD_ID_ALTERNATE

Timer lan PWM
Timer bisa digunakake ing perangkat kukuh X-CUBE-ISO1 kanggo ngasilake sinyal PWM kanggo pin tartamtu. Kanthi gawan, timer ora diwiwiti kajaba TIM3. Timer sing gegandhengan kudu diwiwiti sadurunge ngasilake sinyal PWM lan port output sing gegandhengan kudu diinisialisasi ing mode PWM.
Kanggo operasi input / output GPIO normal, ora perlu ngonfigurasi timer utawa port output, amarga diurus kanthi standar. Nanging, yen nalika pin output disetel ing mode PWM, kita kudu ngatur maneh ing mode GPIO kanggo digunakake minangka pin GPIO.

Cathetan: Nalika pin output digunakake kanggo generasi PWM, output GPIO dipatèni, loro functionalities ora bisa dipun ginakaken bebarengan. Kanggo ngaktifake maneh GPIO sawise panggunaan PWM, siji bisa nelpon fungsi API ST_ISO_BoardConfigureDefault () utawa ST_ISO_InitGPIO () kanggo ngatur kabeh bandar minangka GPIO bebarengan utawa ST_ISO_Init_GPIO () karo port GPIO tartamtu lan pin.

Kaya sing wis kasebut ing ndhuwur, piranti lunak uga nggunakake siji timer kanthi standar, TIM3, sing digunakake kanggo pangguna wektu LED, jam, lan implementasine wektu UART. Dikonfigurasi kanggo wektu 1 detik minangka standar.
Tabel ing ngisor iki rincian timer sing kasedhiya kanggo saben pin ing kode kita:

Tabel 3. Timer kasedhiya kanggo saben pin

Jeneng pin Perwakilan piranti lunak Timer Saluran Timer Fungsi alternatif
QA0_CNTRL_1_PIN QA_0 TIM2 TIM_CHANNEL_4 GPIO_AF2_TIM2
QA1_CNTRL_2_PIN QA_1 TIM1 TIM_CHANNEL_3 GPIO_AF2_TIM1
QA0_CNTRL_2_PIN QA_0_ALT TIM1 TIM_CHANNEL_4 GPIO_AF2_TIM1
QA1_CNTRL_1_PIN QA_1_ALT TIM17 TIM_CHANNEL_1 GPIO_AF2_TIM17

Utilitas tambahan saka perangkat kukuh
Perangkat kukuh kalebu keperluan tambahan kanggo nambah fungsi papan evaluasi X-NUCLEO-ISO1A1. Sawetara sing diterangake ing ngisor iki.

UART
Fitur komunikasi UART ngidini kanggo ngawasi wektu nyata lan debugging status papan liwat utilitas PC kayata TeraTerm, PuTTY lan aplikasi liyane sing padha. Piranti lunak kasebut ngidini transmisi data UART liwat UART sing ana ing papan NUCLEO-G071RB. Fungsi `ST_ISO_UART` ngirim informasi status papan sing rinci liwat UART, kalebu wektu aktif sistem, konfigurasi perangkat kukuh, lan status fault. Data iki bisa viewed nggunakake aplikasi port serial, kayata TeraTerm. Fungsi `ST_ISO_APP_DIDOandUART` nggabungake operasi input/output digital karo komunikasi UART, ngirim status kabeh saluran input lan output ing interval tartamtu. Ing ngisor iki setelan konfigurasi lan minangkaample carane data katon ing TeraTerm. Jeneng port bisa beda-beda adhedhasar sistem lan port serial sing digunakake.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-6

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-7

Konfigurasi mode pin IO
Utilitas konfigurasi mode pin IO ngidini pangguna nyetel port input lan output saka papan nggunakake fungsi ST_ISO_BoardConfigure (). Fungsi iki ndhukung konfigurasi rong port output (QA0, QA1) lan rong port input (IA0, IA1) menyang mode Input/Output, mode output PWM, utawa mode input Interrupt. Kanthi nyetel paramèter lan nelpon fungsi iki, pangguna bisa kanthi gampang ngatur konfigurasi IO papan kanggo nyukupi kabutuhan tartamtu.

Mode Input/Output, sarana miwiti pin GPIO kanggo operasi digital tujuan umum. Ing mode output PWM, nyetel timer kanggo kontrol sinyal PWM sing tepat. Nalika ing mode input Interrupt, sarana ngatur lencana kanggo nangani interrupts, ngidini kanggo program responsif acara-mimpin.

Interrupt penanganan
Kanggo nangani sinyal FAULT, piranti lunak mbisakake garis interupsi sing gegandhengan, ngidini program sing didorong acara responsif. A handler selaras bisa digandhengake karo interrupts iki liwat
Fungsi HAL_GPIO_EXTI_Rising_Callback ditetepake ing API. Piranti lunak kasebut kalebu fitur kanggo miwiti pin GPIO ing mode interrupt liwat fungsi ST_ISO_BoardConfigure lan ngatur tumindak tartamtu ing panangan EXTI IRQ. Iki ngidini pangguna kanggo ngatur carane Papan nanggapi kanggo acara external, mesthekake iku bisa èfèktif ngatur macem-macem kahanan fault lan pemicu.

API
API piranti lunak X-CUBE-ISO1 nyedhiyakake set lengkap fungsi kanggo ngontrol lan ngawasi papan X-NUCLEO-ISO1A1, kalebu generasi sinyal PWM lan operasi GPIO. API dirancang supaya gampang kanggo nggunakake lan nggabungake menyang macem-macem aplikasi, nyediakake keluwesan lan kontrol liwat fungsi Papan.

API piranti lunak X-CUBE-ISO1 ditetepake ing folder BSP/ISO1A1. Fungsi kasebut diawali karo ST_ISO. API sing katon kanggo aplikasi liwat iso1a1.c lan pwm_api.c files minangka kombinasi konstanta, struktur data, lan fungsi.
SampAplikasi perangkat kukuh nggunakake API kasebut kanggo nuduhake sawetara panggunaan fungsi kasebut.

Paket piranti lunak X-CUBE-ISO1 nyedhiyakake rong set API:

  • ISO1A1 API
  • PWM API

ISO1A1 API
ISO1A1 API ditetepake ing iso1a1.h lan iso1a1.c files. Nyedhiyakake fungsi kanggo ngatur lan ngontrol papan ISO1A1, kalebu operasi input / output GPIO lan deteksi kesalahan.

Fungsi utama

  • ST_ISO_BoardConfigureDefault: Ngatur port IO papan kanthi konfigurasi GPIO standar.
  • ST_ISO_BoardConfigure: Ngatur mode port input lan output kanggo papan.
  • ST_ISO_BoardInit: Inisialisasi hardware papan.
  • ST_ISO_BoardMapInit: Initializes fungsi Papan adhedhasar saluran Ngalahake konfigurasi.
  • ST_ISO_GetFWVersion: Ngasilake versi perangkat kukuh saiki.
  • ST_ISO_GetChannelHandle: Njupuk gagang saluran kanggo jeneng saluran tartamtu.
  • ST_ISO_InitGPIO: Initializes pin GPIO kasebut karo ID modul diwenehi.
  • ST_ISO_InitInterrupt: Initializes kasebut GPIO pin minangka interrupted karo ID modul diwenehi.
  • ST_ISO_EnableFaultInterrupt: Inisialisasi pin GPIO fault ing mode interrupt.
  • ST_ISO_SetChannelStatus: Nyetel status saluran tartamtu.
  • ST_ISO_SetOne_DO: Nyetel saluran output digital siji.
  • ST_ISO_ClearOne_DO: Mbusak saluran output digital siji.
  • ST_ISO_WriteAllChannels: Nulis data menyang kabeh saluran output digital.
  • ST_ISO_GetOne_DI: Entuk status saluran input digital siji.
  • ST_ISO_ReadAllChannel: Maca status kabeh saluran input.
  • ST_ISO_ReadAllOutputChannel: Waca status kabeh saluran output.
  • ST_ISO_ReadFaultStatus: Maca status kesalahan saka kabeh port deteksi kesalahan.
  • ST_ISO_ReadFaultStatusPolling: Nguji deteksi kesalahan papan ing mode polling.
  • ST_ISO_DisableOutputChannel: Mateni output kanggo saluran kasebut.
  • ST_ISO_UpdateBoardStatusInfo: Nganyari informasi status papan.
  • ST_ISO_UpdateFaultStatus: Nganyari status fault kanggo saluran tartamtu.
  • ST_ISO_BlinkLed: Kelip-kelip LED sing ditemtokake kanthi wektu tundha lan count baleni.
  • ST_ISO_UART: Ngirim informasi status Papan liwat UART.
  • ST_ISO_SwitchInit: Initializes komponen ngalih.
  • ST_ISO_SwitchDeInit: De-initializes conto ngalih.
  • ST_ISO_DigitalInputInit: Miwiti komponen input digital.
  • ST_ISO_DigitalInputDeInit: De-initializes conto input digital.

PWM API
API PWM ditetepake ing pwm_api.h lan pwm_api.c files. Nyedhiyakake fungsi ing ngisor iki kanggo miwiti lan ngontrol sinyal PWM kanggo pin tartamtu.

  • ST_ISO_Init_PWM_Signal: Initializes timers lan pin tartamtu kanggo sinyal PWM.
  • ST_ISO_Set_PWM_Frequency: Nyetel frekuensi PWM kanggo pin tartamtu.
  • ST_ISO_Set_PWM_Duty_Cycle: Nyetel siklus tugas PWM kanggo pin tartamtu.
  • ST_ISO_Start_PWM_Signal: Miwiti sinyal PWM ing pin tartamtu.
  • ST_ISO_Stop_PWM_Signal: Mungkasi sinyal PWM ing pin tartamtu.

Kanggo miwiti sinyal PWM ing saluran sing gegandhengan, sepisanan nelpon fungsi ST_ISO_Init_PWM_Signal, banjur setel frekuensi lan siklus tugas sing dikarepake kanthi nelpon ST_ISO_Set_PWM_Frequency lan
ST_ISO_Set_PWM_Duty_Cycle fungsi mungguh lan banjur sampeyan bisa miwiti sinyal PWM dening nelpon fungsi ST_ISO_Start_PWM_Signal lan mungkasi dening ST_ISO_Stop_PWM_Signal.

Fungsi kasebut kudu diarani kanthi jeneng pin sing cocog lan timer sing kasedhiya, rincian sing wis diwenehake ing tabel 3. Saluran output sing beda bisa disetel kanthi frekuensi lan siklus tugas sing beda; ngganti frekuensi utawa siklus tugas ora mengaruhi liyane, iku tetep padha.
Informasi teknis rinci babagan API sing kasedhiya kanggo pangguna bisa ditemokake ing HTML sing dikompilasi file dumunung ing folder "Dokumentasi" saka paket piranti lunak ing ngendi kabeh fungsi lan paramèter diterangake kanthi lengkap.

Katrangan aplikasi
Aplikasi demonstrasi nindakake sawetara kasus panggunaan sing gampang. st_iso_app lan board_config files muter peran wigati ing nyetel lan nggunakake Papan lan fungsi aplikasi sawijining. Sadurunge nggunakake fungsi kasebut, priksa manawa papan lan konfigurasi piranti lunak selaras karo siji liyane.

Fungsi Aplikasi (st_iso_app.h and st_iso_app.c)
Fungsi aplikasi kasebut diawali karo ST_ISO_APP; iku fungsi tingkat ndhuwur katon kanggo pangguna sing nelpon fungsi API kanggo implementasine. Fungsi aplikasi bisa diarani ing utama.c file kanggo fungsine.

  • Gunakake Pilihan Kasus: Pangguna bisa mbusak komentar ing macro use case sing dikarepake ing st_iso_app.c file. Fungsi ST_ISO_APP_SelectUseCaseMacro (), disebut ing main.c, initializes kasus panggunaan, lan fungsi ST_ISO_APP_SelectedFunction () ngleksanakake ing main.c. Pendekatan iki ngidini konfigurasi gampang saka mode operasional kanthi mung ngowahi definisi makro, kanggo mesthekake yen fungsi sing cocog dieksekusi adhedhasar kasus panggunaan sing dipilih. Kanthi gawan, kasus panggunaan DIDO dipilih, lan pangguna ora kudu ngowahi kode kanggo ngleksanakake.
  • Input Digital kanggo Digital Output Mirroring (ST_ISO_APP_UsecaseDIDO): Fungsi iki maca status kabeh saluran input lan nulis status sing padha kanggo kabeh saluran output. Iku migunani kanggo kaca input digital kanggo output digital.
  • Digital Input to Digital Output Mirroring with UART (ST_ISO_APP_DIDOandUART): Fungsi iki nggambarake input digital menyang output digital, padha karo fungsi ST_ISO_APP_UsecaseDIDO. Kajaba iku, ngirim status Papan liwat antarmuka UART ing piranti Nucleo, saéngga status dadi viewed ing port serial nggunakake aplikasi kaya Tera Term.
  • Fungsi Test Case (ST_ISO_APP_TestCase): Fungsi iki nindakake seri tes lan tumindak adhedhasar konfigurasi Papan. Iku mriksa status fault, maca status loro saluran input digital, lan nindakake tumindak adhedhasar nilai sing. Fungsi iki mbantu ngevaluasi kinerja lan fungsi papan kanthi cepet lan entuk umpan balik visual liwat pola LED sing beda. Priksa manawa makro HEARTBEAT_LED ing board_config.h file dikomentari kanggo mirsani pola LED sing tepat.
  • Generasi PWM (ST_ISO_APP_PWM _OFFSET): Fungsi iki miwiti sinyal PWM ing loro saluran output kanthi frekuensi 1 Hz lan siklus tugas 50%. Iki miwiti sinyal PWM, nyetel frekuensi lan siklus tugas, lan miwiti sinyal PWM kanggo ID papan sing ditemtokake. Sinyal PWM digawe kanthi offset antarane loro saluran lan kanthi mangkono ora ana ing fase.
  • Test Deteksi Fault (ST_ISO_APP_FaultTest): Fungsi iki ngevaluasi deteksi fault dening motoring pin diagnostik inbuilt modul output pinter IPS1025. ing salah siji polling utawa interrupt mode. Konfigurasi mode deteksi kesalahan, miwiti deteksi kesalahan, lan nganyari struktur status kesalahan adhedhasar mode sing dipilih. Fungsi iki penting kanggo njamin linuwih lan safety papan kanthi ndeteksi lan nangani kesalahan kanthi efektif. Nalika ana ing mode polling, status fault dianyari saben detik kanthi bantuan saka timer lan dibayangke ing struktur defaultBoardFaultStatus utawa alternateBoardFaultStatus. Nalika iku ing mode interrupted, status fault dianyari mung nalika fault occurs, lan micu piranti lunak kanggo mbusak port output sing cocog.
  • PWM Variasi Test (ST_ISO_APP_PwmVariationTest): Fungsi iki dirancang kanggo nyoba variasi PWM (Pulse Width Modulation) sinyal ing saluran output beda adhedhasar konfigurasi Papan. Iki miwiti sinyal PWM kanggo konfigurasi papan standar lan alternatif, nyetel frekuensi dadi 100 Hz lan siklus tugas awal dadi 0%. Fungsi kasebut banjur beda-beda siklus tugas saka 0% nganti 100% kanthi nambah 5%, lan bali saka 100% dadi 0% kanthi nyuda 5%, kanthi wektu tundha 2 detik ing antarane saben langkah. Variasi kontrol iki ngidini kanggo pengamatan lan evaluasi prilaku sinyal PWM ing saluran QA_0 lan QA_1 kanggo Papan standar, lan QA_0_ALT lan QA_1_ALT kanggo Papan sulih.

Kanthi ngetutake konfigurasi kasebut lan nggunakake fungsi aplikasi sing kasedhiya, sampeyan bisa nyiyapake lan nggunakake papan X-NUCLEO-ISO1A1 kanthi efektif kanggo macem-macem kasus panggunaan demonstrasi.

Pandhuan persiyapan sistem

Katrangan hardware

STM32 Nucleo platform
Papan pangembangan STM32 Nucleo nyedhiyakake cara sing terjangkau lan fleksibel kanggo pangguna kanggo nyoba solusi lan nggawe prototipe nganggo garis mikrokontroler STM32.
Dhukungan panyambungan Arduino® lan konektor ST morpho nggampangake ngembangake fungsionalitas platform pangembangan mbukak STM32 Nucleo kanthi macem-macem papan ekspansi khusus sing bisa dipilih.

Papan Nucleo STM32 ora mbutuhake probe sing kapisah amarga nggabungake debugger / programmer ST-LINK / V2-1.
Papan Nucleo STM32 dilengkapi perpustakaan HAL piranti lunak STM32 sing komprehensif bebarengan karo macem-macem piranti lunak rangkep.amples.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-8

Informasi babagan papan Nucleo STM32 kasedhiya ing www.st.com/stm32nucleo

Papan ekspansi X-NUCLEO-ISO1A1
X-NUCLEO-ISO1A1 minangka papan evaluasi kanthi input / output industri terisolasi sing dirancang kanggo nggedhekake papan Nucleo STM32 lan nyedhiyakake fungsionalitas mikro-PLC. Loro papan X-NUCLEO-ISO1A1 bisa ditumpuk ing ndhuwur papan STM32 Nucleo kanthi pilihan jumper sing cocog ing papan ekspansi supaya ora ana konflik ing antarmuka GPIO. Isolator digital sing disertifikasi UL1577 STISO620 lan STISO621 nyedhiyakake pamisahan antarane logika lan komponen sisih proses. Loro input sisih dhuwur winates saiki saka sisih proses diwujudake liwat CLT03-2Q3. CLT03-2Q3 nyedhiyakake indikasi status proteksi, isolasi, lan kurang energi kanggo kahanan industri, dirancang kanggo memenuhi standar kayata IEC61000-4-2, IEC61000-4-4, lan IEC61000-4-5. Siji saben saklar sisih dhuwur IPS1025H-32/HQ-32 nyedhiyakake output sing dilindhungi nganti 5.6 A kanthi fitur diagnostik lan nyopir cerdas. Iki bisa nyurung beban kapasitif, resistif, utawa induktif. X-NUCLEO-ISO1A1 ngidini evaluasi cepet saka IC onboard nggunakake paket piranti lunak X-CUBE-ISO1.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-9

Setup hardware
Komponen hardware ing ngisor iki dibutuhake:

  1. Siji platform pangembangan Nucleo STM32 (kode pesenan sing disaranake: NUCLEO-GO71RB)
  2. Papan ekspansi output digital industri siji (kode pesenan: X-NUCLEO-ISO1A1)
  3. Siji USB tipe A kanggo kabel Micro USB kanggo nyambungake STM32 Nucleo menyang PC
  4. Sumber daya eksternal (24 V) lan kabel sing gegandhengan kanggo nyedhiyakake papan ekspansi X-NUCLEO-ISO1A1.

Persiyapan piranti lunak
Komponen piranti lunak ing ngisor iki dibutuhake kanggo nyiyapake lingkungan pangembangan sing cocog kanggo nggawe aplikasi kanggo STM32 Nucleo sing dilengkapi papan ekspansi X-NUCLEO-ISO1A1:

  • X-CUBE-ISO1: ekspansi kanggo STM32Cube darmabakti kanggo pangembangan aplikasi sing mbutuhake papan X-NUCLEO-ISO1A1. Perangkat kukuh X-CUBE-ISO1 lan dokumentasi sing gegandhengan kasedhiya ing www.st.com
  • Toolchain lan Compiler pangembangan: piranti lunak ekspansi STM32Cube ndhukung telung lingkungan ing ngisor iki:
    • IAR Embedded Workbench kanggo toolchain ARM® (IAR-EWARM).
    • NyataView Kit Pengembangan Mikrokontroler (MDK-ARM-STM32) toolchain
    • STM32CubeIDE.

Persiyapan papan
Papan kudu diatur karo setelan jumper cocok minangka kasebut ing manual pangguna Hardware (UM3483). Nututi pedoman kasebut kanthi ati-ati penting kanggo mesthekake fungsionalitas sing tepat lan ngindhari masalah potensial.

Pandhuan persiyapan sistem
Bagean iki nerangake carane nyiyapake bagean hardware sing beda sadurunge ngembangake lan nglakokake aplikasi ing papan STM32 Nucleo , NUCLEO-G071RB karo papan ekspansi X-NUCLEO-ISO1A1.

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-10

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Expansion-11

Setup kanggo paket ekspansi X-CUBE-ISO1
X-NUCLEO-ISO1A1 kudu dikonfigurasi karo posisi jumper tartamtu adhedhasar konfigurasi sing sampeyan gunakake ing papan kasebut. Rincian sing bisa kita deleng ing manual hardware.

  • Langkah 1. Pasang papan ekspansi X-NUCLEO-ISO1A1 ing ndhuwur STM32 Nucleo liwat morphoconnectors.
    Yen sampeyan nggunakake rong papan ing sadhuwure, tumpukan kaya ing Gambar 11.
  • Langkah 2. Sambungake papan Nucleo STM32 menyang PC nganggo kabel USB liwat konektor USB CN1 kanggo powertheboard.
  • Langkah 3. Uripake papan ekspansi X-NUCLEO-ISO1A1 kanthi nyambungake J1 menyang sumber daya DC 24V. Yen nggunakake papan sing ditumpuk, priksa manawa papan loro kasebut didhukung.
  • Langkah 4. Bukak toolchain sing disenengi (MDK-ARM saka Keil, EWARM saka IAR, utawa STM32CubeIDE).
  • Langkah 5. Mbukak project software lan nggawe owahan perlu kanggo board_config.h file miturut konfigurasi papan (s) digunakake.
  • Langkah 6. Setel makro kasus panggunaan sing cocog ing st_iso_app.c file utawa nelpon kasus panggunaan sing dibutuhake nggunakake fungsi ST_ISO_APP_SelectUseCase ing main.c file bebarengan karo fungsi liyane sing dikarepake.
  • Langkah 7. Mbangun proyek kanggo ngumpulake kabeh files lan mbukak kode nyawiji menyang memori Papan STM32 Nucleo kang.
  • Langkah 8. Mbukak kode ing Papan STM32 Nucleo lan verifikasi prilaku samesthine.

Riwayat revisi
Tabel 4. Riwayat revisi dokumen

Tanggal Revisi Owah-owahan
14-Mei-2025 1 Rilis wiwitan.

WARTA PENTING - Wacan kanthi ati-ati

STMicroelectronics NV lan anak perusahaan ("ST") nduweni hak kanggo nggawe owahan, koreksi, dandan, modifikasi, lan dandan kanggo produk ST lan / utawa dokumen iki sawayah-wayah tanpa kabar. Para panuku kudu entuk informasi paling anyar babagan produk ST sadurunge nggawe pesenan. Produk ST didol miturut syarat lan kahanan adol ST nalika diakoni pesenan.

Para panuku mung tanggung jawab kanggo milih, milih, lan nggunakake produk ST lan ST ora duwe tanggung jawab kanggo pitulung aplikasi utawa desain produk para panuku.
Ora ana lisensi, nyata utawa diwenehake, kanggo hak properti intelektual sing diwenehake dening ST ing kene.
Adol maneh produk ST kanthi pranata sing beda karo informasi sing kasebut ing kene bakal ngilangi garansi sing diwenehake dening ST kanggo produk kasebut.

ST lan logo ST minangka merek dagang ST. Kanggo informasi tambahan babagan merek dagang ST, deleng www.st.com/trademarks. Kabeh jeneng produk utawa layanan liyane minangka properti sing nduweni.
Informasi ing dokumen iki ngganti lan ngganti informasi sing diwenehake sadurunge ing versi sadurunge dokumen iki.
© 2025 STMicroelectronics – Kabeh hak dilindhungi undhang-undhang

Dokumen / Sumber Daya

STMicroelectronics UM3469 X-CUBE-ISO1 Software Expansion [pdf] Manual pangguna
X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 Expansion Software, UM3469, X-CUBE-ISO1 Software Expansion, Software Expansion

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *