ST-лого

STMicroelectronics UM3469 X-CUBE-ISO1 Проширување на софтверот

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

Вовед

Софтверскиот пакет за проширување X-CUBE-ISO1 за STM32Cube работи на STM32 и вклучува фирмвер за X-NUCLEO-ISO1A1. Софтверот обезбедува лесно за користење решение за развој на основен PLC уред обезбеден од X-NUCLEO. Проширувањето е изградено на софтверската технологија STM32Cube за да се олесни преносливоста низ различни STM32 микроконтролери.

Софтверот доаѓа со имплементација што работи на X-NUCLEO-ISO1A1 експанзионата плоча поврзана со развојна плоча NUCLEO-G071RB (или NUCLEO-G0B1RE или NUCLEO-G070RB). Отсега, во документот ќе се споменува само NUCLEO-G071RB за поедноставување.
Плочката X-NUCLEO-ISO1A1 е дизајнирана да поддржува спојување на две плочи со соодветни поставки за џампери за да се прошират влезните и излезните можности.

Акроними и кратенки

Табела 1. Список на акроними

Акроним Опис
Саладин Програмабилен логички контролер
API Програмски интерфејс за апликации
PWM Модулација на ширина на пулсот
GPIO Влез/излез за општа намена.
ХАЛ Хардверски апстракциски слој
PC Личен компјутер
FW Фирмвер

Што е STM32Cube?

STM32Cube™ ја претставува иницијативата на STMicroelectronics за олеснување на животот на програмерите со намалување на напорите, времето и трошоците за развој. STM32Cube го опфаќа портфолиото на STM32.
STM32Cube верзија 1.x вклучува:

  • STM32CubeMX, алатка за графичка конфигурација на софтвер што овозможува генерирање на C иницијализациски код со користење на графички волшебници.
  • Сеопфатна вградена софтверска платформа специфична за секоја серија (како што е STM32CubeG0 за серијата STM32G0), која вклучува:
    • вградениот софтвер за апстракциски слој STM32Cube HAL, обезбедувајќи максимизирана преносливост низ целото портфолио на STM32
    • конзистентен сет на компоненти на middleware како што се RTOS, USB, TCP/IP и графика
    • сите вградени софтверски алатки со целосен сет на ексampлес.

STM32Cube архитектура
Решението за фирмвер STM32Cube е изградено околу три независни нивоа кои лесно можат да комуницираат едно со друго, како што е опишано на дијаграмот подолу.

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

Проширување на софтверот X-CUBE-ISO1 за STM32Cube

Во текот наview
Фирмверот за X-NUCLEO-ISO1A1, индустриска изолирана плоча за проширување на влез/излез, развиен околу STM32 средини и библиотеки, го користи високо-перформансниот микроконтролер на STM32 Nucleo плочите за управување со дигитални влезови, излези со интегрирана дијагностика заедно со динамичко ограничување на струјата и генерирање на PWM сигнал. Има сеопфатна конфигурација и контрола на плочата, вклучувајќи рамки за стандардни и алтернативни услови, макроа за поставување вредности за претходно скалирање и дефиниции за GPIO порти и пинови.

Поддржува разниampСлучаи на употреба на апликацијата како што се пресликување на дигитален влез и излез, UART комуникација преку Nucleo плочата, откривање на грешки, тест случаи и генерирање на PWM кои можат директно да се користат и лесно да се прилагодат и прошират.

API-то обезбедува робустен сет на функции за контрола на дигитални влезни/излезни сигнали, откривање на грешки и ажурирања на статусот на плочата, со конфигурациски поставки за истовремено работење на две плочи во различни режими. Достапни се специфични API функции за иницијализирање, стартување, запирање и конфигурирање на PWM сигнали за дигитални излезни канали.

Пакетот за поддршка на плочката вклучува функции за контрола и следење на GPIO пиновите поврзани со IPS1025H-32 и читање на состојбата на GPIO пиновите поврзани со CLT03-2Q3 преку дигитален изолатор.
Конфигурацијата и иницијализацијата се базираат на STM32CubeMX, а развојот и дебагирањето се поддржани од алатките STM32CubeIDE, IAR Systems и Keil®.

Архитектура
Фирмверот за X-NUCLEO-ISO1A1 може да се подели на неколку различни функционални блокови, секој одговорен за различни аспекти од работењето на системот:

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

  • Конфигурација и контрола на плочата:
    • board_config.h file Содржи макроа за конфигурирање на плочката да работи во стандардни или алтернативни услови, или и во двете. Исто така, вклучува дефиниции за вредности за пред-скалер и GPIO порти и пинови.
    • Овој блок гарантира дека плочата е правилно поставена за посакуваните работни услови и дека сите потребни хардверски конфигурации се на место.
  • Случаи на употреба на апликацијата:
    • st_iso_app.h и st_iso_app.c files содржат случаи на употреба на апликации дизајнирани да тестираат различни функционалности на плочката.
    • Овие случаи на употреба вклучуваат пресликување на дигитален влез кон излез, тестови за откривање на грешки и генерирање на PWM сигнал.
    • ExampОбезбедени се конфигурации за истовремено работење на две плочи во различни режими, демонстрирајќи ја разновидноста и флексибилноста на фирмверот.
  • API функции:
    • iso1a1.h и iso1a1.c files обезбедуваат сеопфатен сет на API-ја за поддршка на различни функционалности.
    • Овие API-ја вклучуваат функции за дигитална контрола на влез/излез, откривање на грешки и ажурирања на статусот на плочата.
    • API-јата се дизајнирани да бидат едноставни и интуитивни, олеснувајќи им на корисниците да комуницираат со таблата и да ги извршуваат потребните операции.
  • Контрола на PWM сигналот:
    • pwm_api.h и pwm_api.c files содржат специфични API функции поврзани со генерирање на PWM сигнал.
    • Овие функции овозможуваат иницијализирање, конфигурирање, стартување и запирање на PWM сигналите за дигитални излезни канали.
    • Функционалноста PWM не е стандарден избор. Конфигурацијата на плочата е изменета за да се овозможат овие функции. Погледнете го Дел 3.5: API-ја за повеќе детали.
  • Пакет за поддршка на одборот:
    • Пакетот за поддршка на таблата вклучува files за контрола и следење на GPIO пиновите поврзани со IPS1025H-32 и читање на состојбата на GPIO пиновите поврзани со CLT03-2Q3.
    • ips1025h_32.h и ips1025h_32.c files обезбедуваат функции за поставување, бришење и откривање на грешки на GPIO пиновите поврзани со IPS1025H-32.
    • clt03_2q3.h и clt03_2q3.c files обезбедуваат функции за читање на состојбата на GPIO пиновите поврзани со CLT03-2Q3.

Демонстративниот фирмвер имплементира неколку едноставни случаи на употреба за да ги прикаже можностите на системот. Овие случаи на употреба и кориснички API-ја се извршуваат на координиран начин за да се обезбеди непречено работење и точни резултати. Архитектурата е дизајнирана да биде лесно проширлива, дозволувајќи им на корисниците да додаваат нови функционалности и случаи на употреба по потреба. Стандардна конфигурација е обезбедена за работа на една плоча со дигитални индустриски влезни влезови. Поставките за џамперот исто така треба да бидат во стандарден режим како што е опишано во Табела 2. Дигиталниот влез Дигитално пресликување на излез (DIDO) е стандардниот случај на употреба на фирмверот за апликацијата.

Структура на папката

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

Следниве папки се вклучени во софтверскиот пакет:

  • Документацијата содржи компајлиран HTML file генерирани од изворниот код, со детали за софтверските компоненти и API.
  • Возачите содржат:
    • папка STM32Cube HAL, која се наоѓа во подпапките STM32G0xx_HAL_Driver. Овие fileне се опишани овде бидејќи не се специфични за софтверот X-CUBE-ISO1, туку доаѓаат директно од рамката STM32Cube.
    • папка CMSIS која го содржи стандардот за софтверски интерфејс за микроконтролер Cortex® files од Арм. Овие files се слој за апстракција на хардвер независен од продавачот за серијата процесори Cortex®-M. Оваа папка исто така доаѓа непроменета од рамката STM32Cube.
    • папка BSP што ги содржи кодовите за компонентите IPS1025H-32 и CLT03-2Q3 и API-јата поврзани со X-NUCLEO-ISO1A1.
  • Апликацијата ја содржи папката на корисникот која го содржи main.c file, случајот на употреба на апликацијата file, st_iso_app.c и board_config.h file, обезбедено за платформата NUCLEO-G071RB.

BSP папка
Софтверот X-CUBE-ISO1 користи две различни компоненти files, кои се наоѓаат во BSP/Компоненти:

IPS1025
ips1025h_32.h и ips1025h_32.c files обезбедуваат сеопфатна имплементација на драјвер за GPIO пиновите поврзани со IPS1025H-32, вклучувајќи целосна функционалност за контрола на сите пинови и откривање на грешки. fileимплементираат функции за иницијализирање на уредот, поставување и бришење на статусот на каналот, откривање на состојби на грешка и управување со PWM функционалноста. Драјверот поддржува повеќе уреди и канали, со комплетни можности и за поединечен канал или како група.

CLT03
clt03_2q3.h и clt03_2q3.c fileИмплементира целосно опремен драјвер за GPIO пиновите поврзани со CLT03-2Q3, со целосни можности за читање на состојбите на сите пинови. Драјверот обезбедува функции за иницијализирање на уредот, читање на статусот на поединечниот канал и добивање информации за статусот на сите канали истовремено. Поддржува повеќе конфигурации на уреди и одржува внатрешна состојба за ефикасно управување со каналите.

Софтверските API-ја на X-CUBE-ISO1 се поделени во два главни изворни files, кои се наоѓаат во подфолдерот ISO1A1:

ISO1A1
ISO1A1 fileопфаќаат сеопфатен сет на API функции дизајнирани за конфигурација на плочата, интеракција на компонентите и управување со грешки. Овие функции ги олеснуваат операциите за читање и пишување, откривање на грешки и ажурирања и вклучуваат разни помошни алатки за поддршка на примарните API функции. Дополнително, files обезбедуваат функционалност за контрола на LED диоди, GPIO иницијализација, ракување со прекини и UART комуникација.

PWM API
PWM API обезбедува функции за иницијализирање, конфигурирање, стартување и запирање на PWM сигналите. Овозможува поставување на PWM фреквенцијата и работниот циклус за одредени пинови на тајмерот, обезбедувајќи прецизна контрола врз PWM операциите.

Папка за апликации
Папката со апликации ги содржи главните fileпотребни за фирмверот, вклучувајќи заглавија и извор fileс. Подолу е даден детален опис на files во оваа папка:

  • board_config.h: Макроа за конфигурација на плочката.
  • main.c: Главна програма (код на ексample што е базирано на библиотеката за ISO1A1).
  • st_iso_app.c: Функции на апликацијата за тестирање и конфигурација на плочата.
  • stm32g0xx_hal_msp.c: HAL иницијализациски рутини.
  • stm32g0xx_it.c: Ракувач на прекини.
  • syscalls.c: Имплементации на системски повици.
  • sysmem.c: Управување со системска меморија.
  • system_stm32g0xx.c: Иницијализација на системот.

Потребни ресурси за софтвер
Уредот Nucleo ја контролира и комуницира со плочката X-NUCLEO-ISO1A1 преку GPIO-ја. Ова бара употреба на неколку GPIO-ја за влез, излез и откривање на грешки на индустриските IO-уреди содржани во плочката X-NUCLEO-ISO1A1. Погледнете го упатството за употреба на хардверот UM3483 за повеќе детали и конфигурации на џамперите.

Конфигурација на плочата (board_config.h)
board_config.h file Ги дефинира ресурсите што се користат и конфигурациските макроа за конфигурирање на софтверот според конфигурацијата на плочата. Се справува со до две плочи (како што е редење на две плочи).
Конфигурацијата на софтверот DEFAULT е усогласена со експанзионата плоча X-NUCLEO-ISO1A1 со нејзините џемпери во стандардните позиции. За да го конфигурирате софтверот за X-NUCLEO-ISO1A1 во неговата стандардна поставка, отстранете го коментарот од макрото BOARD_ID_DEFAULT во board_config.h. file.

Конфигурацијата на софтверот ALTERNATE се поставува со отстранување на коментарот од макрото BOARD_ID_ALTERNATE во board_config.h file и менување на позициите на скокачите на таблата.
За да користите две плочи истовремено во конфигурација на стек, отстранете ги коментарите од макрото BOARD_ID_DEFAULT и BOARD_ID_ALTERNATE и осигурајте се дека џамперите на едната плоча се во стандардна положба, а другата во алтернативна положба. Забележете дека не се препорачува двете плочи да бидат во иста конфигурација (или обете во стандардна положба или обете во алтернативна положба) и може да резултира со непосакувано однесување.
Кога користите само една плоча, осигурајте се дека софтверот е конфигуриран само за една конфигурација и дека макрото што одговара на другата конфигурација е коментирано.

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

Пред-скалерите
Можеме да ги конфигурираме вредностите на пред-скалерот во board_config.h за да постигнеме различни фреквентни опсези за PWM излезот со поставување на соодветните макроа. За да користите пред-скаларна вредност, отстранете го коментарот од соодветното макро и коментирајте ги другите. Стандардно, се користи DEFAULT_PRESCALAR.

  • ПРЕСКАЛЕР_1
  • ПРЕСКАЛЕР_2
  • DEFAULT_PRESCALER

Вредностите на претскалерот се користат само кога се користат тајмери и не се потребни за ниедна основна I/O операција. Вредностите на претскаларните макроа и нивните соодветни фреквенциски опсези може да се видат во документацијата за кодот или во самиот код.

LED чукање на срцето
Можеме да ја конфигурираме зелената корисничка LED диода, D7, да трепка во ритам на чукање на срцето како тест за правилно поврзување со плочката NUCLEO-G071RB. Макрото, HEARTBEAT_LED кога не е коментирано, трепка зелената LED диода на X-NUCLEO-ISO1A1 кога е поврзано со NUCLEO. Останува вклучена 1 секунда и исклучена 2 секунди, а мерењето на времето го вршат тајмери. Кога не се користи или не се повикува која било функција што вклучува LED диоди, макрото треба да биде некоментирано.

Влез и излез GPIO конфигурација
Секоја X-NUCLEO-ISO1A1 плоча е опремена со два влезни порти и два излезни порти. Можностите на плочата можат да се прошират со поставување на две X-NUCLEO-ISO1A1 плочи една врз друга, со што се овозможува користење на четири дигитални влезни порти и четири дигитални излезни порти. Обезбедениот софтвер вклучува сеопфатни API-интерфејси кои го олеснуваат читањето, поставувањето и бришењето на портите. Дополнително, API-интерфејсите овозможуваат истовремено поставување, читање или бришење на сите порти. Детални информации за функциите на API се достапни во документацијата за кодот, како и во делот за API во овој документ.

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

Тука префиксот DI означува дигитален влезен порт, а DO означува дигитален излезен порт. За алтернативна конфигурација, софтверот ги користи истите конвенции за именување со додадена наставка _alt.
Следната табела ги детализира GPIO макроа дефинирани во софтверот што одговараат на различни IO порти:

Табела 2. GPIO-и доделени за стандардни и алтернативни софтверски конфигурации

Име Функција Стандардна конфигурација Алтернативна конфигурација
ВНЕСЕТЕ ПИН Влезен пин 1 GPIOC, IA0_IN_1_PIN GPIOD, IA0_IN_1_PIN
Влезен пин 2 GPIOD, IA1_IN_2_PIN GPIOC, IA1_IN_1_PIN
ИЗЛЕЗЕН ПИН Излезен пин 1 GPIOC, QA0_CNTRL_1_PIN GPIOD, QA0_CNTRL_1_PIN
Излезен пин 2 GPIOC, QA1_CNTRL_2_PIN GPIOC, QA1_CNTRL_2_PIN
ПИН за грешка Грешка во пинот 1 GPIOC, FLT1_QA0_2_OT_PIN GPIOD, FLT1_QA0_1_OT_PIN
Грешка во пинот 2 GPIOC, FLT2_QA0_2_OL_PIN GPIOD, FLT2_QA0_1_OL_PIN
Грешка во пинот 3 GPIOC, FLT1_QA1_2_OT_PIN GPIOC, FLT1_QA1_1_OT_PIN
Грешка во пинот 4 GPIOC, FLT2_QA1_1_OL_PIN GPIOD, FLT2_QA1_2_OL_PIN
МАКРО ЗА КОНФИГУРАЦИЈА BOARD_ID_DEFAULT BOARD_ID_ALTERNATE

Тајмери и PWM
Тајмерите може да се користат во фирмверот X-CUBE-ISO1 за генерирање PWM сигнали за специфични пинови. Стандардно, тајмерите не се иницијализираат освен TIM3. Соодветните тајмери треба да се иницијализираат пред генерирање на PWM сигналите, а соодветните излезни порти мора да се иницијализираат во PWM режим.
За нормални GPIO влезно/излезни операции, нема потреба да се конфигурира тајмер или излезен порт, бидејќи тоа се извршува по дифолт. Меѓутоа, ако излезните пинови се постават во PWM режим, треба да ги реконфигурираме во GPIO режим за да се користат како GPIO пинови.

Забелешка: Кога излезните пинови се користат за генерирање на PWM, GPIO излезот е оневозможен, обете функционалности не можат да се имплементираат истовремено. За повторно да се овозможи GPIO по употребата на PWM, може да се повика API функцијата ST_ISO_BoardConfigureDefault() или ST_ISO_InitGPIO() за да се конфигурираат сите порти како GPIO одеднаш или ST_ISO_Init_GPIO() со одреден GPIO порт и пин.

Како што споменавме погоре, софтверот исто така користи еден тајмер по дифолт, TIM3, кој се користи за имплементација на корисничко LED мерење на времето, часовник и UART мерење. По дифолт е конфигуриран за период од 1 секунда.
Следната табела ги детализира тајмерите достапни за секој пин во нашиот код:

Табела 3. Тајмери достапни за секој пин

Име на пин Софтверска репрезентација Тајмер Тајмер канал Алтернативна функција
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

Дополнителни алатки на фирмверот
Фирмверот вклучува дополнителни алатки за подобрување на функционалноста на евалуациската плочка X-NUCLEO-ISO1A1. Некои од нив се опишани подолу.

УАРТ
Функцијата за UART комуникација овозможува следење и дебагирање на статусот на плочата во реално време преку компјутерски алатки како што се TeraTerm, PuTTY и други слични апликации. Софтверот овозможува пренос на UART податоци преку UART присутен во плочата NUCLEO-G071RB. Функцијата `ST_ISO_UART` испраќа детални информации за статусот на плочата преку UART, вклучувајќи го времето на работа на системот, конфигурацијата на фирмверот и статусот на грешка. Овие податоци можат да бидат viewед со користење на која било апликација за сериски порт, како што е TeraTerm. Функцијата `ST_ISO_APP_DIDOandUART` ги комбинира дигиталните влезно/излезни операции со UART комуникација, пренесувајќи го статусот на сите влезни и излезни канали во одредени интервали. Подолу се прикажани поставките за конфигурација и какоampза тоа како податоците се појавуваат во TeraTerm. Името на портата може да варира во зависност од системот и серискиот порт што се користи.

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

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

Конфигурација на режим на IO пин
Алатката за конфигурација на режимот на IO пинови им овозможува на корисниците да ги постават влезните и излезните порти на плочата користејќи ја функцијата ST_ISO_BoardConfigure(). Оваа функција поддржува конфигурирање на два излезни порти (QA0, QA1) и два влезни порти (IA0, IA1) во режим на влез/излез, PWM излезен режим или режим на прекин на влез. Со прилагодување на параметрите и повикување на оваа функција, корисниците можат лесно да ја прилагодат конфигурацијата на IO на плочата за да ги задоволат специфичните потреби.

Во режим на влез/излез, алатката ги иницијализира GPIO пиновите за дигитални операции за општа намена. Во режим на PWM излез, ги поставува тајмерите за прецизна контрола на PWM сигналот. Кога е во режим на влезен прекин, алатката ги конфигурира пиновите за справување со прекини, овозможувајќи одзивно програмирање водено од настани.

Ракување со прекини
За ракување со сигналите FAULT, софтверот ги овозможува поврзаните линии за прекини, овозможувајќи одзивно програмирање управувано од настани. Прилагоден обработувач може да се поврзе со овие прекини преку
Функцијата HAL_GPIO_EXTI_Rising_Callback е дефинирана во API. Софтверот вклучува функции за иницијализирање на GPIO пиновите во режим на прекин преку функцијата ST_ISO_BoardConfigure и конфигурирање на специфични дејства во EXTI IRQ обработувачите. Ова им овозможува на корисниците да прилагодат како плочката реагира на надворешни настани, осигурувајќи дека може ефикасно да управува со различни состојби на грешки и активирања.

API-и
Софтверското API на X-CUBE-ISO1 обезбедува сеопфатен сет на функции за контрола и следење на плочката X-NUCLEO-ISO1A1, вклучувајќи генерирање на PWM сигнал и GPIO операции. API-то е дизајнирано да биде лесно за користење и да се интегрира во различни апликации, обезбедувајќи флексибилност и контрола врз функционалноста на плочката.

API-то на софтверот X-CUBE-ISO1 е дефинирано во папката BSP/ISO1A1. Неговите функции се со префикс ST_ISO. API-то е видливо за апликациите преку iso1a1.c и pwm_api.c. files е комбинација од константи, структури на податоци и функции.
SampАпликациите за фирмвер ги користат овие API-ја за да покажат некои од можните употреби на овие функции.

Софтверскиот пакет X-CUBE-ISO1 обезбедува два сета на API-ја:

  • ISO1A1 API
  • PWM API

ISO1A1 API
ISO1A1 API е дефиниран во iso1a1.h и iso1a1.c files. Обезбедува функции за конфигурирање и контрола на ISO1A1 плочата, вклучувајќи GPIO влезно/излезни операции и откривање на грешки.

Клучни функции

  • ST_ISO_BoardConfigureDefault: Ги конфигурира IO портите на плочката со стандардна GPIO конфигурација.
  • ST_ISO_BoardConfigure: Го конфигурира режимот на влезните и излезните порти за плочата.
  • ST_ISO_BoardInit: Го иницијализира хардверот на плочката.
  • ST_ISO_BoardMapInit: Ја иницијализира функционалноста на плочата врз основа на конфигурацијата на рачките на каналите.
  • ST_ISO_GetFWVersion: Ја враќа тековната верзија на фирмверот.
  • ST_ISO_GetChannelHandle: Ја презема рачката на каналот за наведеното име на канал.
  • ST_ISO_InitGPIO: Го иницијализира наведениот GPIO пин со дадениот ID на модулот.
  • ST_ISO_InitInterrupt: Го иницијализира наведениот GPIO пин како прекин со дадениот ID на модулот.
  • ST_ISO_EnableFaultInterrupt: Ги иницијализира пиновите на GPIO грешката во режим на прекин.
  • ST_ISO_SetChannelStatus: Го поставува статусот на наведениот канал.
  • ST_ISO_SetOne_DO: Поставува еден дигитален излезен канал.
  • ST_ISO_ClearOne_DO: Чисти еден дигитален излезен канал.
  • ST_ISO_WriteAllChannels: Запишува податоци на сите дигитални излезни канали.
  • ST_ISO_GetOne_DI: Го добива статусот на еден дигитален влезен канал.
  • ST_ISO_ReadAllChannel: Го чита статусот на сите влезни канали.
  • ST_ISO_ReadAllOutputChannel: Го чита статусот на сите излезни канали.
  • ST_ISO_ReadFaultStatus: Го чита статусот на грешката од сите порти за детекција на грешка.
  • ST_ISO_ReadFaultStatusPolling: Тестирање на детекцијата на грешки на плочите во режим на анкетирање.
  • ST_ISO_DisableOutputChannel: Го оневозможува излезот за тој канал.
  • ST_ISO_UpdateBoardStatusInfo: Ги ажурира информациите за статусот на плочата.
  • ST_ISO_UpdateFaultStatus: Го ажурира статусот на грешката за одреден канал.
  • ST_ISO_BlinkLed: Трепка наведената LED диода со дадено задоцнување и број на повторувања.
  • ST_ISO_UART: Ги испраќа информациите за статусот на плочата преку UART.
  • ST_ISO_SwitchInit: Ги иницијализира компонентите на прекинувачот.
  • ST_ISO_SwitchDeInit: Ја деиницијализира инстанцата на прекинувачот.
  • ST_ISO_DigitalInputInit: Ги иницијализира дигиталните влезни компоненти.
  • ST_ISO_DigitalInputDeInit: Ја деиницијализира инстанцата на дигиталниот влез.

PWM API
PWM API е дефинирано во pwm_api.h и pwm_api.c files. Ги обезбедува следните функции за иницијализирање и контрола на PWM сигналите за специфични пинови.

  • ST_ISO_Init_PWM_Signal: Ги иницијализира тајмерите и специфичниот пин за PWM сигналот.
  • ST_ISO_Set_PWM_Frequency: Ја поставува PWM фреквенцијата за специфичниот пин.
  • ST_ISO_Set_PWM_Duty_Cycle: Го поставува работниот циклус на PWM за специфичниот пин.
  • ST_ISO_Start_PWM_Signal: Го стартува PWM сигналот на специфичниот пин.
  • ST_ISO_Stop_PWM_Signal: Го запира PWM сигналот на специфичниот пин.

За да започнете PWM сигнал на соодветен канал, прво повикајте ја функцијата ST_ISO_Init_PWM_Signal, потоа поставете ја саканата фреквенција и работен циклус со повикување на ST_ISO_Set_PWM_Frequency и
функциите ST_ISO_Set_PWM_Duty_Cycle соодветно, а потоа можете да го стартувате PWM сигналот со повикување на функцијата ST_ISO_Start_PWM_Signal и да го запрете со повикување на ST_ISO_Stop_PWM_Signal.

Функцијата треба да се повика со соодветното име на пинот и достапните тајмери, чии детали се дадени во табела 3. Различните излезни канали можат да се постават со различни фреквенции и работни циклуси; промената на фреквенцијата или работниот циклус не влијае на едниот друг, останува ист.
Детални технички информации за API-ите достапни на корисникот може да се најдат во компајлиран HTML file се наоѓа во папката „Документација“ на софтверскиот пакет каде што се целосно опишани сите функции и параметри.

Опис на апликацијата
Демонстративната апликација имплементира неколку едноставни случаи на употреба. st_iso_app и board_config fileиграат клучна улога во поставувањето и користењето на плочата и нејзините апликативни функции. Пред да ги користите овие функции, проверете дали плочата и конфигурацијата на софтверот се синхронизирани една со друга.

Функции на апликацијата (st_iso_app.h и st_iso_app.c)
Функциите на апликацијата се со префикс ST_ISO_APP; тие се функции од највисоко ниво видливи за корисникот кој ги повикува API функциите за нивна имплементација. Функциите на апликацијата може да се повикаат во main.c file за нивното функционирање.

  • Избор на случај на употреба: Корисникот може да го отстрани коментарот од посакуваното макро на случај на употреба во st_iso_app.c. fileФункцијата ST_ISO_APP_SelectUseCaseMacro(), повикана во main.c, го иницијализира тој случај на употреба, а функцијата ST_ISO_APP_SelectedFunction() ја имплементира во main.c. Овој пристап овозможува лесна конфигурација на оперативниот режим со едноставно менување на дефинициите на макроата, осигурувајќи дека соодветната функционалност се извршува врз основа на избраниот случај на употреба. Стандардно, случајот на употреба DIDO е избран и корисникот не мора да прави никакви промени во кодот за да го имплементира.
  • Пресликување на дигитален влез во дигитален излез (ST_ISO_APP_UsecaseDIDO): Оваа функција го чита статусот на сите влезни канали и го запишува истиот статус на сите излезни канали. Корисна е за пресликување на дигитални влезови во дигитални излези.
  • Пресликување на дигитален влез кон дигитален излез со UART (ST_ISO_APP_DIDOandUART): Оваа функција ги пресликува дигиталните влезови кон дигитални излези, слично на функцијата ST_ISO_APP_UsecaseDIDO. Дополнително, го пренесува статусот на плочата преку UART интерфејсот на уредот Nucleo, дозволувајќи статусот да биде... viewед на сериски порт користејќи апликации како Tera Term.
  • Функција за тестирање (ST_ISO_APP_TestCase): Оваа функција извршува серија тестови и дејства врз основа на конфигурацијата на плочата. Ја проверува состојбата на грешката, го чита статусот на два дигитални влезни канали и извршува дејства врз основа на нивните вредности. Оваа функција помага во брзо оценување на перформансите и функционалноста на плочата и добивање визуелни повратни информации преку различни LED шеми. Обезбедете ја макрото HEARTBEAT_LED во board_config.h. file се коментира за да се почитуваат соодветните LED шеми.
  • Генерирање на PWM (ST_ISO_APP_PWM _OFFSET): Оваа функција го стартува PWM сигналот на двата излезни канали со фреквенција од 1 Hz и работен циклус од 50%. Го иницијализира PWM сигналот, ја поставува фреквенцијата и работен циклус и го стартува PWM сигналот за наведениот ID на плочата. PWM сигналот се генерира со поместување помеѓу двата канали и затоа тие не се во фаза.
  • Тест за откривање на дефекти (ST_ISO_APP_FaultTest): Оваа функција ја оценува детекцијата на дефекти со вклучување на вградените дијагностички пинови на паметниот излезен модул IPS1025, во режим на анкетирање или прекинување. Го конфигурира режимот за детекција на дефекти, го иницијализира детекцијата на дефекти и ја ажурира структурата на статусот на дефектот врз основа на избраниот режим. Оваа функција е клучна за обезбедување на сигурноста и безбедноста на плочата со ефикасно откривање и справување со дефектите. Кога е во режим на анкетирање, статусот на дефектот се ажурира секоја секунда со помош на тајмер и се рефлектира во структурата defaultBoardFaultStatus или alternateBoardFaultStatus. Кога е во режим на прекинување, статусот на дефектот се ажурира само кога ќе се појави дефектот и го активира софтверот да го исчисти соодветниот излезен порт.
  • Тест за варијација на PWM (ST_ISO_APP_PwmVariationTest): Оваа функција е дизајнирана да ја тестира варијацијата на PWM (Модулација на ширина на пулсот) сигналите на различни излезни канали врз основа на конфигурацијата на плочата. Ги иницијализира PWM сигналите и за стандардните и за алтернативните конфигурации на плочата, поставувајќи ја нивната фреквенција на 100 Hz и почетниот работен циклус на 0%. Потоа, функцијата го менува работниот циклус од 0% до 100% во зголемувања од 5% и назад од 100% до 0% во намалувања од 5%, со задоцнување од 2 секунди помеѓу секој чекор. Оваа контролирана варијација овозможува набљудување и евалуација на однесувањето на PWM сигналот на каналите QA_0 и QA_1 за стандардната плоча и QA_0_ALT и QA_1_ALT за алтернативната плоча.

Со следење на овие конфигурации и користење на обезбедените функции на апликацијата, можете ефикасно да ја поставите и користите плочката X-NUCLEO-ISO1A1 за различни демонстративни случаи на употреба.

Водич за поставување на системот

Опис на хардверот

STM32 Nucleo платформа
Развојните плочи STM32 Nucleo обезбедуваат достапен и флексибилен начин за корисниците да тестираат решенија и да градат прототипови со која било линија на микроконтролер STM32.
Поддршката за поврзување Arduino® и ST morpho конекторите го олеснуваат проширувањето на функционалноста на отворената платформа за развој STM32 Nucleo со широк спектар на специјализирани плочи за проширување по ваш избор.

Плочката STM32 Nucleo не бара посебни сонди бидејќи го интегрира ST-LINK/V2-1 дебагерот/програмерот.
Плочката STM32 Nucleo доаѓа со сеопфатната библиотека HAL софтвер STM32 заедно со различен спакуван софтвер на пр.ampлес.

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

Информации во врска со плочката STM32 Nucleo се достапни на www.st.com/stm32nucleo

X-NUCLEO-ISO1A1 проширувачка плоча
X-NUCLEO-ISO1A1 е евалуациска плочка со изолиран индустриски влез/излез дизајнирана да ја прошири STM32 Nucleo плочката и да обезбеди микро-PLC функционалност. Две од X-NUCLEO-ISO1A1 плочките можат да се наредат заедно врз STM32 Nucleo плочка со соодветен избор на џампери на експанзионата плочка за да се избегне конфликт во GPIO интерфејсите. UL1577 сертифицираните дигитални изолатори STISO620 и STISO621 обезбедуваат изолација помеѓу логичката и компонентите од страната на процесот. Два влеза со ограничена висока струја од страната на процесот се реализираат преку CLT03-2Q3. CLT03-2Q3 обезбедува заштита, изолација и индикација за статус без енергија за индустриски услови, дизајнирана да ги исполни стандардите како што се IEC61000-4-2, IEC61000-4-4 и IEC61000-4-5. По еден од прекинувачите на високата страна IPS1025H-32/HQ-32 обезбедува заштитен излез до 5.6 A со дијагностика и функции за паметно управување. Овие можат да управуваат со капацитивни, отпорни или индуктивни оптоварувања. X-NUCLEO-ISO1A1 овозможува брза евалуација на вградените интегрирани кола користејќи го софтверскиот пакет X-CUBE-ISO1.

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

Хардверско поставување
Потребни се следните хардверски компоненти:

  1. Една платформа за развој STM32 Nucleo (препорачан код за нарачка: NUCLEO-GO71RB)
  2. Една индустриски дигитална излезна плочка за проширување (код за нарачка: X-NUCLEO-ISO1A1)
  3. Еден USB тип A до микро USB кабел за поврзување на STM32 Nucleo со компјутерот
  4. Надворешно напојување (24 V) и придружни жици за напојување на проширувачката плоча X-NUCLEO-ISO1A1.

Поставување софтвер
Следните софтверски компоненти се потребни за поставување соодветна развојна околина за креирање апликации за STM32 Nucleo опремена со X-NUCLEO-ISO1A1 експанзиона плоча:

  • X-CUBE-ISO1: проширување за STM32Cube наменето за развој на апликации што бара употреба на X-NUCLEO-ISO1A1 плочата. Фирмверот X-CUBE-ISO1 и поврзаната документација се достапни на www.st.com
  • Развој на алатки и компајлер: софтверот за проширување STM32Cube ги поддржува следните три средини:
    • Вградена работна маса IAR за синџир со алатки ARM® (IAR-EWARM)
    • РеалноView Комплет за развој на микроконтролери (MDK-ARM-STM32) алатник
    • STM32CubeIDE.

Поставување табла
Плочката мора да биде конфигурирана со соодветни поставки за џамперите како што е наведено во упатството за употреба на хардверот (UM3483). Внимателното следење на овие упатства е од суштинско значење за да се обезбеди правилна функционалност и да се избегнат потенцијални проблеми.

Водич за поставување на системот
Овој дел опишува како да се постават различни хардверски делови пред да се развие и изврши апликација на плочата STM32 Nucleo, NUCLEO-G071RB со плочата за проширување X-NUCLEO-ISO1A1.

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

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

Поставување за пакетот за проширување X-CUBE-ISO1
X-NUCLEO-ISO1A1 мора да биде конфигуриран со специфичните позиции на џамперите врз основа на тоа која конфигурација ја користите на плочката. Деталите за тоа можеме подетално да ги разгледаме во упатството за хардвер.

  • Чекор 1. Приклучете ја проширувачката плочка X-NUCLEO-ISO1A1 на врвот од STM32 Nucleo преку морфоконектори.
    Ако користите две штици една врз друга, наредете ги наредени како на Слика 11.
  • Чекор 2. Поврзете ја STM32 Nucleo плочката со компјутер со USB кабел преку USB конекторот CN1 за да ја напојувате плочката.
  • Чекор 3. Вклучете ја/ги проширувачката/ите плоча/плочки X-NUCLEO-ISO1A1 со поврзување на J1 со напојување од 24V DC. Доколку користите наредени плочи, осигурајте се дека обете плочи се напојувани.
  • Чекор 4. Отворете го вашиот претпочитан ланец со алатки (MDK-ARM од Keil, EWARM од IAR или STM32CubeIDE).
  • Чекор 5. Отворете го софтверскиот проект и направете ги потребните промени во board_config.h file според конфигурацијата на плочата/плочките што се користат.
  • Чекор 6. Поставете го соодветното макро за случај на употреба во st_iso_app.c file или повикајте го потребниот случај на употреба користејќи ја функцијата ST_ISO_APP_SelectUseCase во main.c file заедно со која било друга посакувана функција.
  • Чекор 7. Изградете го проектот за да ги компајлирате сите files и вчитајте го компајлираниот код во меморијата на STM32 Nucleo плочата.
  • Чекор 8. Извршете го кодот на STM32 Nucleo плочката и потврдете го очекуваното однесување.

Историја на ревизии
Табела 4. Историја на ревизија на документ

Датум Ревизија Промени
14-мај-2025 1 Почетно ослободување.

ВАЖНО НАПОМЕНА – ПРОЧИТАЈТЕ ВНИМАТЕЛНО

STMicroelectronics NV и нејзините подружници („ST“) го задржуваат правото да прават промени, корекции, подобрувања, модификации и подобрувања на производите на ST и/или на овој документ во секое време без најава. Купувачите треба да ги добијат најновите релевантни информации за производите на ST пред да направат нарачки. Производите на ST се продаваат во согласност со одредбите и условите за продажба на ST кои се на сила во моментот на потврдата на нарачката.

Набавувачите се единствено одговорни за изборот, изборот и употребата на производите на ST и ST не презема никаква одговорност за помош при апликација или дизајнирање на производите на купувачите.
Ниту една лиценца, експлицитна или имплицитна, за кое било право на интелектуална сопственост не е дадена од страна на ST овде.
Препродажбата на производите на ST со одредби различни од информациите наведени овде ќе ја поништи секоја гаранција дадена од ST за таков производ.

ST и логото ST се заштитни знаци на ST. За дополнителни информации за ST заштитните знаци, погледнете на www.st.com/trademarks. Сите други имиња на производи или услуги се сопственост на нивните соодветни сопственици.
Информациите во овој документ ги заменуваат и заменуваат информациите претходно доставени во која било претходна верзија на овој документ.
© 2025 STMicroelectronics – Сите права се задржани

Документи / ресурси

STMicroelectronics UM3469 X-CUBE-ISO1 Проширување на софтверот [pdf] Упатство за користење
X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 Проширување на софтвер, UM3469, X-CUBE-ISO1 Проширување на софтвер, Проширување на софтвер

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *