Razširitev programske opreme STMicroelectronics UM3469 X-CUBE-ISO1

Uvod
Programski paket za razširitev X-CUBE-ISO1 za STM32Cube deluje na STM32 in vključuje vdelano programsko opremo za X-NUCLEO-ISO1A1. Programska oprema ponuja enostavno rešitev za razvoj osnovne naprave PLC, ki jo zagotavlja X-NUCLEO. Razširitev je zgrajena na programski tehnologiji STM32Cube za lažjo prenosljivost med različnimi mikrokrmilniki STM32.
Programska oprema je na voljo z implementacijo, ki deluje na razširitveni plošči X-NUCLEO-ISO1A1, priključeni na razvojno ploščo NUCLEO-G071RB (ali NUCLEO-G0B1RE ali NUCLEO-G070RB). Od zdaj naprej bo v dokumentu zaradi poenostavitve omenjena le NUCLEO-G071RB.
Plošča X-NUCLEO-ISO1A1 je zasnovana tako, da podpira zlaganje dveh plošč z ustreznimi nastavitvami mostičkov za razširitev vhodnih in izhodnih zmogljivosti.
Kratice in okrajšave
Tabela 1. Seznam akronimov
| akronim | Opis |
| PLC | Programabilni logični krmilnik |
| API | Vmesnik za programiranje aplikacij |
| PWM | Modulacija širine impulza |
| GPIO | Splošni vhod/izhod. |
| HAL | Plast abstrakcije strojne opreme |
| PC | Osebni računalnik |
| FW | Vdelana programska oprema |
Kaj je STM32Cube?
STM32Cube™ predstavlja pobudo podjetja STMicroelectronics, ki razvijalcem olajša življenje z zmanjšanjem razvojnega truda, časa in stroškov. STM32Cube pokriva portfelj STM32.
STM32Cube različice 1.x vključuje:
- STM32CubeMX, grafično orodje za konfiguracijo programske opreme, ki omogoča generiranje inicializacijske kode C z uporabo grafičnih čarovnikov.
- Celovita vgrajena programska platforma, specifična za vsako serijo (kot je STM32CubeG0 za serijo STM32G0), ki vključuje:
- vgrajena programska oprema za abstrakcijsko plast STM32Cube HAL, ki zagotavlja maksimalno prenosljivost v celotnem portfelju STM32
- dosleden nabor komponent vmesne programske opreme, kot so RTOS, USB, TCP/IP in grafika
- vsi vgrajeni programski pripomočki s celotnim naborom examples.
Arhitektura STM32Cube
Rešitev vdelane programske opreme STM32Cube je zgrajena na treh neodvisnih ravneh, ki lahko med seboj enostavno komunicirajo, kot je opisano na spodnjem diagramu.

Razširitev programske opreme X-CUBE-ISO1 za STM32Cube
konecview
Vdelana programska oprema za X-NUCLEO-ISO1A1, industrijsko izolirano vhodno/izhodno razširitveno ploščo, razvito v okoljih in knjižnicah STM32, izkorišča visokozmogljiv mikrokontroler plošč STM32 Nucleo za upravljanje digitalnih vhodov, izhodov z integrirano diagnostiko, dinamično omejitvijo toka in generiranjem PWM signala. Ponuja celovito konfiguracijo in nadzor plošče, vključno z ogrodji za privzete in alternativne pogoje, makri za nastavitev vrednosti preddelilnika ter definicijami za vrata in pine GPIO.
Podpira različneampprimeri uporabe, kot so zrcaljenje digitalnega vhoda v izhod, komunikacija UART prek plošče Nucleo, odkrivanje napak, testni primeri in generiranje PWM, ki jih je mogoče neposredno uporabiti ter jih je mogoče enostavno prilagoditi in razširiti.
API ponuja robusten nabor funkcij za nadzor digitalnih vhodov/izhodov, zaznavanje napak in posodabljanje stanja plošč, s konfiguracijskimi nastavitvami za hkratno delovanje dveh plošč v različnih načinih. Na voljo so posebne funkcije API-ja za inicializacijo, zagon, zaustavitev in konfiguriranje PWM signalov za digitalne izhodne kanale.
Paket podpore za ploščo vključuje funkcije za nadzor in spremljanje GPIO pinov, povezanih z IPS1025H-32, in branje stanja GPIO pinov, povezanih s CLT03-2Q3, prek digitalnega izolatorja.
Konfiguracija in inicializacija temeljita na STM32CubeMX, razvoj in odpravljanje napak pa podpirajo orodja STM32CubeIDE, IAR Systems in Keil®.
Arhitektura
Vdelano programsko opremo za X-NUCLEO-ISO1A1 lahko razdelimo na več ločenih funkcionalnih blokov, od katerih je vsak odgovoren za različne vidike delovanja sistema:

- Konfiguracija in upravljanje plošče:
- Datoteka board_config.h file Vsebuje makre za konfiguracijo plošče za delovanje v privzetih ali alternativnih pogojih ali obojem. Vključuje tudi definicije za vrednosti preddelilnika ter vrata in pine GPIO.
- Ta blok zagotavlja, da je plošča pravilno nastavljena za želene delovne pogoje in da so na mestu vse potrebne strojne konfiguracije.
- Primeri uporabe:
- Datoteki st_iso_app.h in st_iso_app.c fileVsebujejo primere uporabe aplikacij, namenjene preizkušanju različnih funkcionalnosti plošče.
- Ti primeri uporabe vključujejo zrcaljenje digitalnega vhoda v izhod, teste odkrivanja napak in generiranje PWM signala.
- ExampNa voljo so konfiguracije za hkratno delovanje dveh plošč v različnih načinih, kar dokazuje vsestranskost in prilagodljivost vdelane programske opreme.
- Funkcije API-ja:
- Datoteki iso1a1.h in iso1a1.c fileponujajo obsežen nabor API-jev za podporo različnim funkcionalnostim.
- Ti API-ji vključujejo funkcije za nadzor digitalnih vhodov/izhodov, odkrivanje napak in posodobitve stanja plošče.
- API-ji so zasnovani tako, da so preprosti in intuitivni, kar uporabnikom omogoča enostavno interakcijo z nadzorno ploščo in izvajanje potrebnih operacij.
- Nadzor PWM signala:
- Datoteki pwm_api.h in pwm_api.c fileVsebujejo specifične API funkcije, povezane z generiranjem PWM signala.
- Te funkcije omogočajo inicializacijo, konfiguriranje, zagon in zaustavitev PWM signalov za digitalne izhodne kanale.
- Funkcionalnost PWM ni privzeta izbira. Konfiguracijo plošče je treba spremeniti, da jo omogočite. Za več podrobnosti glejte poglavje 3.5: API-ji.
- Paket podpore upravnemu odboru:
- Paket podpore upravnemu odboru vključuje fileza krmiljenje in spremljanje GPIO pinov, povezanih z IPS1025H-32, in branje stanja GPIO pinov, povezanih s CLT03-2Q3.
- ips1025h_32.h in ips1025h_32.c fileZagotavljajo funkcije za nastavitev, brisanje in zaznavanje napak na priključkih GPIO, povezanih z IPS1025H-32.
- Datoteki clt03_2q3.h in clt03_2q3.c filezagotavljajo funkcije za branje stanja GPIO pinov, povezanih s CLT03-2Q3.
Demonstracijska vdelana programska oprema izvaja več preprostih primerov uporabe za predstavitev zmogljivosti sistema. Ti primeri uporabe in uporabniški API-ji se izvajajo usklajeno, da se zagotovi nemoteno delovanje in natančni rezultati. Arhitektura je zasnovana tako, da jo je mogoče enostavno razširiti, kar uporabnikom omogoča dodajanje novih funkcionalnosti in primerov uporabe po potrebi. Privzeta konfiguracija je na voljo za delovanje ene plošče z digitalnimi industrijskimi V/I. Nastavitve mostičkov morajo biti tudi v privzetem načinu, kot je opisano v tabeli 2. Zrcaljenje digitalnih vhodov in izhodov (DIDO) je privzeti primer uporabe aplikacije vdelane programske opreme.
Struktura map

V programski paket so vključene naslednje mape:
- Dokumentacija vsebuje preveden HTML file ustvarjen iz izvorne kode, ki podrobno opisuje komponente programske opreme in API-je.
- Gonilniki vsebujejo:
- mapo STM32Cube HAL, ki se nahaja v podmapah STM32G0xx_HAL_Driver. Te fileTukaj niso opisani, ker niso specifični za programsko opremo X-CUBE-ISO1, temveč izvirajo neposredno iz ogrodja STM32Cube.
- mapo CMSIS, ki vsebuje standard vmesnika programske opreme mikrokrmilnika Cortex® files iz Arm. te fileso od proizvajalca neodvisni sloji strojne abstrakcije za serijo procesorjev Cortex®-M. Tudi ta mapa je nespremenjena iz ogrodja STM32Cube.
- mapa BSP, ki vsebuje kode za komponente IPS1025H-32 in CLT03-2Q3 ter API-je, povezane z X-NUCLEO-ISO1A1.
- Aplikacija vsebuje uporabniško mapo, ki vsebuje datoteko main.c. file, primer uporabe aplikacije file, st_iso_app.c in board_config.h file, predvideno za platformo NUCLEO-G071RB.
mapa BSP
Programska oprema X-CUBE-ISO1 uporablja dve različni komponenti files, ki so znotraj BSP/komponent:
IPS1025
ips1025h_32.h in ips1025h_32.c fileZagotavljajo celovito implementacijo gonilnikov za GPIO pine, povezane z IPS1025H-32, vključno s popolno funkcionalnostjo za nadzor vseh pinov in odkrivanje napak. fileIzvaja funkcije za inicializacijo naprave, nastavitev in brisanje stanja kanala, zaznavanje napak in upravljanje funkcionalnosti PWM. Gonilnik podpira več naprav in kanalov, s popolnimi zmogljivostmi za posamezne kanale ali kot skupino.
CLT03
Datoteki clt03_2q3.h in clt03_2q3.c fileImplementirajo polno opremljen gonilnik za GPIO pine, povezane s CLT03-2Q3, s popolnimi zmožnostmi branja stanj vseh pinov. Gonilnik ponuja funkcije za inicializacijo naprave, branje stanja posameznih kanalov in hkratno pridobivanje informacij o stanju vseh kanalov. Podpira več konfiguracij naprav in vzdržuje notranje stanje za učinkovito upravljanje kanalov.
Programski API-ji X-CUBE-ISO1 so razdeljeni na dva glavna vira files, ki se nahajajo v podmapi ISO1A1:
ISO1A1
ISO1A1 fileObsegajo obsežen nabor funkcij API-ja, zasnovanih za konfiguracijo plošče, interakcijo komponent in upravljanje napak. Te funkcije omogočajo operacije branja in pisanja, odkrivanje napak in posodabljanje ter vključujejo različne pomožne pripomočke za podporo primarnih funkcij API-ja. Poleg tega fileZagotavljajo funkcionalnost za krmiljenje LED, inicializacijo GPIO, obdelavo prekinitev in komunikacijo UART.
PWM API
PWM API ponuja funkcije za inicializacijo, konfiguriranje, zagon in zaustavitev PWM signalov. Omogoča nastavitev frekvence PWM in delovnega cikla za določene časovne pine, kar zagotavlja natančen nadzor nad delovanjem PWM.
Mapa aplikacij
Mapa aplikacij vsebuje glavno filepotrebne za vdelano programsko opremo, vključno z glavami in izvorno kodo fileSpodaj je podroben opis files v tej mapi:
- board_config.h: Konfiguracijski makri za ploščo.
- main.c: Glavni program (koda example, ki temelji na knjižnici za ISO1A1).
- st_iso_app.c: Funkcije aplikacije za testiranje in konfiguracijo plošč.
- stm32g0xx_hal_msp.c: Inicializacijske rutine HAL.
- stm32g0xx_it.c: Obdelovalec prekinitev.
- syscalls.c: Implementacije sistemskih klicev.
- sysmem.c: Upravljanje sistemskega pomnilnika.
- system_stm32g0xx.c: Inicializacija sistema.
Zahtevani viri programske opreme
Naprava Nucleo krmili in komunicira s ploščo X-NUCLEO-ISO1A1 prek GPIO-jev. To zahteva uporabo več GPIO-jev za vhod, izhod in zaznavanje napak industrijskih V/I naprav, ki so vsebovane v plošči X-NUCLEO-ISO1A1. Za več podrobnosti in konfiguracije mostičkov glejte uporabniški priročnik za strojno opremo UM3483.
Konfiguracija plošče (board_config.h)
Datoteka board_config.h file Določa uporabljene vire in konfiguracijske makre za konfiguriranje programske opreme glede na konfiguracijo plošče. Obvladuje do dve plošči (na primer zlaganje dveh plošč).
Privzeta konfiguracija programske opreme DEFAULT je usklajena z razširitveno ploščo X-NUCLEO-ISO1A1, pri čemer so mostički v privzetih položajih. Če želite konfigurirati programsko opremo za X-NUCLEO-ISO1A1 v privzetih nastavitvah, odstranite komentarje makra BOARD_ID_DEFAULT v datoteki board_config.h. file.
Konfiguracija programske opreme ALTERNATE se nastavi z odkomentiranjem makra BOARD_ID_ALTERNATE v datoteki board_config.h. file in spreminjanje položajev mostičkov na plošči.
Če želite hkrati uporabljati dve plošči v konfiguraciji stack-up, odstranite komentarje iz makrov BOARD_ID_DEFAULT in BOARD_ID_ALTERNATE ter zagotovite, da so mostički ene plošče v privzetem položaju, druge pa v izmeničnem položaju. Upoštevajte, da ni priporočljivo, da sta obe plošči v isti konfiguraciji (obe privzeto ali obe izmenično).
Ko uporabljate samo eno ploščo, se prepričajte, da je programska oprema konfigurirana samo za eno konfiguracijo in da je makro, ki ustreza drugi konfiguraciji, komentiran.

Predskalerji
Vrednosti predskalerja lahko konfiguriramo v datoteki board_config.h, da dosežemo različna frekvenčna območja za izhod PWM z nastavitvijo ustreznih makrov. Če želite uporabiti vrednost predskalerja, odstranite komentar ustreznega makra in komentirajte ostale. Privzeto se uporablja DEFAULT_PRESCALAR.
- PREDSKALER_1
- PREDSKALER_2
- PRIVZETI_PREDSKALER
Vrednosti predskalerja se uporabljajo le, ko se uporabljajo časovniki, in niso potrebne za nobeno osnovno V/I operacijo. Vrednosti makrov predskalarja in njihova ustrezna frekvenčna območja si lahko ogledate v dokumentaciji kode ali v sami kodi.
Srčni utrip LED
Zeleno uporabniško LED diodo D7 lahko konfiguriramo tako, da utripa v srčnem utripu kot preizkus pravilne povezave s ploščo NUCLEO-G071RB. Makro HEARTBEAT_LED, ko ni komentiran, utripa zelena LED dioda na X-NUCLEO-ISO1A1, ko je priključena na NUCLEO. Sveti 1 sekundo in se 2 sekundi ugasne, za čas pa poskrbijo časovniki. Ko se ne uporablja ali se kliče katera koli funkcija, ki vključuje LED diode, makro ne sme biti komentiran.
Konfiguracija vhodnega in izhodnega GPIO
Vsaka plošča X-NUCLEO-ISO1A1 je opremljena z dvema vhodnima in dvema izhodnima priključkoma. Zmogljivosti plošče je mogoče razširiti z zlaganjem dveh plošč X-NUCLEO-ISO1A1 eno na drugo, kar omogoča uporabo štirih digitalnih vhodnih in štirih digitalnih izhodnih priključkov. Priložena programska oprema vključuje obsežne API-je, ki omogočajo branje, nastavitev in brisanje priključkov. Poleg tega API-ji omogočajo hkratno nastavitev, branje ali brisanje vseh priključkov. Podrobne informacije o funkcijah API-ja so na voljo v dokumentaciji kode in v razdelku API v tem dokumentu.

Tukaj predpona DI označuje digitalna vhodna vrata, DO pa digitalna izhodna vrata. Za alternativno konfiguracijo programska oprema uporablja enake konvencije poimenovanja z dodano pripono _alt.
V naslednji tabeli so podrobno opisani makri GPIO, definirani v programski opremi, ki ustrezajo različnim IO-vratom:
Tabela 2. GPIO-ji, dodeljeni za privzete in alternativne konfiguracije programske opreme
| Ime | funkcija | Privzeta konfiguracija | Nadomestna konfiguracija |
| VNOS PIN-a | Vhodni pin 1 | GPIOC, IA0_IN_1_PIN | GPIOD, IA0_IN_1_PIN |
| Vhodni pin 2 | GPIOD, IA1_IN_2_PIN | GPIOC, IA1_IN_1_PIN | |
| IZHODNI PIN | Izhodni pin 1 | GPIOC, QA0_CNTRL_1_PIN | GPIOD, QA0_CNTRL_1_PIN |
| Izhodni pin 2 | GPIOC, QA1_CNTRL_2_PIN | GPIOC, QA1_CNTRL_2_PIN | |
| PIN ZA NAPAKO | Napaka pri pin 1 | GPIOC, FLT1_QA0_2_OT_PIN | GPIOD, FLT1_QA0_1_OT_PIN |
| Napaka pri pin 2 | GPIOC, FLT2_QA0_2_OL_PIN | GPIOD, FLT2_QA0_1_OL_PIN | |
| Napaka pri pin 3 | GPIOC, FLT1_QA1_2_OT_PIN | GPIOC, FLT1_QA1_1_OT_PIN | |
| Napaka pri pin 4 | GPIOC, FLT2_QA1_1_OL_PIN | GPIOD, FLT2_QA1_2_OL_PIN | |
| KONFIGURACIJSKI MAKRO | PRIVZETI ID_TABLE | NADOMESTNI ID_TABLE |
Časovniki in PWM
Časovnike je mogoče uporabiti v vdelani programski opremi X-CUBE-ISO1 za generiranje PWM signalov za določene pine. Privzeto časovniki niso inicializirani, razen TIM3. Ustrezne časovnike je treba inicializirati pred generiranjem PWM signalov, ustrezna izhodna vrata pa morajo biti inicializirana v načinu PWM.
Za normalno vhodno/izhodno delovanje GPIO ni treba konfigurirati časovnika ali izhodnih vrat, saj je to privzeto urejeno. Če pa so izhodni pini nastavljeni na način PWM, jih moramo ponovno konfigurirati v načinu GPIO, da se bodo uporabljali kot pini GPIO.
Opomba: Ko se izhodni pini uporabljajo za generiranje PWM, je izhod GPIO onemogočen in obeh funkcionalnosti ni mogoče hkrati izvajati. Za ponovno omogočanje GPIO po uporabi PWM lahko pokličete funkcijo API ST_ISO_BoardConfigureDefault() ali ST_ISO_InitGPIO() za konfiguracijo vseh vrat kot GPIO hkrati ali ST_ISO_Init_GPIO() z določenim GPIO vratom in pinom.
Kot je bilo že omenjeno, programska oprema privzeto uporablja tudi en časovnik, TIM3, ki se uporablja za časovno usklajevanje uporabniških LED diod, ure in implementacijo časovnega usklajevanja UART. Privzeto je konfiguriran za obdobje 1 sekunde.
Naslednja tabela podrobno opisuje časovnike, ki so na voljo za vsak pin v naši kodi:
Tabela 3. Časovniki, ki so na voljo za vsak pin
| Pin ime | Zastopanje programske opreme | Časovnik | Časovni kanal | Nadomestna funkcija |
| QA0_CNTRL_1_PIN | QA_0 | TIM2 | ČAS_KANAL_4 | GPIO_AF2_TIM2 |
| QA1_CNTRL_2_PIN | QA_1 | TIM1 | ČAS_KANAL_3 | GPIO_AF2_TIM1 |
| QA0_CNTRL_2_PIN | QA_0_ALT | TIM1 | ČAS_KANAL_4 | GPIO_AF2_TIM1 |
| QA1_CNTRL_1_PIN | QA_1_ALT | TIM17 | ČAS_KANAL_1 | GPIO_AF2_TIM17 |
Dodatni pripomočki vdelane programske opreme
Vdelana programska oprema vključuje dodatne pripomočke za izboljšanje funkcionalnosti ocenjevalne plošče X-NUCLEO-ISO1A1. Nekateri od njih so opisani spodaj.
UART
Funkcija komunikacije UART omogoča spremljanje in odpravljanje napak stanja plošče v realnem času prek orodij za računalnik, kot so TeraTerm, PuTTY in druge podobne aplikacije. Programska oprema omogoča prenos podatkov UART prek UART-a, ki je prisoten v plošči NUCLEO-G071RB. Funkcija `ST_ISO_UART` pošilja podrobne informacije o stanju plošče prek UART-a, vključno s časom delovanja sistema, konfiguracijo vdelane programske opreme in stanjem napak. Te podatke je mogoče... viewz uporabo katere koli aplikacije za serijska vrata, kot je TeraTerm. Funkcija `ST_ISO_APP_DIDOandUART` združuje digitalne vhodno/izhodne operacije z UART komunikacijo in v določenih intervalih prenaša stanje vseh vhodnih in izhodnih kanalov. Spodaj so konfiguracijske nastavitve in kotampkako se podatki prikažejo v programu TeraTerm. Ime vrat se lahko razlikuje glede na sistem in uporabljena serijska vrata.


Konfiguracija načina IO-pina
Pripomoček za konfiguracijo načina IO-pinov uporabnikom omogoča nastavitev vhodnih in izhodnih vrat plošče z uporabo funkcije ST_ISO_BoardConfigure(). Ta funkcija podpira konfiguriranje dveh izhodnih vrat (QA0, QA1) in dveh vhodnih vrat (IA0, IA1) v način vhod/izhod, način izhoda PWM ali način prekinitvenega vhoda. Z nastavitvijo parametrov in klicem te funkcije lahko uporabniki preprosto prilagodijo konfiguracijo IO plošče specifičnim potrebam.
V vhodno/izhodnem načinu program inicializira GPIO pine za splošne digitalne operacije. V izhodnem načinu PWM nastavi časovnike za natančno krmiljenje PWM signala. V vhodnem načinu prekinitev program konfigurira pine za obravnavo prekinitev, kar omogoča odzivno programiranje, ki ga vodijo dogodki.
Obravnavanje prekinitev
Za obdelavo signalov NAPAK programska oprema omogoči povezane prekinitvene linije, kar omogoča odzivno programiranje, ki ga vodijo dogodki. S temi prekinitvami je mogoče povezati prilagojen upravljalnik prek
Funkcija HAL_GPIO_EXTI_Rising_Callback, definirana v API-ju. Programska oprema vključuje funkcije za inicializacijo GPIO pinov v načinu prekinitve prek funkcije ST_ISO_BoardConfigure in konfiguriranje določenih dejanj v upravljalnikih IRQ EXTI. To uporabnikom omogoča, da prilagodijo, kako se plošča odziva na zunanje dogodke, s čimer zagotovijo učinkovito upravljanje različnih stanj in sprožilcev napak.
API-ji
Programski API X-CUBE-ISO1 ponuja obsežen nabor funkcij za nadzor in spremljanje plošče X-NUCLEO-ISO1A1, vključno z generiranjem PWM signala in delovanjem GPIO. API je zasnovan za enostavno uporabo in integracijo v različne aplikacije, kar zagotavlja prilagodljivost in nadzor nad funkcionalnostjo plošče.
Programski API X-CUBE-ISO1 je definiran v mapi BSP/ISO1A1. Njegove funkcije imajo predpono ST_ISO. API je aplikacijam viden prek iso1a1.c in pwm_api.c. files je kombinacija konstant, podatkovnih struktur in funkcij.
SampVdelana programska oprema uporablja te API-je za prikaz nekaterih možnih uporab teh funkcij.
Programski paket X-CUBE-ISO1 ponuja dva nabora API-jev:
- API ISO1A1
- PWM API
API ISO1A1
API ISO1A1 je definiran v datotekah iso1a1.h in iso1a1.c. filePonuja funkcije za konfiguriranje in krmiljenje plošče ISO1A1, vključno z vhodno/izhodnimi operacijami GPIO in odkrivanjem napak.
Ključne funkcije
- ST_ISO_BoardConfigureDefault: Konfigurira IO vrata plošče s privzeto konfiguracijo GPIO.
- ST_ISO_BoardConfigure: Konfigurira način vhodnih in izhodnih vrat za ploščo.
- ST_ISO_BoardInit: Inicializira strojno opremo plošče.
- ST_ISO_BoardMapInit: Inicializira funkcionalnost plošče na podlagi konfiguracije ročajev kanalov.
- ST_ISO_GetFWVersion: Vrne trenutno različico vdelane programske opreme.
- ST_ISO_GetChannelHandle: Pridobi ročaj kanala za določeno ime kanala.
- ST_ISO_InitGPIO: Inicializira določeni GPIO pin z danim ID-jem modula.
- ST_ISO_InitInterrupt: Inicializira določeni GPIO pin kot prekinitev z danim ID-jem modula.
- ST_ISO_EnableFaultInterrupt: Inicializira napake GPIO pinov v načinu prekinitve.
- ST_ISO_SetChannelStatus: Nastavi stanje določenega kanala.
- ST_ISO_SetOne_DO: Nastavi en sam digitalni izhodni kanal.
- ST_ISO_ClearOne_DO: Izbriše en sam digitalni izhodni kanal.
- ST_ISO_WriteAllChannels: Zapiše podatke na vse digitalne izhodne kanale.
- ST_ISO_GetOne_DI: Pridobi stanje enega digitalnega vhodnega kanala.
- ST_ISO_ReadAllChannel: Prebere stanje vseh vhodnih kanalov.
- ST_ISO_ReadAllOutputChannel: Prebere stanje vseh izhodnih kanalov.
- ST_ISO_ReadFaultStatus: Prebere stanje napake iz vseh vrat za zaznavanje napak.
- ST_ISO_ReadFaultStatusPolling: Preizkusi zaznavanje napak na ploščah v načinu anketiranja.
- ST_ISO_DisableOutputChannel: Onemogoči izhod za ta kanal.
- ST_ISO_UpdateBoardStatusInfo: Posodobi informacije o stanju plošče.
- ST_ISO_UpdateFaultStatus: Posodobi stanje napake za določen kanal.
- ST_ISO_BlinkLed: Utripa določena LED z določeno zakasnitvijo in številom ponovitev.
- ST_ISO_UART: Pošlje informacije o stanju plošče prek UART-a.
- ST_ISO_SwitchInit: Inicializira komponente stikala.
- ST_ISO_SwitchDeInit: Deinicializira instanco stikala.
- ST_ISO_DigitalInputInit: Inicializira digitalne vhodne komponente.
- ST_ISO_DigitalInputDeInit: Deinicializira instanco digitalnega vhoda.
PWM API
PWM API je definiran v datotekah pwm_api.h in pwm_api.c. files. Ponuja naslednje funkcije za inicializacijo in krmiljenje PWM signalov za določene pine.
- ST_ISO_Init_PWM_Signal: Inicializira časovnike in specifični pin za PWM signal.
- ST_ISO_Set_PWM_Frequency: Nastavi frekvenco PWM za določen pin.
- ST_ISO_Set_PWM_Duty_Cycle: Nastavi delovni cikel PWM za določen pin.
- ST_ISO_Start_PWM_Signal: Zažene PWM signal na določenem pinu.
- ST_ISO_Stop_PWM_Signal: Ustavi PWM signal na določenem pinu.
Za zagon PWM signala na posameznem kanalu najprej pokličite funkcijo ST_ISO_Init_PWM_Signal, nato pa nastavite želeno frekvenco in delovni cikel s klicem ST_ISO_Set_PWM_Frequency in
Funkciji ST_ISO_Set_PWM_Duty_Cycle, nato pa lahko PWM signal zaženete s klicem funkcije ST_ISO_Start_PWM_Signal in ga ustavite s klicem ST_ISO_Stop_PWM_Signal.
Funkcijo je treba poklicati z ustreznim imenom pina in razpoložljivimi časovniki, katerih podrobnosti so navedene v tabeli 3. Različni izhodni kanali se lahko nastavijo z različnimi frekvencami in delovnimi cikli; spreminjanje frekvence ali delovnega cikla ne vpliva na drugega, ostane enak.
Podrobne tehnične informacije o API-jih, ki so na voljo uporabniku, lahko najdete v prevedenem HTML-ju file ki se nahaja v mapi »Dokumentacija« programskega paketa, kjer so v celoti opisane vse funkcije in parametri.
Opis aplikacije
Demonstracijska aplikacija implementira več preprostih primerov uporabe. st_iso_app in board_config fileIgrajo ključno vlogo pri nastavitvi in uporabi plošče ter njenih aplikacijskih funkcij. Pred uporabo teh funkcij se prepričajte, da sta konfiguracija plošče in programske opreme medsebojno sinhronizirani.
Funkcije aplikacije (st_iso_app.h in st_iso_app.c)
Funkcije aplikacije imajo predpono ST_ISO_APP; to so funkcije najvišje ravni, vidne uporabniku, ki za njihovo izvedbo kliče funkcije API-ja. Funkcije aplikacije je mogoče poklicati v datoteki main.c. file za njihovo delovanje.
- Izbira primera uporabe: Uporabnik lahko v datoteki st_iso_app.c odstrani komentarje za želeni makro primera uporabe. fileFunkcija ST_ISO_APP_SelectUseCaseMacro(), ki se kliče v datoteki main.c, inicializira ta primer uporabe, funkcija ST_ISO_APP_SelectedFunction() pa ga implementira v datoteki main.c. Ta pristop omogoča enostavno konfiguracijo načina delovanja s preprostim spreminjanjem definicij makrov, s čimer se zagotovi, da se ustrezna funkcionalnost izvede glede na izbrani primer uporabe. Privzeto je izbran primer uporabe DIDO in uporabniku ni treba spreminjati kode za njegovo implementacijo.
- Zrcaljenje digitalnega vhoda v digitalni izhod (ST_ISO_APP_UsecaseDIDO): Ta funkcija prebere stanje vseh vhodnih kanalov in zapiše isto stanje v vse izhodne kanale. Uporabna je za zrcaljenje digitalnih vhodov v digitalne izhode.
- Zrcaljenje digitalnega vhoda v digitalni izhod z UART (ST_ISO_APP_DIDOandUART): Ta funkcija zrcali digitalne vhode v digitalne izhode, podobno kot funkcija ST_ISO_APP_UsecaseDIDO. Poleg tega prenaša stanje plošče prek vmesnika UART na napravi Nucleo, kar omogoča spremljanje stanja. viewpreko serijskih vrat z uporabo aplikacij, kot je Tera Term.
- Funkcija testnega primera (ST_ISO_APP_TestCase): Ta funkcija izvede vrsto testov in dejanj na podlagi konfiguracije plošče. Preveri stanje napake, prebere stanje dveh digitalnih vhodnih kanalov in izvede dejanja na podlagi njunih vrednosti. Ta funkcija pomaga pri hitrem ocenjevanju delovanja in funkcionalnosti plošče ter pridobivanju vizualnih povratnih informacij prek različnih vzorcev LED diod. Zagotovite makro HEARTBEAT_LED v datoteki board_config.h. file je komentirano, da je treba upoštevati pravilne vzorce LED.
- Generiranje PWM (ST_ISO_APP_PWM _OFFSET): Ta funkcija zažene signal PWM na obeh izhodnih kanalih s frekvenco 1 Hz in delovnim ciklom 50 %. Inicializira signal PWM, nastavi frekvenco in delovni cikel ter zažene signal PWM za določen ID plošče. Signal PWM se generira z odmikom med obema kanaloma in zato nista v fazi.
- Preizkus zaznavanja napak (ST_ISO_APP_FaultTest): Ta funkcija ovrednoti zaznavanje napak z motoriziranjem vgrajenih diagnostičnih pinov pametnega izhodnega modula IPS1025 v načinu anketiranja ali prekinitve. Konfigurira način zaznavanja napak, inicializira zaznavanje napak in posodobi strukturo stanja napak glede na izbrani način. Ta funkcija je ključnega pomena za zagotavljanje zanesljivosti in varnosti plošče z učinkovitim zaznavanjem in obravnavo napak. V načinu anketiranja se stanje napake posodablja vsako sekundo s pomočjo časovnika in se odraža v strukturi defaultBoardFaultStatus ali alternateBoardFaultStatus. V načinu prekinitve se stanje napake posodobi le, ko se napaka pojavi, in sproži programsko opremo, da počisti ustrezna izhodna vrata.
- Test variacije PWM (ST_ISO_APP_PwmVariationTest): Ta funkcija je zasnovana za testiranje variacije signalov PWM (modulacija širine impulzov) na različnih izhodnih kanalih glede na konfiguracijo plošče. Inicializira signale PWM tako za privzeto kot za alternativno konfiguracijo plošče, pri čemer nastavi njihovo frekvenco na 100 Hz, začetni delovni cikel pa na 0 %. Funkcija nato spreminja delovni cikel od 0 % do 100 % v korakih po 5 % in nazaj od 100 % do 0 % v korakih po 5 %, z 2-sekundnim zamikom med posameznimi koraki. Ta nadzorovana variacija omogoča opazovanje in vrednotenje vedenja signala PWM na kanalih QA_0 in QA_1 za privzeto ploščo ter QA_0_ALT in QA_1_ALT za alternativno ploščo.
Z upoštevanjem teh konfiguracij in uporabo funkcij aplikacije lahko učinkovito nastavite in uporabljate ploščo X-NUCLEO-ISO1A1 za različne demonstracijske primere uporabe.
Vodnik za nastavitev sistema
Opis strojne opreme
Platforma STM32 Nucleo
Razvojne plošče STM32 Nucleo uporabnikom nudijo cenovno ugoden in prilagodljiv način za testiranje rešitev in izdelavo prototipov s katero koli linijo mikrokrmilnikov STM32.
Podpora za povezljivost Arduino® in konektorji ST morpho omogočajo enostavno razširitev funkcionalnosti odprte razvojne platforme STM32 Nucleo s široko paleto specializiranih razširitvenih plošč, med katerimi lahko izbirate.
Plošča STM32 Nucleo ne potrebuje ločenih sond, saj vključuje razhroščevalnik/programator ST-LINK/V2-1.
Plošča STM32 Nucleo je opremljena s obsežno knjižnico programske opreme STM32 HAL skupaj z različno pakirano programsko opremo, npr.amples.

Informacije o plošči STM32 Nucleo so na voljo na www.st.com/stm32nucleo
Razširitvena plošča X-NUCLEO-ISO1A1
X-NUCLEO-ISO1A1 je ocenjevalna plošča z izoliranimi industrijskimi vhodi/izhodi, zasnovana za razširitev plošče STM32 Nucleo in zagotavljanje funkcionalnosti mikro-PLC. Dve plošči X-NUCLEO-ISO1A1 je mogoče zložiti skupaj na ploščo STM32 Nucleo z ustrezno izbiro mostičkov na razširitveni plošči, da se izognemo konfliktom v vmesnikih GPIO. Digitalna izolatorja STISO1577 in STISO620 s certifikatom UL621 zagotavljata izolacijo med logičnimi in procesnimi komponentami. Dva tokovno omejena visokonapetostna vhoda s procesne strani sta realizirana prek CLT03-2Q3. CLT03-2Q3 zagotavlja zaščito, izolacijo in indikacijo stanja brez energije za industrijske pogoje, zasnovana pa je tako, da izpolnjuje standarde, kot so IEC61000-4-2, IEC61000-4-4 in IEC61000-4-5. Vsako od visokonapetostnih stikal IPS1025H-32/HQ-32 zagotavlja zaščiten izhod do 5.6 A z diagnostičnimi in pametnimi krmilnimi funkcijami. Ta lahko krmilijo kapacitivne, uporovne ali induktivne obremenitve. X-NUCLEO-ISO1A1 omogoča hitro oceno vgrajenih integriranih vezij z uporabo programskega paketa X-CUBE-ISO1.

Nastavitev strojne opreme
Potrebne so naslednje komponente strojne opreme:
- Ena razvojna platforma STM32 Nucleo (predlagana koda naročila: NUCLEO-GO71RB)
- Ena industrijska razširitvena plošča za digitalne izhode (koda naročila: X-NUCLEO-ISO1A1)
- En kabel USB tipa A v Micro USB za povezavo naprave STM32 Nucleo z računalnikom
- Zunanji napajalnik (24 V) in pripadajoče žice za napajanje razširitvene plošče X-NUCLEO-ISO1A1.
Nastavitev programske opreme
Za vzpostavitev ustreznega razvojnega okolja za ustvarjanje aplikacij za STM32 Nucleo, opremljen z razširitveno ploščo X-NUCLEO-ISO1A1, so potrebne naslednje programske komponente:
- X-CUBE-ISO1: razširitev za STM32Cube, namenjena razvoju aplikacij, ki zahteva uporabo plošče X-NUCLEO-ISO1A1. Vdelana programska oprema X-CUBE-ISO1 in povezana dokumentacija sta na voljo na www.st.com
- Razvojna orodja in prevajalnik: razširitvena programska oprema STM32Cube podpira naslednja tri okolja:
- Vgrajeno delovno okolje IAR za orodjarno ARM® (IAR-EWARM)
- ResničnoView Orodja za razvojni komplet mikrokrmilnikov (MDK-ARM-STM32)
- STM32CubeIDE.
Postavitev plošče
Plošča mora biti konfigurirana z ustreznimi nastavitvami mostičkov, kot je navedeno v uporabniškem priročniku za strojno opremo (UM3483). Skrbno upoštevanje teh smernic je bistvenega pomena za zagotovitev pravilnega delovanja in preprečevanje morebitnih težav.
Vodnik za nastavitev sistema
V tem razdelku je opisano, kako nastaviti različne dele strojne opreme pred razvojem in izvajanjem aplikacije na plošči STM32 Nucleo, NUCLEO-G071RB z razširitveno ploščo X-NUCLEO-ISO1A1.


Nastavitev razširitvenega paketa X-CUBE-ISO1
Ploščo X-NUCLEO-ISO1A1 je treba konfigurirati s specifičnimi položaji mostičkov glede na to, v kateri konfiguraciji uporabljate ploščo. Podrobnosti o tem si lahko ogledate v priročniku za strojno opremo.
- 1. korak Razširitveno ploščo X-NUCLEO-ISO1A1 priključite na vrh STM32 Nucleo prek morfokonektorjev.
Če uporabljate dve plošči eno na drugi, ju zložite, kot je prikazano na sliki 11. - 2. korak Za napajanje plošče priključite ploščo STM32 Nucleo na računalnik s kablom USB prek priključka USB CN1.
- 3. korak Razširitveno ploščo(-e) X-NUCLEO-ISO1A1 vklopite tako, da priključite J1 na 24V DC napajanje. Če uporabljate zložene plošče, se prepričajte, da sta obe plošči napajani.
- 4. korak Odprite želeno orodje (MDK-ARM od Keila, EWARM od IAR ali STM32CubeIDE).
- 5. korak Odprite programski projekt in naredite potrebne spremembe v datoteki board_config.h. file glede na konfiguracijo uporabljene(-ih) plošče(-j).
- 6. korak Nastavite ustrezen makro primera uporabe v st_iso_app.c file ali pokličite zahtevani primer uporabe z uporabo funkcije ST_ISO_APP_SelectUseCase v datoteki main.c file skupaj s katero koli drugo želeno funkcijo.
- 7. korak Zgradite projekt za prevajanje vseh filein naložite prevedeno kodo v pomnilnik plošče STM32 Nucleo.
- 8. korak Zaženite kodo na plošči STM32 Nucleo in preverite pričakovano delovanje.
Zgodovina revizij
Tabela 4. Zgodovina revizij dokumenta
| Datum | Revizija | Spremembe |
| 14. maj 2025 | 1 | Začetna izdaja. |
POMEMBNO OBVESTILO – POZORNO PREBERITE
STMicroelectronics NV in njegove hčerinske družbe (»ST«) si pridržujejo pravico do sprememb, popravkov, izboljšav, modifikacij in izboljšav izdelkov ST in/ali tega dokumenta kadar koli brez predhodnega obvestila. Kupci morajo pred oddajo naročil pridobiti najnovejše ustrezne informacije o izdelkih ST. Izdelki ST se prodajajo v skladu s prodajnimi pogoji ST, ki veljajo v času potrditve naročila.
Kupci so izključno odgovorni za izbiro, izbiro in uporabo izdelkov ST in ST ne prevzema nobene odgovornosti za pomoč pri uporabi ali oblikovanje izdelkov kupcev.
ST v tem dokumentu ne podeljuje nobene licence, izrecne ali implicitne, za katero koli pravico do intelektualne lastnine.
Nadaljnja prodaja izdelkov ST z določbami, ki se razlikujejo od informacij, navedenih v tem dokumentu, razveljavi vsako garancijo, ki jo ST odobri za tak izdelek.
ST in logotip ST sta blagovni znamki ST. Za dodatne informacije o blagovnih znamkah ST glejte www.st.com/trademarks. Vsa druga imena izdelkov ali storitev so last njihovih lastnikov.
Informacije v tem dokumentu prevladajo in nadomeščajo informacije, ki so bile predhodno navedene v kateri koli prejšnji različici tega dokumenta.
© 2025 STMicroelectronics – Vse pravice pridržane
Dokumenti / Viri
![]() |
Razširitev programske opreme STMicroelectronics UM3469 X-CUBE-ISO1 [pdfUporabniški priročnik X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 Razširitev programske opreme, UM3469, X-CUBE-ISO1 Razširitev programske opreme, Razširitev programske opreme |

