ST-logo

STMicroelectronics UM3469 X-CUBE-ISO1 Pagpalapad sa Software

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Pagpalapad

Pasiuna

Ang X-CUBE-ISO1 expansion software package para sa STM32Cube nagdagan sa STM32 ug naglakip sa firmware para sa X-NUCLEO-ISO1A1. Ang software naghatag ug sayon-gamiton nga solusyon alang sa pagpalambo sa usa ka batakang PLC device nga gihatag sa X-NUCLEO. Ang pagpalapad gitukod sa STM32Cube software technology aron mapagaan ang portability sa lain-laing STM32 microcontrollers.

Ang software adunay usa ka pagpatuman nga nagdagan sa X-NUCLEO-ISO1A1 expansion board nga konektado sa usa ka NUCLEO-G071RB development board (o bisan usa ka NUCLEO-G0B1RE o usa ka NUCLEO-G070RB). Sukad karon, sa dokumento lamang ang NUCLEO-G071RB ang hisgutan alang sa kayano.
Ang X-NUCLEO-ISO1A1 board gidisenyo aron suportahan ang pag-stacking sa duha ka tabla nga adunay angay nga mga setting sa jumper aron madugangan ang mga kapabilidad sa input ug output.

Mga acronym ug abbreviation

Talaan 1. Listahan sa mga acronym

Acronym Deskripsyon
PLC Programmable nga logic controller
API Application programming interface
PWM Modulasyon sa gilapdon sa pulso
GPIO Kinatibuk-ang katuyoan input/output.
HAL Hardware abstraction layer
PC Personal nga kompyuter
FW Firmware

Unsa ang STM32Cube?

Ang STM32Cube ™ nagrepresentar sa STMicroelectronics nga inisyatiba aron mapadali ang kinabuhi sa mga developer pinaagi sa pagkunhod sa paningkamot, oras, ug gasto sa pag-uswag. Ang STM32Cube naglangkob sa STM32 portfolio.
STM32Cube nga bersyon 1.x naglakip sa:

  • STM32CubeMX, usa ka graphical software configuration tool nga nagtugot sa henerasyon sa C initialization code gamit ang graphical wizards.
  • Usa ka komprehensibo nga naka-embed nga software nga plataporma nga espesipiko sa matag serye (sama sa STM32CubeG0 alang sa serye sa STM32G0), nga naglakip sa:
    • ang STM32Cube HAL nga naka-embed nga abstraction-layer software, nga nagsiguro nga mapadako ang portability sa STM32 portfolio
    • usa ka makanunayon nga hugpong sa mga sangkap sa middleware sama sa RTOS, USB, TCP/IP, ug mga graphic
    • tanan nga na-embed nga software utilities nga adunay bug-os nga set sa examples.

STM32Cube nga arkitektura
Ang solusyon sa firmware sa STM32Cube gitukod sa palibot sa tulo ka independente nga lebel nga dali nga makig-uban sa usag usa, ingon nga gihulagway sa diagram sa ubos.

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

X-CUBE-ISO1 software pagpalapad alang sa STM32Cube

Tapos naview
Ang firmware alang sa X-NUCLEO-ISO1A1, industriyal isolated input/output expansion board, naugmad sa palibot sa STM32 environment ug library, naggamit sa high-performance nga MCU sa STM32 Nucleo boards aron pagdumala sa digital inputs, outputs nga adunay integrated diagnostics uban sa dynamic current limit, ug PWM signal generation. Gipakita niini ang komprehensibo nga pag-configure ug pagkontrol sa board, lakip ang mga balangkas alang sa default ug alternatibong mga kondisyon, mga macro alang sa pagtakda sa mga kantidad nga pre-scaler, ug mga kahulugan alang sa mga pantalan ug mga pin sa GPIO.

Gisuportahan niini ang lainlaing mga sample application use cases sama sa digital input to output mirroring, UART communication pinaagi sa Nucleo board, fault detection, test cases, ug PWM generation nga mahimong direktang magamit ug daling ma-customized ug mapalapad.

Ang API naghatag og usa ka lig-on nga set sa mga function alang sa digital input/output control, fault detection, ug board status updates, uban sa configuration settings alang sa pagpadagan sa duha ka boards nga dungan sa lain-laing mga mode. Ang piho nga mga function sa API magamit alang sa pagsugod, pagsugod, paghunong, ug pag-configure sa mga signal sa PWM alang sa mga digital output channel.

Ang board support package naglakip sa mga function sa pagkontrol ug pagmonitor sa GPIO pins nga na-interface sa IPS1025H-32 ug basaha ang estado sa GPIO pins nga naka-interface sa CLT03-2Q3 pinaagi sa digital isolator.
Ang pag-configure ug pagsugod gibase sa STM32CubeMX, nga adunay pag-uswag ug pag-debug nga gisuportahan sa STM32CubeIDE, IAR Systems, ug Keil® nga mga himan.

Arkitektura
Ang firmware alang sa X-NUCLEO-ISO1A1 mahimong bahinon ngadto sa pipila ka lahi nga functional blocks, ang matag usa responsable sa nagkalain-laing aspeto sa mga operasyon sa sistema:

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

  • Konfigurasyon ug Pagkontrol sa Board:
    • Ang board_config.h file adunay mga macro aron ma-configure ang board nga modagan sa default o alternatibong mga kondisyon, o pareho. Naglakip usab kini sa mga kahulugan alang sa mga pre-scaler nga kantidad ug mga pantalan sa GPIO ug mga pin.
    • Kini nga block nagsiguro nga ang board gipahimutang sa husto alang sa gitinguha nga mga kondisyon sa pag-operate ug nga ang tanan nga gikinahanglan nga mga configuration sa hardware anaa sa lugar.
  • Mga Kaso sa Paggamit sa Aplikasyon:
    • Ang st_iso_app.h ug st_iso_app.c files adunay mga kaso sa paggamit sa aplikasyon nga gilaraw aron sulayan ang lainlaing mga gamit sa board.
    • Kini nga mga kaso sa paggamit naglakip sa digital input sa output mirroring, fault detection tests, ug PWM signal generation.
    • ExampGihatag ang mga pag-configure alang sa pagpadagan sa duha ka tabla nga dungan sa lainlaing mga mode, nga nagpakita sa versatility ug pagka-flexible sa firmware.
  • Mga Katungdanan sa API:
    • Ang iso1a1.h ug iso1a1.c fileNaghatag ug komprehensibo nga hugpong sa mga API aron suportahan ang lainlaing mga gamit.
    • Kini nga mga API naglakip sa mga function alang sa digital input/output control, fault detection, ug board status updates.
    • Ang mga API gidisenyo nga yano ug intuitive, nga nagpasayon ​​alang sa mga tiggamit sa pagpakig-uban sa board ug paghimo sa gikinahanglan nga mga operasyon.
  • Pagkontrol sa PWM Signal:
    • Ang pwm_api.h ug pwm_api.c files naglangkob sa piho nga mga gimbuhaton sa API nga may kalabutan sa PWM signal generation.
    • Kini nga mga gimbuhaton nagtugot sa pagsugod, pag-configure, pagsugod, ug paghunong sa mga signal sa PWM alang sa mga digital output channel.
    • Ang pagpaandar sa PWM dili default nga kapilian. Ang configuration sa board giusab aron mahimo kini. Tan-awa ang Seksyon 3.5: Mga API alang sa dugang nga mga detalye.
  • Pakete sa Suporta sa Board:
    • Ang pakete sa suporta sa board naglakip files alang sa pagkontrol ug pagmonitor sa mga GPIO pin nga na-interface sa IPS1025H-32 ug pagbasa sa estado sa mga GPIO pin nga na-interface sa CLT03-2Q3.
    • Ang ips1025h_32.h ug ips1025h_32.c files naghatag og mga gimbuhaton sa pag-set, paghawan, ug pag-detect sa mga sayup sa mga GPIO pin nga na-interface sa IPS1025H-32.
    • Ang clt03_2q3.h ug clt03_2q3.c files naghatag og mga gimbuhaton sa pagbasa sa kahimtang sa GPIO mga lagdok interfaced uban sa CLT03-2Q3.

Ang demonstration firmware nagpatuman sa pipila ka yano nga mga kaso sa paggamit aron ipakita ang mga kapabilidad sa sistema. Kini nga mga kaso sa paggamit ug mga API sa gumagamit gipatuman sa usa ka koordinado nga paagi aron masiguro ang hapsay nga operasyon ug tukma nga mga sangputanan. Ang arkitektura gidesinyo aron dali nga mapalapad, nga gitugotan ang mga tiggamit sa pagdugang bag-ong mga gamit ug paggamit sa mga kaso kung gikinahanglan. Gihatag ang default nga configuration alang sa pagpadagan sa usa ka board nga adunay mga digital industrial IOs. Ang jumper setting gikinahanglan usab nga naa sa default mode sama sa gihulagway sa Table 2. Digital input Digital out mirroring (DIDO ) mao ang default firmware application usecase.

Istruktura sa folder

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

Ang mosunod nga mga folder gilakip sa software package:

  • Ang dokumentasyon naglangkob sa usa ka hinipos nga HTML file namugna gikan sa source code, nga nagdetalye sa mga sangkap sa software ug mga API.
  • Ang mga drayber naglakip sa:
    • usa ka STM32Cube HAL folder, nga nahimutang sa mga subfolder nga STM32G0xx_HAL_Driver. Kini files wala gihulagway dinhi tungod kay kini dili espesipiko sa X-CUBE-ISO1 software apan gikan mismo sa STM32Cube framework.
    • usa ka folder sa CMSIS nga adunay sulud nga sumbanan sa interface sa software nga Cortex® microcontroller filegikan sa Arm. Kini files kay vendor-independent nga hardware abstraction layer para sa Cortex®-M processor series. Kini nga folder wala usab mausab gikan sa STM32Cube framework.
    • usa ka folder sa BSP nga adunay mga code alang sa mga sangkap nga IPS1025H-32 ug CLT03-2Q3 ug mga API nga may kalabotan sa X-NUCLEO-ISO1A1.
  • Aplikasyon naglangkob sa user folder nga naglangkob sa main.c file, ang kaso sa paggamit sa aplikasyon file, st_iso_app.c ug ang board_config.h file, gihatag alang sa NUCLEO-G071RB nga plataporma.

BSP folder
Ang X-CUBE-ISO1 software naggamit ug duha ka lain-laing component files, nga naa sa sulod sa BSP/Components:

IPS1025
Ang ips1025h_32.h ug ips1025h_32.c files naghatag usa ka komprehensibo nga pagpatuman sa drayber alang sa mga GPIO pin nga na-interface sa IPS1025H-32, lakip ang kompleto nga gamit para sa pagkontrol sa tanan nga mga pin ug pag-ila sa mga sayup. Kini files pagpatuman sa mga gimbuhaton alang sa pagsugod sa device, pag-set ug paghawan sa status sa channel, pag-ila sa mga kondisyon sa sayup, ug pagdumala sa PWM functionality. Gisuportahan sa drayber ang daghang mga aparato ug mga channel, nga adunay kompleto nga mga kapabilidad alang sa indibidwal nga channel o ingon usa ka grupo.

CLT03
Ang clt03_2q3.h ug clt03_2q3.c files ipatuman ang usa ka bug-os nga bahin nga drayber alang sa mga GPIO nga mga pin nga na-interface sa CLT03-2Q3, nga adunay kompleto nga kapabilidad sa pagbasa sa tanan nga mga estado sa pin. Naghatag ang drayber og mga gimbuhaton aron masugdan ang aparato, magbasa sa indibidwal nga kahimtang sa channel, ug makakuha og impormasyon sa status alang sa tanan nga mga channel nga dungan. Gisuportahan niini ang daghang mga pag-configure sa aparato ug gipadayon ang internal nga kahimtang alang sa epektibo nga pagdumala sa channel.

Ang X-CUBE-ISO1 software API gibahin sa duha ka dagkong tinubdan files, nga anaa sa sulod sa ISO1A1 subfolder:

ISO1A1
Ang ISO1A1 files naglangkob sa usa ka komprehensibo nga set sa API functions nga gidisenyo alang sa board configuration, component interaction, ug fault management. Kini nga mga gimbuhaton nagpadali sa mga operasyon sa pagbasa ug pagsulat, pag-ila sa sayup ug pag-update, ug naglakip sa lainlaing mga gamit sa katabang aron suportahan ang panguna nga mga gimbuhaton sa API. Dugang pa, ang files naghatag og gamit para sa LED control, GPIO initialization, interrupt handling, ug UART communication.

PWM API
Ang PWM API naghatag og mga gimbuhaton alang sa pagsugod, pag-configure, pagsugod, ug paghunong sa mga signal sa PWM. Gitugotan niini ang pag-set sa PWM frequency ug duty cycle alang sa espesipikong mga timer pin, pagsiguro sa tukma nga pagkontrol sa mga operasyon sa PWM.

Folder sa aplikasyon
Ang Application folder naglangkob sa main files gikinahanglan alang sa firmware, lakip ang mga ulohan ug tinubdan files. Sa ubos usa ka detalyado nga paghulagway sa files sa kini nga folder:

  • board_config.h: Configuration macros para sa board.
  • main.c: Panguna nga programa (code sa example nga gibase sa librarya para sa ISO1A1).
  • st_iso_app.c: Mga gimbuhaton sa aplikasyon alang sa pagsulay ug pag-configure sa board.
  • stm32g0xx_hal_msp.c: Mga rutina sa pagsugod sa HAL.
  • stm32g0xx_it.c: Interrupt handler.
  • syscalls.c: Mga pagpatuman sa tawag sa sistema.
  • sysmem.c: Pagdumala sa memorya sa sistema.
  • system_stm32g0xx.c: Pagsugod sa sistema.

Gikinahanglan nga mga kapanguhaan sa software
Ang Nucleo device nagkontrol ug nakigkomunikar sa X-NUCLEO-ISO1A1 board pinaagi sa GPIOs. Nagkinahanglan kini sa paggamit sa daghang mga GPIO alang sa input, output, ug pag-ila sa sayup sa mga pang-industriya nga IO nga mga aparato nga naa sa X-NUCLEO-ISO1A1 board. Tan-awa ang Hardware user manual UM3483 alang sa dugang nga mga detalye ug ang jumper configurations.

Konfigurasyon sa board (board_config.h)
Ang board_config.h file naghubit sa mga kapanguhaan nga gigamit ug ang configurational macros sa pag-configure sa software sumala sa board configuration. Naggunit kini og hangtod sa duha ka tabla (sama sa pagtaod sa duha ka tabla).
Ang software nga DEFAULT configuration gipahiangay sa X-NUCLEO-ISO1A1 expansion board uban sa mga jumper niini sa mga default nga posisyon. Aron ma-configure ang software para sa X-NUCLEO-ISO1A1 sa default setting niini, uncomment ang BOARD_ID_DEFAULT macro sa board_config.h file.

Ang software ALTERNATE configuration gitakda pinaagi sa pag-uncomment sa BOARD_ID_ALTERNATE macro sa board_config.h file ug pag-ilis sa mga posisyon sa jumper sa pisara.
Sa paggamit sa duha ka tabla nga dungan sa usa ka stack-up nga configuration, uncomment sa BOARD_ID_DEFAULT ug BOARD_ID_ALTERNATE nga mga macro ug siguroha nga ang usa ka board sa jumper naa sa default nga posisyon ug ang usa sa alternatibong posisyon. Timan-i nga ang pagbaton sa duha ka tabla sa samang configuration (bisan sa default o pareho sa alternate) dili girekomenda ug mahimong moresulta sa dili gusto nga kinaiya.
Sa diha nga nagdagan lamang sa usa ka tabla, siguroha nga ang software gi-configure para sa usa lang ka configuration ug ang macro nga katumbas sa laing configuration gikomentohan.

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

Mga pre-scaler
Mahimo natong i-configure ang pre-scaler values sa board_config.h aron makab-ot ang lain-laing frequency range para sa PWM nga output pinaagi sa pag-set sa angay nga mga macro. Para makagamit ug pre-scalar value, uncomment sa katugbang nga macro ug comment sa uban. Sa kasagaran, DEFAULT_PRESCALAR ang gigamit.

  • PRESCALER_1
  • PRESCALER_2
  • DEFAULT_PRESCALER

Ang mga prescaler nga kantidad gigamit lamang kung ang mga timer gigamit, ug dili kinahanglan alang sa bisan unsang sukaranan nga operasyon sa I/O. Ang mga kantidad sa pre-scalar macros ug ang ilang katugbang nga frequency ranges mahimong tan-awon sa dokumentasyon sa code o sa code mismo.

LED nga heartbeat
Mahimo natong i-configure ang green user nga LED, D7 nga mokidlap sa usa ka heartbeat fashion isip usa ka pagsulay alang sa husto nga koneksyon sa NUCLEO-G071RB board. Ang macro, HEARTBEAT_LED kung wala’y komento, nagpakidlap sa berde nga LED sa X-NUCLEO-ISO1A1 kung kini konektado sa NUCLEO. Nagpabilin kini nga on alang sa 1 segundos ug off alang sa 2 segundos, nga ang timing giatiman sa mga timer. Kung wala kini gigamit o bisan unsang function nga naglambigit sa mga LED nga gitawag, ang macro kinahanglan nga wala’y komento.

Input ug output GPIO configuration
Ang matag X-NUCLEO-ISO1A1 board adunay gamit nga duha ka input port ug duha ka output port. Ang mga kapabilidad sa board mahimong mapalapad pinaagi sa pag-stack sa duha ka X-NUCLEO-ISO1A1 nga mga tabla sa ibabaw sa usag usa, sa ingon makahimo sa paggamit sa upat ka digital input port ug upat ka digital output port. Ang gihatag nga software naglakip sa komprehensibo nga mga API nga nagpadali sa pagbasa, pag-set, ug paghawan sa mga pantalan. Dugang pa, gitugotan sa mga API ang dungan nga setting, pagbasa, o paghawan sa tanan nga mga pantalan. Ang detalyadong impormasyon bahin sa mga gimbuhaton sa API anaa sa dokumentasyon sa code ingon man sa seksyon sa API niini nga dokumento.

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

Dinhi ang prefix DI nagpaila sa digital input port ug DO nagpaila sa digital output port. Para sa alternate configuration, ang software naggamit sa parehas nga name convention nga adunay _alt suffix nga gilakip.
Ang mosunod nga lamesa nagdetalye sa GPIO macros nga gihubit sa software nga katumbas sa lain-laing IO ports:

Talaan 2. Mga GPIO nga gigahin alang sa Default ug alternatibong mga pag-configure sa software

Ngalan Kalihokan Default nga configuration Alternatibo nga pag-configure
INPUT PIN Input nga pin 1 GPIOC, IA0_IN_1_PIN GPIOD, IA0_IN_1_PIN
Input nga pin 2 GPIOD, IA1_IN_2_PIN GPIOC, IA1_IN_1_PIN
OUTPUT PIN Output pin 1 GPIOC, QA0_CNTRL_1_PIN GPIOD, QA0_CNTRL_1_PIN
Output pin 2 GPIOC, QA1_CNTRL_2_PIN GPIOC, QA1_CNTRL_2_PIN
SAYOP PIN Fault pin 1 GPIOC, FLT1_QA0_2_OT_PIN GPIOD, FLT1_QA0_1_OT_PIN
Fault pin 2 GPIOC, FLT2_QA0_2_OL_PIN GPIOD, FLT2_QA0_1_OL_PIN
Fault pin 3 GPIOC, FLT1_QA1_2_OT_PIN GPIOC, FLT1_QA1_1_OT_PIN
Fault pin 4 GPIOC, FLT2_QA1_1_OL_PIN GPIOD, FLT2_QA1_2_OL_PIN
CONFIGURATION MACRO BOARD_ID_DEFAULT BOARD_ID_ALTERNATE

Timer ug PWM
Ang mga timer mahimong magamit sa X-CUBE-ISO1 firmware aron makamugna og PWM signal alang sa piho nga mga pin. Sa kasagaran, ang mga timer wala gisugdan gawas sa TIM3. Ang tagsa-tagsa nga mga timer kinahanglang ma-initialize sa dili pa makahimo og PWM signal ug ang tagsa-tagsa nga output ports kinahanglang ma-initialize sa PWM mode.
Para sa normal nga operasyon sa input/output sa GPIO, dili na kinahanglan nga i-configure ang bisan unsang timer o output port, tungod kay giatiman kini pinaagi sa default. Bisan pa, kung ang mga output pin mabutang sa PWM mode, kinahanglan naton nga i-configure kini sa mode nga GPIO aron magamit ingon mga pin sa GPIO.

Mubo nga sulat: Kung ang output pin gigamit para sa PWM generation, ang GPIO output kay disabled, ang duha ka functionalities dili ma-implementar nga dungan. Aron mapagana pag-usab ang GPIO human sa paggamit sa PWM, mahimong tawagan ang API function ST_ISO_BoardConfigureDefault() o ST_ISO_InitGPIO() aron ma-configure ang tanang ports isip GPIO sa makausa o ST_ISO_Init_GPIO() nga adunay partikular nga GPIO port ug pin.

Sama sa gihisgutan sa ibabaw, ang software naggamit usab og usa ka timer sa default, TIM3, nga gigamit alang sa user LED timing, orasan, ug UART timing pagpatuman. Gi-configure kini sulod sa 1 segundos nga default.
Ang mosunod nga lamesa nagdetalye sa mga timer nga anaa sa matag pin sa among code:

Talaan 3. Mga timer nga magamit sa matag pin

Ngalan sa pin Representasyon sa software Timer Timer channel Alternate function
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

Dugang nga mga gamit sa firmware
Ang firmware naglakip sa dugang nga mga gamit aron mapalambo ang pagpaandar sa X-NUCLEO-ISO1A1 evaluation board. Ang uban niini gihulagway sa ubos.

UART
Ang bahin sa komunikasyon sa UART nagtugot alang sa real-time nga pag-monitor ug pag-debug sa kahimtang sa board pinaagi sa mga gamit sa PC sama sa TeraTerm, PuTTY ug uban pang parehas nga aplikasyon. Ang software makahimo sa UART data transmission pinaagi sa UART nga anaa sa NUCLEO-G071RB board. Ang `ST_ISO_UART` nga function nagpadala sa detalyado nga board status nga impormasyon sa UART, lakip ang system uptime, firmware configuration, ug fault status. Kini nga datos mahimong viewed gamit ang bisan unsang serial port application, sama sa TeraTerm. Ang `ST_ISO_APP_DIDOandUART` function naghiusa sa digital input/output nga mga operasyon uban sa UART nga komunikasyon, nga nagpadala sa status sa tanang input ug output channels sa espesipikong mga agwat. Sa ubos mao ang mga setting sa pag-configure ug ingonampkung giunsa ang data makita sa TeraTerm. Ang ngalan sa pantalan mahimong magkalainlain base sa sistema ug serial port nga gigamit.

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

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

IO pin mode configuration
Ang IO pin mode configuration utility nagtugot sa mga tiggamit sa pagtakda sa input ug output ports sa board gamit ang ST_ISO_BoardConfigure() function. Kini nga function nagsuporta sa pag-configure sa duha ka output port (QA0, QA1) ug duha ka input port (IA0, IA1) ngadto sa Input/Output mode, PWM output mode, o Interrupt input mode. Pinaagi sa pag-adjust sa mga parameter ug pagtawag niini nga function, ang mga tiggamit dali nga ma-customize ang IO configuration sa board aron matubag ang piho nga mga panginahanglan.

Sa Input/Output mode, ang utility nag-initialize sa GPIO pins para sa general-purpose digital operations. Sa PWM output mode, kini nag-set up sa mga timer para sa tukma nga PWM signal control. Kung naa sa Interrupt input mode, gi-configure sa utility ang mga pin aron madumala ang mga interrupts, nga gitugotan ang mga responsive nga programa nga gimaneho sa panghitabo.

Paghunong sa pagdumala
Alang sa pagdumala sa mga signal sa FAULT, ang software makahimo sa mga kaubang interrupt nga linya, nga nagtugot sa responsive nga programa nga gimaneho sa panghitabo. Ang usa ka customized handler mahimong makig-uban niini nga mga interrupts pinaagi sa
HAL_GPIO_EXTI_Rising_Callback function nga gihubit sa API. Ang software naglakip sa mga feature para sa pagsugod sa GPIO pins sa interrupt mode pinaagi sa ST_ISO_BoardConfigure function ug pag-configure sa mga piho nga aksyon sa EXTI IRQ handler. Gitugotan niini ang mga tiggamit nga ipasibo kung giunsa pagtubag sa board ang mga eksternal nga panghitabo, pagsiguro nga epektibo nga makadumala sa lainlaing mga kondisyon sa sayup ug mga hinungdan.

Mga API
Ang X-CUBE-ISO1 software API naghatag og komprehensibo nga set sa mga function aron makontrol ug mamonitor ang X-NUCLEO-ISO1A1 board, lakip ang PWM signal generation ug GPIO operations. Ang API kay gidesinyo nga sayon ​​gamiton ug i-integrate sa lain-laing mga aplikasyon, nga maghatag ug flexibility ug kontrol sa pagpaandar sa board.

Ang X-CUBE-ISO1 software API gihubit sa BSP/ISO1A1 folder. Ang mga gimbuhaton niini gi-prefix sa ST_ISO. Ang API nga makita sa mga aplikasyon pinaagi sa iso1a1.c ug pwm_api.c fileAng s usa ka kombinasyon sa mga makanunayon, istruktura sa datos, ug mga gimbuhaton.
SampAng mga aplikasyon sa firmware naggamit niini nga mga API aron ipakita ang pipila ka posible nga paggamit niini nga mga gimbuhaton.

Ang X-CUBE-ISO1 software package naghatag og duha ka set sa mga API:

  • ISO1A1 API
  • PWM API

ISO1A1 API
Ang ISO1A1 API gihubit sa iso1a1.h ug iso1a1.c files. Naghatag kini og mga gimbuhaton aron ma-configure ug makontrol ang ISO1A1 board, lakip ang GPIO input/output operations ug fault detection.

Pangunang mga gimbuhaton

  • ST_ISO_BoardConfigureDefault: I-configure ang mga IO port sa board nga adunay default nga configuration sa GPIO.
  • ST_ISO_BoardConfigure: I-configure ang mode sa input ug output port para sa board.
  • ST_ISO_BoardInit: Nagsugod sa board hardware.
  • ST_ISO_BoardMapInit: Nagsugod sa board functionality base sa channel nga nagdumala sa configuration.
  • ST_ISO_GetFWVersion: Ibalik ang kasamtangan nga bersyon sa firmware.
  • ST_ISO_GetChannelHandle: Gikuha ang kuptanan sa channel alang sa usa ka piho nga ngalan sa channel.
  • ST_ISO_InitGPIO: Nagsugod sa gipiho nga GPIO pin gamit ang gihatag nga module ID.
  • ST_ISO_InitInterrupt: Nagsugod sa gipiho nga GPIO pin isip interrupt sa gihatag nga module ID.
  • ST_ISO_EnableFaultInterrupt: Nagsugod sa sayup nga GPIO pin sa interrupt mode.
  • ST_ISO_SetChannelStatus: Nagtakda sa kahimtang sa usa ka piho nga channel.
  • ST_ISO_SetOne_DO: Nagtakda og usa ka digital output channel.
  • ST_ISO_ClearOne_DO: Pagtangtang sa usa ka digital output channel.
  • ST_ISO_WriteAllChannels: Nagsulat og datos sa tanang digital output channels.
  • ST_ISO_GetOne_DI: Nakuha ang status sa usa ka digital input channel.
  • ST_ISO_ReadAllChannel: Gibasa ang status sa tanang input channels.
  • ST_ISO_ReadAllOutputChannel: Gibasa ang status sa tanang output channels.
  • ST_ISO_ReadFaultStatus: Gibasa ang fault status gikan sa tanang fault detection ports.
  • ST_ISO_ReadFaultStatusPolling: Gisulayan ang pag-ila sa sayup sa mga tabla sa polling mode.
  • ST_ISO_DisableOutputChannel: Gipugngan ang output alang sa kana nga channel.
  • ST_ISO_UpdateBoardStatusInfo: Gi-update ang impormasyon sa status sa board.
  • ST_ISO_UpdateFaultStatus: Gi-update ang kahimtang sa sayup alang sa usa ka piho nga channel.
  • ST_ISO_BlinkLed: Nagpakidlap sa gipiho nga LED nga adunay gihatag nga paglangan ug gisubli nga ihap.
  • ST_ISO_UART: Nagpadala sa impormasyon sa status sa board sa UART.
  • ST_ISO_SwitchInit: Nagsugod sa switch component.
  • ST_ISO_SwitchDeInit: Pag-de-initialize sa switch instance.
  • ST_ISO_DigitalInputInit: Nagsugod sa digital input component.
  • ST_ISO_DigitalInputDeInit: Pag-de-initialize sa digital input instance.

PWM API
Ang PWM API gihubit sa pwm_api.h ug pwm_api.c files. Naghatag kini sa mga musunod nga mga gimbuhaton aron masugdan ug makontrol ang mga signal sa PWM alang sa piho nga mga pin.

  • ST_ISO_Init_PWM_Signal: Nagsugod sa mga timer ug piho nga pin para sa PWM signal.
  • ST_ISO_Set_PWM_Frequency: Nagtakda sa PWM frequency alang sa piho nga pin.
  • ST_ISO_Set_PWM_Duty_Cycle: Nagtakda sa PWM duty cycle alang sa piho nga pin.
  • ST_ISO_Start_PWM_Signal: Nagsugod sa PWM signal sa piho nga pin.
  • ST_ISO_Stop_PWM_Signal: Gipahunong ang PWM signal sa piho nga pin.

Para makasugod ug PWM signal sa tagsa-tagsa ka channel, tawagan una ang ST_ISO_Init_PWM_Signal function, dayon i-set ang gusto nga frequency ug duty cycle pinaagi sa pagtawag sa ST_ISO_Set_PWM_Frequency ug
ST_ISO_Set_PWM_Duty_Cycle functions sa tinagsa ug unya mahimo nimong sugdan ang PWM signal pinaagi sa pagtawag sa ST_ISO_Start_PWM_Signal function ug hunong pinaagi sa pagtawag sa ST_ISO_Stop_PWM_Signal.

Ang function kinahanglan nga tawagan uban ang katugbang nga ngalan sa pin ug ang mga timer nga magamit, ang mga detalye nga gihatag sa lamesa 3. Ang lainlaing mga channel sa output mahimong i-set up nga adunay lainlaing mga frequency ug mga siklo sa katungdanan; Ang pagbag-o sa frequency o siklo sa katungdanan dili makaapekto sa lain, kini nagpabilin nga pareho.
Ang detalyado nga teknikal nga impormasyon bahin sa mga API nga magamit sa tiggamit makita sa usa ka hinipos nga HTML file nahimutang sa sulod sa folder nga "Dokumentasyon" sa software package diin ang tanan nga mga gimbuhaton ug mga parameter hingpit nga gihulagway.

Deskripsyon sa aplikasyon
Ang aplikasyon sa demonstrasyon nagpatuman sa daghang yano nga mga kaso sa paggamit. Ang st_iso_app ug board_config files adunay importante nga papel sa pag-set up ug paggamit sa board ug sa mga function sa aplikasyon niini. Sa dili pa gamiton kini nga mga gimbuhaton, siguroha nga ang board ug ang pag-configure sa software nahiuyon sa usag usa.

Mga Kalihokan sa Aplikasyon (st_iso_app.h ug st_iso_app.c)
Ang mga gimbuhaton sa aplikasyon gi-prefix sa ST_ISO_APP; sila ang top-level functions nga makita sa user nga nagtawag sa API functions para sa ilang pagpatuman. Ang mga gimbuhaton sa aplikasyon mahimong tawgon sa main.c file alang sa ilang pag-obra.

  • Gamita ang Pagpili sa Kaso: Mahimong i-uncomment sa user ang gusto nga use case macro sa st_iso_app.c file. Ang function ST_ISO_APP_SelectUseCaseMacro(), nga gitawag sa main.c, nag-initialize niana nga use case, ug ang function ST_ISO_APP_SelectedFunction() nagpatuman niini sa main.c. Kini nga pamaagi nagtugot alang sa sayon ​​​​nga pag-configure sa operational mode pinaagi lamang sa pag-usab sa macro definitions, pagsiguro nga ang angay nga functionality mapatuman base sa pinili nga use case. Sa kasagaran, gipili ang kaso sa paggamit nga DIDO, ug ang tiggamit dili kinahanglan nga maghimo bisan unsang mga pagbag-o sa code aron mapatuman kini.
  • Digital Input to Digital Output Mirroring (ST_ISO_APP_UsecaseDIDO): Kini nga function nagbasa sa status sa tanang input channels ug mosulat sa samang status sa tanang output channels. Mapuslanon kini sa pagsalamin sa mga digital input sa digital output.
  • Digital Input to Digital Output Mirroring with UART (ST_ISO_APP_DIDOandUART): Kini nga function nagsalamin sa digital inputs sa digital outputs, susama sa ST_ISO_APP_UsecaseDIDO function. Dugang pa, gipasa niini ang status sa board pinaagi sa interface sa UART sa aparato sa Nucleo, nga gitugotan ang kahimtang viewed sa usa ka serial port gamit ang mga aplikasyon sama sa Tera Term.
  • Pagsulay sa Kaso Function (ST_ISO_APP_TestCase): Kini nga function naghimo sa usa ka serye sa mga pagsulay ug mga aksyon base sa board configuration. Gisusi niini ang kahimtang sa sayup, gibasa ang kahimtang sa duha ka mga channel sa digital input, ug nagpahigayon mga aksyon base sa ilang mga kantidad. Kini nga function makatabang sa pagtimbang-timbang sa pasundayag ug pagpaandar sa board dayon ug pagkuha og biswal nga feedback pinaagi sa lain-laing LED patterns. Siguroha ang HEARTBEAT_LED macro sa board_config.h file gikomentaryo aron maobserbahan ang husto nga mga pattern sa LED.
  • PWM Generation (ST_ISO_APP_PWM _OFFSET): Kini nga function magsugod sa PWM signal sa duha ka output channels nga adunay frequency nga 1 Hz ug duty cycle 50%. Gisugdan niini ang PWM signal, gitakda ang frequency ug duty cycle, ug gisugdan ang PWM signal alang sa gitakdang board ID. Ang PWM signal namugna uban sa usa ka offset sa taliwala sa duha ka channels ug sa ingon sila wala sa hugna.
  • Fault Detection Test (ST_ISO_APP_FaultTest): Kini nga function nag-evaluate sa fault detection pinaagi sa motoring inbuilt diagnostic pins sa smart output module IPS1025. sa polling o interrupt mode. Gi-configure niini ang fault detection mode, gisugdan ang fault detection, ug gi-update ang fault status structure base sa gipili nga mode. Kini nga function hinungdanon alang sa pagsiguro sa kasaligan ug kaluwasan sa board pinaagi sa pag-ila ug pagdumala sa mga sayup nga epektibo. Kung anaa na sa polling mode, ang fault status gina-update kada segundo sa tabang sa usa ka timer ug makita sa structure defaultBoardFaultStatus o alternateBoardFaultStatus. Kung naa kini sa interrupt mode, ang kahimtang sa sayup ma-update lamang kung mahitabo ang sayup, ug kini mag-aghat sa software sa paghawan sa katumbas nga port sa output.
  • PWM Variation Test (ST_ISO_APP_PwmVariationTest): Kini nga function gidisenyo aron sulayan ang variation sa PWM (Pulse Width Modulation) nga mga signal sa lain-laing mga output channel base sa board configuration. Gisugdan niini ang mga signal sa PWM alang sa default ug alternate board configurations, nga nagtakda sa ilang frequency sa 100 Hz ug ang inisyal nga duty cycle ngadto sa 0%. Ang function unya lainlain ang siklo sa katungdanan gikan sa 0% hangtod 100% sa mga pagtaas sa 5%, ug balik gikan sa 100% hangtod 0% sa mga pagkunhod sa 5%, nga adunay 2-segundo nga paglangan taliwala sa matag lakang. Kining kontroladong kausaban nagtugot sa obserbasyon ug ebalwasyon sa PWM signal behavior sa mga channel QA_0 ug QA_1 para sa default board, ug QA_0_ALT ug QA_1_ALT para sa alternate board.

Pinaagi sa pagsunod niini nga mga pag-configure ug paggamit sa gihatag nga mga function sa aplikasyon, mahimo nimo nga epektibo nga ma-set up ug magamit ang X-NUCLEO-ISO1A1 board alang sa lainlaing mga kaso sa paggamit sa demonstrasyon.

Giya sa pag-setup sa sistema

Paghulagway sa hardware

STM32 Nucleo nga plataporma
Ang STM32 Nucleo development boards naghatag ug barato ug flexible nga paagi para sa mga tiggamitan sa pagsulay sa mga solusyon ug paghimog mga prototype sa bisan unsang STM32 microcontroller line.
Ang Arduino® connectivity support ug ST morpho connectors nagpasayon ​​sa pagpalapad sa functionality sa STM32 Nucleo open development platform nga adunay usa ka halapad nga mga espesyal nga expansion boards nga mapilian.

Ang STM32 Nucleo board wala magkinahanglan ug bulag nga mga probes kay kini nag-integrate sa ST-LINK/V2-1 debugger/programmer.
Ang STM32 Nucleo board adunay komprehensibo nga STM32 software HAL library kauban ang lainlaing mga packaged software examples.

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

Ang impormasyon bahin sa STM32 Nucleo board anaa sa www.st.com/stm32nucleo

X-NUCLEO-ISO1A1 expansion board
Ang X-NUCLEO-ISO1A1 usa ka evaluation board nga adunay nahilit nga industriyal nga input/output nga gidesinyo aron mapalapad ang STM32 Nucleo board ug maghatag ug micro-PLC functionality. Ang duha sa X-NUCLEO-ISO1A1 nga mga tabla mahimong i-stack sa ibabaw sa usa ka STM32 Nucleo board nga adunay tukma nga pagpili sa mga jumper sa expansion board aron malikayan ang panagbangi sa GPIO interface. Ang UL1577 certified digital isolator STISO620 ug STISO621 naghatag ug isolation tali sa logic ug process side components. Duha ka kasamtangan nga limitado nga high-side input gikan sa proseso nga bahin ang natuman pinaagi sa CLT03-2Q3. Ang CLT03-2Q3 naghatag og proteksyon, pag-inusara, ug walay kusog nga indikasyon sa status alang sa mga kondisyon sa industriya, nga gidisenyo aron makab-ot ang mga sumbanan sama sa IEC61000-4-2, IEC61000-4-4, ug IEC61000-4-5. Ang matag usa sa mga high-side switch nga IPS1025H-32/HQ-32 naghatag ug protektadong output hangtod sa 5.6 A nga adunay diagnostics ug smart driving features. Mahimo kini nga magdala sa capacitive, resistive, o inductive load. Ang X-NUCLEO-ISO1A1 nagtugot sa paspas nga pagtimbang-timbang sa onboard ICs gamit ang X-CUBE-ISO1 software package.

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

Pag-setup sa hardware
Ang mosunod nga mga sangkap sa hardware gikinahanglan:

  1. Usa ka STM32 Nucleo development platform (gisugyot nga order code: NUCLEO-GO71RB)
  2. Usa ka industriyal nga digital output expansion board (order code: X-NUCLEO-ISO1A1)
  3. Usa ka USB type A ngadto sa Micro USB cable aron makonektar ang STM32 Nucleo sa PC
  4. Usa ka eksternal nga suplay sa kuryente (24 V) ug ang kauban nga mga wire aron masuplay ang X-NUCLEO-ISO1A1 expansion board.

Pag-setup sa software
Ang mosunud nga mga sangkap sa software gikinahanglan aron mapahimutang ang usa ka angay nga palibot sa pag-uswag alang sa paghimo og mga aplikasyon alang sa STM32 Nucleo nga nasangkapan sa X-NUCLEO-ISO1A1 expansion board:

  • X-CUBE-ISO1: usa ka pagpalapad alang sa STM32Cube nga gipahinungod sa pagpalambo sa aplikasyon nga nagkinahanglan sa paggamit sa X-NUCLEO-ISO1A1 board. Ang X-CUBE-ISO1 firmware ug may kalabutan nga dokumentasyon anaa sa www.st.com
  • Development toolchain ug Compiler: ang STM32Cube expansion software nagsuporta sa tulo ka mosunod nga mga palibot:
    • IAR Embedded Workbench alang sa ARM® (IAR-EWARM) toolchain
    • TinuodView Microcontroller Development Kit (MDK-ARM-STM32) toolchain
    • STM32CubeIDE.

Pag-setup sa board
Ang board kinahanglang i-configure gamit ang tukma nga mga setting sa jumper sama sa gipiho sa Hardware user manual (UM3483). Ang pagsunod sa kini nga mga panudlo hinungdanon aron masiguro ang husto nga pagpaandar ug malikayan ang mga potensyal nga isyu.

Giya sa pag-setup sa sistema
Kini nga seksyon naghulagway kung giunsa ang pag-set up sa lain-laing mga bahin sa hardware sa dili pa mag-develop ug mag-execute og aplikasyon sa STM32 Nucleo , NUCLEO-G071RB board nga adunay X-NUCLEO-ISO1A1 expansion board.

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

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

Setup para sa X-CUBE-ISO1 expansion package
Ang X-NUCLEO-ISO1A1 kinahanglan nga ma-configure sa piho nga mga posisyon sa jumper base sa kung unsang configuration ang imong gipadagan sa board. Ang mga detalye nga mahimo pa naton tan-awon sa manwal sa hardware.

  • Lakang 1. I-plug ang X-NUCLEO-ISO1A1 expansion board sa ibabaw sa STM32 Nucleo pinaagi sa morphoconnectors.
    Kung mogamit ka ug duha ka tabla sa ibabaw sa usag usa, i-stack kini sama sa Figure 11.
  • Lakang 2. Ikonektar ang STM32 Nucleo board sa usa ka PC gamit ang USB cable pinaagi sa USB connector CN1 aron ma-power ang board.
  • Lakang 3. I-on ang X-NUCLEO-ISO1A1 expansion board(s) pinaagi sa pagkonektar sa J1 sa 24V DC power supply. Kung mogamit og stacked boards, siguroha nga ang duha ka tabla gipaandar.
  • Lakang 4. Ablihi ang imong gusto nga toolchain (MDK-ARM gikan sa Keil, EWARM gikan sa IAR, o STM32CubeIDE).
  • Lakang 5. Ablihi ang software project ug himoa ang gikinahanglang mga kausaban sa board_config.h file sumala sa configuration sa board(s) nga gigamit.
  • Lakang 6. Ibutang ang angay nga use case macro sa st_iso_app.c file o tawagan ang gikinahanglan nga use case gamit ang ST_ISO_APP_SelectUseCase function sa main.c file uban sa bisan unsa nga lain nga gitinguha nga function.
  • Lakang 7. Pagtukod sa proyekto aron matipon ang tanan files ug i-load ang gihugpong nga code ngadto sa memorya sa STM32 Nucleo board.
  • Lakang 8. Pagdalagan ang code sa STM32 Nucleo board ug pamatud-i ang gipaabot nga kinaiya.

Kasaysayan sa rebisyon
Talaan 4. Kasaysayan sa pagbag-o sa dokumento

Petsa Rebisyon Mga kausaban
14-May-2025 1 Inisyal nga pagpagawas.

IMPORTANTE NGA PAHIBALO – BASAHA NGA MAAYO

Ang STMicroelectronics NV ug ang mga subsidiary niini ("ST") nagreserba sa katungod sa paghimo og mga pagbag-o, pagkorihir, pagpauswag, pagbag-o, ug pagpaayo sa mga produkto sa ST ug/o niini nga dokumento bisan unsang orasa nga wala’y pahibalo. Ang mga pumapalit kinahanglan nga makakuha sa pinakabag-o nga may kalabutan nga impormasyon sa mga produkto sa ST sa dili pa magbutang og mga order. Ang mga produkto sa ST gibaligya subay sa mga termino ug kondisyon sa pagbaligya sa ST sa panahon sa pag-ila sa order.

Ang mga pumapalit mao ray responsable sa pagpili, pagpili, ug paggamit sa mga produkto sa ST ug walay tulubagon ang ST alang sa tabang sa aplikasyon o sa disenyo sa mga produkto sa mga pumapalit.
Walay lisensya, gipahayag o gipasabot, sa bisan unsang katungod sa intelektwal nga kabtangan ang gihatag sa ST dinhi.
Ang pagbaligya pag-usab sa mga produkto sa ST nga adunay mga probisyon nga lahi sa impormasyon nga gilatid dinhi magwagtang sa bisan unsang warranty nga gihatag sa ST alang sa maong produkto.

Ang ST ug ang ST logo kay mga marka sa ST. Para sa dugang nga impormasyon bahin sa ST trademarks, tan-awa ang www.st.com/trademarks. Ang tanan nga ubang mga ngalan sa produkto o serbisyo gipanag-iya sa ilang tag-iya.
Ang impormasyon niini nga dokumento mopuli ug mopuli sa impormasyon nga gihatag kaniadto sa bisan unsang naunang bersyon niini nga dokumento.
© 2025 STMicroelectronics – Tanang katungod gigahin

Mga Dokumento / Mga Kapanguhaan

STMicroelectronics UM3469 X-CUBE-ISO1 Pagpalapad sa Software [pdf] Manwal sa Gumagamit
X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 Pagpalapad sa Software, UM3469, X-CUBE-ISO1 Pagpalapad sa Software, Pagpalapad sa Software

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *