Logo ST

Rozšíření softwaru STMicroelectronics UM3469 X-CUBE-ISO1

Softwarové rozšíření STMicroelectronics-UM3469-X-CUBE-ISO1

Zavedení

Rozšiřující softwarový balíček X-CUBE-ISO1 pro STM32Cube běží na STM32 a obsahuje firmware pro X-NUCLEO-ISO1A1. Software poskytuje snadno použitelné řešení pro vývoj základního PLC zařízení poskytovaného X-NUCLEO. Rozšíření je postaveno na softwarové technologii STM32Cube pro usnadnění přenositelnosti mezi různými mikrokontroléry STM32.

Software je dodáván s implementací běžící na rozšiřující desce X-NUCLEO-ISO1A1 připojené k vývojové desce NUCLEO-G071RB (nebo k NUCLEO-G0B1RE či NUCLEO-G070RB). Od nynějška bude v dokumentu pro zjednodušení zmiňován pouze NUCLEO-G071RB.
Deska X-NUCLEO-ISO1A1 je navržena pro podporu stohování dvou desek s vhodným nastavením propojek pro rozšíření vstupních a výstupních možností.

Zkratky a zkratky

Tabulka 1. Seznam zkratek

Akronym Popis
PLC Programovatelný logický ovladač
API Aplikační programovací rozhraní
PWM Pulzní šířková modulace
GPIO Univerzální vstup/výstup.
HAL Vrstva abstrakce hardwaru
PC Osobní počítač
FW Firmware

Co je STM32Cube?

STM32Cube™ představuje iniciativu společnosti STMicroelectronics, jejímž cílem je usnadnit život vývojářům snížením úsilí, času a nákladů na vývoj. STM32Cube pokrývá portfolio STM32.
STM32Cube verze 1.x obsahuje:

  • STM32CubeMX, grafický konfigurační nástroj softwaru, který umožňuje generování inicializačního kódu v jazyce C pomocí grafických průvodců.
  • Komplexní softwarová platforma pro integrované systémy specifická pro každou řadu (například STM32CubeG0 pro řadu STM32G0), která zahrnuje:
    • software STM32Cube HAL pro vestavěnou abstrakční vrstvu, který zajišťuje maximální přenositelnost v celém portfoliu STM32
    • konzistentní sada middlewarových komponent, jako jsou RTOS, USB, TCP/IP a grafika
    • všechny vestavěné softwarové nástroje s kompletní sadou examples.

Architektura STM32Cube
Firmwarové řešení STM32Cube je postaveno na třech nezávislých úrovních, které mohou snadno vzájemně interagovat, jak je popsáno na níže uvedeném diagramu.

STMicroelectronics-UM3469-X-CUBE-ISO1-Softwarové rozšíření-1

Softwarové rozšíření X-CUBE-ISO1 pro STM32Cube

Nadview
Firmware pro X-NUCLEO-ISO1A1, průmyslovou izolovanou rozšiřující desku vstupů/výstupů, vyvinutou v prostředí a knihovnách STM32, využívá vysoce výkonný mikrokontrolér desek STM32 Nucleo ke správě digitálních vstupů, výstupů s integrovanou diagnostikou spolu s dynamickým omezením proudu a generováním PWM signálu. Nabízí komplexní konfiguraci a ovládání desky, včetně frameworků pro výchozí a alternativní podmínky, maker pro nastavení hodnot předděličky a definic pro porty a piny GPIO.

Podporuje různéampPřípady použití v aplikacích, jako je zrcadlení digitálního vstupu a výstupu, komunikace UART přes desku Nucleo, detekce chyb, testovací případy a generování PWM, které lze přímo použít a snadno přizpůsobit a rozšířit.

API poskytuje robustní sadu funkcí pro řízení digitálních vstupů/výstupů, detekci chyb a aktualizace stavu desek s konfiguračními nastaveními pro současné spuštění dvou desek v různých režimech. K dispozici jsou specifické funkce API pro inicializaci, spouštění, zastavování a konfiguraci PWM signálů pro digitální výstupní kanály.

Balíček podpory desky obsahuje funkce pro řízení a monitorování GPIO pinů propojených s IPS1025H-32 a čtení stavu GPIO pinů propojených s CLT03-2Q3 prostřednictvím digitálního izolátoru.
Konfigurace a inicializace jsou založeny na STM32CubeMX, vývoj a ladění je podporováno pomocí nástrojů STM32CubeIDE, IAR Systems a Keil®.

Architektura
Firmware pro X-NUCLEO-ISO1A1 lze rozdělit do několika odlišných funkčních bloků, z nichž každý je zodpovědný za různé aspekty fungování systému:

STMicroelectronics-UM3469-X-CUBE-ISO1-Softwarové rozšíření-2

  • Konfigurace a ovládání desky:
    • Soubor board_config.h file Obsahuje makra pro konfiguraci desky pro spuštění ve výchozím nebo alternativním režimu, případně v obou. Zahrnuje také definice hodnot předděličky a portů a pinů GPIO.
    • Tento blok zajišťuje, že je deska správně nastavena pro požadované provozní podmínky a že jsou provedeny všechny potřebné hardwarové konfigurace.
  • Případy použití aplikace:
    • Soubory st_iso_app.h a st_iso_app.c fileobsahují případy použití aplikací určené k testování různých funkcí desky.
    • Mezi tyto případy použití patří zrcadlení digitálního vstupu na výstup, testy detekce chyb a generování PWM signálu.
    • ExampJsou k dispozici konfigurace pro současné spuštění dvou desek v různých režimech, což demonstruje všestrannost a flexibilitu firmwaru.
  • Funkce API:
    • Soubory iso1a1.h a iso1a1.c fileposkytují komplexní sadu API pro podporu různých funkcí.
    • Tato API zahrnují funkce pro řízení digitálních vstupů/výstupů, detekci chyb a aktualizace stavu desky.
    • API jsou navržena tak, aby byla jednoduchá a intuitivní, a usnadnila tak uživatelům interakci s deskou a provádění potřebných operací.
  • Řízení PWM signálem:
    • Soubory pwm_api.h a pwm_api.c fileObsahují specifické funkce API související s generováním PWM signálu.
    • Tyto funkce umožňují inicializaci, konfiguraci, spouštění a zastavování PWM signálů pro digitální výstupní kanály.
    • Funkce PWM není výchozí volbou. Konfigurace desky musí být upravena, aby ji bylo možné aktivovat. Více informací naleznete v části 3.5: API.
  • Balíček podpory představenstva:
    • Balíček podpory pro správní radu zahrnuje filepro řízení a monitorování GPIO pinů propojených s IPS1025H-32 a čtení stavu GPIO pinů propojených s CLT03-2Q3.
    • Soubory ips1025h_32.h a ips1025h_32.c fileposkytují funkce pro nastavení, mazání a detekci chyb na pinech GPIO propojených s IPS1025H-32.
    • Soubory clt03_2q3.h a clt03_2q3.c fileposkytují funkce pro čtení stavu GPIO pinů propojených s CLT03-2Q3.

Demonstrační firmware implementuje několik jednoduchých případů užití, které demonstrují možnosti systému. Tyto případy užití a uživatelská API jsou prováděny koordinovaným způsobem, aby byl zajištěn hladký provoz a přesné výsledky. Architektura je navržena tak, aby byla snadno rozšiřitelná a uživatelům umožňovala přidávat nové funkce a případy užití dle potřeby. Výchozí konfigurace je určena pro provoz jedné desky s digitálními průmyslovými vstupy/výstupy. Nastavení propojek musí být také ve výchozím režimu, jak je popsáno v tabulce 2. Výchozím případem užití aplikace firmwaru je zrcadlení digitálního vstupu a digitálního výstupu (DIDO).

Struktura složek

STMicroelectronics-UM3469-X-CUBE-ISO1-Softwarové rozšíření-3

V softwarovém balíčku jsou zahrnuty následující složky:

  • Dokumentace obsahuje zkompilovaný HTML file generované ze zdrojového kódu, popisující softwarové komponenty a API.
  • Ovladače obsahuje:
    • složku HAL STM32Cube, která se nachází v podsložkách STM32G0xx_HAL_Driver. Tyto filenejsou zde popsány, protože nejsou specifické pro software X-CUBE-ISO1, ale pocházejí přímo z frameworku STM32Cube.
    • složku CMSIS, která obsahuje standard softwarového rozhraní mikrokontroléru Cortex® files od Arm. Tyto fileJsou to na dodavateli nezávislé vrstvy abstrakce hardwaru pro řadu procesorů Cortex®-M. Tato složka je také nezměněna z frameworku STM32Cube.
    • složka BSP obsahující kódy pro komponenty IPS1025H-32 a CLT03-2Q3 a API související s X-NUCLEO-ISO1A1.
  • Aplikace obsahuje uživatelskou složku, která obsahuje soubor main.c. file, případ použití aplikace file, st_iso_app.c a board_config.h file, poskytované pro platformu NUCLEO-G071RB.

složka BSP
Software X-CUBE-ISO1 používá dvě různé komponenty files, které jsou uvnitř BSP/komponent:

IPS1025
Soubory ips1025h_32.h a ips1025h_32.c filePoskytují komplexní implementaci ovladačů pro piny GPIO propojené s IPS1025H-32, včetně kompletní funkcionality pro ovládání všech pinů a detekci chyb. Tyto fileImplementuje funkce pro inicializaci zařízení, nastavení a mazání stavu kanálů, detekci chybových stavů a ​​správu PWM. Ovladač podporuje více zařízení a kanálů s kompletními možnostmi pro jednotlivé kanály i pro skupiny.

CLT03
Soubory clt03_2q3.h a clt03_2q3.c fileImplementují plně funkční ovladač pro piny GPIO propojené s CLT03-2Q3 s kompletními možnostmi čtení stavů všech pinů. Ovladač poskytuje funkce pro inicializaci zařízení, čtení stavu jednotlivých kanálů a získávání informací o stavu všech kanálů současně. Podporuje konfigurace více zařízení a udržuje interní stav pro efektivní správu kanálů.

Softwarová API rozhraní X-CUBE-ISO1 jsou rozdělena do dvou hlavních zdrojů files, které se nacházejí v podsložce ISO1A1:

ISO1A1
ISO1A1 filezahrnují komplexní sadu funkcí API určených pro konfiguraci desek, interakci komponent a správu chyb. Tyto funkce usnadňují operace čtení a zápisu, detekci chyb a aktualizace a zahrnují různé pomocné utility pro podporu primárních funkcí API. Kromě toho... fileposkytují funkce pro ovládání LED, inicializaci GPIO, zpracování přerušení a komunikaci UART.

PWM API
PWM API poskytuje funkce pro inicializaci, konfiguraci, spouštění a zastavování PWM signálů. Umožňuje nastavit frekvenci PWM a pracovní cyklus pro specifikované piny časovače, což zajišťuje přesné ovládání PWM operací.

Složka aplikace
Složka Aplikace obsahuje hlavní filepožadované pro firmware, včetně hlavičkových kódů a zdrojového kódu files. Níže je uveden podrobný popis files v této složce:

  • board_config.h: Konfigurační makra pro desku.
  • main.c: Hlavní program (kód example, která je založena na knihovně pro ISO1A1).
  • st_iso_app.c: Funkce aplikace pro testování a konfiguraci desek.
  • stm32g0xx_hal_msp.c: Inicializační rutiny HAL.
  • stm32g0xx_it.c: Obsluha přerušení.
  • syscalls.c: Implementace systémových volání.
  • sysmem.c: Správa systémové paměti.
  • system_stm32g0xx.c: Inicializace systému.

Software vyžaduje zdroje
Zařízení Nucleo ovládá a komunikuje s deskou X-NUCLEO-ISO1A1 prostřednictvím GPIO. To vyžaduje použití několika GPIO pro vstup, výstup a detekci chyb průmyslových IO zařízení obsažených v desce X-NUCLEO-ISO1A1. Další podrobnosti a konfigurace propojek naleznete v uživatelské příručce k hardwaru UM3483.

Konfigurace desky (board_config.h)
Soubor board_config.h file definuje použité zdroje a konfigurační makra pro konfiguraci softwaru podle konfigurace desky. Zvládá až dvě desky (například stohování dvou desek).
Konfigurace softwaru DEFAULT je sladěna s rozšiřující deskou X-NUCLEO-ISO1A1 s propojkami ve výchozích pozicích. Chcete-li nakonfigurovat software pro X-NUCLEO-ISO1A1 ve výchozím nastavení, odkomentujte makro BOARD_ID_DEFAULT v souboru board_config.h. file.

Konfigurace softwarové funkce ALTERNATE se nastavuje odkomentováním makra BOARD_ID_ALTERNATE v souboru board_config.h. file a změnou polohy propojek na desce.
Chcete-li současně používat dvě desky v konfiguraci typu „stack-up“, odkomentujte makra BOARD_ID_DEFAULT a BOARD_ID_ALTERNATE a ujistěte se, že propojky jedné desky jsou ve výchozí poloze a druhé v alternativní poloze. Upozorňujeme, že použití obou desek ve stejné konfiguraci (buď obě ve výchozí, nebo obě ve alternativní poloze) se nedoporučuje a může to vést k nežádoucímu chování.
Pokud používáte pouze jednu desku, ujistěte se, že je software nakonfigurován pouze pro jednu konfiguraci a makro odpovídající druhé konfiguraci je okomentováno.

STMicroelectronics-UM3469-X-CUBE-ISO1-Softwarové rozšíření-4

Předděliče
Hodnoty předděličky můžeme nakonfigurovat v souboru board_config.h tak, abychom dosáhli různých frekvenčních rozsahů pro PWM výstup nastavením příslušných maker. Chcete-li použít hodnotu předděličky, odkomentujte odpovídající makro a ostatní okomentujte. Ve výchozím nastavení se používá DEFAULT_PRESCALAR.

  • PŘEDDĚLIČKA_1
  • PŘEDDĚLIČKA_2
  • VÝCHOZÍ_PŘEDDĚLIČKA

Hodnoty předděličky se používají pouze při použití časovačů a nejsou nutné pro žádné základní I/O operace. Hodnoty maker předděličky a jejich odpovídající frekvenční rozsahy lze nalézt v dokumentaci k kódu nebo v samotném kódu.

LED tlukot srdce
Zelenou uživatelskou LED diodu D7 můžeme nakonfigurovat tak, aby blikala v prezenčním rytmu jako test správného připojení k desce NUCLEO-G071RB. Makro HEARTBEAT_LED bez komentáře bliká zelenou LED diodou na desce X-NUCLEO-ISO1A1, když je připojena k desce NUCLEO. Zůstane zapnutá 1 sekundu a vypnutá 2 sekundy, přičemž časování zajišťují časovače. Pokud se nepoužívá nebo není volána žádná funkce zahrnující LED diody, mělo by být makro bez komentáře.

Konfigurace vstupních a výstupních GPIO
Každá deska X-NUCLEO-ISO1A1 je vybavena dvěma vstupními a dvěma výstupními porty. Možnosti desky lze rozšířit stohováním dvou desek X-NUCLEO-ISO1A1 na sebe, čímž se umožní použití čtyř digitálních vstupních a čtyř digitálních výstupních portů. Dodávaný software obsahuje komplexní API, která usnadňují čtení, nastavování a mazání portů. API navíc umožňují současné nastavování, čtení nebo mazání všech portů. Podrobné informace o funkcích API jsou k dispozici v dokumentaci k kódu a také v části API tohoto dokumentu.

STMicroelectronics-UM3469-X-CUBE-ISO1-Softwarové rozšíření-5

Zde předpona DI označuje digitální vstupní port a DO označuje digitální výstupní port. Pro alternativní konfiguraci software používá stejné konvence pojmenování s připojenou příponou _alt.
Následující tabulka podrobně popisuje makra GPIO definovaná v softwaru odpovídající různým IO portům:

Tabulka 2. GPIO přidělené pro výchozí a alternativní softwarové konfigurace

Jméno Funkce Výchozí konfigurace Alternativní konfigurace
ZADEJTE PIN Vstupní pin 1 GPIOC, IA0_IN_1_PIN GPIOD, IA0_IN_1_PIN
Vstupní pin 2 GPIOD, IA1_IN_2_PIN GPIOC, IA1_IN_1_PIN
VÝSTUPNÍ PIN Výstupní pin 1 GPIOC, QA0_CNTRL_1_PIN GPIOD, QA0_CNTRL_1_PIN
Výstupní pin 2 GPIOC, QA1_CNTRL_2_PIN GPIOC, QA1_CNTRL_2_PIN
PORUCHOVÝ PIN Poruchový pin 1 GPIOC, FLT1_QA0_2_OT_PIN GPIOD, FLT1_QA0_1_OT_PIN
Poruchový pin 2 GPIOC, FLT2_QA0_2_OL_PIN GPIOD, FLT2_QA0_1_OL_PIN
Poruchový pin 3 GPIOC, FLT1_QA1_2_OT_PIN GPIOC, FLT1_QA1_1_OT_PIN
Poruchový pin 4 GPIOC, FLT2_QA1_1_OL_PIN GPIOD, FLT2_QA1_2_OL_PIN
KONFIGURACE MAKRA VÝCHOZÍ ID_DEFAULT ALTERNATIVNÍ ID BOARDU

Časovače a PWM
Časovače lze ve firmwaru X-CUBE-ISO1 použít ke generování PWM signálů pro specifické piny. Ve výchozím nastavení nejsou časovače inicializovány, s výjimkou TIM3. Příslušné časovače by měly být inicializovány před generováním PWM signálů a příslušné výstupní porty musí být inicializovány v režimu PWM.
Pro normální operace vstupu/výstupu GPIO není třeba konfigurovat žádný časovač ani výstupní port, protože se o to postará standardně. Pokud jsou však výstupní piny nastaveny do režimu PWM, je třeba je znovu nakonfigurovat v režimu GPIO, aby mohly být použity jako piny GPIO.

Poznámka: Pokud se výstupní piny používají pro generování PWM, je výstup GPIO deaktivován a obě funkce nelze implementovat současně. Pro opětovné povolení GPIO po použití PWM lze zavolat funkci API ST_ISO_BoardConfigureDefault() nebo ST_ISO_InitGPIO() pro konfiguraci všech portů jako GPIO najednou, nebo ST_ISO_Init_GPIO() s konkrétním portem a pinem GPIO.

Jak již bylo zmíněno výše, software také standardně používá jeden časovač, TIM3, který se používá pro implementaci časování uživatelských LED diod, hodin a UART. Ve výchozím nastavení je nakonfigurován na dobu 1 sekundy.
Následující tabulka podrobně popisuje časovače dostupné pro každý pin v našem kódu:

Tabulka 3. Časovače dostupné pro každý pin

Název pinu Softwarová reprezentace Časovač Časový kanál Alternativní funkce
QA0_CNTRL_1_PIN QA_0 TIM2 ČAS_KANÁLU_4 GPIO_AF2_TIM2
QA1_CNTRL_2_PIN QA_1 TIM1 ČAS_KANÁLU_3 GPIO_AF2_TIM1
QA0_CNTRL_2_PIN QA_0_ALT TIM1 ČAS_KANÁLU_4 GPIO_AF2_TIM1
QA1_CNTRL_1_PIN QA_1_ALT TIM17 ČAS_KANÁLU_1 GPIO_AF2_TIM17

Další utility firmwaru
Firmware obsahuje další nástroje pro vylepšení funkčnosti vyhodnocovací desky X-NUCLEO-ISO1A1. Některé z nich jsou popsány níže.

UART
Funkce komunikace UART umožňuje monitorování a ladění stavu desky v reálném čase pomocí počítačových utilit, jako jsou TeraTerm, PuTTY a další podobné aplikace. Software umožňuje přenos dat UART prostřednictvím UARTu, který je součástí desky NUCLEO-G071RB. Funkce `ST_ISO_UART` odesílá přes UART podrobné informace o stavu desky, včetně doby provozuschopnosti systému, konfigurace firmwaru a stavu poruch. Tato data lze... viewpomocí libovolné aplikace sériového portu, například TeraTerm. Funkce `ST_ISO_APP_DIDOandUART` kombinuje digitální vstupní/výstupní operace s komunikací UART a přenáší stav všech vstupních a výstupních kanálů v zadaných intervalech. Níže jsou uvedena konfigurační nastavení aampjak se data zobrazují v TeraTerm. Název portu se může lišit v závislosti na systému a použitém sériovém portu.

STMicroelectronics-UM3469-X-CUBE-ISO1-Softwarové rozšíření-6

STMicroelectronics-UM3469-X-CUBE-ISO1-Softwarové rozšíření-7

Konfigurace režimu IO pinů
Nástroj pro konfiguraci režimu pinů IO umožňuje uživatelům nastavit vstupní a výstupní porty desky pomocí funkce ST_ISO_BoardConfigure(). Tato funkce podporuje konfiguraci dvou výstupních portů (QA0, QA1) a dvou vstupních portů (IA0, IA1) buď do režimu vstup/výstup, režimu výstupu PWM, nebo režimu vstupu přerušení. Úpravou parametrů a voláním této funkce mohou uživatelé snadno přizpůsobit konfiguraci IO desky specifickým potřebám.

V režimu Input/Output (Vstup/Výstup) utilita inicializuje piny GPIO pro univerzální digitální operace. V režimu PWM výstupu nastavuje časovače pro přesné řízení PWM signálu. V režimu Interrupt (Vstup přerušení) utilita konfiguruje piny pro zpracování přerušení, což umožňuje responzivní programování řízené událostmi.

Ošetření přerušení
Pro zpracování signálů FAULT software povoluje příslušné linky přerušení, což umožňuje responzivní programování řízené událostmi. K těmto přerušením lze přiřadit vlastní obslužnou rutinu prostřednictvím
Funkce HAL_GPIO_EXTI_Rising_Callback definovaná v API. Software obsahuje funkce pro inicializaci pinů GPIO v režimu přerušení pomocí funkce ST_ISO_BoardConfigure a konfiguraci specifických akcí v obslužných rutinách IRQ EXTI. To umožňuje uživatelům přizpůsobit reakci desky na externí události a zajistit tak efektivní řízení různých chybových stavů a ​​spouštěčů.

API
Softwarové API rozhraní X-CUBE-ISO1 poskytuje komplexní sadu funkcí pro ovládání a monitorování desky X-NUCLEO-ISO1A1, včetně generování PWM signálu a operací GPIO. API je navrženo pro snadné použití a integraci do různých aplikací, což poskytuje flexibilitu a kontrolu nad funkčností desky.

Softwarové API X-CUBE-ISO1 je definováno ve složce BSP/ISO1A1. Jeho funkce jsou předřazeny ST_ISO. API je viditelné pro aplikace prostřednictvím iso1a1.c a pwm_api.c. files je kombinací konstant, datových struktur a funkcí.
SampFirmwarové aplikace využívají tato API k demonstraci některých možných využití těchto funkcí.

Softwarový balíček X-CUBE-ISO1 nabízí dvě sady API:

  • API ISO1A1
  • PWM API

API ISO1A1
API ISO1A1 je definováno v souborech iso1a1.h a iso1a1.c. files. Poskytuje funkce pro konfiguraci a ovládání desky ISO1A1, včetně operací vstupů/výstupů GPIO a detekce chyb.

Klíčové funkce

  • ST_ISO_BoardConfigureDefault: Konfiguruje IO porty desky s výchozí konfigurací GPIO.
  • ST_ISO_BoardConfigure: Konfiguruje režim vstupních a výstupních portů desky.
  • ST_ISO_BoardInit: Inicializuje hardware desky.
  • ST_ISO_BoardMapInit: Inicializuje funkčnost desky na základě konfigurace úchytů kanálů.
  • ST_ISO_GetFWVersion: Vrátí aktuální verzi firmwaru.
  • ST_ISO_GetChannelHandle: Načte handle kanálu pro zadaný název kanálu.
  • ST_ISO_InitGPIO: Inicializuje zadaný pin GPIO s daným ID modulu.
  • ST_ISO_InitInterrupt: Inicializuje zadaný pin GPIO jako přerušení s daným ID modulu.
  • ST_ISO_EnableFaultInterrupt: Inicializuje chybové GPIO piny v režimu přerušení.
  • ST_ISO_SetChannelStatus: Nastaví stav zadaného kanálu.
  • ST_ISO_SetOne_DO: Nastaví jeden digitální výstupní kanál.
  • ST_ISO_ClearOne_DO: Vymaže jeden digitální výstupní kanál.
  • ST_ISO_WriteAllChannels: Zapisuje data do všech digitálních výstupních kanálů.
  • ST_ISO_GetOne_DI: Získá stav jednoho digitálního vstupního kanálu.
  • ST_ISO_ReadAllChannel: Přečte stav všech vstupních kanálů.
  • ST_ISO_ReadAllOutputChannel: Přečte stav všech výstupních kanálů.
  • ST_ISO_ReadFaultStatus: Čte stav chyby ze všech portů pro detekci chyb.
  • ST_ISO_ReadFaultStatusPolling: Testuje detekci chyb desek v režimu dotazování.
  • ST_ISO_DisableOutputChannel: Zakáže výstup pro daný kanál.
  • ST_ISO_UpdateBoardStatusInfo: Aktualizuje informace o stavu desky.
  • ST_ISO_UpdateFaultStatus: Aktualizuje stav chyby pro konkrétní kanál.
  • ST_ISO_BlinkLed: Bliká zadanou LED diodou s daným zpožděním a počtem opakování.
  • ST_ISO_UART: Odesílá informace o stavu desky přes UART.
  • ST_ISO_SwitchInit: Inicializuje komponenty přepínače.
  • ST_ISO_SwitchDeInit: Deinicializuje instanci přepínače.
  • ST_ISO_DigitalInputInit: Inicializuje komponenty digitálního vstupu.
  • ST_ISO_DigitalInputDeInit: Deinicializuje instanci digitálního vstupu.

PWM API
PWM API je definováno v souborech pwm_api.h a pwm_api.c. files. Nabízí následující funkce pro inicializaci a řízení PWM signálů pro specifické piny.

  • ST_ISO_Init_PWM_Signal: Inicializuje časovače a specifický pin pro PWM signál.
  • ST_ISO_Set_PWM_Frequency: Nastavuje frekvenci PWM pro daný pin.
  • ST_ISO_Set_PWM_Duty_Cycle: Nastavuje pracovní cyklus PWM pro konkrétní pin.
  • ST_ISO_Start_PWM_Signal: Spustí PWM signál na daném pinu.
  • ST_ISO_Stop_PWM_Signal: Zastaví PWM signál na daném pinu.

Pro spuštění PWM signálu na příslušném kanálu nejprve zavolejte funkci ST_ISO_Init_PWM_Signal, poté nastavte požadovanou frekvenci a pracovní cyklus voláním ST_ISO_Set_PWM_Frequency a
Funkce ST_ISO_Set_PWM_Duty_Cycle a poté můžete spustit PWM signál voláním funkce ST_ISO_Start_PWM_Signal a zastavit ho voláním ST_ISO_Stop_PWM_Signal.

Funkci je třeba volat s odpovídajícím názvem pinu a dostupnými časovači, jejichž podrobnosti jsou uvedeny v tabulce 3. Různé výstupní kanály lze nastavit s různými frekvencemi a pracovními cykly; změna frekvence nebo pracovního cyklu neovlivní ostatní, ty zůstávají stejné.
Podrobné technické informace o API dostupných pro uživatele lze nalézt v kompilovaném HTML file umístěnou ve složce „Dokumentace“ softwarového balíku, kde jsou plně popsány všechny funkce a parametry.

Popis aplikace
Demonstrační aplikace implementuje několik jednoduchých případů použití. Soubory st_iso_app a board_config fileHrají klíčovou roli při nastavení a používání desky a jejích aplikačních funkcí. Před použitím těchto funkcí se ujistěte, že je konfigurace desky a softwaru vzájemně synchronizovaná.

Funkce aplikace (st_iso_app.h a st_iso_app.c)
Aplikační funkce mají prefix ST_ISO_APP; jedná se o funkce nejvyšší úrovně viditelné pro uživatele, kteří volají funkce API pro jejich implementaci. Aplikační funkce lze volat v souboru main.c. file pro jejich fungování.

  • Výběr případu užití: Uživatel může v souboru st_iso_app.c odkomentovat požadované makro případu užití. fileFunkce ST_ISO_APP_SelectUseCaseMacro(), volaná v main.c, inicializuje tento případ užití a funkce ST_ISO_APP_SelectedFunction() jej implementuje v main.c. Tento přístup umožňuje snadnou konfiguraci operačního režimu pouhou úpravou definic maker, čímž se zajistí, že se na základě vybraného případu užití spustí příslušná funkce. Ve výchozím nastavení je vybrán případ užití DIDO a uživatel nemusí provádět žádné změny v kódu pro jeho implementaci.
  • Zrcadlení digitálního vstupu do digitálního výstupu (ST_ISO_APP_UsecaseDIDO): Tato funkce čte stav všech vstupních kanálů a zapisuje stejný stav do všech výstupních kanálů. Je užitečná pro zrcadlení digitálních vstupů do digitálních výstupů.
  • Zrcadlení digitálního vstupu na digitální výstup pomocí UART (ST_ISO_APP_DIDOandUART): Tato funkce zrcadlí digitální vstupy na digitální výstupy, podobně jako funkce ST_ISO_APP_UsecaseDIDO. Navíc přenáší stav desky přes rozhraní UART na zařízení Nucleo, což umožňuje jeho kontrolu. viewna sériovém portu pomocí aplikací jako Tera Term.
  • Funkce testovacího případu (ST_ISO_APP_TestCase): Tato funkce provádí řadu testů a akcí na základě konfigurace desky. Kontroluje stav chyb, čte stav dvou digitálních vstupních kanálů a provádí akce na základě jejich hodnot. Tato funkce pomáhá rychle vyhodnotit výkon a funkčnost desky a získat vizuální zpětnou vazbu prostřednictvím různých vzorů LED. Zajistěte makro HEARTBEAT_LED v souboru board_config.h. file je popsáno dodržování správných vzorů LED.
  • Generování PWM (ST_ISO_APP_PWM _OFFSET): Tato funkce spouští PWM signál na obou výstupních kanálech s frekvencí 1 Hz a střídou 50 %. Inicializuje PWM signál, nastavuje frekvenci a střídu a spouští PWM signál pro zadané ID desky. PWM signál je generován s posunem mezi oběma kanály, a proto nejsou ve fázi.
  • Test detekce chyb (ST_ISO_APP_FaultTest): Tato funkce vyhodnocuje detekci chyb aktivací vestavěných diagnostických pinů inteligentního výstupního modulu IPS1025 v režimu dotazování nebo přerušení. Konfiguruje režim detekce chyb, inicializuje detekci chyb a aktualizuje strukturu stavu chyb na základě zvoleného režimu. Tato funkce je klíčová pro zajištění spolehlivosti a bezpečnosti desky efektivní detekcí a zpracováním chyb. V režimu dotazování se stav chyby aktualizuje každou sekundu pomocí časovače a odráží se ve struktuře defaultBoardFaultStatus nebo alternateBoardFaultStatus. V režimu přerušení se stav chyby aktualizuje pouze tehdy, když k poruše dojde, a spustí se software k vymazání odpovídajícího výstupního portu.
  • Test variace PWM (ST_ISO_APP_PwmVariationTest): Tato funkce je navržena k testování variace signálů PWM (Pulse Width Modulation) na různých výstupních kanálech na základě konfigurace desky. Inicializuje signály PWM pro výchozí i alternativní konfiguraci desky, nastavuje jejich frekvenci na 100 Hz a počáteční pracovní cyklus na 0 %. Funkce poté mění pracovní cyklus od 0 % do 100 % v krocích po 5 % a zpět od 100 % do 0 % v krocích po 5 % s 2sekundovým zpožděním mezi jednotlivými kroky. Tato řízená variace umožňuje pozorování a vyhodnocení chování signálu PWM na kanálech QA_0 a QA_1 pro výchozí desku a QA_0_ALT a QA_1_ALT pro alternativní desku.

Dodržením těchto konfigurací a využitím poskytovaných funkcí aplikace můžete efektivně nastavit a používat desku X-NUCLEO-ISO1A1 pro různé demonstrační případy použití.

Průvodce nastavením systému

Popis hardwaru

Platforma STM32 Nucleo
Vývojové desky STM32 Nucleo poskytují uživatelům cenově dostupný a flexibilní způsob testování řešení a vytváření prototypů s jakoukoli řadou mikrokontrolérů STM32.
Podpora konektivity Arduino® a konektory ST morpho usnadňují rozšíření funkčnosti otevřené vývojové platformy STM32 Nucleo pomocí široké škály specializovaných rozšiřujících desek, ze kterých si můžete vybrat.

Deska STM32 Nucleo nevyžaduje samostatné sondy, protože integruje debugger/programátor ST-LINK/V2-1.
Deska STM32 Nucleo je dodávána s komplexní softwarovou knihovnou STM32 HAL spolu s různým baleným softwarem např.amples.

STMicroelectronics-UM3469-X-CUBE-ISO1-Softwarové rozšíření-8

Informace o desce STM32 Nucleo jsou k dispozici na adrese www.st.com/stm32nucleo

Rozšiřující deska X-NUCLEO-ISO1A1
X-NUCLEO-ISO1A1 je vyhodnocovací deska s izolovanými průmyslovými vstupy/výstupy, navržená pro rozšíření desky STM32 Nucleo a zajištění funkcí mikro-PLC. Dvě desky X-NUCLEO-ISO1A1 lze stohovat na desku STM32 Nucleo s vhodným výběrem propojek na rozšiřující desce, aby se zabránilo konfliktům v rozhraních GPIO. Digitální izolátory STISO1577 a STISO620 s certifikací UL621 zajišťují izolaci mezi logickými a procesními komponentami. Dva proudově omezené vysokonapěťové vstupy z procesní strany jsou realizovány pomocí CLT03-2Q3. CLT03-2Q3 poskytuje ochranu, izolaci a indikaci bezenergetického stavu pro průmyslové podmínky a je navržena tak, aby splňovala normy jako IEC61000-4-2, IEC61000-4-4 a IEC61000-4-5. Každý z přepínačů IPS1025H-32/HQ-32 na straně vysokého napětí poskytuje chráněný výstup až do 5.6 A s diagnostickými a inteligentními funkcemi řízení. Tyto přepínače mohou řídit kapacitní, odporové nebo indukční zátěže. Přepínač X-NUCLEO-ISO1A1 umožňuje rychlé vyhodnocení integrovaných integrovaných obvodů pomocí softwarového balíčku X-CUBE-ISO1.

STMicroelectronics-UM3469-X-CUBE-ISO1-Softwarové rozšíření-9

Nastavení hardwaru
Jsou zapotřebí následující hardwarové komponenty:

  1. Jedna vývojová platforma STM32 Nucleo (doporučený objednací kód: NUCLEO-GO71RB)
  2. Jedna rozšiřující deska digitálního průmyslového výstupu (objednací kód: X-NUCLEO-ISO1A1)
  3. Jeden kabel USB typu A na Micro USB pro připojení STM32 Nucleo k počítači
  4. Externí zdroj napájení (24 V) a příslušné vodiče pro napájení rozšiřující desky X-NUCLEO-ISO1A1.

Nastavení softwaru
Pro nastavení vhodného vývojového prostředí pro tvorbu aplikací pro STM32 Nucleo vybavený rozšiřující deskou X-NUCLEO-ISO1A1 jsou vyžadovány následující softwarové komponenty:

  • X-CUBE-ISO1: rozšíření pro STM32Cube určené pro vývoj aplikací, které vyžaduje použití desky X-NUCLEO-ISO1A1. Firmware pro X-CUBE-ISO1 a související dokumentace jsou k dispozici na www.st.com
  • Vývojové nástroje a kompilátor: rozšiřující software STM32Cube podporuje následující tři prostředí:
    • Nástrojová řada IAR Embedded Workbench pro ARM® (IAR-EWARM)
    • NemovitýView Sada nástrojů pro vývoj mikrokontrolérů (MDK-ARM-STM32)
    • STM32CubeIDE.

Nastavení desky
Deska musí být nakonfigurována s odpovídajícím nastavením propojek, jak je uvedeno v uživatelské příručce k hardwaru (UM3483). Pečlivé dodržování těchto pokynů je nezbytné pro zajištění správné funkčnosti a zamezení potenciálním problémům.

Průvodce nastavením systému
Tato část popisuje, jak nastavit různé hardwarové součásti před vývojem a spuštěním aplikace na desce STM32 Nucleo, NUCLEO-G071RB s rozšiřující deskou X-NUCLEO-ISO1A1.

STMicroelectronics-UM3469-X-CUBE-ISO1-Softwarové rozšíření-10

STMicroelectronics-UM3469-X-CUBE-ISO1-Softwarové rozšíření-11

Nastavení rozšiřujícího balíčku X-CUBE-ISO1
Deska X-NUCLEO-ISO1A1 musí být nakonfigurována pomocí specifických pozic propojek v závislosti na použité konfiguraci. Podrobnosti naleznete v hardwarové příručce.

  • Krok 1. Zapojte rozšiřující desku X-NUCLEO-ISO1A1 na STM32 Nucleo pomocí morfokonektorů.
    Pokud používáte dvě desky na sobě, naskládejte je, jak je znázorněno na obrázku 11.
  • Krok 2. Pro napájení desky STM32 Nucleo připojte desku STM1 Nucleo k počítači pomocí USB kabelu přes USB konektor CNXNUMX.
  • Krok 3. Zapněte rozšiřující desku (desky) X-NUCLEO-ISO1A1 připojením J1 k napájení 24V DC. Pokud používáte stohované desky, ujistěte se, že jsou obě desky napájeny.
  • Krok 4. Otevřete si preferovaný toolchain (MDK-ARM od Keilu, EWARM od IARu nebo STM32CubeIDE).
  • Krok 5. Otevřete softwarový projekt a proveďte potřebné změny v souboru board_config.h. file podle konfigurace použité(ých) desky(desek).
  • Krok 6. Nastavte příslušné makro pro případ užití v souboru st_iso_app.c file nebo zavolejte požadovaný případ užití pomocí funkce ST_ISO_APP_SelectUseCase v souboru main.c file spolu s jakoukoli další požadovanou funkcí.
  • Krok 7. Sestavte projekt tak, aby se zkompilovaly všechny filea načtěte zkompilovaný kód do paměti desky STM32 Nucleo.
  • Krok 8. Spusťte kód na desce STM32 Nucleo a ověřte očekávané chování.

Historie revizí
Tabulka 4. Historie revizí dokumentu

Datum Revize Změny
14. května 2025 1 Počáteční vydání.

DŮLEŽITÉ UPOZORNĚNÍ – ČTĚTE POZORNĚ

STMicroelectronics NV a její dceřiné společnosti (“ST”) si vyhrazují právo provádět změny, opravy, vylepšení, úpravy a vylepšení produktů ST a/nebo tohoto dokumentu kdykoli bez upozornění. Kupující by měli před zadáním objednávky získat nejnovější relevantní informace o produktech ST. Produkty ST jsou prodávány v souladu s prodejními podmínkami ST platnými v době potvrzení objednávky.

Kupující jsou výhradně odpovědní za výběr, výběr a použití produktů ST a ST nepřebírá žádnou odpovědnost za pomoc s aplikací nebo design produktů kupujících.
Společnost ST zde neuděluje žádnou výslovnou ani předpokládanou licenci k právu duševního vlastnictví.
Další prodej produktů ST s ustanoveními odlišnými od informací uvedených v tomto dokumentu ruší jakoukoli záruku poskytnutou společností ST na takový produkt.

ST a logo ST jsou ochranné známky společnosti ST. Další informace o ochranných známkách ST najdete na www.st.com/trademarks. Všechny ostatní názvy produktů nebo služeb jsou majetkem jejich příslušných vlastníků.
Informace v tomto dokumentu nahrazují a nahrazují informace dříve uvedené v předchozích verzích tohoto dokumentu.
© 2025 STMicroelectronics – Všechna práva vyhrazena

Dokumenty / zdroje

Rozšíření softwaru STMicroelectronics UM3469 X-CUBE-ISO1 [pdfUživatelská příručka
X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 Softwarové rozšíření, UM3469, X-CUBE-ISO1 Softwarové rozšíření, Softwarové rozšíření

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *