ST-logoa

STMicroelectronics UM3469 X-CUBE-ISO1 Software Hedapena

STMicroelectronics-UM3469-X-CUBE-ISO1-Software-Hedapena

Sarrera

STM1Cube-rako X-CUBE-ISO32 hedapen software paketea STM32-an exekutatzen da eta X-NUCLEO-ISO1A1-rako firmwarea barne hartzen du. Softwareak erabiltzeko erraza den irtenbide bat eskaintzen du X-NUCLEO-k eskaintzen duen oinarrizko PLC gailu bat garatzeko. Hedapena STM32Cube software teknologian oinarrituta dago, STM32 mikrokontrolagailu desberdinen arteko eramangarritasuna errazteko.

Softwareak X-NUCLEO-ISO1A1 hedapen-plakan exekutatzen den inplementazio batekin dator, NUCLEO-G071RB garapen-plaka batera (edo NUCLEO-G0B1RE edo NUCLEO-G070RB batera) konektatuta. Hemendik aurrera, dokumentuan NUCLEO-G071RB bakarrik aipatuko da sinpletasunagatik.
X-NUCLEO-ISO1A1 plaka bi plaka pilatzeko diseinatuta dago, sarrera eta irteera gaitasunak handitzeko jumper ezarpen egokiekin.

Siglak eta laburdurak

1. taula. Siglen zerrenda

Akronimoa Deskribapena
PLC Kontroladore logiko programagarria
APIa Aplikazioak programatzeko interfazea
PWM Pultsu zabaleraren modulazioa
GPIO Erabilera orokorreko sarrera/irteera.
HAL Hardwarearen abstrakzio-geruza
PC Ordenagailu pertsonala
FW Firmwarea

Zer da STM32Cube?

STM32Cube™-k STMicroelectronics-en ekimena adierazten du, garapen-ahalegina, denbora eta kostua murriztuz garatzaileen bizitza errazteko. STM32Cube-k STM32 zorroa hartzen du barne.
STM32Cube 1.x bertsioak honako hauek ditu:

  • STM32CubeMX, software konfigurazio tresna grafikoa, C hasieratze kodea morroi grafikoak erabiliz sortzeko aukera ematen duena.
  • Serie bakoitzerako berariazko software plataforma txertatu integrala (adibidez, STM32G0 serierako STM32CubeG0), honako hauek barne hartzen dituena:
    • STM32Cube HAL txertatutako abstrakzio-geruzako softwarea, STM32 zorro osoan eramangarritasun maximoa bermatuz
    • middleware osagai multzo koherente bat, hala nola RTOS, USB, TCP/IP eta grafikoak
    • software txertatu guztiak ex multzo oso batekinamples.

STM32Cube arkitektura
STM32Cube firmware irtenbidea hiru maila independenteren inguruan eraikita dago, elkarren artean erraz elkarreragin dezaketenak, beheko diagraman azaltzen den bezala.

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

X-CUBE-ISO1 softwarearen hedapena STM32Cuberako

Amaituview
X-NUCLEO-ISO1A1-ren firmwareak, STM32 ingurune eta liburutegietan garatu den sarrera/irteera isolatu industrialeko hedapen-plakak, STM32 Nucleo plaken errendimendu handiko MCUa erabiltzen du sarrera digitalak, diagnostiko integratuekin eta korronte-muga dinamikoarekin batera irteerak kudeatzeko, eta PWM seinaleen sorrera. Plakaren konfigurazio eta kontrol integrala eskaintzen du, besteak beste, lehenetsitako eta alternatiboko baldintzetarako esparruak, aurre-eskalatzailearen balioak ezartzeko makroak eta GPIO portu eta pinen definizioak.

Hainbat s onartzen ditu.ampAplikazioen erabilera kasuak, hala nola sarrera digitalaren irteeraren islatzea, UART komunikazioa Nucleo plakaren bidez, akatsen detekzioa, proba kasuak eta PWM sorkuntza, zuzenean erabil daitezkeenak eta erraz pertsonaliza eta zabaldu daitezkeenak.

APIak funtzio multzo sendoa eskaintzen du sarrera/irteera digitalen kontrolerako, akatsen detekziorako eta plaken egoeraren eguneratzeetarako, bi plaka aldi berean modu desberdinetan exekutatzeko konfigurazio-ezarpenekin. API funtzio espezifikoak daude eskuragarri irteera digitaleko kanaletarako PWM seinaleak hasieratzeko, abiarazteko, gelditzeko eta konfiguratzeko.

Plakaren euskarri paketeak IPS1025H-32-rekin interfazatutako GPIO pinak kontrolatu eta monitorizatzeko funtzioak ditu, eta CLT03-2Q3-rekin interfazatutako GPIO pinen egoera isolatzaile digital baten bidez irakurtzeko.
Konfigurazioa eta hasieraketa STM32CubeMX-n oinarritzen dira, eta garapena eta arazketa STM32CubeIDE, IAR Systems eta Keil® tresnek laguntzen dituzte.

Arkitektura
X-NUCLEO-ISO1A1-ren firmwarea hainbat bloke funtzional desberdinetan bana daiteke, eta bakoitza sistemaren funtzionamenduaren hainbat alderdiren arduraduna da:

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

  • Taularen konfigurazioa eta kontrola:
    • board_config.h fitxategia file Makroak ditu plaka konfiguratzeko, lehenetsitako edo alternatiboko baldintzetan, edo bietan, funtziona dezan. Eskalatzaile aurreko balioen eta GPIO ataken eta pinen definizioak ere baditu.
    • Bloke honek ziurtatzen du plaka behar bezala konfiguratuta dagoela nahi diren funtzionamendu-baldintzetarako eta beharrezko hardware-konfigurazio guztiak prest daudela.
  • Aplikazioaren erabilera kasuak:
    • st_iso_app.h eta st_iso_app.c files-ek plakaren hainbat funtzionalitate probatzeko diseinatutako aplikazioen erabilera kasuak dituzte.
    • Erabilera kasu hauek sarrera digitalaren irteerarako islatzea, akatsak detektatzeko probak eta PWM seinaleen sorrera barne hartzen dituzte.
    • ExampBi plaka aldi berean modu desberdinetan exekutatzeko konfigurazioak eskaintzen dira, firmwarearen aldakortasuna eta malgutasuna erakutsiz.
  • API funtzioak:
    • Iso1a1.h eta iso1a1.c files-ek API multzo osoa eskaintzen du hainbat funtzionalitate onartzeko.
    • API hauek sarrera/irteera digitalen kontrola, akatsak detektatzeko eta plakaren egoeraren eguneratzeetarako funtzioak biltzen dituzte.
    • APIak sinpleak eta intuitiboak izateko diseinatuta daude, erabiltzaileek taularekin elkarreragin eta beharrezko eragiketak errazteko.
  • PWM seinalearen kontrola:
    • pwm_api.h eta pwm_api.c fitxategiak files-ek PWM seinaleen sorrerarako lotutako API funtzio espezifikoak dituzte.
    • Funtzio hauek irteera digitaleko kanaletarako PWM seinaleak hasieratzea, konfiguratzea, abiaraztea eta gelditzea ahalbidetzen dute.
    • PWM funtzionalitatea ez da lehenetsitako aukera. Txartelaren konfigurazioa aldatu da hauek gaitzeko. Ikusi 3.5 atala: APIak xehetasun gehiago lortzeko.
  • Zuzendaritza Batzordearen Laguntza Paketea:
    • Batzordearen laguntza paketeak honako hauek ditu: fileIPS1025H-32-rekin interfazatutako GPIO pinak kontrolatu eta monitorizatzeko eta CLT03-2Q3-rekin interfazatutako GPIO pinen egoera irakurtzeko.
    • ips1025h_32.h eta ips1025h_32.c fitxategiak fileIPS1025H-32rekin interfazatutako GPIO pinetan akatsak ezarri, garbitu eta detektatzeko funtzioak eskaintzen dituzte.
    • clt03_2q3.h eta clt03_2q3.c files-ek CLT03-2Q3-rekin interfazatutako GPIO pinen egoera irakurtzeko funtzioak eskaintzen dituzte.

Demostrazio-firmwareak hainbat erabilera-kasu sinple ezartzen ditu sistemaren gaitasunak erakusteko. Erabilera-kasu eta erabiltzaile-API hauek modu koordinatuan exekutatzen dira funtzionamendu leuna eta emaitza zehatzak bermatzeko. Arkitektura erraz zabaltzeko diseinatuta dago, erabiltzaileek funtzionalitate eta erabilera-kasu berriak gehitzeko aukera emanez beharren arabera. Konfigurazio lehenetsia ematen da industria-IO digitalekin plaka bat exekutatzeko. Jumperren ezarpena ere lehenetsitako moduan egon behar da, 2. taulan azaltzen den bezala. Sarrera digitala Irteera digitalaren islatzea (DIDO) firmware aplikazioaren erabilera-kasu lehenetsia da.

Karpeta egitura

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

Karpeta hauek software paketean sartzen dira:

  • Dokumentazioak HTML konpilatua dauka file iturburu-kodetik sortua, softwarearen osagaiak eta APIak zehaztuz.
  • Gidariak honako hauek ditu:
    • STM32Cube HAL karpeta bat, STM32G0xx_HAL_Driver azpikarpetetan kokatua. Hauek filek ez dira hemen deskribatzen, X-CUBE-ISO1 softwareari dagozkionak ez direlako, baizik eta zuzenean STM32Cube framework-etik datozelako.
    • Cortex® mikrokontrolagailuaren software interfaze estandarra duen CMSIS karpeta bat fileArmetik s. Hauek files Cortex®-M prozesadore serieko saltzailearekiko independenteak diren hardware abstrakzio geruzak dira. Karpeta hau ere STM32Cube esparrutik dator aldatu gabe.
    • IPS1025H-32 eta CLT03-2Q3 osagaien kodeak eta X-NUCLEO-ISO1A1-ri lotutako APIak dituen BSP karpeta bat.
  • Aplikazioak erabiltzailearen karpeta dauka, eta bertan main.c fitxategia dago. file, aplikazioaren erabilera kasua file, st_iso_app.c eta board_config.h file, NUCLEO-G071RB plataformarako emana.

BSP karpeta
X-CUBE-ISO1 softwareak bi osagai desberdin erabiltzen ditu files, BSP/Components barruan daudenak:

IPS1025
ips1025h_32.h eta ips1025h_32.c fitxategiak fileIPS1025H-32rekin konektatutako GPIO pinetarako kontrolatzaileen inplementazio osoa eskaintzen dute, pin guztiak kontrolatzeko eta akatsak detektatzeko funtzionalitate osoa barne. Hauek fileGailua hasieratzeko, kanalaren egoera ezartzeko eta garbitzeko, akatsen baldintzak detektatzeko eta PWM funtzionalitatea kudeatzeko funtzioak inplementatzen dituzte. Gidariak hainbat gailu eta kanal onartzen ditu, kanal indibidualetarako zein talde gisa gaitasun osoak dituelarik.

CLT03
clt03_2q3.h eta clt03_2q3.c fileCLT03-2Q3-rekin interfazatutako GPIO pinetarako funtzio osoko kontrolatzaile bat inplementatzen dute, pin guztien egoera irakurtzeko gaitasun osoekin. Kontrolatzaileak gailua hasieratzeko, kanal bakoitzaren egoera irakurtzeko eta kanal guztien egoera-informazioa aldi berean lortzeko funtzioak eskaintzen ditu. Hainbat gailu-konfigurazio onartzen ditu eta barne-egoera mantentzen du kanalen kudeaketa eraginkorrerako.

X-CUBE-ISO1 software APIak bi iturri nagusitan banatzen dira files, ISO1A1 azpikarpetan daudenak:

ISO1A1
ISO1A1. files-ek plakaren konfiguraziorako, osagaien interakziorako eta akatsen kudeaketarako diseinatutako API funtzio multzo oso bat hartzen dute barne. Funtzio hauek irakurketa eta idazketa eragiketak, akatsak detektatzea eta eguneratzeak errazten dituzte, eta API funtzio nagusiak laguntzeko hainbat laguntza-utilitate barne hartzen dituzte. Horrez gain, files-ek LED kontrola, GPIO hasieratzea, etenaldiak kudeatzeko eta UART komunikaziorako funtzionalitatea eskaintzen dute.

PWM APIa
PWM APIak PWM seinaleak hasieratzeko, konfiguratzeko, abiarazteko eta gelditzeko funtzioak eskaintzen ditu. Tenporizadore pin zehatzetarako PWM maiztasuna eta lan-zikloa ezartzeko aukera ematen du, PWM eragiketen gaineko kontrol zehatza bermatuz.

Aplikazioaren karpeta
Aplikazioaren karpetak dauka nagusia filefirmwarerako beharrezkoak direnak, goiburuak eta iturburua barne files. Jarraian, honen deskribapen zehatza aurkituko duzu files karpeta honetan:

  • board_config.h: Plakaren konfigurazio makroak.
  • main.c: Programa nagusia (adibidearen kodea)ample, ISO1A1 liburutegian oinarrituta dagoena).
  • st_iso_app.c: Plaka probatzeko eta konfiguratzeko aplikazio funtzioak.
  • stm32g0xx_hal_msp.c: HAL hasieratze errutinak.
  • stm32g0xx_it.c: Etenaren kudeatzailea.
  • syscalls.c: Sistema-deien inplementazioak.
  • sysmem.c: Sistemaren memoria kudeaketa.
  • system_stm32g0xx.c: Sistemaren hasieraketa.

Softwarea behar diren baliabideak
Nucleo gailuak X-NUCLEO-ISO1A1 plaka kontrolatzen eta harekin komunikatzen da GPIOen bidez. Horretarako, hainbat GPIO erabili behar dira X-NUCLEO-ISO1A1 plakan dauden industria-IO gailuen sarrera, irteera eta akatsak detektatzeko. Xehetasun gehiago eta jauzi-konfigurazioak lortzeko, jo UM3483 hardwarearen erabiltzailearen eskuliburura.

Plakaren konfigurazioa (board_config.h)
board_config.h fitxategia file erabilitako baliabideak eta softwarea plakaren konfigurazioaren arabera konfiguratzeko konfigurazio-makroak definitzen ditu. Gehienez bi plaka kudeatzen ditu (adibidez, bi plaka pilatzea).
Softwarearen konfigurazio LEHENEZKOA X-NUCLEO-ISO1A1 hedapen-plakarekin lerrokatuta dago, jauzi-plakak lehenetsitako posizioetan dituela. X-NUCLEO-ISO1A1 softwarea bere lehenetsitako ezarpenetan konfiguratzeko, kendu iruzkinik BOARD_ID_DEFAULT makroari board_config.h fitxategian. file.

Softwarearen ALTERNATE konfigurazioa board_config.h fitxategiko BOARD_ID_ALTERNATE makroaren iruzkina kenduz ezartzen da. file eta jauzilarien posizioak taulan aldatzea.
Pilaketa konfigurazio batean bi plaka aldi berean erabiltzeko, kendu iruzkinik BOARD_ID_DEFAULT eta BOARD_ID_ALTERNATE makroei eta ziurtatu plaka baten jauzilariak posizio lehenetsian daudela eta bestea posizio alternatiboan. Kontuan izan bi plakak konfigurazio berean edukitzea (biak lehenetsian edo biak posizio alternatiboan) ez dela gomendagarria eta nahi ez den portaera eragin dezakeela.
Plaka bakarra erabiltzen ari zarenean, ziurtatu softwarea konfigurazio bakarrerako konfiguratuta dagoela eta beste konfigurazioari dagokion makroa komentatuta dagoela.

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

Aurre-eskalatzaileak
board_config.h-n aurre-eskalatzailearen balioak konfigura ditzakegu PWM irteerarako maiztasun-tarte desberdinak lortzeko, makro egokiak ezarriz. Aurre-eskalarraren balio bat erabiltzeko, kendu iruzkinik dagokion makroari eta gehitu besteei iruzkinik. Berez, DEFAULT_PRESCALAR erabiltzen da.

  • AURRESKALATZAILEA_1
  • AURRESKALATZAILEA_2
  • AURREZ ESKALADOREA LEHENESTUTA

Aurre-eskalatzailearen balioak tenporizadoreak erabiltzen direnean bakarrik erabiltzen dira, eta ez dira beharrezkoak oinarrizko I/O eragiketetarako. Aurre-eskalarreko makroen balioak eta dagokien maiztasun-tarteak kodearen dokumentazioan edo kodean bertan ikus daitezke.

Bihotz-taupadak LED
NUCLEO-G7RB plakarekin behar bezala konektatzen den proba gisa, D071 erabiltzaile LED berdea bihotz-taupada batean keinuka konfigura dezakegu. HEARTBEAT_LED makroak, iruzkinik gabe, X-NUCLEO-ISO1A1-eko LED berdea keinuka egiten du NUCLEOra konektatuta dagoenean. Segundo 1ez piztuta eta 2 segundoz itzalita egoten da, denbora tenporizadoreek kontrolatzen dutelarik. Erabiltzen ez denean edo LEDekin lotutako funtziorik deitzen ez denean, makroari iruzkinik gabe utzi behar zaio.

GPIO sarrera eta irteera konfigurazioa
X-NUCLEO-ISO1A1 plaka bakoitzak bi sarrera-portu eta bi irteera-portu ditu. Plakaren gaitasunak zabaldu daitezke bi X-NUCLEO-ISO1A1 plaka bata bestearen gainean pilatuz, horrela lau sarrera-portu digital eta lau irteera-portu digital erabiltzeko aukera emanez. Emandako softwareak API osoak ditu, portuak irakurtzea, ezartzea eta garbitzea errazten dutenak. Horrez gain, APIek portu guztiak aldi berean ezartzea, irakurtzea edo garbitzea ahalbidetzen dute. API funtzioei buruzko informazio zehatza kodearen dokumentazioan eta dokumentu honen API atalean dago eskuragarri.

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

Hemen DI aurrizkiak sarrera digitalaren ataka adierazten du eta DOk irteera digitalaren ataka. Konfigurazio alternatiboetarako, softwareak izendapen-konbentzio berdinak erabiltzen ditu, _alt atzizkiarekin batera.
Hurrengo taulan softwarean definitutako GPIO makroak zehazten dira hainbat IO portuei dagozkienak:

2. taula. Software konfigurazio lehenetsi eta alternatiboetarako esleitutako GPIOak

Izena Funtzioa Lehenetsitako konfigurazioa Ordezko konfigurazioa
SARRERAKO PINa Sarrerako 1. pin-a GPIOC, IA0_IN_1_PIN GPIOD, IA0_IN_1_PIN
Sarrerako 2. pin-a GPIOD, IA1_IN_2_PIN GPIOC, IA1_IN_1_PIN
IRTEERAKO PINA 1. irteera-pin GPIOC, QA0_CNTRL_1_PIN GPIOD, QA0_CNTRL_1_PIN
2. irteera-pin GPIOC, QA1_CNTRL_2_PIN GPIOC, QA1_CNTRL_2_PIN
PIN AKATSA 1. akats-pin GPIOC, FLT1_QA0_2_OT_PIN GPIOD, FLT1_QA0_1_OT_PIN
2. akats-pin GPIOC, FLT2_QA0_2_OL_PIN GPIOD, FLT2_QA0_1_OL_PIN
3. akats-pin GPIOC, FLT1_QA1_2_OT_PIN GPIOC, FLT1_QA1_1_OT_PIN
4. akats-pin GPIOC, FLT2_QA1_1_OL_PIN GPIOD, FLT2_QA1_2_OL_PIN
KONFIGURAZIO MAKROA TAULA_ID_LEHENTSUA TAULA_ID_ORDEZKOA

Tenporizadoreak eta PWM
Tenporizadoreak X-CUBE-ISO1 firmwarean erabil daitezke pin espezifikoetarako PWM seinaleak sortzeko. Berez, tenporizadoreak ez dira hasieratzen, TIM3 izan ezik. Dagokion tenporizadoreak hasieratu behar dira PWM seinaleak sortu aurretik eta dagokien irteera atakak PWM moduan hasieratu behar dira.
GPIO sarrera/irteera eragiketa normaletarako, ez dago tenporizadore edo irteera atakarik konfiguratu beharrik, lehenespenez kudeatzen baita. Hala ere, irteerako pinak PWM moduan konfiguratu ondoren, GPIO moduan berriro konfiguratu beharko ditugu GPIO pin gisa erabiltzeko.

Oharra: Irteerako pinak PWM sortzeko erabiltzen direnean, GPIO irteera desgaituta dago, bi funtzionaltasunak ezin dira aldi berean inplementatu. PWM erabili ondoren GPIO berriro gaitzeko, ST_ISO_BoardConfigureDefault() edo ST_ISO_InitGPIO() API funtzioa deitu daiteke portu guztiak aldi berean GPIO gisa konfiguratzeko edo ST_ISO_Init_GPIO() GPIO portu eta pin jakin batekin.

Goian aipatu bezala, softwareak tenporizadore bat ere erabiltzen du lehenespenez, TIM3, erabiltzailearen LED denbora, erlojua eta UART denbora inplementatzeko erabiltzen dena. Lehenespenez segundo 1eko denborarako konfiguratuta dago.
Hurrengo taulan gure kodean pin bakoitzerako eskuragarri dauden tenporizadoreak zehazten dira:

3. taula. Pin bakoitzerako eskuragarri dauden tenporizadoreak

Pin izena Softwarearen ordezkaritza Tenporizadorea Tenporizadorearen kanala Ordezko funtzioa
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

Firmwarearen utilitate gehigarriak
Firmwareak X-NUCLEO-ISO1A1 ebaluazio-plakaren funtzionaltasuna hobetzeko utilitate gehigarriak ditu. Horietako batzuk behean deskribatzen dira.

UART
UART komunikazio funtzioak plakaren egoera denbora errealean monitorizatzea eta akatsak zuzentzea ahalbidetzen du TeraTerm, PuTTY eta antzeko beste aplikazio batzuen bidez. Softwareak UART datuen transmisioa ahalbidetzen du NUCLEO-G071RB plakan dagoen UARTaren bidez. `ST_ISO_UART` funtzioak plakaren egoerari buruzko informazio zehatza bidaltzen du UARTaren bidez, sistemaren funtzionamendu-denbora, firmwarearen konfigurazioa eta akatsen egoera barne. Datu hauek... viewedozein serieko ataka aplikazio erabiliz, hala nola TeraTerm. `ST_ISO_APP_DIDOandUART` funtzioak sarrera/irteera digitaleko eragiketak UART komunikazioarekin konbinatzen ditu, sarrera eta irteera kanal guztien egoera tarte jakin batzuetan transmitituz. Jarraian konfigurazio ezarpenak etaampTeraTerm-en datuak nola agertzen diren erakusten du. Portuaren izena alda daiteke sistemaren eta erabiltzen den serieko portuaren arabera.

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

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

IO pin moduaren konfigurazioa
IO pin moduaren konfigurazio utilitateak erabiltzaileei plakaren sarrera eta irteera atakak ezartzeko aukera ematen die ST_ISO_BoardConfigure() funtzioa erabiliz. Funtzio honek bi irteera ataka (QA0, QA1) eta bi sarrera ataka (IA0, IA1) konfiguratzeko aukera ematen du, Sarrera/Irteera moduan, PWM irteera moduan edo Etenaldi sarrera moduan. Parametroak doituz eta funtzio hau deituz, erabiltzaileek erraz pertsonaliza dezakete plakaren IO konfigurazioa behar espezifikoetara egokitzeko.

Sarrera/Irteera moduan, utilitateak GPIO pinak hasieratzen ditu helburu orokorreko eragiketa digitaletarako. PWM irteera moduan, tenporizadoreak konfiguratzen ditu PWM seinalearen kontrol zehatza lortzeko. Etenaldi sarrera moduan dagoenean, utilitateak pinak konfiguratzen ditu etenaldiak kudeatzeko, gertaeren araberako programazio erantzunkorra ahalbidetuz.

Etenaldien kudeaketa
MATXURA seinaleak kudeatzeko, softwareak lotutako eten-lerroak gaitzen ditu, gertaeren araberako programazio erantzunkorra ahalbidetuz. Kudeatzaile pertsonalizatu bat eten hauekin lotu daiteke honen bidez:
HAL_GPIO_EXTI_Rising_Callback funtzioa APIan definituta. Softwareak GPIO pinak eten moduan hasieratzeko funtzioak ditu ST_ISO_BoardConfigure funtzioaren bidez eta EXTI IRQ kudeatzaileetan ekintza espezifikoak konfiguratzeko. Horri esker, erabiltzaileek plakak kanpoko gertaerei nola erantzuten dien pertsonaliza dezakete, hainbat akats-baldintza eta abiarazle eraginkortasunez kudeatu ditzakeela ziurtatuz.

APIak
X-CUBE-ISO1 software APIak funtzio multzo zabala eskaintzen du X-NUCLEO-ISO1A1 plaka kontrolatzeko eta monitorizatzeko, PWM seinaleen sorrera eta GPIO eragiketak barne. APIa erabiltzeko erraza eta hainbat aplikaziotan integratzeko diseinatuta dago, plakaren funtzionaltasunaren gaineko malgutasuna eta kontrola eskainiz.

X-CUBE-ISO1 software APIa BSP/ISO1A1 karpetan definituta dago. Bere funtzioak ST_ISO aurrizkiarekin datoz. Aplikazioek iso1a1.c eta pwm_api.c bidez ikus dezakete APIa. files konstanteen, datu-egituren eta funtzioen konbinazio bat da.
SampFirmware aplikazioek API hauek erabiltzen dituzte funtzio hauen erabilera posible batzuk erakusteko.

X-CUBE-ISO1 software paketeak bi API multzo eskaintzen ditu:

  • ISO1A1 APIa
  • PWM APIa

ISO1A1 APIa
ISO1A1 APIa iso1a1.h eta iso1a1.c fitxategietan definituta dago. fileISO1A1 plaka konfiguratzeko eta kontrolatzeko funtzioak eskaintzen ditu, GPIO sarrera/irteera eragiketak eta akatsak detektatzea barne.

Funtzio nagusiak

  • ST_ISO_BoardConfigureDefault: Txartelaren IO atakak GPIO konfigurazio lehenetsiarekin konfiguratzen ditu.
  • ST_ISO_BoardConfigure: Txartelaren sarrera eta irteera portuen modua konfiguratzen du.
  • ST_ISO_BoardInit: Txartelaren hardwarea hasieratzen du.
  • ST_ISO_BoardMapInit: Kanalaren heldulekuen konfigurazioan oinarrituta plakaren funtzionaltasuna hasieratzen du.
  • ST_ISO_GetFWVersion: Uneko firmware bertsioa itzultzen du.
  • ST_ISO_GetChannelHandle: Zehaztutako kanal-izen baten kanal-heldulea berreskuratzen du.
  • ST_ISO_InitGPIO: Zehaztutako GPIO pina hasieratzen du emandako modulu IDarekin.
  • ST_ISO_InitInterrupt: Zehaztutako GPIO pina etenaldi gisa hasieratzen du emandako modulu IDarekin.
  • ST_ISO_EnableFaultInterrupt: GPIO pin akastunak eten moduan hasieratzen ditu.
  • ST_ISO_SetChannelStatus: Zehaztutako kanal baten egoera ezartzen du.
  • ST_ISO_SetOne_DO: Irteera digital kanal bakarra ezartzen du.
  • ST_ISO_ClearOne_DO: Irteera digital bakarra garbitzen du.
  • ST_ISO_WriteAllChannels: Datuak irteerako kanal digital guztietan idazten ditu.
  • ST_ISO_GetOne_DI: Sarrera digital bakarreko kanal baten egoera lortzen du.
  • ST_ISO_ReadAllChannel: Sarrera-kanal guztien egoera irakurtzen du.
  • ST_ISO_ReadAllOutputChannel: Irteera-kanal guztien egoera irakurtzen du.
  • ST_ISO_ReadFaultStatus: Akatsen detekzio-portu guztietatik akatsen egoera irakurtzen du.
  • ST_ISO_ReadFaultStatusPolling: Galdeketa moduan dauden plaken akatsen detekzioa probatzen du.
  • ST_ISO_DisableOutputChannel: Kanal horren irteera desgaitzen du.
  • ST_ISO_UpdateBoardStatusInfo: Plakaren egoeraren informazioa eguneratzen du.
  • ST_ISO_UpdateFaultStatus: Kanal espezifiko baten akats-egoera eguneratzen du.
  • ST_ISO_BlinkLed: Zehaztutako LEDa keinuka egiten du atzerapen eta errepikapen-kopuru jakin batekin.
  • ST_ISO_UART: Plakaren egoeraren informazioa UART bidez bidaltzen du.
  • ST_ISO_SwitchInit: Kommutadorearen osagaiak hasieratzen ditu.
  • ST_ISO_SwitchDeInit: Kommutadore instantzia des-hasieratzen du.
  • ST_ISO_DigitalInputInit: Sarrera digitaleko osagaiak hasieratzen ditu.
  • ST_ISO_DigitalInputDeInit: Sarrera digitalaren instantzia des-hasieratzen du.

PWM APIa
PWM APIa pwm_api.h eta pwm_api.c fitxategietan definituta dago. files. Funtzio hauek eskaintzen ditu pin espezifikoetarako PWM seinaleak hasieratzeko eta kontrolatzeko.

  • ST_ISO_Init_PWM_Signal: PWM seinalearentzako tenporizadoreak eta pin espezifikoa hasieratzen ditu.
  • ST_ISO_Set_PWM_Frequency: Pin espezifikorako PWM maiztasuna ezartzen du.
  • ST_ISO_Set_PWM_Duty_Cycle: Pin espezifikorako PWM betebehar-zikloa ezartzen du.
  • ST_ISO_Start_PWM_Signal: PWM seinalea pin zehatzean abiarazten du.
  • ST_ISO_Stop_PWM_Signal: PWM seinalea pin zehatzean gelditzen du.

PWM seinale bat kanal bakoitzean abiarazteko, lehenik eta behin ST_ISO_Init_PWM_Signal funtzioa deitu, eta ondoren nahi den maiztasuna eta betebehar-zikloa ezarri ST_ISO_Set_PWM_Frequency funtzioak deituz eta
ST_ISO_Set_PWM_Duty_Cycle funtzioak hurrenez hurren eta gero PWM seinalea abiarazi dezakezu ST_ISO_Start_PWM_Signal funtzioa deituz eta gelditu ST_ISO_Stop_PWM_Signal deituz.

Funtzioa dagokion pinaren izenarekin eta eskuragarri dauden tenporizadoreekin deitu behar da, eta horien xehetasunak 3. taulan ematen dira. Irteera-kanal desberdinak maiztasun eta lan-ziklo desberdinekin konfigura daitezke; maiztasuna edo lan-zikloa aldatzeak ez dio besteari eragiten, berdin jarraitzen du.
Erabiltzaileak eskuragarri dituen APIei buruzko informazio tekniko zehatza HTML konpilatu batean aurki daiteke file software paketearen "Dokumentazioa" karpetaren barruan dago, non funtzio eta parametro guztiak guztiz deskribatzen diren.

Aplikazioaren deskribapena
Erakustaldi aplikazioak hainbat erabilera kasu sinple ezartzen ditu. st_iso_app eta board_config filefuntsezko zeregina dute plaka eta bere aplikazio funtzioak konfiguratzeko eta erabiltzeko orduan. Funtzio hauek erabili aurretik, ziurtatu plaka eta softwarearen konfigurazioa elkarren artean sinkronizatuta daudela.

Aplikazio funtzioak (st_iso_app.h eta st_iso_app.c)
Aplikazio-funtzioei ST_ISO_APP aurrizkia ematen zaie; erabiltzaileak ikusten dituen goi-mailako funtzioak dira, eta API funtzioak deitzen dituzte inplementatzeko. Aplikazio-funtzioak main.c fitxategian dei daitezke. file haien funtzionamendurako.

  • Erabilera Kasuen Hautaketa: Erabiltzaileak nahi duen erabilera kasuen makroaren iruzkina kendu dezake st_iso_app.c fitxategian. file. Main.c-n deitutako ST_ISO_APP_SelectUseCaseMacro() funtzioak erabilera-kasu hori hasieratzen du, eta ST_ISO_APP_SelectedFunction() funtzioak main.c-n inplementatzen du. Ikuspegi honek funtzionamendu-modua erraz konfiguratzea ahalbidetzen du, makro-definizioak aldatuz besterik gabe, hautatutako erabilera-kasuaren arabera funtzionalitate egokia exekutatzen dela ziurtatuz. Berez, DIDO erabilera-kasua hautatzen da, eta erabiltzaileak ez du kodean aldaketarik egin behar inplementatzeko.
  • Sarrera digitala irteera digitaletara islatzea (ST_ISO_APP_UsecaseDIDO): Funtzio honek sarrera-kanal guztien egoera irakurtzen du eta egoera bera idazten du irteera-kanal guztietan. Sarrera digitalak irteera digitaletara islatzeko erabilgarria da.
  • Sarrera digitala irteera digitaletara islatzea UART-ekin (ST_ISO_APP_DIDOandUART): Funtzio honek sarrera digitalak irteera digitaletara islatzen ditu, ST_ISO_APP_UsecaseDIDO funtzioaren antzera. Gainera, plakaren egoera Nucleo gailuko UART interfazearen bidez transmititzen du, egoera islatzeko aukera emanez. viewSerieko ataka batean konektatuta, Tera Term bezalako aplikazioak erabiliz.
  • Proba Kasuen Funtzioa (ST_ISO_APP_TestCase): Funtzio honek plakaren konfigurazioan oinarritutako proba eta ekintza sorta bat egiten du. Akatsen egoera egiaztatzen du, bi sarrera digitalen kanalen egoera irakurtzen du eta haien balioen arabera ekintzak egiten ditu. Funtzio honek plakaren errendimendua eta funtzionaltasuna azkar ebaluatzen eta LED eredu desberdinen bidez feedback bisuala lortzen laguntzen du. Ziurtatu HEARTBEAT_LED makroa board_config.h-n dagoela. file LED eredu egokiak behatzeko komentatzen da.
  • PWM Sorkuntza (ST_ISO_APP_PWM _OFFSET): Funtzio honek PWM seinalea abiarazten du bi irteera kanaletan, 1 Hz-ko maiztasunarekin eta % 50eko lan-zikloarekin. PWM seinalea hasieratzen du, maiztasuna eta lan-zikloa ezartzen ditu, eta zehaztutako plakaren IDrako PWM seinalea abiarazten du. PWM seinalea bi kanalen arteko desplazamendu batekin sortzen da eta, beraz, ez daude fasean.
  • Matxura Detekzio Proba (ST_ISO_APP_FaultTest): Funtzio honek matxuren detekzioa ebaluatzen du IPS1025 irteera-modulu adimendunaren barneko diagnostiko-pinak motorizatuz, bai galdeketa moduan, bai etenaldi moduan. Matxuren detekzio modua konfiguratzen du, matxuren detekzioa hasieratzen du eta matxuren egoeraren egitura eguneratzen du hautatutako moduaren arabera. Funtzio hau ezinbestekoa da plakaren fidagarritasuna eta segurtasuna bermatzeko, matxurak eraginkortasunez detektatu eta kudeatuz. Galdeketa moduan dagoenean, matxuraren egoera segundo oro eguneratzen da tenporizadore baten laguntzaz eta defaultBoardFaultStatus edo alternateBoardFaultStatus egituran islatzen da. Etenaldi moduan dagoenean, matxuraren egoera matxura gertatzen denean bakarrik eguneratzen da, eta softwarea dagokion irteera-ataka garbitzeko aktibatzen du.
  • PWM Aldakuntza Proba (ST_ISO_APP_PwmVariationTest): Funtzio hau PWM (Pulsu Zabalera Modulazioa) seinalen aldaketa probatzeko diseinatuta dago irteera-kanal desberdinetan, plakaren konfigurazioaren arabera. PWM seinaleak hasieratzen ditu bai plakaren konfigurazio lehenetsirako bai alternatiboetarako, haien maiztasuna 100 Hz-tan eta hasierako betebehar-zikloa % 0-tan ezarriz. Ondoren, funtzioak betebehar-zikloa % 0tik % 100era aldatzen du % 5eko gehikuntzetan, eta berriro % 100etik % 0ra % 5eko gutxikuntzetan, urrats bakoitzaren artean 2 segundoko atzerapenarekin. Aldakuntza kontrolatu honek PWM seinalearen portaera behatzea eta ebaluatzea ahalbidetzen du QA_0 eta QA_1 kanaletan, plaka lehenetsirako, eta QA_0_ALT eta QA_1_ALT kanaletan, plaka alternatiborako.

Konfigurazio hauek jarraituz eta emandako aplikazio-funtzioak erabiliz, X-NUCLEO-ISO1A1 plaka modu eraginkorrean konfiguratu eta erabil dezakezu hainbat erakustaldi-erabilera kasutarako.

Sistema konfiguratzeko gida

Hardware deskribapena

STM32 Nucleo plataforma
STM32 Nucleo garapen-plakek modu merkean eta malgu bat eskaintzen diete erabiltzaileei irtenbideak probatzeko eta prototipoak eraikitzeko edozein STM32 mikrokontrolagailu-lerroarekin.
Arduino® konektibitatearen euskarriak eta ST morpho konektoreek STM32 Nucleo garapen plataforma irekiaren funtzionaltasuna errazten dute, aukeran dauden hedapen-plaka espezializatu ugarirekin.

STM32 Nucleo plakak ez du zunda bereizirik behar ST-LINK/V2-1 arazketa/programatzailea integratzen baitu.
STM32 Nucleo plaka STM32 software HAL liburutegi osoarekin dator, besteak beste, paketaturiko hainbat softwarerekin batera.amples.

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

STM32 Nucleo plakari buruzko informazioa hemen dago eskuragarri: www.st.com/stm32nucleo

X-NUCLEO-ISO1A1 hedapen-plaka
X-NUCLEO-ISO1A1 sarrera/irteera industrial isolatuak dituen ebaluazio-plaka bat da, STM32 Nucleo plaka zabaltzeko eta mikro-PLC funtzionaltasuna emateko diseinatua. X-NUCLEO-ISO1A1 plaketako bi elkarrekin pilatu daitezke STM32 Nucleo plaka baten gainean, hedapen-plakan jauzi-aukera egokia eginez GPIO interfazeetan gatazkak saihesteko. UL1577 ziurtagiria duten STISO620 eta STISO621 isolatzaile digitalek logika eta prozesu aldeko osagaien arteko isolamendua eskaintzen dute. Prozesu aldeko bi sarrera mugatu korronte handikoak CLT03-2Q3 bidez lortzen dira. CLT03-2Q3-k babesa, isolamendua eta energia gabeko egoeraren adierazpena eskaintzen ditu baldintza industrialetarako, IEC61000-4-2, IEC61000-4-4 eta IEC61000-4-5 bezalako estandarrak betetzeko diseinatua. IPS1025H-32/HQ-32 goi-aldeko etengailu bakoitzak 5.6 A-rainoko irteera babestua eskaintzen du, diagnostiko eta gidatze adimenduneko funtzioekin. Hauek karga kapazitiboak, erresistenteak edo induktiboak kontrola ditzakete. X-NUCLEO-ISO1A1-ek integratutako zirkuitu integratuen ebaluazio azkarra ahalbidetzen du X-CUBE-ISO1 software paketea erabiliz.

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

Hardwarearen konfigurazioa
Ondorengo hardware osagaiak behar dira:

  1. STM32 Nucleo garapen plataforma bat (eskaera kode iradokia: NUCLEO-GO71RB)
  2. Irteera digital industrialeko hedapen-txartel bat (eskaera-kodea: X-NUCLEO-ISO1A1)
  3. USB A motatik Mikro USBra kable bat STM32 Nucleo ordenagailura konektatzeko
  4. Kanpoko elikatze-iturri bat (24 V) eta hari lotutakoak X-NUCLEO-ISO1A1 hedapen-plaka elikatzeko.

Softwarearen konfigurazioa
X-NUCLEO-ISO32A1 hedapen-plakarekin hornitutako STM1 Nucleorako aplikazioak sortzeko garapen-ingurune egoki bat konfiguratzeko, software osagai hauek behar dira:

  • X-CUBE-ISO1: STM32Cube-rako hedapen bat, aplikazioen garapenerako dedikatua, X-NUCLEO-ISO1A1 plaka erabiltzea eskatzen duena. X-CUBE-ISO1 firmwarea eta erlazionatutako dokumentazioa hemen daude eskuragarri: www.st.com
  • Garapen-tresna-katea eta konpiladorea: STM32Cube hedapen-softwareak hiru ingurune hauek onartzen ditu:
    • IAR Embedded Workbench ARM®-erako (IAR-EWARM) tresna-katea
    • ErrealaView Mikrokontrolagailuen Garapen Kit-a (MDK-ARM-STM32) tresna-katea
    • STM32CubeIDE.

Taularen konfigurazioa
Plaka hardwarearen erabiltzailearen eskuliburuan (UM3483) zehaztutako jumper ezarpen egokiekin konfiguratu behar da. Jarraibide hauek arretaz jarraitzea ezinbestekoa da funtzionaltasun egokia bermatzeko eta arazo potentzialak saihesteko.

Sistema konfiguratzeko gida
Atal honek hardware atal desberdinak nola konfiguratu azaltzen du STM32 Nucleo, NUCLEO-G071RB plakan aplikazio bat garatu eta X-NUCLEO-ISO1A1 hedapen-plakarekin exekutatu aurretik.

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

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

X-CUBE-ISO1 hedapen paketearen konfigurazioa
X-NUCLEO-ISO1A1 plaka erabiltzen ari zaren konfigurazioaren araberako jumper posizio espezifikoekin konfiguratu behar da. Xehetasun gehiago hardwarearen eskuliburuan ikus daitezke.

  • 1. urratsa. Konektatu X-NUCLEO-ISO1A1 hedapen-plaka STM32 Nucleoaren gainean, konektore morfologikoen bidez.
    Bi ohol bata bestearen gainean erabiltzen badituzu, pilatu itzazu 11. irudian bezala.
  • 2. urratsa. Konektatu STM32 Nucleo plaka ordenagailu batera USB kablea erabiliz, CN1 USB konektorearen bidez, plakari energia emateko.
  • 3. urratsa. Piztu X-NUCLEO-ISO1A1 hedapen-plaka(k) J1 24V DC elikatze-iturrira konektatuz. Plaka pilatuak erabiltzen badituzu, ziurtatu bi plakak elikatuta daudela.
  • 4. urratsa. Ireki nahiago duzun tresna-katea (Keil-eko MDK-ARM, IAR-eko EWARM edo STM32CubeIDE).
  • 5. urratsa. Ireki software proiektua eta egin beharrezko aldaketak board_config.h fitxategian file erabiltzen diren plakaren(en) konfigurazioaren arabera.
  • 6. urratsa. Ezarri dagokion erabilera-kasu makroa st_iso_app.c-n file edo deitu beharrezko erabilera-kasua main.c-ko ST_ISO_APP_SelectUseCase funtzioa erabiliz file nahi den beste edozein funtziorekin batera.
  • 7. urratsa. Eraiki proiektua dena biltzeko files eta kargatu konpilatutako kodea STM32 Nucleo plakaren memorian.
  • 8. urratsa. Exekutatu kodea STM32 Nucleo plakan eta egiaztatu espero den portaera.

Berrikuspen historia
4. taula. Dokumentuen berrikuspenaren historia

Data Berrikuspena Aldaketak
14-maiatzak-2025 1 Hasierako kaleratzea.

OHAR GARRANTZITSUA - IRAKURRI ARRETA

STMicroelectronics NV eta bere filialek ("ST") eskubidea dute aldaketak, zuzenketak, hobekuntzak, aldaketak eta hobekuntzak egiteko ST produktuetan eta/edo dokumentu honetan edozein unetan jakinarazi gabe. Erosleek eskaerak egin aurretik ST produktuei buruzko azken informazio garrantzitsua eskuratu behar dute. ST produktuak eskaera onartzeko unean indarrean dauden STren salmenta-baldintzen arabera saltzen dira.

Erosleak dira ST produktuen aukeraketa, aukeraketa eta erabileraren erantzule bakarrak eta STek ez du bere gain hartzen aplikazioen laguntzaren edo erosleen produktuen diseinuaren erantzukizunik.
STek ez du baimenik, espresuki edo inplizituki, jabetza intelektualeko eskubiderik ematen.
ST produktuen birsalmentak hemen azaltzen den informazioaz bestelako xedapenak dituztenak baliogabetuko ditu STek produktu horrengatik emandako edozein berme.

ST eta ST logotipoa ST-ren marka komertzialak dira. ST markei buruzko informazio gehiago lortzeko, jo www.st.com/trademarks helbidera. Gainerako produktu edo zerbitzu-izen guztiak dagozkien jabeen jabetzakoak dira.
Dokumentu honetako informazioak dokumentu honen aurreko edozein bertsiotan emandako informazioa ordezkatzen eta ordezkatzen du.
© 2025 STMicroelectronics - Eskubide guztiak erreserbatuta

Dokumentuak / Baliabideak

STMicroelectronics UM3469 X-CUBE-ISO1 Software Hedapena [pdfErabiltzailearen eskuliburua
X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 Software Hedapena, UM3469, X-CUBE-ISO1 Software Hedapena, Software Hedapena

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *