ST-logo

Espansione di u Software STMicroelectronics UM3469 X-CUBE-ISO1

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

Introduzione

U pacchettu di software d'espansione X-CUBE-ISO1 per STM32Cube funziona nantu à u STM32 è include u firmware per l'X-NUCLEO-ISO1A1. U software furnisce una suluzione faciule d'utilizà per u sviluppu di un dispositivu PLC basicu furnitu da l'X-NUCLEO. L'espansione hè custruita nantu à a tecnulugia di u software STM32Cube per facilità a purtabilità trà diversi microcontrollori STM32.

U software vene cun una implementazione chì funziona nantu à a scheda d'espansione X-NUCLEO-ISO1A1 cunnessa à una scheda di sviluppu NUCLEO-G071RB (o sia una NUCLEO-G0B1RE sia una NUCLEO-G070RB). D'ora in poi, in u documentu solu a NUCLEO-G071RB serà mintuvata per simplicità.
A scheda X-NUCLEO-ISO1A1 hè cuncipita per supportà l'impilamentu di duie schede cù impostazioni di jumper adatte per estende e capacità di input è output.

Acronimi è abbreviazioni

Table 1. Lista di acronimi

Acronimu Descrizzione
PLC Controller logicu programmabile
API Interfaccia di prugrammazione di l'applicazione
PWM Modulazione di larghezza di impulsu
GPIO Ingressu / output di u scopu generale.
HAL Stratu di astrazione di hardware
PC Computer persunale
FW Firmware

Cosa hè STM32Cube?

STM32Cube™ rapprisenta l'iniziativa STMicroelectronics per facilità a vita di i sviluppatori riducendu u sforzu, u tempu è u costu di sviluppu. STM32Cube copre u portafogliu STM32.
A versione 1.x di STM32Cube include:

  • STM32CubeMX, un strumentu di cunfigurazione di software graficu chì permette a generazione di codice d'inizializazione C utilizendu assistenti grafichi.
  • Una piattaforma software integrata cumpleta specifica per ogni serie (cum'è STM32CubeG0 per a serie STM32G0), chì include:
    • u software di stratu d'astrazione integratu STM32Cube HAL, chì garantisce a massima portabilità in tuttu u portafogliu STM32
    • un inseme coerente di cumpunenti middleware cum'è RTOS, USB, TCP/IP è grafica
    • tutti l'utilità di software integrati cù un inseme cumpletu di examples.

Architettura STM32Cube
A suluzione di firmware STM32Cube hè custruita intornu à trè livelli indipendenti chì ponu interagisce facilmente trà di elli, cum'è descrittu in u diagrama quì sottu.

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

Espansione di u software X-CUBE-ISO1 per STM32Cube

Overview
U firmware per a X-NUCLEO-ISO1A1, scheda d'espansione d'input/output industriale isolata, sviluppata intornu à l'ambienti è e biblioteche STM32, sfrutta l'MCU d'alte prestazioni di e schede STM32 Nucleo per gestisce l'input digitali, l'output cù diagnostica integrata inseme cù u limite di corrente dinamicu è a generazione di signali PWM. Offre una cunfigurazione è un cuntrollu cumpleti di a scheda, cumpresi quadri per e cundizioni predefinite è alternative, macro per l'impostazione di i valori di pre-scaler è definizioni per i porti è i pin GPIO.

Supporta diversi sampCasi d'usu di l'applicazione cum'è u mirroring di l'input digitale à l'output, a cumunicazione UART attraversu a scheda Nucleo, a rilevazione di guasti, i casi di test è a generazione PWM chì ponu esse aduprati direttamente è ponu esse facilmente persunalizati è espansi.

L'API furnisce un inseme robustu di funzioni per u cuntrollu di l'input/output digitale, a rilevazione di guasti è l'aghjurnamenti di u statu di a scheda, cù impostazioni di cunfigurazione per eseguisce duie schede simultaneamente in modi diversi. Funzioni API specifiche sò dispunibili per l'inizializazione, l'avviu, l'arrestu è a cunfigurazione di i signali PWM per i canali di output digitale.

U pacchettu di supportu di a scheda include funzioni per cuntrullà è monitorà i pin GPIO interfacciati cù IPS1025H-32 è leghje u statu di i pin GPIO interfacciati cù CLT03-2Q3 via un isolatore digitale.
A cunfigurazione è l'inizializazione sò basate annantu à STM32CubeMX, cù u sviluppu è u debugging supportati da STM32CubeIDE, IAR Systems è strumenti Keil®.

Architettura
U firmware per l'X-NUCLEO-ISO1A1 pò esse divisu in parechji blocchi funziunali distinti, ognunu rispunsevule di diversi aspetti di l'operazioni di u sistema:

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

  • Cunfigurazione è cuntrollu di a scheda:
    • U schedariu board_config.h file cuntene macro per cunfigurà a scheda per funziunà in cundizioni predefinite o alternative, o tramindui. Include ancu definizioni per i valori di prescaler è i porti è i pin GPIO.
    • Stu bloccu assicura chì a scheda sia cunfigurata currettamente per e cundizioni operative desiderate è chì tutte e cunfigurazioni hardware necessarie sianu in piazza.
  • Casi d'usu di l'applicazione:
    • U st_iso_app.h è u st_iso_app.c filecuntenenu casi d'usu di l'applicazione cuncepiti per testà diverse funzionalità di a scheda.
    • Questi casi d'usu includenu u mirroring di l'input digitale à l'output, i testi di rilevazione di guasti è a generazione di signali PWM.
    • ExampE cunfigurazioni sò furnite per eseguisce duie schede simultaneamente in modi diversi, dimustrendu a versatilità è a flessibilità di u firmware.
  • Funzioni API:
    • L'iso1a1.h è l'iso1a1.c files furnisce un inseme cumpletu di API per supportà diverse funzionalità.
    • Queste API includenu funzioni per u cuntrollu di input/output digitale, a rilevazione di guasti è l'aghjurnamenti di u statu di a scheda.
    • L'API sò cuncepite per esse simplici è intuitive, rendendu faciule per l'utilizatori d'interagisce cù a scheda è di fà l'operazioni necessarie.
  • Cuntrollu di u signale PWM:
    • I schedari pwm_api.h è pwm_api.c filecuntenenu funzioni API specifiche relative à a generazione di signali PWM.
    • Queste funzioni permettenu di inizializà, cunfigurà, avvià è arrestà i signali PWM per i canali di uscita digitale.
    • A funziunalità PWM ùn hè micca a scelta predefinita. A cunfigurazione di a scheda hè stata mudificata per attivà queste. Vede a Sezione 3.5: API per più dettagli.
  • Pacchettu di Supportu di u Cunsigliu:
    • U pacchettu di supportu di u cunsigliu include fileper u cuntrollu è u monitoraghju di i pin GPIO interfacciati cù IPS1025H-32 è a lettura di u statu di i pin GPIO interfacciati cù CLT03-2Q3.
    • L'ips1025h_32.h è l'ips1025h_32.c fileFurniscenu funzioni per impostà, sguassà è rilevà i difetti nantu à i pin GPIO interfacciati cù IPS1025H-32.
    • U clt03_2q3.h è u clt03_2q3.c filefurnisce funzioni per leghje u statu di i pin GPIO interfacciati cù CLT03-2Q3.

U firmware di dimustrazione implementa parechji casi d'usu simplici per mette in risaltu e capacità di u sistema. Quessi casi d'usu è l'API di l'utilizatori sò eseguiti in modu coordinatu per assicurà un funziunamentu fluidu è risultati precisi. L'architettura hè cuncipita per esse facilmente espansibile, permettendu à l'utilizatori d'aghjunghje nuove funziunalità è casi d'usu secondu i bisogni. A cunfigurazione predefinita hè furnita per eseguisce una scheda cù IO industriali digitali. L'impostazione di i jumper hè ancu necessaria per esse in modalità predefinita cum'è descrittu in a Tabella 2. L'input digitale è l'output digitale (DIDO) sò u casu d'usu predefinitu di l'applicazione di u firmware.

Struttura di cartulare

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

I seguenti cartulare sò inclusi in u pacchettu di software:

  • A documentazione cuntene un HTML compilatu file generatu da u codice fonte, detallendu i cumpunenti di u software è l'API.
  • I drivers cuntenenu:
    • una cartella HAL STM32Cube, situata in e sottocartelle STM32G0xx_HAL_Driver. Quessi fileI schedari ùn sò micca descritti quì perchè ùn sò micca specifichi di u software X-CUBE-ISO1 ma venenu direttamente da u framework STM32Cube.
    • un cartulare CMSIS chì cuntene l'interfaccia standard di u software di microcontroller Cortex® files da Arm. Quessi fileI s sò un stratu d'astrazione hardware indipendente da u venditore per a serie di processori Cortex®-M. Questa cartella vene ancu invariata da u framework STM32Cube.
    • una cartella BSP chì cuntene i codici per i cumpunenti IPS1025H-32 è CLT03-2Q3 è l'API relative à X-NUCLEO-ISO1A1.
  • L'applicazione cuntene u cartulare di l'utilizatore chì cuntene u main.c file, u casu d'usu di l'applicazione file, st_iso_app.c è u schedariu board_config.h file, furnitu per a piattaforma NUCLEO-G071RB.

cartulare BSP
U software X-CUBE-ISO1 usa dui cumpunenti diffirenti files, chì sò in BSP/Components:

IPS1025
L'ips1025h_32.h è l'ips1025h_32.c fileFurniscenu una implementazione cumpleta di driver per i pin GPIO interfacciati cù IPS1025H-32, cumprese funzionalità cumplete per u cuntrollu di tutti i pin è a rilevazione di guasti. Quessi fileImplementa funzioni per l'inizializazione di u dispusitivu, l'impostazione è a cancellazione di u statu di u canale, a rilevazione di e cundizioni di guastu è a gestione di a funzionalità PWM. U driver supporta parechji dispusitivi è canali, cù capacità cumplete sia per u canale individuale sia cum'è un gruppu.

CLT03
U clt03_2q3.h è u clt03_2q3.c fileImplementà un driver cumpletu per i pin GPIO interfacciati cù CLT03-2Q3, cù capacità cumplete per leghje tutti i stati di i pin. U driver furnisce funzioni per inizializà u dispusitivu, leghje u statu di i canali individuali è ottene informazioni di statu per tutti i canali simultaneamente. Supporta parechje cunfigurazioni di dispositivi è mantene u statu internu per una gestione efficace di i canali.

L'API di u software X-CUBE-ISO1 sò divise in duie fonti principali files, chì sò in a sottucartella ISO1A1:

ISO1A1
L'ISO1A1 fileIncludenu un inseme cumpletu di funzioni API cuncepite per a cunfigurazione di a scheda, l'interazzione di i cumpunenti è a gestione di i guasti. Queste funzioni facilitanu l'operazioni di lettura è scrittura, a rilevazione di guasti è l'aghjurnamenti, è includenu diverse utilità di supportu per supportà e funzioni API primarie. Inoltre, u fileFurniscenu funziunalità per u cuntrollu di i LED, l'inizializazione GPIO, a gestione di l'interruzioni è a cumunicazione UART.

API PWM
L'API PWM furnisce funzioni per l'inizializazione, a cunfigurazione, l'avviu è l'arrestu di i signali PWM. Permette di definisce a frequenza PWM è u ciclu di travagliu per i pin di timer specificati, assicurendu un cuntrollu precisu di l'operazioni PWM.

Cartulare di l'applicazione
U cartulare di l'applicazione cuntene u principale files necessariu per u firmware, cumpresi l'intestazioni è a fonte files. Quì sottu hè una descrizzione dettagliata di u files in stu cartulare:

  • board_config.h: Macro di cunfigurazione per a scheda.
  • main.c: Prugramma principale (codice di l'example chì hè basatu annantu à a biblioteca per ISO1A1).
  • st_iso_app.c: Funzioni di l'applicazione per u test è a cunfigurazione di a scheda.
  • stm32g0xx_hal_msp.c: Rutine d'inizializazione HAL.
  • stm32g0xx_it.c: Gestore d'interruzzione.
  • syscalls.c: Implementazioni di chjamate di sistema.
  • sysmem.c: Gestione di a memoria di u sistema.
  • system_stm32g0xx.c: Inizializazione di u sistema.

U software hà bisognu di risorse
U dispusitivu Nucleo cuntrolla è cumunica cù a carta X-NUCLEO-ISO1A1 via GPIO. Questu richiede l'usu di parechji GPIO per l'entrata, l'uscita è a rilevazione di guasti di i dispusitivi IO industriali cuntenuti in a carta X-NUCLEO-ISO1A1. Cunsultate u manuale d'usu di l'hardware UM3483 per più dettagli è e cunfigurazioni di i jumper.

Cunfigurazione di a scheda (board_config.h)
U schedariu board_config.h file definisce e risorse aduprate è e macro di cunfigurazione per cunfigurà u software secondu a cunfigurazione di a carta. Gestisce finu à duie carte (cum'è l'impilamentu di duie carte).
A cunfigurazione DEFAULT di u software hè allinata cù a scheda d'espansione X-NUCLEO-ISO1A1 cù i so jumpers in e pusizioni predefinite. Per cunfigurà u software per X-NUCLEO-ISO1A1 in a so impostazione predefinita, decommentate a macro BOARD_ID_DEFAULT in u board_config.h. file.

A cunfigurazione ALTERNATE di u software hè definita decummentendu a macro BOARD_ID_ALTERNATE in u board_config.h. file è cambiendu e pusizioni di i jumpers nantu à u tavulinu.
Per aduprà duie schede simultaneamente in una cunfigurazione stack-up, scommentate e macro BOARD_ID_DEFAULT è BOARD_ID_ALTERNATE è assicuratevi chì i jumper di una scheda sianu in a pusizione predefinita è l'altra in a pusizione alternativa. Nutate bè chì avè e duie schede in a listessa cunfigurazione (sia tramindui in predefinitu sia tramindui in alternativa) ùn hè micca cunsigliatu è pò purtà à un cumpurtamentu indesideratu.
Quandu si usa una sola scheda, assicuratevi chì u software sia cunfiguratu per una sola cunfigurazione è chì a macro currispondente à l'altra cunfigurazione sia cummentata.

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

Prescaler
Pudemu cunfigurà i valori di u prescaler in board_config.h per ottene diverse gamme di frequenza per l'output PWM impostendu e macro adatte. Per aduprà un valore prescaler, scommentate a macro currispundente è cummentate l'altre. Per difettu, hè adupratu DEFAULT_PRESCALAR.

  • PRESCALADOR_1
  • PRESCALADOR_2
  • PRESCALATORE_PREFAUTU

I valori di u prescaler sò usati solu quandu i timers sò usati, è ùn sò micca richiesti per alcuna operazione I/O basica. I valori di e macro prescaler è e so gamme di frequenza currispondenti ponu esse cunsultati in a ducumentazione di u codice o in u codice stessu.

LED Heartbeat
Pudemu cunfigurà u LED verde di l'utilizatore, D7, per lampeggià in modu di battitu di core cum'è prova di cunnessione curretta à a scheda NUCLEO-G071RB. A macro, HEARTBEAT_LED, quandu ùn hè micca cummentata, face lampeggià u LED verde nantu à X-NUCLEO-ISO1A1 quandu hè cunnessu à u NUCLEO. Resta accesa per 1 seconda è spenta per 2 seconde, cù u timing curatu da i timer. Quandu ùn hè micca aduprata o qualsiasi funzione chì implica LED hè chjamata, a macro deve esse senza cummentariu.

Cunfigurazione GPIO d'entrata è di uscita
Ogni scheda X-NUCLEO-ISO1A1 hè dotata di dui porti d'entrata è dui porti di uscita. E capacità di a scheda ponu esse espanse impilendu duie schede X-NUCLEO-ISO1A1 una sopra l'altra, permettendu cusì l'usu di quattru porti d'entrata digitale è quattru porti di uscita digitale. U software furnitu include API cumplete chì facilitanu a lettura, l'impostazione è a cancellazione di i porti. Inoltre, l'API permettenu l'impostazione, a lettura o a cancellazione simultanea di tutti i porti. L'infurmazioni dettagliate nantu à e funzioni API sò dispunibili in a documentazione di u codice è ancu in a sezione API di stu documentu.

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

Quì u prefissu DI indica u portu d'entrata digitale è DO indica u portu di uscita digitale. Per una cunfigurazione alternativa, u software usa e stesse cunvenzioni di denominazione cù u suffissu _alt attaccatu.
A seguente tavula detalla e macro GPIO definite in u software currispondenti à diverse porte IO:

Tavula 2. GPIO allocati per e cunfigurazioni di software predefinite è alternative

Nome Funzione Cunfigurazione predeterminata Cunfigurazione alternativa
PIN D'INGRESSU Pin d'entrata 1 GPIOC, IA0_IN_1_PIN GPIOD, IA0_IN_1_PIN
Pin d'entrata 2 GPIOD, IA1_IN_2_PIN GPIOC, IA1_IN_1_PIN
PIN DI USCITA Pin di uscita 1 GPIOC, QA0_CNTRL_1_PIN GPIOD, QA0_CNTRL_1_PIN
Pin di uscita 2 GPIOC, QA1_CNTRL_2_PIN GPIOC, QA1_CNTRL_2_PIN
PIN DI ERRORE Pin di difettu 1 GPIOC, FLT1_QA0_2_OT_PIN GPIOD, FLT1_QA0_1_OT_PIN
Pin di difettu 2 GPIOC, FLT2_QA0_2_OL_PIN GPIOD, FLT2_QA0_1_OL_PIN
Pin di difettu 3 GPIOC, FLT1_QA1_2_OT_PIN GPIOC, FLT1_QA1_1_OT_PIN
Pin di difettu 4 GPIOC, FLT2_QA1_1_OL_PIN GPIOD, FLT2_QA1_2_OL_PIN
MACRO DI CONFIGURAZIONE ID_SCHEDA_DEFAULT ID_SCHEDA_ALTERNATIVA

Temporizatori è PWM
I timer ponu esse aduprati in u firmware X-CUBE-ISO1 per generà signali PWM per pin specifici. Per difettu, i timer ùn sò micca inizializati eccettu TIM3. I rispettivi timer devenu esse inizializati prima di generà i signali PWM è i rispettivi porti di uscita devenu esse inizializati in modalità PWM.
Per l'operazioni nurmali d'entrata/uscita GPIO, ùn ci hè bisognu di cunfigurà alcun timer o portu di uscita, postu chì hè curatu per difettu. Tuttavia, se una volta chì i pin di uscita sò impostati in modalità PWM, ci vole à riconfigurà li in modalità GPIO per esse aduprati cum'è pin GPIO.

Nota: Quandu i pin di uscita sò aduprati per a generazione PWM, l'uscita GPIO hè disattivata, e duie funzionalità ùn ponu esse implementate simultaneamente. Per riattivà GPIO dopu l'usu PWM, si pò chjamà a funzione API ST_ISO_BoardConfigureDefault() o ST_ISO_InitGPIO() per cunfigurà tutti i porti cum'è GPIO in una volta o ST_ISO_Init_GPIO() cù un portu è un pin GPIO particulari.

Cum'è mintuvatu sopra, u software usa ancu un timer per difettu, TIM3, chì hè adupratu per a sincronizazione di i LED di l'utente, l'orologio è l'implementazione di a sincronizazione UART. Hè cunfiguratu per un periodu di 1 secondu per difettu.
A seguente tavula detalla i timer dispunibili per ogni pin in u nostru codice:

Tavula 3. Timer dispunibili per ogni pin

Pin nome Rappresentazione di u software Timer Canale di u timer Funzione alternativa
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

Utilità supplementari di u firmware
U firmware include utilità supplementari per migliurà a funzionalità di a scheda di valutazione X-NUCLEO-ISO1A1. Alcune di e quali sò descritte quì sottu.

UART
A funzione di cumunicazione UART permette u monitoraghju è u debugging in tempu reale di u statu di a scheda per mezu di utilità di PC cum'è TeraTerm, PuTTY è altre applicazioni simili. U software permette a trasmissione di dati UART per mezu di l'UART presente in a scheda NUCLEO-G071RB. A funzione `ST_ISO_UART` manda informazioni dettagliate nantu à u statu di a scheda per mezu di UART, cumprese u tempu di attività di u sistema, a cunfigurazione di u firmware è u statu di guasti. Queste dati ponu esse viewed aduprendu qualsiasi applicazione di portu seriale, cum'è TeraTerm. A funzione `ST_ISO_APP_DIDOandUART` combina operazioni d'input/output digitale cù a cumunicazione UART, trasmettendu u statu di tutti i canali d'input è di output à intervalli specificati. Quì sottu sò i paràmetri di cunfigurazione è cum'èample di cume i dati appariscenu in TeraTerm. U nome di u portu puderia varià secondu u sistema è u portu seriale utilizatu.

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

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

Cunfigurazione di u modu di pin IO
L'utilità di cunfigurazione di u modu di pin IO permette à l'utilizatori di cunfigurà i porti d'entrata è di uscita di a scheda utilizendu a funzione ST_ISO_BoardConfigure(). Sta funzione supporta a cunfigurazione di dui porti di uscita (QA0, QA1) è dui porti d'entrata (IA0, IA1) sia in modu Input/Output, modu di uscita PWM, sia in modu d'entrata Interrupt. Aghjustendu i parametri è chjamendu sta funzione, l'utilizatori ponu facilmente persunalizà a cunfigurazione IO di a scheda per risponde à bisogni specifici.

In modu Input/Output, l'utilità inizializza i pin GPIO per operazioni digitali di scopu generale. In modu di output PWM, configura i timer per un cuntrollu precisu di u signale PWM. Quandu hè in modu d'input Interrupt, l'utilità configura i pin per gestisce l'interruzioni, permettendu una prugrammazione responsiva guidata da eventi.

Gestione di l'interruzioni
Per a gestione di i signali FAULT, u software abilita e linee d'interruzzione associate, chì permettenu una prugrammazione basata nantu à l'eventi. Un gestore persunalizatu pò esse assuciatu à queste interruzzioni via u
Funzione HAL_GPIO_EXTI_Rising_Callback definita in l'API. U software include funzioni per l'inizializazione di i pin GPIO in modu d'interruzzione via a funzione ST_ISO_BoardConfigure è a cunfigurazione di azzioni specifiche in i gestori IRQ EXTI. Questu permette à l'utilizatori di persunalizà cumu a scheda risponde à eventi esterni, assicurendu chì pò gestisce efficacemente diverse cundizioni di guastu è trigger.

API
L'API di u software X-CUBE-ISO1 furnisce un inseme cumpletu di funzioni per cuntrullà è monitorà a scheda X-NUCLEO-ISO1A1, cumprese a generazione di signali PWM è l'operazioni GPIO. L'API hè cuncipita per esse faciule da aduprà è da integrà in diverse applicazioni, furnendu flessibilità è cuntrollu nantu à a funzionalità di a scheda.

L'API di u software X-CUBE-ISO1 hè definita in u cartulare BSP/ISO1A1. E so funzioni sò prefissate da ST_ISO. L'API hè visibile à l'applicazioni per mezu di iso1a1.c è pwm_api.c. files hè una cumbinazione di custanti, strutture di dati è funzioni.
SampL'applicazioni di firmware utilizanu queste API per mustrà alcuni di i pussibili usi di queste funzioni.

U pacchettu di software X-CUBE-ISO1 furnisce dui insemi di API:

  • API ISO1A1
  • API PWM

API ISO1A1
L'API ISO1A1 hè definita in iso1a1.h è iso1a1.c fileFornisce funzioni per cunfigurà è cuntrullà a scheda ISO1A1, cumprese l'operazioni d'entrata/uscita GPIO è a rilevazione di guasti.

Funzioni chjave

  • ST_ISO_BoardConfigureDefault: Configura i porti IO di a scheda cù a cunfigurazione GPIO predefinita.
  • ST_ISO_BoardConfigure: Configura u modu di i porti d'entrata è di uscita per a scheda.
  • ST_ISO_BoardInit: Inizializza l'hardware di a scheda.
  • ST_ISO_BoardMapInit: Inizializza a funziunalità di a scheda basata annantu à a cunfigurazione di i manigliali di u canale.
  • ST_ISO_GetFWVersion: Restituisce a versione attuale di u firmware.
  • ST_ISO_GetChannelHandle: Recupera u handle di u canale per un nome di canale specificatu.
  • ST_ISO_InitGPIO: Inizializeghja u pin GPIO specificatu cù l'ID di u modulu datu.
  • ST_ISO_InitInterrupt: Inizializeghja u pin GPIO specificatu cum'è una interruzzione cù l'ID di u modulu datu.
  • ST_ISO_EnableFaultInterrupt: Inizializza i pin GPIO di difettu in modu interruzzione.
  • ST_ISO_SetChannelStatus: Definisce u statutu di un canale specificatu.
  • ST_ISO_SetOne_DO: Imposta un unicu canale di uscita digitale.
  • ST_ISO_ClearOne_DO: Svuota un unicu canale di uscita digitale.
  • ST_ISO_WriteAllChannels: Scrive dati in tutti i canali di output digitale.
  • ST_ISO_GetOne_DI: Ottene u statu di un unicu canale d'entrata digitale.
  • ST_ISO_ReadAllChannel: Leghje u statu di tutti i canali d'entrata.
  • ST_ISO_ReadAllOutputChannel: Leghje u statu di tutti i canali di uscita.
  • ST_ISO_ReadFaultStatus: Leghje u statu di l'errore da tutti i porti di rilevazione di l'errore.
  • ST_ISO_ReadFaultStatusPolling: Verifica a rilevazione di guasti di e schede in modalità polling.
  • ST_ISO_DisableOutputChannel: Disattiva l'output per quellu canale.
  • ST_ISO_UpdateBoardStatusInfo: Aggiorna l'infurmazioni di statu di a scheda.
  • ST_ISO_UpdateFaultStatus: Aggiorna u statu di errore per un canale specificu.
  • ST_ISO_BlinkLed: Lampeghja u LED specificatu cù un ritardu è un contu di ripetizione dati.
  • ST_ISO_UART: Manda l'infurmazioni di statu di a scheda via UART.
  • ST_ISO_SwitchInit: Inizializza i cumpunenti di l'interruttore.
  • ST_ISO_SwitchDeInit: Deinizializeghja l'istanza di u switch.
  • ST_ISO_DigitalInputInit: Inizializza i cumpunenti d'entrata digitale.
  • ST_ISO_DigitalInputDeInit: Deinizializeghja l'istanza di input digitale.

API PWM
L'API PWM hè definita in pwm_api.h è pwm_api.c files. Fornisce e seguenti funzioni per inizializà è cuntrullà i signali PWM per pin specifici.

  • ST_ISO_Init_PWM_Signal: Inizializza i timer è u pin specificu per u signale PWM.
  • ST_ISO_Set_PWM_Frequency: Imposta a frequenza PWM per u pin specificu.
  • ST_ISO_Set_PWM_Duty_Cycle: Imposta u ciclu di travagliu PWM per u pin specificu.
  • ST_ISO_Start_PWM_Signal: Avvia u signale PWM nantu à u pin specificu.
  • ST_ISO_Stop_PWM_Signal: Ferma u signale PWM nantu à u pin specificu.

Per inizià un signale PWM nant'à un canale rispettivu, chjamate prima a funzione ST_ISO_Init_PWM_Signal, dopu impostate a frequenza è u ciclu di travagliu desiderati chjamendu ST_ISO_Set_PWM_Frequency è
E funzioni ST_ISO_Set_PWM_Duty_Cycle rispettivamente è dopu pudete inizià u signale PWM chjamendu a funzione ST_ISO_Start_PWM_Signal è fermà chjamendu ST_ISO_Stop_PWM_Signal.

A funzione deve esse chjamata cù u nome di u pin currispundente è i timer dispunibili, i dettagli di i quali sò stati furniti in a tavula 3. Diversi canali di output ponu esse cunfigurati cù diverse frequenze è cicli di travagliu; cambià a frequenza o u ciclu di travagliu ùn influenza micca l'altru, ferma listessu.
L'infurmazioni tecniche detallate nantu à l'API dispunibuli per l'utilizatori ponu esse truvate in un HTML compilatu file situatu in u cartulare "Documentazione" di u pacchettu software induve tutte e funzioni è i paràmetri sò descritte cumplettamente.

Descrizzione di l'applicazione
L'applicazione di dimustrazione implementa parechji casi d'usu simplici. st_iso_app è board_config fileGhjucanu un rollu cruciale in a cunfigurazione è l'usu di a scheda è di e so funzioni d'applicazione. Prima di utilizà ste funzioni, assicuratevi chì a cunfigurazione di a scheda è di u software sianu sincronizate trà di elle.

Funzioni di l'applicazione (st_iso_app.h è st_iso_app.c)
E funzioni di l'applicazione sò prefissate da ST_ISO_APP; sò e funzioni di livellu superiore visibili à l'utilizatore chì chjama e funzioni API per a so implementazione. E funzioni di l'applicazione ponu esse chjamate in u main.c file per u so funziunamentu.

  • Selezzione di i casi d'usu: L'utilizatore pò sguassà u cummentariu di a macro di casi d'usu desiderata in st_iso_app.c fileA funzione ST_ISO_APP_SelectUseCaseMacro(), chjamata in main.c, inizializeghja quellu casu d'usu, è a funzione ST_ISO_APP_SelectedFunction() l'implementa in main.c. Questu approcciu permette una cunfigurazione faciule di u modu operativu semplicemente mudificendu e definizioni di macro, assicurendu chì a funzionalità adatta sia eseguita in basa à u casu d'usu sceltu. Per difettu, u casu d'usu DIDO hè sceltu, è l'utente ùn hà micca bisognu di fà alcuna mudificazione à u codice per implementallu.
  • Mirroring di l'Ingressu Digitale à l'Uscita Digitale (ST_ISO_APP_UsecaseDIDO): Sta funzione legge u statu di tutti i canali d'ingressu è scrive u listessu statu in tutti i canali di uscita. Hè utile per u mirroring di l'ingressi digitali à l'uscite digitali.
  • Mirroring di l'Ingressu Digitale à l'Uscita Digitale cù UART (ST_ISO_APP_DIDOandUART): Questa funzione riflette l'ingressi digitali à l'uscite digitali, simile à a funzione ST_ISO_APP_UsecaseDIDO. Inoltre, trasmette u statu di a scheda attraversu l'interfaccia UART nantu à u dispusitivu Nucleo, permettendu di vede u statu. viewed nantu à un portu seriale aduprendu applicazioni cum'è Tera Term.
  • Funzione di Casu di Test (ST_ISO_APP_TestCase): Sta funzione esegue una seria di testi è azzioni basate nantu à a cunfigurazione di a scheda. Verifica u statu di l'errore, legge u statu di dui canali d'ingressu digitale è esegue azzioni basate nantu à i so valori. Sta funzione aiuta à valutà rapidamente e prestazioni è a funzionalità di a scheda è à ottene feedback visuale attraversu diversi schemi LED. Assicuratevi a macro HEARTBEAT_LED in u board_config.h. file hè cummentatu per osservà i mudelli LED adatti.
  • Generazione PWM (ST_ISO_APP_PWM _OFFSET): Sta funzione avvia u signale PWM nantu à i dui canali di uscita cù una frequenza di 1 Hz è un ciclu di travagliu di 50%. Inizializza u signale PWM, imposta a frequenza è u ciclu di travagliu, è avvia u signale PWM per l'ID di a scheda specificatu. U signale PWM hè generatu cù un offset trà i dui canali è dunque ùn sò micca in fase.
  • Test di Rilevazione di Errori (ST_ISO_APP_FaultTest): Questa funzione valuta a rilevazione di errori muvendu i pin di diagnostica integrati di u modulu di uscita intelligente IPS1025. sia in modalità polling sia in modalità interruzione. Configura a modalità di rilevazione di errori, inizializza a rilevazione di errori è aggiorna a struttura di statu di errore basata nantu à a modalità selezziunata. Questa funzione hè cruciale per assicurà l'affidabilità è a sicurezza di a scheda rilevendu è gestendu i errori in modu efficace. Quandu hè in modalità polling, u statu di errore hè aggiornatu ogni secondu cù l'aiutu di un timer è hè riflessu in a struttura defaultBoardFaultStatus o alternateBoardFaultStatus. Quandu hè in modalità interruzione, u statu di errore hè aggiornatu solu quandu si verifica l'errore, è attiva u software per svuotà a porta di uscita currispondente.
  • Test di Variazione PWM (ST_ISO_APP_PwmVariationTest): Questa funzione hè cuncipita per testà a variazione di i signali PWM (Pulse Width Modulation) nantu à diversi canali di uscita basati nantu à a cunfigurazione di a scheda. Inizializza i signali PWM per e cunfigurazioni di a scheda predefinite è alternative, impostendu a so frequenza à 100 Hz è u ciclu di travagliu iniziale à 0%. A funzione varia tandu u ciclu di travagliu da 0% à 100% in incrementi di 5%, è torna da 100% à 0% in decrementi di 5%, cù un ritardu di 2 secondi trà ogni passu. Questa variazione cuntrullata permette l'osservazione è a valutazione di u cumpurtamentu di u signale PWM nantu à i canali QA_0 è QA_1 per a scheda predefinita, è QA_0_ALT è QA_1_ALT per a scheda alternativa.

Seguendu queste cunfigurazioni è utilizendu e funzioni di l'applicazione furnite, pudete cunfigurà è aduprà efficacemente a scheda X-NUCLEO-ISO1A1 per diversi casi d'usu di dimostrazione.

Guida di installazione di u sistema

Descrizzione di hardware

Piattaforma STM32 Nucleo
I pannelli di sviluppu STM32 Nucleo furniscenu un modu assequible è flessibile per l'utilizatori per pruvà soluzioni è custruisce prototipi cù qualsiasi linea di microcontroller STM32.
U supportu di cunnessione Arduino® è i connettori ST morpho facilitanu l'espansione di e funzionalità di a piattaforma di sviluppu aperta STM32 Nucleo cù una vasta gamma di schede d'espansione specializate tra cui sceglie.

A scheda STM32 Nucleo ùn hà micca bisognu di sonde separati perchè integra u debugger / programatore ST-LINK / V2-1.
A scheda STM32 Nucleo vene cù a libreria HAL cumpleta di u software STM32 inseme cù vari software imballati ex.amples.

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

L'infurmazione riguardante a scheda STM32 Nucleo hè dispunibule à www.st.com/stm32nucleo

Scheda d'espansione X-NUCLEO-ISO1A1
L'X-NUCLEO-ISO1A1 hè una scheda di valutazione cù input/output industriale isolatu cuncipitu per espande a scheda STM32 Nucleo è furnisce funzionalità micro-PLC. Dui di e schede X-NUCLEO-ISO1A1 ponu esse impilate inseme sopra una scheda STM32 Nucleo cù a selezzione adatta di jumpers nantu à a scheda di espansione per evità cunflitti in l'interfacce GPIO. L'isolatori digitali certificati UL1577 STISO620 è STISO621 furniscenu isolamentu trà i cumpunenti logichi è di u latu di u prucessu. Dui input high-side limitati in corrente da u latu di u prucessu sò realizati attraversu CLT03-2Q3. U CLT03-2Q3 furnisce prutezzione, isolamentu è indicazione di statu senza energia per e cundizioni industriali, cuncipitu per risponde à standard cum'è IEC61000-4-2, IEC61000-4-4 è IEC61000-4-5. Unu di ognunu di l'interruttori high-side IPS1025H-32/HQ-32 furnisce una uscita prutetta finu à 5.6 A cù funzioni di diagnostica è di guida intelligente. Quessi ponu pilotà carichi capacitivi, resistivi o induttivi. L'X-NUCLEO-ISO1A1 permette una valutazione rapida di i circuiti integrati integrati utilizendu u pacchettu software X-CUBE-ISO1.

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

Configurazione di hardware
I seguenti cumpunenti hardware sò necessarii:

  1. Una piattaforma di sviluppu STM32 Nucleo (codice d'ordine suggeritu: NUCLEO-GO71RB)
  2. Una scheda d'espansione di uscita digitale industriale (codice d'ordine: X-NUCLEO-ISO1A1)
  3. Un cavu USB di tipu A à Micro USB per cunnette u STM32 Nucleo à u PC
  4. Un alimentatore esternu (24 V) è i fili assuciati per alimentà a scheda d'espansione X-NUCLEO-ISO1A1.

Configurazione di u software
I seguenti cumpunenti di software sò necessarii per cunfigurà un ambiente di sviluppu adattatu per a creazione di applicazioni per u STM32 Nucleo equipatu cù a scheda di espansione X-NUCLEO-ISO1A1:

  • X-CUBE-ISO1: una espansione per STM32Cube dedicata à u sviluppu di applicazioni chì richiede l'usu di a scheda X-NUCLEO-ISO1A1. U firmware X-CUBE-ISO1 è a documentazione correlata sò dispunibili nantu à www.st.com
  • Catena di strumenti di sviluppu è compilatore: u software di espansione STM32Cube supporta i trè ambienti seguenti:
    • IAR Embedded Workbench per a catena di strumenti ARM® (IAR-EWARM)
    • RealeView Kit di Sviluppu di Microcontrollori (MDK-ARM-STM32) catena di strumenti
    • STM32CubeIDE.

Cunfigurazione di u bordu
A scheda deve esse cunfigurata cù i paràmetri di jumper adatti cum'è specificatu in u manuale d'usu di l'hardware (UM3483). Seguità attentamente queste linee guida hè essenziale per assicurà una funzionalità curretta è evità potenziali prublemi.

Guida di installazione di u sistema
Questa sezione descrive cumu cunfigurà diverse parti hardware prima di sviluppà è eseguisce una applicazione nantu à a scheda STM32 Nucleo, NUCLEO-G071RB cù a scheda d'espansione X-NUCLEO-ISO1A1.

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

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

Cunfigurazione per u pacchettu d'espansione X-CUBE-ISO1
L'X-NUCLEO-ISO1A1 deve esse cunfiguratu cù e pusizioni specifiche di i jumper basate nantu à a cunfigurazione chì state eseguendu cù a scheda. I dettagli di questu ponu esse visti più in dettagliu in u manuale di l'hardware.

  • Passu 1. Cunnette a scheda d'espansione X-NUCLEO-ISO1A1 sopra à u STM32 Nucleo via i morfoconnettori.
    Sè vo aduprate duie tavule una sopra l'altra, impilateli cum'è in a Figura 11.
  • Passu 2. Cunnette a scheda STM32 Nucleo à un PC cù u cavu USB attraversu u connettore USB CN1 per alimentà a scheda.
  • Passu 3. Accendete a(e) scheda(e) d'espansione X-NUCLEO-ISO1A1 cunnettendu J1 à l'alimentatore 24V DC. Sè aduprate schede impilate, assicuratevi chì e duie schede sianu alimentate.
  • Passu 4. Aprite a vostra catena di strumenti preferita (MDK-ARM da Keil, EWARM da IAR, o STM32CubeIDE).
  • Passu 5. Aprite u prugettu di software è fate i cambiamenti necessarii à u schedariu board_config.h file secondu a cunfigurazione di a(e) scheda(e) aduprata(e).
  • Passu 6. Definisce a macro di casu d'usu adatta in st_iso_app.c file o chjamate u casu d'usu necessariu aduprendu a funzione ST_ISO_APP_SelectUseCase in main.c file inseme cù qualsiasi altra funzione desiderata.
  • Passu 7. Custruisce u prugettu per cumpilà tuttu files è caricate u codice compilatu in a memoria di a scheda STM32 Nucleo.
  • Passu 8. Eseguite u codice nantu à a scheda STM32 Nucleo è verificate u cumpurtamentu previstu.

Storia di rivisione
Table 4. Storia di rivisione di documenti

Data Revisione Cambiamenti
14-maghju-2025 1 Liberazione iniziale.

AVVISU IMPORTANTE - LEGGIU ATTENTAMENTE

STMicroelectronics NV è e so filiali ("ST") si riservanu u dirittu di fà cambiamenti, correzioni, miglioramenti, mudificazioni è migliure à i prudutti ST è / o à stu documentu in ogni mumentu senza avvisu. I cumpratori anu da ottene l'ultime informazioni pertinenti nantu à i prudutti ST prima di fà ordini. I prudutti ST sò venduti in cunfurmità cù i termini è e cundizioni di vendita di ST in vigore à u mumentu di a ricunniscenza di l'ordine.

I cumpratori sò solu rispunsevuli di a scelta, a selezzione è l'usu di i prudutti ST è ST ùn assume micca responsabilità per l'assistenza di l'applicazione o u disignu di i prudutti di l'acquirente.
Nisuna licenza, espressa o implicita, à qualsiasi dirittu di pruprietà intellettuale hè cuncessa da ST quì.
A rivendita di i prudutti ST cù disposizioni diverse da l'infurmazioni stabilite quì annullerà ogni garanzia accordata da ST per tali pruduttu.

ST è u logo ST sò marchi di ST. Per infurmazioni supplementari nantu à i marchi ST, riferite à www.st.com/trademarks. Tutti l'altri prudutti o nomi di serviziu sò a pruprietà di i so rispettivi pruprietarii.
L'infurmazioni in stu documentu rimpiazzanu è rimpiazzanu l'infurmazioni furnite prima in qualsiasi versione precedente di stu documentu.
© 2025 STMicroelectronics - Tutti i diritti riservati

Documenti / Risorse

Espansione di u Software STMicroelectronics UM3469 X-CUBE-ISO1 [pdfManuale d'usu
X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 Espansione di u Software, UM3469, X-CUBE-ISO1 Espansione di u Software, Espansione di u Software

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *