ST logotips

STMicroelectronics UM3469 X-CUBE-ISO1 programmatūras paplašinājums

STMicroelectronics-UM3469-X-CUBE-ISO1-programmatūras paplašināšana

Ievads

X-CUBE-ISO1 paplašinājuma programmatūras pakotne STM32Cube darbojas uz STM32 un ietver X-NUCLEO-ISO1A1 programmaparatūru. Programmatūra nodrošina ērti lietojamu risinājumu X-NUCLEO nodrošinātās pamata PLC ierīces izstrādei. Paplašinājums ir veidots, izmantojot STM32Cube programmatūras tehnoloģiju, lai atvieglotu pārnesamību dažādos STM32 mikrokontrolleros.

Programmatūra ir iekļauta implementācijā, kas darbojas uz X-NUCLEO-ISO1A1 paplašināšanas plates, kas savienota ar NUCLEO-G071RB izstrādes plati (vai nu NUCLEO-G0B1RE, vai NUCLEO-G070RB). Turpmāk dokumentā vienkāršības labad tiks minēts tikai NUCLEO-G071RB.
X-NUCLEO-ISO1A1 plate ir paredzēta divu plates sakraušanai ar atbilstošiem tiltiņu iestatījumiem, lai paplašinātu ievades un izvades iespējas.

Akronīmi un saīsinājumi

1. tabula. Akronīmu saraksts

Akronīms Apraksts
PLC Programmējams loģiskais kontrolieris
API Lietojumprogrammu programmēšanas saskarne
PWM Impulsa platuma modulācija
GPIO Universāla ievade/izvade.
HAL Aparatūras abstrakcijas slānis
PC Personālais dators
FW Programmaparatūra

Kas ir STM32Cube?

STM32Cube™ pārstāv STMicroelectronics iniciatīvu, kuras mērķis ir atvieglot izstrādātāju dzīvi, samazinot izstrādes piepūli, laiku un izmaksas. STM32Cube aptver STM32 portfeli.
STM32Cube 1.x versijā ir iekļauts:

  • STM32CubeMX — grafisks programmatūras konfigurācijas rīks, kas ļauj ģenerēt C inicializācijas kodu, izmantojot grafiskos vedņus.
  • Visaptveroša iegultās programmatūras platforma, kas ir specifiska katrai sērijai (piemēram, STM32CubeG0 STM32G0 sērijai), kas ietver:
    • STM32Cube HAL iegultā abstrakcijas slāņa programmatūra, kas nodrošina maksimālu pārnesamību visā STM32 portfelī
    • konsekvents starpprogrammatūras komponentu komplekts, piemēram, RTOS, USB, TCP/IP un grafika
    • visas iegultās programmatūras utilītas ar pilnu ex komplektuamples.

STM32Cube arhitektūra
STM32Cube programmaparatūras risinājums ir veidots, balstoties uz trim neatkarīgiem līmeņiem, kas var viegli mijiedarboties viens ar otru, kā aprakstīts zemāk esošajā diagrammā.

STMicroelectronics-UM3469-X-CUBE-ISO1-Programmatūras-Paplašināšana-1

X-CUBE-ISO1 programmatūras paplašinājums STM32Cube

Beigāsview
X-NUCLEO-ISO1A1, rūpnieciski izolētas ieejas/izejas paplašināšanas plates, programmaparatūra, kas izstrādāta, izmantojot STM32 vides un bibliotēkas, izmanto STM32 Nucleo plates augstas veiktspējas MCU, lai pārvaldītu digitālās ieejas, izejas ar integrētu diagnostiku, kā arī dinamisko strāvas ierobežojumu un PWM signāla ģenerēšanu. Tā piedāvā visaptverošu plates konfigurāciju un vadību, tostarp noklusējuma un alternatīvo nosacījumu ietvarus, makro priekšskalibra vērtību iestatīšanai un GPIO portu un pieslēgvietu definīcijas.

Tas atbalsta dažādas sampTādi lietojumprogrammu lietošanas gadījumi kā digitālās ieejas un izejas spoguļošana, UART komunikācija caur Nucleo plati, kļūdu noteikšana, testa gadījumi un PWM ģenerēšana, ko var tieši izmantot un viegli pielāgot un paplašināt.

API nodrošina stabilu funkciju kopumu digitālās ieejas/izejas vadībai, kļūdu noteikšanai un plates statusa atjaunināšanai, kā arī konfigurācijas iestatījumus divu plates vienlaicīgai darbināšanai dažādos režīmos. Ir pieejamas īpašas API funkcijas PWM signālu inicializēšanai, palaišanai, apturēšanai un konfigurēšanai digitālās izejas kanāliem.

Plates atbalsta pakotnē ir iekļautas funkcijas, lai kontrolētu un uzraudzītu ar IPS1025H-32 savienotos GPIO kontaktus un nolasītu ar CLT03-2Q3 savienoto GPIO kontaktu stāvokli, izmantojot digitālo izolatoru.
Konfigurācija un inicializācija ir balstīta uz STM32CubeMX, un izstrādi un atkļūdošanu atbalsta STM32CubeIDE, IAR Systems un Keil® rīki.

Arhitektūra
X-NUCLEO-ISO1A1 programmaparatūru var iedalīt vairākos atšķirīgos funkcionālos blokos, katrs no kuriem ir atbildīgs par dažādiem sistēmas darbības aspektiem:

STMicroelectronics-UM3469-X-CUBE-ISO1-Programmatūras-Paplašināšana-2

  • Plates konfigurācija un vadība:
    • board_config.h fails file satur makro, lai konfigurētu plati darbībai noklusējuma vai alternatīvos apstākļos vai abos. Tajā ir iekļautas arī definīcijas priekšskalibra vērtībām un GPIO portiem un pieslēgvietām.
    • Šis bloks nodrošina, ka plate ir pareizi iestatīta vēlamajiem darbības apstākļiem un ka ir visas nepieciešamās aparatūras konfigurācijas.
  • Lietojumprogrammu lietošanas gadījumi:
    • st_iso_app.h un st_iso_app.c faili filesatur lietojumprogrammu lietošanas gadījumus, kas paredzēti, lai pārbaudītu dažādas plates funkcijas.
    • Šie lietošanas gadījumi ietver digitālās ieejas un izejas spoguļošanu, kļūdu noteikšanas testus un PWM signāla ģenerēšanu.
    • ExampIr nodrošinātas dažādas konfigurācijas divu plates vienlaicīgai darbināšanai dažādos režīmos, kas demonstrē programmaparatūras daudzpusību un elastību.
  • API funkcijas:
    • Iso1a1.h un iso1a1.c filenodrošina visaptverošu API komplektu dažādu funkciju atbalstam.
    • Šīs API ietver funkcijas digitālajai ieejas/izejas vadībai, kļūdu noteikšanai un plates statusa atjaunināšanai.
    • API ir izstrādāti tā, lai tie būtu vienkārši un intuitīvi, atvieglojot lietotājiem mijiedarbību ar tāfeli un nepieciešamo darbību veikšanu.
  • PWM signāla vadība:
    • pwm_api.h un pwm_api.c faili filesatur īpašas API funkcijas, kas saistītas ar PWM signāla ģenerēšanu.
    • Šīs funkcijas ļauj inicializēt, konfigurēt, iedarbināt un apturēt PWM signālus digitālajiem izejas kanāliem.
    • PWM funkcionalitāte nav noklusējuma izvēle. Lai to iespējotu, ir modificēta plates konfigurācija. Sīkāku informāciju skatiet 3.5. sadaļā: API.
  • Valdes atbalsta pakete:
    • Valdes atbalsta paketē ietilpst files IPS1025H-32 savienoto GPIO pieslēgvietu vadībai un uzraudzībai, kā arī ar CLT03-2Q3 savienoto GPIO pieslēgvietu stāvokļa nolasīšanai.
    • ips1025h_32.h un ips1025h_32.c faili filenodrošina funkcijas, lai iestatītu, notīrītu un atklātu kļūmes GPIO pieslēgvietās, kas savienotas ar IPS1025H-32.
    • Clt03_2q3.h un clt03_2q3.c faili files nodrošina funkcijas, lai nolasītu ar CLT03-2Q3 savienoto GPIO pieslēgvietu stāvokli.

Demonstrācijas programmaparatūra īsteno vairākus vienkāršus lietošanas gadījumus, lai demonstrētu sistēmas iespējas. Šie lietošanas gadījumi un lietotāja API tiek izpildīti koordinētā veidā, lai nodrošinātu vienmērīgu darbību un precīzus rezultātus. Arhitektūra ir izstrādāta tā, lai to varētu viegli paplašināt, ļaujot lietotājiem pievienot jaunas funkcijas un lietošanas gadījumus pēc nepieciešamības. Noklusējuma konfigurācija ir paredzēta vienas plates darbināšanai ar digitālajām rūpnieciskajām izejas ieejām. Arī tiltslēga iestatījumam jābūt noklusējuma režīmā, kā aprakstīts 2. tabulā. Digitālās ieejas un izejas spoguļošana (DIDO) ir programmaparatūras lietojumprogrammas noklusējuma lietošanas gadījums.

Mapju struktūra

STMicroelectronics-UM3469-X-CUBE-ISO1-Programmatūras-Paplašināšana-3

Programmatūras pakotnē ir iekļautas šādas mapes:

  • Dokumentācijā ir apkopots HTML file ģenerēts no pirmkoda, detalizēti norādot programmatūras komponentus un API.
  • Draiveri satur:
    • STM32Cube HAL mape, kas atrodas apakšmapēs STM32G0xx_HAL_Driver. Šīs filešeit nav aprakstīti, jo tie nav raksturīgi tikai X-CUBE-ISO1 programmatūrai, bet gan nāk tieši no STM32Cube ietvara.
    • CMSIS mape, kurā ir Cortex® mikrokontrollera programmatūras interfeisa standarts files no Arm. Šīs fileir no pārdevēja neatkarīgs aparatūras abstrakcijas slānis Cortex®-M procesoru sērijai. Šī mape arī nav mainīta salīdzinājumā ar STM32Cube ietvaru.
    • BSP mape, kurā ir komponentu IPS1025H-32 un CLT03-2Q3 kodi un ar X-NUCLEO-ISO1A1 saistītie API.
  • Lietojumprogrammā ir lietotāja mape, kurā atrodas fails main.c. file, lietojumprogrammas lietošanas gadījums file, st_iso_app.c un board_config.h file, paredzēts NUCLEO-G071RB platformai.

BSP mape
X-CUBE-ISO1 programmatūra izmanto divus dažādus komponentus files, kas atrodas BSP/komponentu iekšpusē:

IPS1025
ips1025h_32.h un ips1025h_32.c faili filenodrošina visaptverošu draivera ieviešanu GPIO pieslēgvietām, kas savienotas ar IPS1025H-32, tostarp pilnīgu funkcionalitāti visu pieslēgvietu vadībai un kļūdu noteikšanai. Šie fileievieš funkcijas ierīces inicializēšanai, kanāla statusa iestatīšanai un dzēšanai, kļūmju noteikšanai un PWM funkcionalitātes pārvaldībai. Draiveris atbalsta vairākas ierīces un kanālus ar pilnām iespējām gan atsevišķam kanālam, gan grupai.

CLT03
Clt03_2q3.h un clt03_2q3.c faili fileievieš pilnvērtīgu draiveri GPIO pieslēgvietām, kas savienotas ar CLT03-2Q3, ar pilnīgām iespējām nolasīt visu pieslēgvietu stāvokļus. Draiveris nodrošina funkcijas ierīces inicializēšanai, atsevišķu kanālu statusa nolasīšanai un visu kanālu statusa informācijas iegūšanai vienlaikus. Tas atbalsta vairākas ierīču konfigurācijas un uztur iekšējo stāvokli efektīvai kanālu pārvaldībai.

X-CUBE-ISO1 programmatūras API ir iedalīti divos galvenajos avotos files, kas atrodas ISO1A1 apakšmapē:

ISO1A1
ISO1A1 fileietver visaptverošu API funkciju kopumu, kas paredzēts plates konfigurēšanai, komponentu mijiedarbībai un kļūdu pārvaldībai. Šīs funkcijas atvieglo lasīšanas un rakstīšanas darbības, kļūdu noteikšanu un atjaunināšanu, kā arī ietver dažādas palīgprogrammas, lai atbalstītu primārās API funkcijas. Turklāt filenodrošina funkcionalitāti LED vadībai, GPIO inicializācijai, pārtraukumu apstrādei un UART komunikācijai.

PWM API
PWM API nodrošina funkcijas PWM signālu inicializēšanai, konfigurēšanai, palaišanai un apturēšanai. Tas ļauj iestatīt PWM frekvenci un darba ciklu noteiktiem taimera pieslēgumiem, nodrošinot precīzu PWM darbību kontroli.

Lietojumprogrammas mape
Mapē “Lietotne” ir galvenā filenepieciešami programmaparatūrai, ieskaitot galvenes un avotu files. Zemāk ir sniegts detalizēts apraksts par files šajā mapē:

  • board_config.h: Plates konfigurācijas makro.
  • main.c: Galvenā programma (ex kods)ampfails, kas balstīts uz ISO1A1 bibliotēku).
  • st_iso_app.c: Lietojumprogrammas funkcijas plates testēšanai un konfigurēšanai.
  • stm32g0xx_hal_msp.c: HAL inicializācijas rutīnas.
  • stm32g0xx_it.c: Pārtraukumu apstrādātājs.
  • syscalls.c: Sistēmas izsaukumu ieviešana.
  • sysmem.c: Sistēmas atmiņas pārvaldība.
  • system_stm32g0xx.c: Sistēmas inicializācija.

Nepieciešamie programmatūras resursi
Nucleo ierīce kontrolē un sazinās ar X-NUCLEO-ISO1A1 plati, izmantojot GPIO. Tam nepieciešams izmantot vairākus GPIO X-NUCLEO-ISO1A1 platē esošo rūpniecisko IO ierīču ievadei, izvadei un kļūdu noteikšanai. Plašāku informāciju un tiltu konfigurācijas skatiet aparatūras lietotāja rokasgrāmatā UM3483.

Plates konfigurācija (board_config.h)
board_config.h fails file definē izmantotos resursus un konfigurācijas makro, lai konfigurētu programmatūru atbilstoši plates konfigurācijai. Tā apstrādā līdz divām platēm (piemēram, divu plates sakraušanu).
Programmatūras noklusējuma konfigurācija ir saskaņota ar X-NUCLEO-ISO1A1 paplašināšanas plati, un tās tiltslēgi ir noklusējuma pozīcijās. Lai konfigurētu programmatūru X-NUCLEO-ISO1A1 noklusējuma iestatījumos, noņemiet komentāru BOARD_ID_DEFAULT makro failā board_config.h. file.

Programmatūras ALTERNATE konfigurācija tiek iestatīta, noņemot komentāru BOARD_ID_ALTERNATE makro failā board_config.h. file un mainot džemperu pozīcijas uz tāfeles.
Lai vienlaikus izmantotu divas plates sakļautā konfigurācijā, noņemiet komentārus gan BOARD_ID_DEFAULT, gan BOARD_ID_ALTERNATE makro un pārliecinieties, vai vienas plates tiltslēgi atrodas noklusējuma pozīcijā, bet otras — alternatīvajā pozīcijā. Ņemiet vērā, ka nav ieteicams abām platēm atrasties vienā un tajā pašā konfigurācijā (vai nu abām noklusējuma, vai abām pārmaiņus), un tas var izraisīt nevēlamu darbību.
Ja darbojas tikai viena plate, pārliecinieties, vai programmatūra ir konfigurēta tikai vienai konfigurācijai un vai otrai konfigurācijai atbilstošais makro ir komentēts.

STMicroelectronics-UM3469-X-CUBE-ISO1-Programmatūras-Paplašināšana-4

Pirmsmērotāji
Mēs varam konfigurēt priekšskalibra vērtības failā board_config.h, lai sasniegtu dažādus PWM izejas frekvenču diapazonus, iestatot atbilstošos makro. Lai izmantotu priekšskalibra vērtību, noņemiet komentārus atbilstošajam makro un komentējiet pārējos. Pēc noklusējuma tiek izmantots DEFAULT_PRESCALAR.

  • PRESCALER_1
  • PRESCALER_2
  • NOKLUSĒJUMA_IEPRIEKŠĒJAIS SKALOTĀJS

Preskalera vērtības tiek izmantotas tikai tad, ja tiek izmantoti taimeri, un tās nav nepieciešamas pamata I/O darbībai. Preskalāru makro vērtības un to atbilstošos frekvenču diapazonus var apskatīt koda dokumentācijā vai pašā kodā.

Sirdsdarbības gaismas diode
Mēs varam konfigurēt zaļo lietotāja gaismas diodi D7, lai tā mirgotu sirdsdarbības ritmā, pārbaudot pareizu savienojumu ar NUCLEO-G071RB plati. Makro, HEARTBEAT_LED, ja tas nav komentēts, mirgo zaļā gaismas diode uz X-NUCLEO-ISO1A1, kad tā ir pievienota NUCLEO. Tā paliek ieslēgta 1 sekundi un izslēgta 2 sekundes, un laiku regulē taimeri. Ja tā netiek izmantota vai netiek izsaukta kāda funkcija, kas saistīta ar gaismas diodēm, makro nedrīkst būt komentēts.

Ieejas un izejas GPIO konfigurācija
Katra X-NUCLEO-ISO1A1 plate ir aprīkota ar diviem ieejas portiem un diviem izejas portiem. Plates iespējas var paplašināt, novietojot divas X-NUCLEO-ISO1A1 plates vienu virs otras, tādējādi nodrošinot četru digitālo ieejas portu un četru digitālo izejas portu izmantošanu. Komplektā iekļautā programmatūra ietver visaptverošus API, kas atvieglo portu nolasīšanu, iestatīšanu un notīrīšanu. Turklāt API ļauj vienlaikus iestatīt, nolasīt vai notīrīt visus portus. Detalizēta informācija par API funkcijām ir pieejama koda dokumentācijā, kā arī šī dokumenta API sadaļā.

STMicroelectronics-UM3469-X-CUBE-ISO1-Programmatūras-Paplašināšana-5

Šeit prefikss DI norāda digitālās ieejas portu, un DO norāda digitālās izejas portu. Alternatīvai konfigurācijai programmatūra izmanto tās pašas nosaukumu piešķiršanas konvencijas ar pievienotu sufiksu _alt.
Šajā tabulā ir detalizēti aprakstītas programmatūrā definētās GPIO makro, kas atbilst dažādām IO pieslēgvietām:

2. tabula. Noklusējuma un alternatīvajām programmatūras konfigurācijām piešķirtie GPIO

Vārds Funkcija Noklusējuma konfigurācija Alternatīva konfigurācija
IEVADES PIN kods Ievades tapa 1 GPIOC, IA0_IN_1_PIN GPIOD, IA0_IN_1_PIN
Ievades tapa 2 GPIOD, IA1_IN_2_PIN GPIOC, IA1_IN_1_PIN
IZEJAS PIN Izejas tapa 1 GPIOC, QA0_CNTRL_1_PIN GPIOD, QA0_CNTRL_1_PIN
Izejas tapa 2 GPIOC, QA1_CNTRL_2_PIN GPIOC, QA1_CNTRL_2_PIN
KĻŪMES PIN Kļūmes tapa 1 GPIOC, FLT1_QA0_2_OT_PIN GPIOD, FLT1_QA0_1_OT_PIN
Kļūmes tapa 2 GPIOC, FLT2_QA0_2_OL_PIN GPIOD, FLT2_QA0_1_OL_PIN
Kļūmes tapa 3 GPIOC, FLT1_QA1_2_OT_PIN GPIOC, FLT1_QA1_1_OT_PIN
Kļūmes tapa 4 GPIOC, FLT2_QA1_1_OL_PIN GPIOD, FLT2_QA1_2_OL_PIN
KONFIGURĀCIJAS MAKRO PLATES_ID_NOKLUSĒJUMS VALDES_ID_ALTERNATĪVS

Taimeri un PWM
X-CUBE-ISO1 programmaparatūrā var izmantot taimerus, lai ģenerētu PWM signālus noteiktiem pieslēgumiem. Pēc noklusējuma taimeri netiek inicializēti, izņemot TIM3. Pirms PWM signālu ģenerēšanas attiecīgie taimeri ir jāinicializē, un attiecīgie izejas porti ir jāinicializē PWM režīmā.
Parastām GPIO ieejas/izejas darbībām nav nepieciešams konfigurēt taimeri vai izejas portu, jo par to tiek parūpēts pēc noklusējuma. Tomēr, ja izejas pieslēgvietas ir iestatītas PWM režīmā, tās ir jāpārkonfigurē GPIO režīmā, lai tās tiktu izmantotas kā GPIO pieslēgvietas.

Piezīme: Kad izejas pieslēgvietas tiek izmantotas PWM ģenerēšanai, GPIO izeja ir atspējota, abas funkcijas nevar tikt ieviestas vienlaicīgi. Lai atkārtoti iespējotu GPIO pēc PWM izmantošanas, var izsaukt API funkciju ST_ISO_BoardConfigureDefault() vai ST_ISO_InitGPIO(), lai konfigurētu visas pieslēgvietas kā GPIO vienlaikus, vai ST_ISO_Init_GPIO() ar konkrētu GPIO pieslēgvietu un pieslēgvietu.

Kā minēts iepriekš, programmatūra pēc noklusējuma izmanto arī vienu taimeri — TIM3, kas tiek izmantots lietotāja LED laika noteikšanai, pulksteņa un UART laika noteikšanai. Pēc noklusējuma tas ir konfigurēts uz 1 sekundi.
Šajā tabulā ir detalizēti aprakstīti taimeri, kas pieejami katram mūsu koda kontaktam:

3. tabula. Katram kontaktam pieejamie taimeri

Piespraudes nosaukums Programmatūras pārstāvniecība Taimeris Taimera kanāls Alternatīva funkcija
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

Papildu programmaparatūras utilītas
Programmatūra ietver papildu utilītas, lai uzlabotu X-NUCLEO-ISO1A1 novērtēšanas plates funkcionalitāti. Dažas no tām ir aprakstītas tālāk.

UART
UART komunikācijas funkcija ļauj reāllaikā uzraudzīt un atkļūdot plates statusu, izmantojot datora utilītprogrammas, piemēram, TeraTerm, PuTTY un citas līdzīgas lietojumprogrammas. Programmatūra nodrošina UART datu pārraidi, izmantojot NUCLEO-G071RB platē esošo UART. Funkcija `ST_ISO_UART` nosūta detalizētu informāciju par plates statusu, izmantojot UART, tostarp sistēmas darbības laiku, programmaparatūras konfigurāciju un kļūmju statusu. Šos datus var viewizmantojot jebkuru seriālā porta lietojumprogrammu, piemēram, TeraTerm. Funkcija `ST_ISO_APP_DIDOandUART` apvieno digitālās ieejas/izejas darbības ar UART komunikāciju, pārraidot visu ieejas un izejas kanālu statusu noteiktos intervālos. Zemāk ir norādīti konfigurācijas iestatījumi unamppar to, kā dati tiek parādīti programmā TeraTerm. Porta nosaukums var atšķirties atkarībā no sistēmas un izmantotā seriālā porta.

STMicroelectronics-UM3469-X-CUBE-ISO1-Programmatūras-Paplašināšana-6

STMicroelectronics-UM3469-X-CUBE-ISO1-Programmatūras-Paplašināšana-7

IO pieslēgvietas režīma konfigurācija
IO pieslēgvietu režīma konfigurācijas utilīta ļauj lietotājiem iestatīt plates ieejas un izejas portus, izmantojot funkciju ST_ISO_BoardConfigure(). Šī funkcija atbalsta divu izejas portu (QA0, QA1) un divu ieejas portu (IA0, IA1) konfigurēšanu ieejas/izejas režīmā, PWM izejas režīmā vai pārtraukuma ieejas režīmā. Pielāgojot parametrus un izsaucot šo funkciju, lietotāji var viegli pielāgot plates IO konfigurāciju atbilstoši konkrētām vajadzībām.

Ievades/izvades režīmā utilīta inicializē GPIO pieslēgvietas vispārējas nozīmes digitālajām darbībām. PWM izejas režīmā tā iestata taimerus precīzai PWM signāla vadībai. Pārtraukuma ievades režīmā utilīta konfigurē pieslēgvietas pārtraukumu apstrādei, nodrošinot atsaucīgu notikumu vadītu programmēšanu.

Pārtraukumu apstrāde
KĻŪMES signālu apstrādei programmatūra aktivizē saistītās pārtraukumu līnijas, nodrošinot atsaucīgu notikumu vadītu programmēšanu. Pielāgotu apstrādātāju var saistīt ar šiem pārtraukumiem, izmantojot
HAL_GPIO_EXTI_Rising_Callback funkcija, kas definēta API. Programmatūra ietver funkcijas GPIO pieslēgvietu inicializēšanai pārtraukuma režīmā, izmantojot ST_ISO_BoardConfigure funkciju, un konkrētu darbību konfigurēšanai EXTI IRQ apstrādātājos. Tas ļauj lietotājiem pielāgot, kā plate reaģē uz ārējiem notikumiem, nodrošinot, ka tā var efektīvi pārvaldīt dažādus kļūmju apstākļus un aktivizētājus.

API
X-CUBE-ISO1 programmatūras API nodrošina visaptverošu funkciju kopumu X-NUCLEO-ISO1A1 plates vadībai un uzraudzībai, tostarp PWM signāla ģenerēšanai un GPIO darbībām. API ir izstrādāts tā, lai to būtu viegli lietot un integrēt dažādās lietojumprogrammās, nodrošinot plates funkcionalitātes elastību un kontroli.

X-CUBE-ISO1 programmatūras API ir definēta mapē BSP/ISO1A1. Tās funkcijas ir prefiksētas ar ST_ISO. API lietojumprogrammām ir redzams, izmantojot iso1a1.c un pwm_api.c failus. files ir konstantu, datu struktūru un funkciju kombinācija.
SampProgrammatūras lietojumprogrammas izmanto šīs API, lai parādītu dažus iespējamos šo funkciju lietojumus.

X-CUBE-ISO1 programmatūras pakotne nodrošina divus API komplektus:

  • ISO1A1 API
  • PWM API

ISO1A1 API
ISO1A1 API ir definēts iso1a1.h un iso1a1.c failos. files. Tas nodrošina funkcijas ISO1A1 plates konfigurēšanai un vadībai, tostarp GPIO ieejas/izejas darbībām un kļūdu noteikšanai.

Galvenās funkcijas

  • ST_ISO_BoardConfigureDefault: Konfigurē plates IO portus ar noklusējuma GPIO konfigurāciju.
  • ST_ISO_BoardConfigure: Konfigurē plates ievades un izvades portu režīmu.
  • ST_ISO_BoardInit: Inicializē plates aparatūru.
  • ST_ISO_BoardMapInit: Inicializē plates funkcionalitāti, pamatojoties uz kanāla rokturu konfigurāciju.
  • ST_ISO_GetFWVersion: Atgriež pašreizējo programmaparatūras versiju.
  • ST_ISO_GetChannelHandle: Izgūst kanāla turi norādītajam kanāla nosaukumam.
  • ST_ISO_InitGPIO: Inicializē norādīto GPIO pieslēgvietu ar norādīto moduļa ID.
  • ST_ISO_InitInterrupt: Inicializē norādīto GPIO pieslēgvietu kā pārtraukumu ar norādīto moduļa ID.
  • ST_ISO_EnableFaultInterrupt: Inicializē kļūmes GPIO tapas pārtraukuma režīmā.
  • ST_ISO_SetChannelStatus: Iestata norādītā kanāla statusu.
  • ST_ISO_SetOne_DO: Iestata vienu digitālās izejas kanālu.
  • ST_ISO_ClearOne_DO: Notīra vienu digitālās izejas kanālu.
  • ST_ISO_WriteAllChannels: Raksta datus visos digitālās izejas kanālos.
  • ST_ISO_GetOne_DI: Iegūst viena digitālā ieejas kanāla statusu.
  • ST_ISO_ReadAllChannel: Nolasa visu ievades kanālu statusu.
  • ST_ISO_ReadAllOutputChannel: Nolasa visu izejas kanālu statusu.
  • ST_ISO_ReadFaultStatus: Nolasa kļūmes statusu no visiem kļūmes noteikšanas portiem.
  • ST_ISO_ReadFaultStatusPolling: Pārbauda plates kļūmju noteikšanu aptaujas režīmā.
  • ST_ISO_DisableOutputChannel: Atspējo šī kanāla izvadi.
  • ST_ISO_UpdateBoardStatusInfo: Atjaunina plates statusa informāciju.
  • ST_ISO_UpdateFaultStatus: Atjaunina kļūmes statusu konkrētam kanālam.
  • ST_ISO_BlinkLed: Mirgo norādīto gaismas diodi ar noteiktu aizkavi un atkārtojumu skaitu.
  • ST_ISO_UART: Nosūta plates statusa informāciju, izmantojot UART.
  • ST_ISO_SwitchInit: Inicializē slēdža komponentus.
  • ST_ISO_SwitchDeInit: Deinicializē slēdža instanci.
  • ST_ISO_DigitalInputInit: Inicializē digitālās ievades komponentus.
  • ST_ISO_DigitalInputDeInit: Deinicializē digitālās ievades instanci.

PWM API
PWM API ir definēts pwm_api.h un pwm_api.c failos. files. Tas nodrošina šādas funkcijas PWM signālu inicializēšanai un vadībai noteiktām pieslēgvietām.

  • ST_ISO_Init_PWM_Signal: Inicializē taimerus un specifisko PWM signāla pieslēgvietu.
  • ST_ISO_Set_PWM_Frequency: Iestata PWM frekvenci konkrētajai piespraudei.
  • ST_ISO_Set_PWM_Duty_Cycle: Iestata PWM darba ciklu konkrētajai piespraudei.
  • ST_ISO_Start_PWM_Signal: Iedarbina PWM signālu konkrētajā pieslēgvietā.
  • ST_ISO_Stop_PWM_Signal: Aptur PWM signālu konkrētajā pieslēgvietā.

Lai attiecīgajā kanālā palaistu PWM signālu, vispirms izsauciet funkciju ST_ISO_Init_PWM_Signal, pēc tam iestatiet vēlamo frekvenci un darba ciklu, izsaucot funkciju ST_ISO_Set_PWM_Frequency un
attiecīgi ST_ISO_Set_PWM_Duty_Cycle funkcijas, un pēc tam PWM signālu var iedarbināt, izsaucot funkciju ST_ISO_Start_PWM_Signal, un apturēt, izsaucot funkciju ST_ISO_Stop_PWM_Signal.

Funkcija ir jāizsauc ar atbilstošo pieslēgvietas nosaukumu un pieejamajiem taimeriem, kuru informācija ir sniegta 3. tabulā. Dažādus izejas kanālus var iestatīt ar dažādām frekvencēm un darba cikliem; frekvences vai darba cikla maiņa neietekmē otru, tie paliek nemainīgi.
Detalizētu tehnisko informāciju par lietotājam pieejamajām API var atrast apkopotajā HTML file atrodas programmatūras pakotnes mapē “Dokumentācija”, kurā ir pilnībā aprakstītas visas funkcijas un parametri.

Lietojumprogrammas apraksts
Demonstrācijas lietojumprogramma īsteno vairākus vienkāršus lietošanas gadījumus. st_iso_app un board_config fileir izšķiroša nozīme plates un tās lietojumprogrammu funkciju iestatīšanā un lietošanā. Pirms šo funkciju izmantošanas pārliecinieties, vai plates un programmatūras konfigurācija ir sinhronizēta viena ar otru.

Lietojumprogrammu funkcijas (st_iso_app.h un st_iso_app.c)
Lietojumprogrammas funkcijas ir apzīmētas ar ST_ISO_APP prefiksu; tās ir augstākā līmeņa funkcijas, kas ir redzamas lietotājam, kurš izsauc API funkcijas to ieviešanai. Lietojumprogrammas funkcijas var izsaukt main.c failā. file to funkcionēšanai.

  • Lietošanas gadījuma izvēle: lietotājs var noņemt komentāru vēlamajam lietošanas gadījuma makro failā st_iso_app.c fileFunkcija ST_ISO_APP_SelectUseCaseMacro(), kas tiek izsaukta failā main.c, inicializē šo lietošanas gadījumu, un funkcija ST_ISO_APP_SelectedFunction() to ievieš failā main.c. Šī pieeja ļauj viegli konfigurēt darbības režīmu, vienkārši modificējot makro definīcijas, nodrošinot, ka tiek izpildīta atbilstošā funkcionalitāte, pamatojoties uz izvēlēto lietošanas gadījumu. Pēc noklusējuma ir izvēlēts lietošanas gadījums DIDO, un lietotājam nav jāveic nekādas izmaiņas kodā, lai to ieviestu.
  • Digitālās ieejas spoguļošana digitālajā izejā (ST_ISO_APP_UsecaseDIDO): šī funkcija nolasa visu ieejas kanālu statusu un ieraksta to pašu statusu visos izejas kanālos. Tā ir noderīga digitālo ieeju spoguļošanai digitālajās izejās.
  • Digitālās ieejas spoguļošana digitālajā izejā ar UART (ST_ISO_APP_DIDOandUART): šī funkcija spoguļo digitālās ieejas digitālajās izejās, līdzīgi kā ST_ISO_APP_UsecaseDIDO funkcija. Turklāt tā pārraida plates statusu, izmantojot UART saskarni Nucleo ierīcē, ļaujot to mainīt. viewsavienots ar seriālo portu, izmantojot tādas lietojumprogrammas kā Tera Term.
  • Testa gadījuma funkcija (ST_ISO_APP_TestCase): šī funkcija veic virkni testu un darbību, pamatojoties uz plates konfigurāciju. Tā pārbauda kļūmes statusu, nolasa divu digitālo ieejas kanālu statusu un veic darbības, pamatojoties uz to vērtībām. Šī funkcija palīdz ātri novērtēt plates veiktspēju un funkcionalitāti un iegūt vizuālu atgriezenisko saiti, izmantojot dažādus LED indikatoru modeļus. Pārliecinieties, vai failā board_config.h ir iespējota HEARTBEAT_LED makro. file tiek komentēts, lai ievērotu pareizus LED signālus.
  • PWM ģenerēšana (ST_ISO_APP_PWM _OFFSET): Šī funkcija iedarbina PWM signālu abos izejas kanālos ar 1 Hz frekvenci un 50% darba ciklu. Tā inicializē PWM signālu, iestata frekvenci un darba ciklu un iedarbina PWM signālu norādītajam plates ID. PWM signāls tiek ģenerēts ar nobīdi starp abiem kanāliem, un tādējādi tie nav fāzē.
  • Kļūmju noteikšanas tests (ST_ISO_APP_FaultTest): šī funkcija novērtē kļūmju noteikšanu, izmantojot viedā izejas moduļa IPS1025 iebūvētos diagnostikas kontaktus aptaujas vai pārtraukuma režīmā. Tā konfigurē kļūmju noteikšanas režīmu, inicializē kļūmju noteikšanu un atjaunina kļūmju statusa struktūru, pamatojoties uz izvēlēto režīmu. Šī funkcija ir ļoti svarīga, lai nodrošinātu plates uzticamību un drošību, efektīvi nosakot un apstrādājot kļūmes. Aptaujas režīmā kļūmes statuss tiek atjaunināts katru sekundi, izmantojot taimeri, un tiek atspoguļots struktūrā defaultBoardFaultStatus vai alternateBoardFaultStatus. Pārtraukuma režīmā kļūmes statuss tiek atjaunināts tikai tad, kad rodas kļūme, un tas aktivizē programmatūru, lai notīrītu atbilstošo izejas portu.
  • PWM variācijas tests (ST_ISO_APP_PwmVariationTest): šī funkcija ir paredzēta, lai pārbaudītu PWM (impulsa platuma modulācijas) signālu variāciju dažādos izejas kanālos, pamatojoties uz plates konfigurāciju. Tā inicializē PWM signālus gan noklusējuma, gan alternatīvajām plates konfigurācijām, iestatot to frekvenci uz 100 Hz un sākotnējo darba ciklu uz 0%. Pēc tam funkcija maina darba ciklu no 0% līdz 100% ar 5% soli un atpakaļ no 100% līdz 0% ar 5% samazinājumu, ar 2 sekunžu aizkavi starp katru soli. Šī kontrolētā variācija ļauj novērot un novērtēt PWM signāla uzvedību kanālos QA_0 un QA_1 noklusējuma platei un QA_0_ALT un QA_1_ALT alternatīvajai platei.

Ievērojot šīs konfigurācijas un izmantojot nodrošinātās lietojumprogrammas funkcijas, jūs varat efektīvi iestatīt un izmantot X-NUCLEO-ISO1A1 plati dažādiem demonstrācijas lietošanas gadījumiem.

Sistēmas iestatīšanas rokasgrāmata

Aparatūras apraksts

STM32 kodola platforma
STM32 Nucleo izstrādes plates nodrošina lietotājiem pieejamu un elastīgu veidu, kā pārbaudīt risinājumus un veidot prototipus ar jebkuru STM32 mikrokontrollera līniju.
Arduino® savienojamības atbalsts un ST morpho savienotāji atvieglo STM32 Nucleo atvērtās izstrādes platformas funkcionalitātes paplašināšanu ar plašu specializētu paplašināšanas plates klāstu, no kura izvēlēties.

STM32 Nucleo platei nav nepieciešamas atsevišķas zondes, jo tajā ir integrēts ST-LINK/V2-1 atkļūdotājs/programmētājs.
STM32 Nucleo plate ir aprīkota ar visaptverošu STM32 programmatūras HAL bibliotēku kopā ar dažādu iepakotu programmatūru, piem.amples.

STMicroelectronics-UM3469-X-CUBE-ISO1-Programmatūras-Paplašināšana-8

Informācija par STM32 Nucleo plati ir pieejama vietnē www.st.com/stm32nucleo

X-NUCLEO-ISO1A1 paplašināšanas plate
X-NUCLEO-ISO1A1 ir novērtēšanas plate ar izolētu rūpniecisko ieeju/izeju, kas paredzēta STM32 Nucleo plates paplašināšanai un mikro-PLC funkcionalitātes nodrošināšanai. Divas no X-NUCLEO-ISO1A1 platēm var sakraut kopā virs STM32 Nucleo plates, izvēloties atbilstošu tiltslēgu izvēli uz paplašināšanas plates, lai izvairītos no konflikta GPIO saskarnēs. UL1577 sertificētie digitālie izolatori STISO620 un STISO621 nodrošina izolāciju starp loģikas un procesa puses komponentiem. Divas strāvas ierobežotas augstas puses ieejas no procesa puses tiek realizētas, izmantojot CLT03-2Q3. CLT03-2Q3 nodrošina aizsardzību, izolāciju un enerģijas trūkuma stāvokļa indikāciju rūpnieciskiem apstākļiem, un tā ir izstrādāta, lai atbilstu tādiem standartiem kā IEC61000-4-2, IEC61000-4-4 un IEC61000-4-5. Pa vienam no augstas puses slēdžiem IPS1025H-32/HQ-32 nodrošina aizsargātu izeju līdz 5.6 A ar diagnostikas un viedās piedziņas funkcijām. Tie var vadīt kapacitatīvas, rezistīvas vai induktīvas slodzes. X-NUCLEO-ISO1A1 ļauj ātri novērtēt iebūvētās integrālās shēmas, izmantojot programmatūras pakotni X-CUBE-ISO1.

STMicroelectronics-UM3469-X-CUBE-ISO1-Programmatūras-Paplašināšana-9

Aparatūras iestatīšana
Ir nepieciešami šādi aparatūras komponenti:

  1. Viena STM32 Nucleo izstrādes platforma (ieteicamais pasūtījuma kods: NUCLEO-GO71RB)
  2. Viena rūpnieciskā digitālās izejas paplašināšanas plate (pasūtījuma kods: X-NUCLEO-ISO1A1)
  3. Viens USB A tipa uz Micro USB kabelis STM32 Nucleo pievienošanai datoram
  4. Ārējais barošanas avots (24 V) un saistītie vadi X-NUCLEO-ISO1A1 paplašināšanas plates barošanai.

Programmatūras iestatīšana
Lai iestatītu piemērotu izstrādes vidi lietojumprogrammu izveidei STM32 Nucleo, kas aprīkots ar X-NUCLEO-ISO1A1 paplašināšanas plati, ir nepieciešami šādi programmatūras komponenti:

  • X-CUBE-ISO1: STM32Cube paplašinājums, kas paredzēts lietojumprogrammu izstrādei, kurām nepieciešama X-NUCLEO-ISO1A1 plates izmantošana. X-CUBE-ISO1 programmaparatūra un saistītā dokumentācija ir pieejama vietnē www.st.com
  • Izstrādes rīku ķēde un kompilators: STM32Cube paplašināšanas programmatūra atbalsta šādas trīs vides:
    • IAR iegultais darbagalds ARM® (IAR-EWARM) rīku ķēdei
    • ĪstaView Mikrokontrolleru izstrādes komplekta (MDK-ARM-STM32) rīku ķēde
    • STM32CubeIDE.

Valdes iestatīšana
Plate ir jākonfigurē ar atbilstošiem tiltslēga iestatījumiem, kā norādīts aparatūras lietotāja rokasgrāmatā (UM3483). Lai nodrošinātu pareizu darbību un izvairītos no iespējamām problēmām, ir svarīgi rūpīgi ievērot šīs vadlīnijas.

Sistēmas iestatīšanas rokasgrāmata
Šajā sadaļā ir aprakstīts, kā iestatīt dažādas aparatūras daļas pirms lietojumprogrammas izstrādes un izpildes STM32 Nucleo, NUCLEO-G071RB platē ar X-NUCLEO-ISO1A1 paplašināšanas plati.

STMicroelectronics-UM3469-X-CUBE-ISO1-Programmatūras-Paplašināšana-10

STMicroelectronics-UM3469-X-CUBE-ISO1-Programmatūras-Paplašināšana-11

X-CUBE-ISO1 paplašināšanas pakotnes iestatīšana
X-NUCLEO-ISO1A1 ir jākonfigurē ar konkrētām tiltslēgu pozīcijām, pamatojoties uz to, kādā konfigurācijā jūs darbināt plati. Sīkāku informāciju var atrast aparatūras rokasgrāmatā.

  • 1. darbība. Pievienojiet X-NUCLEO-ISO1A1 paplašināšanas plati STM32 Nucleo augšpusē, izmantojot morfokonektorus.
    Ja izmantojat divus dēļus vienu virs otra, sakraujiet tos, kā parādīts 11. attēlā.
  • 2. darbība. Pievienojiet STM32 Nucleo plati datoram, izmantojot USB kabeli un USB savienotāju CN1, lai darbinātu plati.
  • 3. darbība. Ieslēdziet X-NUCLEO-ISO1A1 paplašināšanas plati(-es), pievienojot J1 24 V līdzstrāvas barošanas avotam. Ja izmantojat sakrautas plates, pārliecinieties, vai abas plates ir barotas.
  • 4. darbība. Atveriet vēlamo rīku ķēdi (MDK-ARM no Keil, EWARM no IAR vai STM32CubeIDE).
  • 5. darbība. Atveriet programmatūras projektu un veiciet nepieciešamās izmaiņas failā board_config.h. file atkarībā no izmantotās(-o) plates(-u) konfigurācijas.
  • 6. darbība. Iestatiet atbilstošo lietošanas gadījuma makro failā st_iso_app.c file vai izsauciet nepieciešamo lietošanas gadījumu, izmantojot ST_ISO_APP_SelectUseCase funkciju main.c failā file kopā ar jebkuru citu vēlamo funkciju.
  • 7. darbība. Izveidojiet projektu, lai apkopotu visu files un ielādēt kompilēto kodu STM32 Nucleo plates atmiņā.
  • 8. darbība. Palaidiet kodu STM32 Nucleo platē un pārbaudiet paredzēto darbību.

Pārskatīšanas vēsture
4. tabula. Dokumentu pārskatīšanas vēsture

Datums Pārskatīšana Izmaiņas
14. gada 2025. maijs 1 Sākotnējā izlaišana.

SVARĪGS PAZIŅOJUMS – UZMANĪGI IZLASIET

STMicroelectronics NV un tā meitasuzņēmumi (“ST”) patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas, labojumus, uzlabojumus, modifikācijas un uzlabojumus ST izstrādājumos un/vai šajā dokumentā. Pirms pasūtījuma veikšanas pircējiem jāiegūst jaunākā atbilstošā informācija par ST produktiem. ST produkti tiek pārdoti saskaņā ar ST pārdošanas noteikumiem un nosacījumiem, kas ir spēkā pasūtījuma apstiprināšanas brīdī.

Pircēji ir pilnībā atbildīgi par ST produktu izvēli, izvēli un lietošanu, un ST neuzņemas nekādu atbildību par palīdzību pielietošanā vai pircēja produktu dizainu.
ST šeit nepiešķir nekādas tiešas vai netiešas licences jebkādām intelektuālā īpašuma tiesībām.
ST produktu tālākpārdošana ar noteikumiem, kas atšķiras no šeit norādītās informācijas, anulē jebkādu ST piešķirto garantiju šādam produktam.

ST un ST logotips ir ST preču zīmes. Papildinformāciju par ST preču zīmēm skatiet vietnē www.st.com/trademarks. Visi pārējie produktu vai pakalpojumu nosaukumi ir to attiecīgo īpašnieku īpašums.
Informācija šajā dokumentā aizstāj un aizstāj informāciju, kas iepriekš sniegta jebkurās iepriekšējās šī dokumenta versijās.
© 2025 STMicroelectronics – visas tiesības paturētas

Dokumenti / Resursi

STMicroelectronics UM3469 X-CUBE-ISO1 programmatūras paplašinājums [pdfLietotāja rokasgrāmata
X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 programmatūras paplašinājums, UM3469, X-CUBE-ISO1 programmatūras paplašinājums, programmatūras paplašinājums

Atsauces

Atstājiet komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *