ST-logo

STMicroelectronics UM3469 X-CUBE-ISO1 tarkvara laiendus

STMicroelectronics-UM3469-X-CUBE-ISO1-tarkvara laiendus

Sissejuhatus

STM32Cube'i laiendustarkvarapakett X-CUBE-ISO1 töötab STM32 peal ja sisaldab püsivara X-NUCLEO-ISO1A1 jaoks. Tarkvara pakub hõlpsasti kasutatavat lahendust X-NUCLEO pakutava põhilise PLC-seadme arendamiseks. Laiendus põhineb STM32Cube'i tarkvaratehnoloogial, et hõlbustada teisaldatavust erinevate STM32 mikrokontrollerite vahel.

Tarkvaral on implementatsioon, mis töötab X-NUCLEO-ISO1A1 laiendusplaadil, mis on ühendatud NUCLEO-G071RB arendusplaadiga (või kas NUCLEO-G0B1RE või NUCLEO-G070RB). Edaspidi mainitakse dokumendis lihtsuse huvides ainult NUCLEO-G071RB-d.
X-NUCLEO-ISO1A1 plaat on loodud toetama kahe plaadi virnastamist sobivate jumper-sätetega, et laiendada sisend- ja väljundvõimalusi.

Akronüümid ja lühendid

Tabel 1. Akronüümide loend

Akronüüm Kirjeldus
PLC Programmeeritav loogikakontroller
API Rakenduse programmeerimisliides
PWM Impulsi laiuse modulatsioon
GPIO Üldotstarbeline sisend/väljund.
HAL Riistvara abstraktsioonikiht
PC Personaalarvuti
FW Püsivara

Mis on STM32Cube?

STM32Cube™ esindab STMicroelectronicsi algatust, mille eesmärk on muuta arendajate elu lihtsamaks, vähendades arenduspingutusi, aega ja kulusid. STM32Cube hõlmab kogu STM32 portfooliot.
STM32Cube versioon 1.x sisaldab:

  • STM32CubeMX, graafiline tarkvarakonfiguratsiooni tööriist, mis võimaldab graafiliste viisardite abil genereerida C initsialiseerimiskoodi.
  • Igale seeriale spetsiifiline terviklik sisseehitatud tarkvaraplatvorm (näiteks STM32G0 seeria jaoks STM32CubeG0), mis sisaldab:
    • STM32Cube HAL-i sisseehitatud abstraktsioonikihi tarkvara, mis tagab maksimaalse kaasaskantavuse kogu STM32 portfellis
    • järjepidev vahetarkvara komponentide komplekt, näiteks RTOS, USB, TCP/IP ja graafika
    • kõik manustatud tarkvara utiliidid koos täieliku lisateabe komplektigaampvähem.

STM32Cube'i arhitektuur
STM32Cube püsivara lahendus on üles ehitatud kolmele sõltumatule tasemele, mis saavad üksteisega hõlpsalt suhelda, nagu on kirjeldatud alloleval diagrammil.

STMicroelectronics-UM3469-X-CUBE-ISO1-Tarkvara-laiendus-1

X-CUBE-ISO1 tarkvaralaiendus STM32Cube'ile

Läbiview
Tööstusliku isoleeritud sisend-/väljundlaiendusplaadi X-NUCLEO-ISO1A1 püsivara, mis on välja töötatud STM32 keskkondade ja teekide ümber, kasutab STM32 Nucleo plaatide suure jõudlusega mikrokontrollereid digitaalsete sisendite ja väljundite haldamiseks koos integreeritud diagnostikaga koos dünaamilise voolupiiranguga ja PWM-signaali genereerimisega. See pakub põhjalikku plaadi konfigureerimist ja juhtimist, sealhulgas vaike- ja alternatiivsete tingimuste raamistikke, makrosid eeljaoturi väärtuste seadistamiseks ning GPIO-portide ja -tihvtide definitsioone.

See toetab mitmesuguseid sampRakenduste kasutusjuhud, nagu digitaalsisendi ja väljundi peegeldamine, UART-side Nucleo-plaadi kaudu, rikete tuvastamine, testimisjuhud ja PWM-i genereerimine, mida saab otse kasutada ning mida saab hõlpsalt kohandada ja laiendada.

API pakub digitaalse sisendi/väljundi juhtimiseks, vea tuvastamiseks ja plaadi oleku värskendusteks laia valikut funktsioone koos konfiguratsiooniseadetega kahe plaadi samaaegseks käitamiseks erinevates režiimides. Digitaalsete väljundkanalite PWM-signaalide initsialiseerimiseks, käivitamiseks, peatamiseks ja konfigureerimiseks on saadaval spetsiifilised API-funktsioonid.

Plaadi tugipakett sisaldab funktsioone IPS1025H-32-ga liidestatud GPIO-tihvtide juhtimiseks ja jälgimiseks ning CLT03-2Q3-ga liidestatud GPIO-tihvtide oleku lugemiseks digitaalse isolaatori kaudu.
Konfiguratsioon ja initsialiseerimine põhinevad STM32CubeMX-il, arendust ja silumist toetavad STM32CubeIDE, IAR Systems ja Keil® tööriistad.

Arhitektuur
X-NUCLEO-ISO1A1 püsivara saab jagada mitmeks eraldi funktsionaalseks plokiks, millest igaüks vastutab süsteemi toimimise erinevate aspektide eest:

STMicroelectronics-UM3469-X-CUBE-ISO1-Tarkvara-laiendus-2

  • Plaadi konfiguratsioon ja juhtimine:
    • board_config.h file Sisaldab makrosid, mis konfigureerivad plaadi töötama vaike- või alternatiivsetes tingimustes või mõlemas. See sisaldab ka definitsioone eeljaoturi väärtuste ning GPIO-portide ja -tihvtide jaoks.
    • See plokk tagab, et plaat on soovitud töötingimuste jaoks õigesti seadistatud ja et kõik vajalikud riistvarakonfiguratsioonid on paigas.
  • Rakenduse kasutusjuhud:
    • Failid st_iso_app.h ja st_iso_app.c files sisaldavad rakenduste kasutusjuhtumeid, mis on loodud tahvli erinevate funktsioonide testimiseks.
    • Need kasutusjuhud hõlmavad digitaalsisendi ja väljundi peegeldamist, rikke tuvastamise teste ja PWM-signaali genereerimist.
    • ExampKahe plaadi samaaegseks käitamiseks erinevates režiimides on ette nähtud konfiguratsioonid, mis näitab püsivara mitmekülgsust ja paindlikkust.
  • API funktsioonid:
    • Iso1a1.h ja iso1a1.c filepakuvad laia valikut API-sid erinevate funktsioonide toetamiseks.
    • Need API-d sisaldavad funktsioone digitaalse sisendi/väljundi juhtimiseks, rikete tuvastamiseks ja plaadi oleku värskendusteks.
    • API-d on loodud lihtsaks ja intuitiivseks, muutes kasutajatel tahvliga suhtlemise ja vajalike toimingute tegemise lihtsaks.
  • PWM-signaali juhtimine:
    • pwm_api.h ja pwm_api.c failid files sisaldavad spetsiifilisi API funktsioone, mis on seotud PWM-signaali genereerimisega.
    • Need funktsioonid võimaldavad digitaalväljundkanalite PWM-signaale initsialiseerida, konfigureerida, käivitada ja peatada.
    • PWM-funktsioon ei ole vaikevalik. Selle lubamiseks on plaadi konfiguratsiooni muudetud. Lisateavet leiate jaotisest 3.5: API-d.
  • Juhatuse tugipakett:
    • Juhatuse tugipakett sisaldab files IPS1025H-32-ga liidestatud GPIO-tihvtide juhtimiseks ja jälgimiseks ning CLT03-2Q3-ga liidestatud GPIO-tihvtide oleku lugemiseks.
    • ips1025h_32.h ja ips1025h_32.c failid files pakuvad funktsioone IPS1025H-32-ga liidestatud GPIO-tihvtide rikete määramiseks, kustutamiseks ja tuvastamiseks.
    • Clt03_2q3.h ja clt03_2q3.c files pakuvad funktsioone CLT03-2Q3-ga liidestatud GPIO-tihvtide oleku lugemiseks.

Demonstratsioonipüsivara rakendab süsteemi võimaluste demonstreerimiseks mitmeid lihtsaid kasutusjuhtumeid. Neid kasutusjuhtumeid ja kasutaja API-sid teostatakse koordineeritult, et tagada sujuv töö ja täpsed tulemused. Arhitektuur on loodud hõlpsasti laiendatavaks, võimaldades kasutajatel vastavalt vajadusele uusi funktsioone ja kasutusjuhtumeid lisada. Vaikimisi konfiguratsioon on ette nähtud ühe plaadi käitamiseks digitaalsete tööstuslike IO-dega. Samuti peab jumperi säte olema vaikerežiimis, nagu on kirjeldatud tabelis 2. Digitaalse sisendi digitaalse väljundi peegeldamine (DIDO) on püsivara rakenduse vaikekasutusjuhtum.

Kausta struktuur

STMicroelectronics-UM3469-X-CUBE-ISO1-Tarkvara-laiendus-3

Tarkvarapaketti kuuluvad järgmised kaustad:

  • Dokumentatsioon sisaldab koostatud HTML-i file loodud lähtekoodist, kirjeldades üksikasjalikult tarkvarakomponente ja API-sid.
  • Draiverid sisaldavad:
    • STM32Cube HAL-kaust, mis asub alamkaustades STM32G0xx_HAL_Driver. Need fileid siin ei kirjeldata, kuna need ei ole spetsiifilised X-CUBE-ISO1 tarkvarale, vaid pärinevad otse STM32Cube raamistikust.
    • CMSIS-kaust, mis sisaldab Cortex® mikrokontrolleri tarkvaraliidese standardit files Arm. Need filed on Cortex®-M protsessoriseeria müüjast sõltumatu riistvaraline abstraktsioonikiht. See kaust on samuti muutmata kujul STM32Cube raamistikust.
    • BSP-kaust, mis sisaldab komponentide IPS1025H-32 ja CLT03-2Q3 koode ning X-NUCLEO-ISO1A1-ga seotud API-sid.
  • Rakendus sisaldab kasutajakausta, mis sisaldab faili main.c file, rakenduse kasutusjuhtum file, st_iso_app.c ja board_config.h failid file, mis on ette nähtud NUCLEO-G071RB platvormile.

BSP kaust
X-CUBE-ISO1 tarkvara kasutab kahte erinevat komponenti files, mis asuvad BSP/komponentide sees:

IPS1025
ips1025h_32.h ja ips1025h_32.c failid files pakuvad IPS1025H-32-ga liidestatud GPIO-tihvtide jaoks terviklikku draiveri implementatsiooni, sealhulgas täielikku funktsionaalsust kõigi tihvtide juhtimiseks ja rikete tuvastamiseks. Need files rakendavad funktsioone seadme initsialiseerimiseks, kanali oleku seadistamiseks ja kustutamiseks, rikete tuvastamiseks ja PWM-funktsionaalsuse haldamiseks. Draiver toetab mitut seadet ja kanalit, pakkudes täielikke võimalusi nii üksiku kanali kui ka rühma jaoks.

CLT03
Clt03_2q3.h ja clt03_2q3.c filerakendavad CLT03-2Q3-ga liidestatud GPIO-tihvtide jaoks täisfunktsionaalse draiveri, millel on täielikud võimalused kõigi tihvtide olekute lugemiseks. Draiver pakub funktsioone seadme initsialiseerimiseks, üksikute kanalite oleku lugemiseks ja kõigi kanalite olekuteabe samaaegseks hankimiseks. See toetab mitut seadme konfiguratsiooni ja säilitab sisemise oleku tõhusaks kanalite haldamiseks.

X-CUBE-ISO1 tarkvara API-d jagunevad kahte peamisse allikasse files, mis asuvad ISO1A1 alamkaustas:

ISO1A1
ISO1A1 filehõlmavad laia valikut API funktsioone, mis on loodud plaadi konfigureerimiseks, komponentide interaktsiooniks ja rikete haldamiseks. Need funktsioonid hõlbustavad lugemis- ja kirjutamistoiminguid, rikete tuvastamist ja värskendamist ning sisaldavad mitmesuguseid abiprogramme API peamiste funktsioonide toetamiseks. Lisaks files pakuvad funktsioone LED-ide juhtimiseks, GPIO initsialiseerimiseks, katkestuste käsitlemiseks ja UART-kommunikatsiooniks.

PWM-API
PWM API pakub funktsioone PWM-signaalide initsialiseerimiseks, konfigureerimiseks, käivitamiseks ja peatamiseks. See võimaldab määrata PWM-sageduse ja töötsükli kindlate taimeri tihvtide jaoks, tagades PWM-toimingute täpse juhtimise.

Rakenduse kaust
Rakenduste kaust sisaldab peamist filepüsivara jaoks vajalikud failid, sh päised ja lähtekood files. Allpool on üksikasjalik kirjeldus files selles kaustas:

  • board_config.h: Plaadi konfiguratsioonimakrod.
  • main.c: Peaprogramm (ex kood)ampfail, mis põhineb ISO1A1 teekil).
  • st_iso_app.c: Rakenduse funktsioonid plaadi testimiseks ja konfigureerimiseks.
  • stm32g0xx_hal_msp.c: HAL-i initsialiseerimisrutiinid.
  • stm32g0xx_it.c: Katkestuste käitleja.
  • syscalls.c: Süsteemikõnede implementatsioonid.
  • sysmem.c: Süsteemi mälu haldus.
  • system_stm32g0xx.c: Süsteemi initsialiseerimine.

Tarkvara vaja ressursse
Nucleo seade juhib ja suhtleb X-NUCLEO-ISO1A1 plaadiga GPIO-de kaudu. See nõuab mitme GPIO kasutamist X-NUCLEO-ISO1A1 plaadil olevate tööstuslike IO-seadmete sisendi, väljundi ja rikke tuvastamise jaoks. Lisateavet ja jumperite konfiguratsioone leiate riistvara kasutusjuhendist UM3483.

Plaadi konfiguratsioon (board_config.h)
board_config.h file määratleb kasutatavad ressursid ja konfiguratsioonimakrod tarkvara konfigureerimiseks vastavalt plaadi konfiguratsioonile. See haldab kuni kahte plaati (näiteks kahe plaadi virnastamine).
Tarkvara DEFAULT-konfiguratsioon on joondatud X-NUCLEO-ISO1A1 laiendusplaadiga, mille jumperid on vaikesätetes. X-NUCLEO-ISO1A1 tarkvara vaikesätetes konfigureerimiseks eemaldage board_config.h failis BOARD_ID_DEFAULT makro kommentaar. file.

Tarkvara ALTERNATE konfiguratsioon määratakse BOARD_ID_ALTERNATE makro kommentaari eemaldamisega failis board_config.h. file ja muutes jumperite asukohti plaadil.
Kahe plaadi samaaegseks kasutamiseks virnastatud konfiguratsioonis eemaldage kommentaarid nii BOARD_ID_DEFAULT kui ka BOARD_ID_ALTERNATE makrodelt ning veenduge, et ühe plaadi jumperid oleksid vaikesendis ja teise alternatiivses asendis. Pange tähele, et mõlema plaadi sama konfiguratsiooni kasutamine (kas mõlemad vaikesendis või mõlemad vaheldumisi) ei ole soovitatav ja see võib põhjustada soovimatut käitumist.
Ainult ühe plaadi käitamisel veenduge, et tarkvara on konfigureeritud ainult ühe konfiguratsiooni jaoks ja teisele konfiguratsioonile vastav makro on kommenteeritud.

STMicroelectronics-UM3469-X-CUBE-ISO1-Tarkvara-laiendus-4

Eelskaleerijad
PWM-väljundi erinevate sagedusvahemike saavutamiseks saame board_config.h failis eelskaleerija väärtusi konfigureerida, määrates vastavad makrod. Eelskalaari väärtuse kasutamiseks eemaldage vastava makro kommentaar ja kommenteerige teisi. Vaikimisi kasutatakse DEFAULT_PRESCALAR.

  • PRESCALER_1
  • PRESCALER_2
  • VAIKIMISE_EELSKALAATOR

Eeljagaja väärtusi kasutatakse ainult taimerite kasutamisel ja need ei ole vajalikud ühegi põhilise I/O-operatsiooni jaoks. Eeljagaja makrode väärtusi ja neile vastavaid sagedusvahemikke saab vaadata koodi dokumentatsioonist või koodist endast.

Südamelöögi LED
Me saame konfigureerida rohelise kasutaja-LED-i D7 vilkuma südamelöögi moodi, et testida NUCLEO-G071RB plaadiga ühenduse õigsust. Kommenteerimata makro HEARTBEAT_LED vilgutab rohelist LED-i X-NUCLEO-ISO1A1-l, kui see on NUCLEO-ga ühendatud. See jääb põlema 1 sekundiks ja kustunud 2 sekundiks, kusjuures ajastuse eest hoolitsevad taimerid. Kui seda ei kasutata või ei kutsuta välja ühtegi LED-idega seotud funktsiooni, peaks makro olema kommenteerimata.

Sisend- ja väljund-GPIO konfiguratsioon
Igal X-NUCLEO-ISO1A1 plaadil on kaks sisendporti ja kaks väljundporti. Plaadi võimalusi saab laiendada, asetades kaks X-NUCLEO-ISO1A1 plaati üksteise peale, võimaldades seeläbi kasutada nelja digitaalset sisendporti ja nelja digitaalset väljundporti. Kaasasolev tarkvara sisaldab põhjalikke API-sid, mis hõlbustavad portide lugemist, seadistamist ja tühjendamist. Lisaks võimaldavad API-d kõigi portide samaaegset seadistamist, lugemist või tühjendamist. Üksikasjalikku teavet API funktsioonide kohta leiate koodi dokumentatsioonist ja selle dokumendi API jaotisest.

STMicroelectronics-UM3469-X-CUBE-ISO1-Tarkvara-laiendus-5

Siin tähistab eesliide DI digitaalset sisendporti ja DO digitaalset väljundporti. Alternatiivse konfiguratsiooni korral kasutab tarkvara samu nimetamiskonventsioone koos lisatud _alt järelliitega.
Järgmises tabelis on toodud tarkvaras määratletud GPIO-makrod vastavalt erinevatele IO-portidele:

Tabel 2. Vaikimisi ja alternatiivsete tarkvarakonfiguratsioonide jaoks eraldatud GPIO-d

Nimi Funktsioon Vaikekonfiguratsioon Alternatiivne konfiguratsioon
SISESTUSPIN Sisendtihvt 1 GPIOC, IA0_IN_1_PIN GPIOD, IA0_IN_1_PIN
Sisendtihvt 2 GPIOD, IA1_IN_2_PIN GPIOC, IA1_IN_1_PIN
VÄLJUNDPINK Väljundtihvt 1 GPIOC, QA0_CNTRL_1_PIN GPIOD, QA0_CNTRL_1_PIN
Väljundtihvt 2 GPIOC, QA1_CNTRL_2_PIN GPIOC, QA1_CNTRL_2_PIN
RIKKE PIN Vea tihvt 1 GPIOC, FLT1_QA0_2_OT_PIN GPIOD, FLT1_QA0_1_OT_PIN
Vea tihvt 2 GPIOC, FLT2_QA0_2_OL_PIN GPIOD, FLT2_QA0_1_OL_PIN
Vea tihvt 3 GPIOC, FLT1_QA1_2_OT_PIN GPIOC, FLT1_QA1_1_OT_PIN
Vea tihvt 4 GPIOC, FLT2_QA1_1_OL_PIN GPIOD, FLT2_QA1_2_OL_PIN
KONFIGURATSIOONIMAKRO LAUD_ID_VAIKIMISI LAUD_ID_ALTERNATIIVNE

Taimerid ja PWM
Taimereid saab X-CUBE-ISO1 püsivaras kasutada PWM-signaalide genereerimiseks kindlate tihvtide jaoks. Vaikimisi taimerid ei ole initsialiseeritud, välja arvatud TIM3. Enne PWM-signaalide genereerimist tuleks vastavad taimerid initsialiseerida ja vastavad väljundpordid tuleb PWM-režiimis initsialiseerida.
Tavapäraste GPIO sisend-/väljundoperatsioonide jaoks pole vaja taimerit ega väljundporti konfigureerida, kuna see on vaikimisi juba tehtud. Kui aga väljundtihvtid on PWM-režiimis, peame need GPIO-režiimis GPIO-tihvtidena kasutamiseks ümber konfigureerima.

Märkus. Kui väljundtihvte kasutatakse PWM-i genereerimiseks, on GPIO väljund keelatud ja mõlemat funktsiooni ei saa samaaegselt rakendada. GPIO uuesti lubamiseks pärast PWM-i kasutamist saab kutsuda API funktsiooni ST_ISO_BoardConfigureDefault() või ST_ISO_InitGPIO(), et konfigureerida kõik pordid korraga GPIO-dena, või funktsiooni ST_ISO_Init_GPIO() kindla GPIO pordi ja tihvtiga.

Nagu eespool mainitud, kasutab tarkvara vaikimisi ka ühte taimerit TIM3, mida kasutatakse kasutaja LED-i ajastuse, kella ja UART-i ajastuse rakendamiseks. Vaikimisi on see konfigureeritud 1 sekundi pikkuseks perioodiks.
Järgmises tabelis on toodud iga meie koodis oleva pinni jaoks saadaolevad taimerid:

Tabel 3. Iga pinni jaoks saadaolevad taimerid

Pin nimi Tarkvara esindamine Taimer Taimeri kanal Alternatiivne funktsioon
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

Püsivara täiendavad utiliidid
Püsivara sisaldab täiendavaid utiliite X-NUCLEO-ISO1A1 hindamisplaadi funktsionaalsuse täiustamiseks. Mõnda neist on kirjeldatud allpool.

UART
UART-kommunikatsioonifunktsioon võimaldab plaadi olekut reaalajas jälgida ja siluda arvutiprogrammide (nt TeraTerm, PuTTY ja muude sarnaste rakenduste) kaudu. Tarkvara võimaldab UART-andmete edastamist NUCLEO-G071RB plaadil oleva UART-i kaudu. Funktsioon `ST_ISO_UART` saadab UART-i kaudu üksikasjalikku teavet plaadi oleku kohta, sealhulgas süsteemi tööaja, püsivara konfiguratsiooni ja rikke oleku kohta. Neid andmeid saab viewmis tahes jadapordi rakenduse, näiteks TeraTermi abil. Funktsioon `ST_ISO_APP_DIDOandUART` ühendab digitaalse sisend-/väljundoperatsioonid UART-kommunikatsiooniga, edastades kõigi sisend- ja väljundkanalite olekut kindlaksmääratud intervallidega. Allpool on toodud konfiguratsiooniseaded jaampKuidas andmed TeraTermis kuvatakse. Pordi nimi võib süsteemist ja kasutatavast jadapordist olenevalt erineda.

STMicroelectronics-UM3469-X-CUBE-ISO1-Tarkvara-laiendus-6

STMicroelectronics-UM3469-X-CUBE-ISO1-Tarkvara-laiendus-7

IO-pin-režiimi konfiguratsioon
IO-tihvti režiimi konfiguratsiooniutiliit võimaldab kasutajatel seadistada plaadi sisend- ja väljundporte funktsiooni ST_ISO_BoardConfigure() abil. See funktsioon toetab kahe väljundpordi (QA0, QA1) ja kahe sisendpordi (IA0, IA1) konfigureerimist kas sisend-/väljundrežiimi, PWM-väljundrežiimi või katkestussisendrežiimi. Parameetreid kohandades ja seda funktsiooni kutsudes saavad kasutajad plaadi IO-konfiguratsiooni hõlpsalt vastavalt konkreetsetele vajadustele kohandada.

Sisend-/väljundrežiimis lähtestab utiliit GPIO tihvtid üldiseks digitaalseks tööks. PWM-väljundrežiimis seadistab see taimerid täpseks PWM-signaali juhtimiseks. Katkestuste sisendrežiimis konfigureerib utiliit tihvtid katkestustega toimetulekuks, võimaldades reageerivat sündmustepõhist programmeerimist.

Katkestuste käsitlemine
RIKKE signaalide käsitlemiseks lubab tarkvara vastavad katkestusliinid, mis võimaldab reageerivat sündmustepõhist programmeerimist. Nende katkestustega saab seostada kohandatud käitleja
API-s määratletud HAL_GPIO_EXTI_Rising_Callback funktsioon. Tarkvara sisaldab funktsioone GPIO tihvtide initsialiseerimiseks katkestusrežiimis funktsiooni ST_ISO_BoardConfigure kaudu ja konkreetsete toimingute konfigureerimiseks EXTI IRQ käitlejates. See võimaldab kasutajatel kohandada, kuidas plaat reageerib välistele sündmustele, tagades selle tõhusa haldamise erinevate rikete ja päästikute korral.

API-d
X-CUBE-ISO1 tarkvara API pakub laia valikut funktsioone X-NUCLEO-ISO1A1 plaadi juhtimiseks ja jälgimiseks, sealhulgas PWM-signaali genereerimiseks ja GPIO toiminguteks. API on loodud hõlpsaks kasutamiseks ja integreerimiseks erinevatesse rakendustesse, pakkudes paindlikkust ja kontrolli plaadi funktsionaalsuse üle.

X-CUBE-ISO1 tarkvara API on defineeritud kaustas BSP/ISO1A1. Selle funktsioonide eesliide on ST_ISO. API on rakendustele nähtav iso1a1.c ja pwm_api.c failide kaudu. files on konstantide, andmestruktuuride ja funktsioonide kombinatsioon.
SampPüsivararakendused kasutavad neid API-sid, et näidata nende funktsioonide mõningaid võimalikke kasutusviise.

X-CUBE-ISO1 tarkvarapakett pakub kahte API-de komplekti:

  • ISO1A1 API
  • PWM-API

ISO1A1 API
ISO1A1 API on defineeritud failides iso1a1.h ja iso1a1.c. files. See pakub funktsioone ISO1A1 plaadi konfigureerimiseks ja juhtimiseks, sealhulgas GPIO sisend-/väljundoperatsioonideks ja rikete tuvastamiseks.

Võtmefunktsioonid

  • ST_ISO_BoardConfigureDefault: Konfigureerib plaadi IO-portid GPIO vaikekonfiguratsiooniga.
  • ST_ISO_BoardConfigure: Konfigureerib plaadi sisend- ja väljundportide režiimi.
  • ST_ISO_BoardInit: Initsialiseerib plaadi riistvara.
  • ST_ISO_BoardMapInit: Initsialiseerib plaadi funktsionaalsuse kanali käepidemete konfiguratsiooni põhjal.
  • ST_ISO_GetFWVersion: Tagastab praeguse püsivara versiooni.
  • ST_ISO_GetChannelHandle: Tagastab määratud kanali nime kanali käepideme.
  • ST_ISO_InitGPIO: Initsialiseerib määratud GPIO-tihvti antud mooduli ID-ga.
  • ST_ISO_InitInterrupt: Initsialiseerib määratud GPIO-tihvti katkestusena antud mooduli ID-ga.
  • ST_ISO_EnableFaultInterrupt: Initsialiseerib katkestusrežiimis vea GPIO tihvtid.
  • ST_ISO_SetChannelStatus: Määrab määratud kanali oleku.
  • ST_ISO_SetOne_DO: Määrab ühe digitaalse väljundkanali.
  • ST_ISO_ClearOne_DO: Puhastab ühe digitaalse väljundkanali.
  • ST_ISO_WriteAllChannels: Kirjutab andmed kõikidesse digitaalsetesse väljundkanalitesse.
  • ST_ISO_GetOne_DI: Hangib ühe digitaalse sisendkanali oleku.
  • ST_ISO_ReadAllChannel: Loeb kõigi sisendkanalite olekut.
  • ST_ISO_ReadAllOutputChannel: Loeb kõigi väljundkanalite olekut.
  • ST_ISO_ReadFaultStatus: Loeb rikke olekut kõigilt rikke tuvastamise portidelt.
  • ST_ISO_ReadFaultStatusPolling: Testib küsitlusrežiimis olevate plaatide rikke tuvastamist.
  • ST_ISO_DisableOutputChannel: Keelab selle kanali väljundi.
  • ST_ISO_UpdateBoardStatusInfo: Värskendab tahvli olekuteavet.
  • ST_ISO_UpdateFaultStatus: Värskendab konkreetse kanali vea olekut.
  • ST_ISO_BlinkLed: Vilgutab määratud LED-i etteantud viivituse ja korduste arvuga.
  • ST_ISO_UART: Saadab plaadi olekuteabe UART-i kaudu.
  • ST_ISO_SwitchInit: Initsialiseerib lüliti komponendid.
  • ST_ISO_SwitchDeInit: Deinitsialiseerib lüliti eksemplari.
  • ST_ISO_DigitalInputInit: Initsialiseerib digitaalsed sisendkomponendid.
  • ST_ISO_DigitalInputDeInit: Deinitsialiseerib digitaalsisendi eksemplari.

PWM-API
PWM API on defineeritud failides pwm_api.h ja pwm_api.c. files. See pakub järgmisi funktsioone PWM-signaalide initsialiseerimiseks ja juhtimiseks konkreetsete tihvtide jaoks.

  • ST_ISO_Init_PWM_Signal: Initsialiseerib taimerid ja PWM-signaali konkreetse pinni.
  • ST_ISO_Set_PWM_Frequency: Määrab konkreetse pinni PWM-sageduse.
  • ST_ISO_Set_PWM_Duty_Cycle: Määrab konkreetse pinni PWM-töötsükli.
  • ST_ISO_Start_PWM_Signal: Käivitab PWM-signaali konkreetsel pinnil.
  • ST_ISO_Stop_PWM_Signal: Peatab PWM-signaali konkreetsel pinnil.

PWM-signaali käivitamiseks vastaval kanalil kutsuge esmalt funktsioon ST_ISO_Init_PWM_Signal, seejärel määrake soovitud sagedus ja töötsükkel, kutsudes funktsiooni ST_ISO_Set_PWM_Frequency ja
vastavalt funktsioone ST_ISO_Set_PWM_Duty_Cycle ja seejärel saate PWM-signaali käivitada funktsiooni ST_ISO_Start_PWM_Signal kutsudes ja selle peatada funktsiooni ST_ISO_Stop_PWM_Signal kutsudes.

Funktsiooni tuleb kutsuda vastava pinni nime ja saadaolevate taimeritega, mille üksikasjad on esitatud tabelis 3. Erinevaid väljundkanaleid saab seadistada erinevate sageduste ja töötsüklitega; sageduse või töötsükli muutmine ei mõjuta teist, see jääb samaks.
Üksikasjaliku tehnilise teabe kasutajale saadaolevate API-de kohta leiate koostatud HTML-ist file asub tarkvarapaketi kaustas "Dokumentatsioon", kus on kõik funktsioonid ja parameetrid täielikult kirjeldatud.

Rakenduse kirjeldus
Demonstratsioonirakendus rakendab mitmeid lihtsaid kasutusjuhte. st_iso_app ja board_config filemängivad olulist rolli tahvli ja selle rakendusfunktsioonide seadistamisel ja kasutamisel. Enne nende funktsioonide kasutamist veenduge, et tahvli ja tarkvara konfiguratsioon on omavahel sünkroonis.

Rakendusfunktsioonid (st_iso_app.h ja st_iso_app.c)
Rakendusfunktsioonide eesliide on ST_ISO_APP; need on kasutajale nähtavad tipptasemel funktsioonid, mis kutsuvad API funktsioone nende rakendamiseks. Rakendusfunktsioone saab kutsuda failis main.c. file nende toimimise eest.

  • Kasutusjuhtumi valik: kasutaja saab soovitud kasutusjuhtumi makro kommentaari eemaldada failis st_iso_app.c. fileFunktsioon ST_ISO_APP_SelectUseCaseMacro(), mida kutsutakse välja failis main.c, initsialiseerib selle kasutusjuhu ja funktsioon ST_ISO_APP_SelectedFunction() rakendab selle failis main.c. See lähenemisviis võimaldab töörežiimi hõlpsat konfigureerimist, muutes lihtsalt makrodefinitsioone, tagades, et valitud kasutusjuhu põhjal käivitatakse sobiv funktsionaalsus. Vaikimisi on valitud kasutusjuhtum DIDO ja kasutaja ei pea selle rakendamiseks koodis mingeid muudatusi tegema.
  • Digitaalsisendi peegeldamine digitaalväljundiks (ST_ISO_APP_UsecaseDIDO): See funktsioon loeb kõigi sisendkanalite olekut ja kirjutab sama oleku kõigile väljundkanalitele. See on kasulik digitaalsisendite peegeldamiseks digitaalväljunditeks.
  • Digitaalsisendi digitaalväljundiks peegeldamine UART-i abil (ST_ISO_APP_DIDOandUART): see funktsioon peegeldab digitaalsisendid digitaalväljunditeks, sarnaselt funktsiooniga ST_ISO_APP_UsecaseDIDO. Lisaks edastab see plaadi oleku UART-liidese kaudu Nucleo seadmesse, võimaldades olekut... viewjadapordi kaudu, kasutades selliseid rakendusi nagu Tera Term.
  • Testi funktsioon (ST_ISO_APP_TestCase): See funktsioon teostab plaadi konfiguratsiooni põhjal rea teste ja toiminguid. See kontrollib rikke olekut, loeb kahe digitaalse sisendkanali olekut ja teostab toiminguid nende väärtuste põhjal. See funktsioon aitab plaadi jõudlust ja funktsionaalsust kiiresti hinnata ning saada visuaalset tagasisidet erinevate LED-mustrite kaudu. Veenduge, et HEARTBEAT_LED makro on failis board_config.h. file on kommenteeritud, et jälgida õigeid LED-mustreid.
  • PWM-i genereerimine (ST_ISO_APP_PWM _OFFSET): See funktsioon käivitab PWM-signaali mõlemas väljundkanalis sagedusega 1 Hz ja töötsükliga 50%. See initsialiseerib PWM-signaali, määrab sageduse ja töötsükli ning käivitab PWM-signaali määratud plaadi ID jaoks. PWM-signaal genereeritakse nihkega mõlema kanali vahel ja seega ei ole nad faasis.
  • Vea tuvastamise test (ST_ISO_APP_FaultTest): See funktsioon hindab nutika väljundmooduli IPS1025 mootori sisseehitatud diagnostikatihvtide abil tehtud vea tuvastamist kas küsitlus- või katkestusrežiimis. See konfigureerib vea tuvastamise režiimi, initsialiseerib vea tuvastamise ja värskendab vea oleku struktuuri valitud režiimi põhjal. See funktsioon on ülioluline plaadi töökindluse ja ohutuse tagamiseks, tuvastades ja käsitledes vigu tõhusalt. Küsitlusrežiimis värskendatakse vea olekut taimeri abil iga sekund ja see kajastub struktuuris defaultBoardFaultStatus või alternateBoardFaultStatus. Katkestusega režiimis värskendatakse vea olekut ainult vea ilmnemisel ja see käivitab tarkvara vastava väljundpordi tühjendamise.
  • PWM-i variatsiooni test (ST_ISO_APP_PwmVariationTest): See funktsioon on loodud PWM-signaalide (impulsilaiuse modulatsiooni) variatsiooni testimiseks erinevatel väljundkanalitel, lähtudes plaadi konfiguratsioonist. See initsialiseerib PWM-signaalid nii vaike- kui ka alternatiivse plaadi konfiguratsiooni jaoks, määrates nende sageduseks 100 Hz ja algse töötsükli väärtuseks 0%. Seejärel muudab funktsioon töötsüklit 0%-lt 100%-le 5% sammudega ja tagasi 100%-lt 0%-le 5% sammudega, iga sammu vahel 2-sekundilise viivitusega. See kontrollitud variatsioon võimaldab jälgida ja hinnata PWM-signaali käitumist kanalitel QA_0 ja QA_1 vaikeplaadi puhul ning QA_0_ALT ja QA_1_ALT alternatiivse plaadi puhul.

Neid konfiguratsioone järgides ja pakutavaid rakenduse funktsioone kasutades saate X-NUCLEO-ISO1A1 plaati tõhusalt seadistada ja kasutada erinevatel demonstratsioonijuhtudel.

Süsteemi seadistamise juhend

Riistvara kirjeldus

STM32 tuumaplatvorm
STM32 Nucleo arendusplaadid pakuvad kasutajatele taskukohase ja paindliku võimaluse testida lahendusi ja ehitada prototüüpe mis tahes STM32 mikrokontrolleri liiniga.
Arduino® ühenduvuse tugi ja ST morpho pistikud muudavad STM32 Nucleo avatud arendusplatvormi funktsionaalsuse laiendamise lihtsaks laia valiku spetsiaalsete laiendusplaatide abil.

STM32 Nucleo plaat ei vaja eraldi sonde, kuna see integreerib ST-LINK/V2-1 siluri/programmeerija.
STM32 Nucleo plaadiga on kaasas põhjalik STM32 tarkvara HAL raamatukogu koos mitmesuguse pakendatud tarkvaraga, nt.ampvähem.

STMicroelectronics-UM3469-X-CUBE-ISO1-Tarkvara-laiendus-8

Teave STM32 Nucleo plaadi kohta on saadaval aadressil www.st.com/stm32nucleo

X-NUCLEO-ISO1A1 laiendusplaat
X-NUCLEO-ISO1A1 on isoleeritud tööstusliku sisendi/väljundiga hindamisplaat, mis on loodud STM32 Nucleo plaadi laiendamiseks ja mikro-PLC funktsionaalsuse pakkumiseks. Kaks X-NUCLEO-ISO1A1 plaati saab STM32 Nucleo plaadi peale virnastada, kasutades laiendusplaadil sobivaid jumpereid, et vältida konflikte GPIO liideste vahel. UL1577 sertifitseeritud digitaalsed isolaatorid STISO620 ja STISO621 tagavad isolatsiooni loogika- ja protsessipoolsete komponentide vahel. Kaks voolupiiratud kõrgepinge sisendit protsessi poolelt realiseeritakse CLT03-2Q3 kaudu. CLT03-2Q3 pakub kaitset, isolatsiooni ja energiata oleku näitu tööstustingimustes ning on loodud vastama standarditele nagu IEC61000-4-2, IEC61000-4-4 ja IEC61000-4-5. Igast IPS1025H-32/HQ-32 kõrgepingelülitist üks pakub kaitstud väljundit kuni 5.6 A koos diagnostika ja nutikate juhtimisfunktsioonidega. Need saavad juhtida mahtuvuslikke, takistuslikke või induktiivseid koormusi. X-NUCLEO-ISO1A1 võimaldab sisseehitatud integraallülituste kiiret hindamist tarkvarapaketi X-CUBE-ISO1 abil.

STMicroelectronics-UM3469-X-CUBE-ISO1-Tarkvara-laiendus-9

Riistvara seadistamine
Vaja on järgmisi riistvarakomponente:

  1. Üks STM32 Nucleo arendusplatvorm (soovituslik tellimiskood: NUCLEO-GO71RB)
  2. Üks tööstuslik digitaalse väljundi laiendusplaat (tellimiskood: X-NUCLEO-ISO1A1)
  3. Üks USB-tüüpi A mikro-USB-kaabel STM32 Nucleo ühendamiseks arvutiga
  4. Väline toiteallikas (24 V) ja sellega seotud juhtmed X-NUCLEO-ISO1A1 laiendusplaadi toiteks.

Tarkvara seadistamine
Sobiva arenduskeskkonna loomiseks rakenduste loomiseks STM32 Nucleo jaoks, mis on varustatud X-NUCLEO-ISO1A1 laiendusplaadiga, on vaja järgmisi tarkvarakomponente:

  • X-CUBE-ISO1: STM32Cube'i laiendus rakenduste arendamiseks, mis nõuab X-NUCLEO-ISO1A1 plaadi kasutamist. X-CUBE-ISO1 püsivara ja sellega seotud dokumentatsioon on saadaval aadressil www.st.com
  • Arendustööriistakett ja kompilaator: STM32Cube laiendustarkvara toetab kolme järgmist keskkonda:
    • IAR-i sisseehitatud töölaud ARM®-i (IAR-EWARM) tööriistaketta jaoks
    • PärisView Mikrokontrolleri arenduskomplekti (MDK-ARM-STM32) tööriistakett
    • STM32CubeIDE.

Tahvli seadistamine
Plaadil tuleb kasutada riistvara kasutusjuhendis (UM3483) täpsustatud jumperi sätteid. Nende juhiste hoolikas järgimine on oluline nõuetekohase toimimise tagamiseks ja võimalike probleemide vältimiseks.

Süsteemi seadistamise juhend
Selles jaotises kirjeldatakse, kuidas seadistada erinevaid riistvarakomponente enne rakenduse arendamist ja käivitamist STM32 Nucleo, NUCLEO-G071RB plaadil koos X-NUCLEO-ISO1A1 laiendusplaadiga.

STMicroelectronics-UM3469-X-CUBE-ISO1-Tarkvara-laiendus-10

STMicroelectronics-UM3469-X-CUBE-ISO1-Tarkvara-laiendus-11

X-CUBE-ISO1 laienduspaketi seadistamine
X-NUCLEO-ISO1A1 tuleb konfigureerida spetsiifiliste jumperite asenditega, olenevalt sellest, millist konfiguratsiooni te plaati käitate. Üksikasju selle kohta leiate riistvara käsiraamatust.

  • 1. samm. Ühenda X-NUCLEO-ISO1A1 laiendusplaat morfokonnektorite kaudu STM32 Nucleo peale.
    Kui kasutate kahte üksteise peal olevat plaati, asetage need virna nagu joonisel 11.
  • 2. samm. Ühendage STM32 Nucleo plaat USB-kaabli abil arvutiga läbi USB-pistiku CN1, et plaati toide anda.
  • 3. samm. Lülitage X-NUCLEO-ISO1A1 laiendusplaat(id) sisse, ühendades J1 24 V alalisvoolu toiteallikaga. Virnastatud plaatide kasutamisel veenduge, et mõlemad plaadid oleksid toidetud.
  • 4. samm. Avage oma eelistatud tööriistakett (MDK-ARM firmalt Keil, EWARM firmalt IAR või STM32CubeIDE).
  • 5. samm. Ava tarkvaraprojekt ja tee vajalikud muudatused failis board_config.h. file vastavalt kasutatava(te) plaadi(de) konfiguratsioonile.
  • 6. samm. Määrake sobiv kasutusjuhtumi makro failis st_iso_app.c file või kutsuge vajalik kasutusjuhtum välja, kasutades ST_ISO_APP_SelectUseCase funktsiooni failis main.c file koos mis tahes muu soovitud funktsiooniga.
  • 7. samm. Loo projekt, et kõik kompileerida files ja laadige kompileeritud kood STM32 Nucleo plaadi mällu.
  • 8. samm. Käivita kood STM32 Nucleo plaadil ja kontrolli oodatud käitumist.

Läbivaatamise ajalugu
Tabel 4. Dokumendi redaktsioonide ajalugu

Kuupäev Läbivaatamine Muudatused
14. mai-2025. mai 1 Esialgne vabastamine.

TÄHTIS MÄRKUS – LUGEGE HOOLIKAS

STMicroelectronics NV ja selle tütarettevõtted („ST”) jätavad endale õiguse teha ST-toodetes ja/või selles dokumendis igal ajal ilma ette teatamata muudatusi, parandusi, täiendusi, modifikatsioone ja täiendusi. Ostjad peaksid enne tellimuste esitamist hankima uusima asjakohase teabe ST-toodete kohta. ST tooteid müüakse vastavalt ST müügitingimustele, mis kehtisid tellimuse kinnitamise ajal.

Ostjad vastutavad ainuisikuliselt ST-toodete valiku, valiku ja kasutamise eest ning ST ei vastuta rakendusabi ega ostjate toodete disaini eest.
ST ei anna siinkohal mingit otsest ega kaudset litsentsi ühelegi intellektuaalomandi õigusele.
ST-toodete edasimüük, mille sätted erinevad siin esitatud teabest, tühistab ST-i antud tootele antud garantii.

ST ja ST logo on ST kaubamärgid. ST-kaubamärkide kohta lisateabe saamiseks vaadake www.st.com/trademarks. Kõik muud toote- või teenusenimed kuuluvad nende vastavatele omanikele.
Selles dokumendis sisalduv teave asendab ja asendab selle dokumendi varasemates versioonides esitatud teabe.
© 2025 STMicroelectronics – kõik õigused kaitstud

Dokumendid / Ressursid

STMicroelectronics UM3469 X-CUBE-ISO1 tarkvara laiendus [pdfKasutusjuhend
X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 tarkvara laiendus, UM3469, X-CUBE-ISO1 tarkvara laiendus, tarkvara laiendus

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *