ST-логотипі

STMicroelectronics UM3469 X-CUBE-ISO1 бағдарламалық құралын кеңейту

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту

Кіріспе

STM1Cube үшін X-CUBE-ISO32 кеңейту бағдарламалық пакеті STM32 жүйесінде жұмыс істейді және X-NUCLEO-ISO1A1 микробағдарламасын қамтиды. Бағдарламалық құрал X-NUCLEO қамтамасыз ететін негізгі PLC құрылғысын әзірлеуге арналған оңай шешімді ұсынады. Кеңейту әртүрлі STM32 микроконтроллерлері арқылы тасымалдануды жеңілдету үшін STM32Cube бағдарламалық жасақтама технологиясына негізделген.

Бағдарламалық жасақтама NUCLEO-G1RB әзірлеу тақтасына (немесе NUCLEO-G1B071RE немесе NUCLEO-G0RB) қосылған X-NUCLEO-ISO1A070 кеңейту тақтасында іске қосумен бірге жеткізіледі. Бұдан былай құжатта қарапайымдылық үшін тек NUCLEO-G071RB аталатын болады.
X-NUCLEO-ISO1A1 тақтасы енгізу және шығару мүмкіндіктерін кеңейту үшін сәйкес секіргіш параметрлері бар екі тақтаның қабаттасуына қолдау көрсетуге арналған.

Қысқартулар мен аббревиатуралар

Кесте 1. Акронимдердің тізімі

Акроним Сипаттама
PLC Бағдарламаланатын логикалық контроллер
API Қолданбалы бағдарламалау интерфейсі
PWM Импульстік ені модуляциясы
GPIO Жалпы мақсаттағы енгізу/шығару.
ХАЛ Аппараттық абстракция қабаты
PC Дербес компьютер
FW Микробағдарлама

STM32Cube дегеніміз не?

STM32Cube™ әзірлеу күш-жігерін, уақытын және құнын азайту арқылы әзірлеушілердің өмірін жеңілдету үшін STMicroelectronics бастамасын білдіреді. STM32Cube STM32 портфолиосын қамтиды.
STM32Cube 1.x нұсқасы мыналарды қамтиды:

  • STM32CubeMX, графикалық шеберлерді пайдаланып C баптандыру кодын жасауға мүмкіндік беретін графикалық бағдарламалық құрал конфигурациялау құралы.
  • Әрбір серияға тән (мысалы, STM32G0 сериясы үшін STM32CubeG0) толық енгізілген бағдарламалық платформа, ол мыналарды қамтиды:
    • STM32Cube HAL ендірілген абстракциялық деңгей бағдарламалық жасақтамасы, STM32 портфолиосының максималды тасымалдануын қамтамасыз етеді
    • RTOS, USB, TCP/IP және графика сияқты аралық бағдарламалық құрал құрамдастарының дәйекті жиынтығы
    • бұрынғы толық жиынтығы бар барлық енгізілген бағдарламалық құрал утилиталарыamples.

STM32Cube архитектурасы
STM32Cube микробағдарламалық құралының шешімі төмендегі диаграммада сипатталғандай бір-бірімен оңай әрекеттесе алатын үш тәуелсіз деңгейдің айналасында құрастырылған.

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту-1

STM1Cube үшін X-CUBE-ISO32 бағдарламалық құралын кеңейту

Біттіview
X-NUCLEO-ISO1A1, өнеркәсіптік оқшауланған кіріс/шығыс кеңейту тақтасына арналған микробағдарлама STM32 орталары мен кітапханаларының айналасында әзірленді, цифрлық кірістерді, біріктірілген диагностикасы бар шығыстарды, динамикалық ток шегімен және PWM сигналының генерациясын басқару үшін STM32 Nucleo тақталарының жоғары өнімді MCU пайдаланады. Ол әдепкі және балама шарттарға арналған жақтауларды, алдын ала масштабтау мәндерін орнатуға арналған макростарды және GPIO порттары мен түйреуіштерге арналған анықтамаларды қоса алғанда, жан-жақты тақта конфигурациясы мен басқару мүмкіндігін береді.

Ол әртүрлі мүмкіндіктерді қолдайдыampшығыс айнасына сандық енгізу, Nucleo тақтасы арқылы UART байланысы, ақауларды анықтау, сынақ жағдайлары және тікелей қолдануға болатын және оңай теңшеуге және кеңейтуге болатын PWM генерациясы сияқты қолданбаны пайдалану жағдайлары.

API сандық кіріс/шығыс басқаруына, ақауларды анықтауға және тақта күйін жаңартуға арналған сенімді функциялар жинағын қамтамасыз етеді, әртүрлі режимдерде екі тақтаны бір уақытта іске қосу үшін конфигурация параметрлері бар. Арнайы API функциялары сандық шығыс арналары үшін PWM сигналдарын инициализациялау, іске қосу, тоқтату және конфигурациялау үшін қол жетімді.

Тақтаны қолдау пакеті IPS1025H-32 интерфейсімен GPIO түйреуіштерін басқару және бақылау және сандық изолятор арқылы CLT03-2Q3 интерфейсімен қосылған GPIO түйреуіштерінің күйін оқу функцияларын қамтиды.
Конфигурациялау және баптандыру STM32CubeMX негізінде жасалған, әзірлеу және жөндеу STM32CubeIDE, IAR жүйелері және Keil® құралдарымен қолдау көрсетеді.

Архитектура
X-NUCLEO-ISO1A1 микробағдарламасын әрқайсысы жүйе жұмысының әртүрлі аспектілеріне жауап беретін бірнеше функционалды блоктарға бөлуге болады:

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту-2

  • Тақта конфигурациясы және басқару:
    • board_config.h file тақтаны әдепкі немесе балама жағдайларда немесе екеуінде де іске қосу үшін конфигурациялауға арналған макростарды қамтиды. Ол сондай-ақ алдын ала масштабтау мәндері мен GPIO порттары мен түйреуіштерге арналған анықтамаларды қамтиды.
    • Бұл блок тақтаның қажетті жұмыс жағдайлары үшін дұрыс орнатылғанын және барлық қажетті аппараттық конфигурациялардың орнында болуын қамтамасыз етеді.
  • Қолданбаны пайдалану жағдайлары:
    • st_iso_app.h және st_iso_app.c files тақтаның әртүрлі функцияларын тексеруге арналған қолданбаларды пайдалану жағдайларын қамтиды.
    • Бұл пайдалану жағдайлары шығыс шағылыстыруға сандық енгізуді, ақауларды анықтау сынақтарын және PWM сигналын генерациялауды қамтиды.
    • Example конфигурациялары микробағдарламаның әмбебаптығы мен икемділігін көрсететін екі тақтаны бір уақытта әртүрлі режимдерде іске қосу үшін берілген.
  • API функциялары:
    • iso1a1.h және iso1a1.c files әртүрлі функцияларды қолдау үшін API интерфейстерінің толық жинағын қамтамасыз етеді.
    • Бұл API интерфейстері сандық кіріс/шығысты басқару, ақауларды анықтау және тақта күйін жаңарту функцияларын қамтиды.
    • API интерфейстері қарапайым және интуитивті етіп жасалған, бұл пайдаланушыларға тақтамен өзара әрекеттесуді және қажетті әрекеттерді орындауды жеңілдетеді.
  • PWM сигналын басқару:
    • pwm_api.h және pwm_api.c files PWM сигналын генерациялауға қатысты арнайы API функцияларын қамтиды.
    • Бұл функциялар сандық шығыс арналары үшін PWM сигналдарын инициализациялауға, конфигурациялауға, іске қосуға және тоқтатуға мүмкіндік береді.
    • PWM функциясы әдепкі таңдау емес. Оларды қосу үшін тақта конфигурациясы өзгертілді. Қосымша мәліметтер алу үшін 3.5: API бөлімдерін қараңыз.
  • Басқарманы қолдау пакеті:
    • Тақтаны қолдау пакетіне кіреді files IPS1025H-32 интерфейсімен қосылған GPIO түйреуіштерін басқаруға және бақылауға және CLT03-2Q3 интерфейсімен қосылған GPIO істікшелерінің күйін оқуға арналған.
    • ips1025h_32.h және ips1025h_32.c files IPS1025H-32 интерфейсімен GPIO түйреуіштеріндегі ақауларды орнату, жою және анықтау функцияларын қамтамасыз етеді.
    • clt03_2q3.h және clt03_2q3.c files CLT03-2Q3 интерфейсімен GPIO түйреуіштерінің күйін оқу функцияларын қамтамасыз етеді.

Демонстрациялық микробағдарлама жүйенің мүмкіндіктерін көрсету үшін бірнеше қарапайым пайдалану жағдайларын жүзеге асырады. Бұл пайдалану жағдайлары мен пайдаланушы API интерфейстері біркелкі жұмыс пен дәл нәтижелерді қамтамасыз ету үшін үйлестірілген түрде орындалады. Архитектура пайдаланушыларға жаңа функцияларды қосуға және қажет болған жағдайда жағдайларды пайдалануға мүмкіндік беретін оңай кеңейтілетін етіп жасалған. Әдепкі конфигурация сандық өнеркәсіптік IO бар бір тақтаны іске қосу үшін берілген. Секіргіш параметрі 2-кестеде сипатталғандай әдепкі режимде болуы үшін де қажет. Сандық кірісті Сандық шығыс көшірмелері (DIDO ) - микробағдарламаның әдепкі қолданбасы.

Қалта құрылымы

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту-3

Келесі қалталар бағдарламалық құрал пакетіне кіреді:

  • Құжаттамада құрастырылған HTML бар file бағдарламалық құрал құрамдастары мен API интерфейстерін егжей-тегжейлі көрсете отырып, бастапқы кодтан жасалған.
  • Драйверлердің құрамында:
    • STM32G32xx_HAL_Driver ішкі қалталарында орналасқан STM0Cube HAL қалтасы. Бұл files мұнда сипатталмаған, себебі олар X-CUBE-ISO1 бағдарламалық құралына тән емес, бірақ тікелей STM32Cube жақтауынан келеді.
    • Cortex® микроконтроллерінің бағдарламалық интерфейс стандартын қамтитын CMSIS қалтасы fileАрмнан. Мыналар files - Cortex®-M процессорлар сериясы үшін жеткізушіден тәуелсіз аппараттық абстракциялық қабат. Бұл қалта да STM32Cube жақтауынан өзгеріссіз келеді.
    • IPS1025H-32 және CLT03-2Q3 және X-NUCLEO-ISO1A1 қатысты API кодтары бар BSP қалтасы.
  • Қолданбада main.c бар пайдаланушы қалтасы бар file, қолданбаны пайдалану жағдайы file, st_iso_app.c және board_config.h file, NUCLEO-G071RB платформасы үшін қарастырылған.

BSP қалтасы
X-CUBE-ISO1 бағдарламалық құралы екі түрлі компонентті пайдаланады files, олар BSP/Components ішінде:

IPS1025
ips1025h_32.h және ips1025h_32.c files IPS1025H-32 интерфейсімен GPIO түйреуіштері үшін жан-жақты драйверді енгізуді қамтамасыз етеді, оның ішінде барлық түйреуіштерді басқаруға және ақауларды анықтауға арналған толық функционалдылық бар. Бұл fileқұрылғыны инициализациялау, арна күйін орнату және тазалау, ақаулық жағдайларын анықтау және PWM функционалдығын басқару функцияларын жүзеге асырады. Драйвер жеке арна үшін де, топ ретінде де толық мүмкіндіктері бар бірнеше құрылғылар мен арналарды қолдайды.

CLT03
clt03_2q3.h және clt03_2q3.c files CLT03-2Q3 интерфейсімен GPIO түйреуіштері үшін толық функционалды драйверді іске асырады, барлық түйреуіш күйлерін оқу үшін толық мүмкіндіктері бар. Драйвер бір уақытта құрылғыны инициализациялау, жеке арна күйін оқу және барлық арналар үшін күй ақпаратын алу функцияларын қамтамасыз етеді. Ол бірнеше құрылғы конфигурациясын қолдайды және тиімді арналарды басқару үшін ішкі күйді сақтайды.

X-CUBE-ISO1 бағдарламалық құралының API интерфейстері екі негізгі көзге бөлінеді files, олар ISO1A1 ішкі қалтасының ішінде:

ISO1A1
ISO1A1 files тақта конфигурациясына, құрамдастардың өзара әрекеттестігіне және ақауларды басқаруға арналған API функцияларының толық жиынтығын қамтиды. Бұл функциялар оқу және жазу әрекеттерін, ақауларды анықтауды және жаңартуларды жеңілдетеді және негізгі API функцияларын қолдау үшін әртүрлі көмекші утилиталарды қамтиды. Оған қоса, fileс диодты басқару, GPIO баптандыру, үзулерді өңдеу және UART байланысы үшін функционалдылықты қамтамасыз етеді.

PWM API
PWM API PWM сигналдарын инициализациялау, конфигурациялау, іске қосу және тоқтату функцияларын қамтамасыз етеді. Ол PWM жиілігін және белгіленген таймер түйреуіштері үшін жұмыс циклін орнатуға мүмкіндік береді, PWM операцияларын дәл бақылауды қамтамасыз етеді.

Қолданба қалтасы
Қолданба қалтасында негізгі бар fileмикробағдарламаға, соның ішінде тақырыптар мен дереккөзге қажет fileс. Төменде егжей-тегжейлі сипаттама берілген files осы қалтада:

  • board_config.h: тақтаға арналған конфигурация макростары.
  • main.c: Негізгі бағдарлама (бұрынғы бағдарламаның кодыampISO1A1 кітапханасына негізделген).
  • st_iso_app.c: Тақтаны сынауға және конфигурациялауға арналған қолданба функциялары.
  • stm32g0xx_hal_msp.c: HAL баптандыру процедуралары.
  • stm32g0xx_it.c: үзу өңдеушісі.
  • syscalls.c: Жүйелік қоңырауларды іске асыру.
  • sysmem.c: Жүйе жадын басқару.
  • system_stm32g0xx.c: Жүйені баптандыру.

Бағдарламалық қамтамасыз ету қажет ресурстар
Nucleo құрылғысы GPIO арқылы X-NUCLEO-ISO1A1 тақтасын басқарады және онымен байланысады. Бұл X-NUCLEO-ISO1A1 тақтасындағы өнеркәсіптік IO құрылғыларын енгізу, шығару және ақауларды анықтау үшін бірнеше GPIO пайдалануды талап етеді. Қосымша мәліметтер мен секіргіш конфигурациялары үшін UM3483 Жабдық пайдаланушы нұсқаулығын қараңыз.

Тақта конфигурациясы (board_config.h)
board_config.h file бағдарламалық құралды тақта конфигурациясына сәйкес конфигурациялау үшін пайдаланылатын ресурстарды және конфигурациялық макростарды анықтайды. Ол екі тақтаға дейін өңдейді (мысалы, екі тақтаны қабаттастыру).
Бағдарламалық құралдың Әдепкі конфигурациясы X-NUCLEO-ISO1A1 кеңейту тақтасымен оның секіргіштері әдепкі позицияларда тураланған. X-NUCLEO-ISO1A1 үшін бағдарламалық құралды әдепкі параметрінде конфигурациялау үшін board_config.h ішіндегі BOARD_ID_DEFAULT макросына түсініктемені алып тастаңыз. file.

Бағдарламалық құралдың ALTERNATE конфигурациясы board_config.h ішіндегі BOARD_ID_ALTERNATE макросына түсініктеме беру арқылы орнатылады. file және тақтадағы секіргіш орындарын өзгерту.
Екі тақтаны бір уақытта жинақтау конфигурациясында пайдалану үшін BOARD_ID_DEFAULT және BOARD_ID_ALTERNATE макростарының екеуінен де түсініктеме алып, бір тақтаның секіргіштерінің әдепкі күйде, ал екіншісінің балама күйде екеніне көз жеткізіңіз. Екі тақтаның бірдей конфигурацияда болуы (екеуі де әдепкіде немесе екеуі де балама) ұсынылмайтынын және қалаусыз әрекетке әкелуі мүмкін екенін ескеріңіз.
Тек бір тақтаны іске қосқан кезде, бағдарламалық құрал тек бір конфигурацияға теңшелгеніне және басқа конфигурацияға сәйкес макросқа түсініктеме берілгеніне көз жеткізіңіз.

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту-4

Алдын ала таратқыштар
Сәйкес макростарды орнату арқылы PWM шығысы үшін әртүрлі жиілік диапазондарына қол жеткізу үшін board_config.h ішіндегі алдын ала масштабтау мәндерін теңшей аламыз. Алдын ала скаляр мәнді пайдалану үшін сәйкес макросқа түсініктеме беріңіз және басқаларға түсініктеме беріңіз. Әдепкі бойынша DEFAULT_PRESCALAR пайдаланылады.

  • PRESCALER_1
  • PRESCALER_2
  • DEFAULT_PRESCALER

Алдын ала масштабтау мәндері таймерлер пайдаланылған кезде ғана пайдаланылады және кез келген негізгі енгізу/шығару әрекеті үшін қажет емес. Алдын ала скаляр макростардың мәндерін және олардың сәйкес жиілік диапазондарын кодтық құжаттамада немесе кодтың өзінде қарауға болады.

Жүрек соғуының жарық диоды
Біз NUCLEO-G7RB тақтасына дұрыс қосылу сынағы ретінде пайдаланушының жасыл жарық диоды, D071 жүрек соғуымен жыпылықтайтын етіп конфигурациялай аламыз. Макрос, түсініктеме берілмеген кезде, HEARTBEAT_LED, NUCLEO-ға қосылған кезде, X-NUCLEO-ISO1A1 жүйесіндегі жасыл ЖШД жыпылықтайды. Ол 1 секунд қосулы және 2 секунд өшірулі күйінде қалады, уақытты таймерлер реттейді. Ол пайдаланылмаған кезде немесе жарық диодтары бар кез келген функция шақырылса, макросқа түсініктеме бермеу керек.

GPIO енгізу және шығару конфигурациясы
Әрбір X-NUCLEO-ISO1A1 тақтасы екі кіріс және екі шығыс порттарымен жабдықталған. Тақтаның мүмкіндіктерін екі X-NUCLEO-ISO1A1 тақтасын бір-бірінің үстіне қою арқылы кеңейтуге болады, осылайша төрт сандық кіріс және төрт сандық шығыс порттарын пайдалануға мүмкіндік береді. Берілген бағдарламалық құрал порттарды оқуды, орнатуды және тазалауды жеңілдететін жан-жақты API интерфейстерін қамтиды. Сонымен қатар, API интерфейстері барлық порттарды бір уақытта орнатуға, оқуға немесе тазалауға мүмкіндік береді. API функциялары туралы толық ақпарат код құжаттамасында, сондай-ақ осы құжаттың API бөлімінде қолжетімді.

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту-5

Мұнда DI префиксі сандық кіріс портын, ал DO цифрлық шығыс портын көрсетеді. Балама конфигурация үшін бағдарламалық құрал _alt жұрнағы қосылған бірдей атау конвенцияларын пайдаланады.
Келесі кестеде әртүрлі IO порттарына сәйкес бағдарламалық құралда анықталған GPIO макростары егжей-тегжейлі берілген:

Кесте 2. Әдепкі және балама бағдарламалық құрал конфигурациялары үшін бөлінген GPIO

Аты Функция Әдепкі конфигурация Балама конфигурация
PIN кодын енгізу Кіріс пин 1 GPIOC, IA0_IN_1_PIN GPIOD, IA0_IN_1_PIN
Кіріс пин 2 GPIOD, IA1_IN_2_PIN GPIOC, IA1_IN_1_PIN
ШЫҒУ PIN 1-шығыс пин GPIOC, QA0_CNTRL_1_PIN GPIOD, QA0_CNTRL_1_PIN
2-шығыс пин GPIOC, QA1_CNTRL_2_PIN GPIOC, QA1_CNTRL_2_PIN
ҚАТЕЛІК 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 шығысы өшіріледі, екі функцияны бір уақытта орындау мүмкін емес. PWM пайдаланғаннан кейін GPIO-ны қайта қосу үшін API функциясын ST_ISO_BoardConfigureDefault() немесе ST_ISO_InitGPIO() деп атауға болады, ол барлық порттарды бірден GPIO немесе ST_ISO_Init_GPIO() ретінде белгілі бір GPIO порты мен түйреуішпен конфигурациялауға болады.

Жоғарыда айтылғандай, бағдарламалық құрал әдепкі бойынша бір таймерді пайдаланады, TIM3, ол пайдаланушының жарық диодты уақытын, сағатты және UART уақытын жүзеге асыру үшін пайдаланылады. Ол әдепкі бойынша 1 секундтық кезеңге конфигурацияланады.
Келесі кесте кодымыздағы әрбір түйреуіш үшін қол жетімді таймерлерді көрсетеді:

Кесте 3. Әрбір түйреуіш үшін қол жетімді таймерлер

PIN атауы Бағдарламалық қамтамасыз етуді ұсыну Таймер Таймер арнасы Баламалы функция
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
UART байланыс мүмкіндігі TeraTerm, PuTTY және басқа ұқсас қолданбалар сияқты ДК утилиталары арқылы нақты уақыт режимінде тақта күйін бақылауға және жөндеуге мүмкіндік береді. Бағдарлама UART деректерін NUCLEO-G071RB тақтасында бар UART арқылы жіберуге мүмкіндік береді. `ST_ISO_UART` функциясы жүйенің жұмыс уақыты, микробағдарлама конфигурациясы және ақаулық күйін қоса, UART арқылы толық тақта күйі туралы ақпаратты жібереді. Бұл деректер болуы мүмкін viewTeraTerm сияқты кез келген сериялық порт қолданбасы арқылы. `ST_ISO_APP_DIDOandUART` функциясы сандық енгізу/шығару операцияларын UART байланысымен біріктіріп, барлық кіріс және шығыс арналарының күйін белгіленген аралықтарда жібереді. Төменде конфигурация параметрлері және сияқтыampДеректер TeraTerm ішінде қалай көрінетіні туралы. Порт атауы пайдаланылатын жүйеге және сериялық портқа байланысты өзгеруі мүмкін.

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту-6

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту-7

IO пин режимінің конфигурациясы
IO pin режимін конфигурациялау утилитасы пайдаланушыларға ST_ISO_BoardConfigure() функциясын пайдаланып тақтаның кіріс және шығыс порттарын орнатуға мүмкіндік береді. Бұл функция екі шығыс портын (QA0, QA1) және екі кіріс портын (IA0, IA1) кіріс/шығыс режиміне, PWM шығыс режиміне немесе кірісті үзу режиміне теңшеуді қолдайды. Параметрлерді реттеу және осы функцияны шақыру арқылы пайдаланушылар нақты қажеттіліктерді қанағаттандыру үшін тақтаның IO конфигурациясын оңай теңшей алады.

Кіріс/шығыс режимінде қызметтік бағдарлама жалпы мақсаттағы сандық операциялар үшін GPIO түйреуіштерін инициализациялайды. PWM шығыс режимінде ол PWM сигналын дәл басқару үшін таймерлерді орнатады. Үзіліс енгізу режимінде болғанда, қызметтік бағдарлама жауап беретін оқиғаға негізделген бағдарламалауға мүмкіндік беретін үзілістерді өңдеу үшін түйреуіштерді конфигурациялайды.

Үзіліс өңдеу
ҚАТЕ сигналдарын өңдеу үшін бағдарламалық құрал оқиғаға негізделген жауап беретін бағдарламалауға мүмкіндік беретін байланысты үзу сызықтарын қосады. Теңшелетін өңдеуші осы үзулер арқылы байланыстырылуы мүмкін
HAL_GPIO_EXTI_Rising_Callback функциясы API ішінде анықталған. Бағдарламалық құрал ST_ISO_BoardConfigure функциясы арқылы үзіліс режимінде GPIO түйреуіштерін инициализациялауға және EXTI IRQ өңдегіштеріндегі арнайы әрекеттерді конфигурациялауға арналған мүмкіндіктерді қамтиды. Бұл пайдаланушыларға тақтаның сыртқы оқиғаларға қалай жауап беретінін теңшеуге мүмкіндік береді, оның әртүрлі ақаулық жағдайлары мен триггерлерін тиімді басқара алатынын қамтамасыз етеді.

API интерфейстері
X-CUBE-ISO1 бағдарламалық құралының API интерфейсі PWM сигналын генерациялау мен GPIO операцияларын қоса, X-NUCLEO-ISO1A1 тақтасын басқару және бақылау үшін функциялардың толық жинағын қамтамасыз етеді. API пайдалану оңай және әртүрлі қолданбаларға біріктіріліп, икемділік пен тақтаның функционалдығын бақылауға арналған.

X-CUBE-ISO1 бағдарламалық құралының API интерфейсі BSP/ISO1A1 қалтасында анықталған. Оның функциялары ST_ISO префиксімен қойылған. ISO1a1.c және pwm_api.c арқылы қолданбаларға көрінетін API files – тұрақты мәндердің, деректер құрылымдарының және функциялардың тіркесімі.
Sampмикробағдарлама қолданбалары осы функциялардың кейбір мүмкін пайдалануларын көрсету үшін осы API интерфейстерін пайдаланады.

X-CUBE-ISO1 бағдарламалық пакеті API интерфейстерінің екі жинағын қамтамасыз етеді:

  • ISO1A1 API
  • PWM API

ISO1A1 API
ISO1A1 API iso1a1.h және iso1a1.c ішінде анықталған fileс. Ол 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 істікшесін инициализациялайды.
  • ST_ISO_InitInterrupt: Берілген модуль идентификаторымен үзіліс ретінде көрсетілген GPIO істікшесін инициализациялайды.
  • 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: Көрсетілген жарық диодты берілген кідіріс пен қайталау санымен жыпылықтайды.
  • 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 ішінде анықталған fileс. Ол белгілі бір түйреуіштер үшін 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 функциялары сәйкес келеді, содан кейін ST_ISO_Start_PWM_Signal функциясын шақыру арқылы PWM сигналын бастауға және 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. main.c ішінде шақырылған ST_ISO_APP_SelectUseCaseMacro() функциясы сол пайдалану жағдайын инициализациялайды және ST_ISO_APP_SelectedFunction() функциясы оны main.c ішінде жүзеге асырады. Бұл тәсіл макрос анықтамаларын жай ғана өзгерту арқылы операциялық режимді оңай конфигурациялауға мүмкіндік береді, таңдалған пайдалану жағдайына сәйкес сәйкес функцияның орындалуын қамтамасыз етеді. Әдепкі бойынша DIDO пайдалану жағдайы таңдалады және пайдаланушы оны іске асыру үшін кодқа қандай да бір өзгертулер енгізудің қажеті жоқ.
  • Сандық кірісті сандық шығыс айнасына айналдыру (ST_ISO_APP_UsecaseDIDO): Бұл функция барлық кіріс арналарының күйін оқиды және барлық шығыс арналарына бірдей күйді жазады. Ол сандық кірістерді сандық шығыстарға көшіру үшін пайдалы.
  • UART көмегімен сандық кірісті сандық шығыс айнасына айналдыру (ST_ISO_APP_DIDOжәнеUART): Бұл функция ST_ISO_APP_UsecaseDIDO функциясына ұқсас сандық шығыстарға сандық кірістерді көрсетеді. Сонымен қатар, ол тақта күйін Nucleo құрылғысындағы UART интерфейсі арқылы жібереді, бұл күйді өзгертуге мүмкіндік береді. viewTera Term сияқты қолданбаларды пайдаланып сериялық портта ed.
  • Test Case функциясы (ST_ISO_APP_TestCase): Бұл функция тақта конфигурациясына негізделген сынақтар мен әрекеттер қатарын орындайды. Ол ақаулық күйін тексереді, екі сандық кіріс арнасының күйін оқиды және олардың мәндеріне негізделген әрекеттерді орындайды. Бұл функция тақтаның өнімділігі мен функционалдығын жылдам бағалауға және әртүрлі жарық диоды үлгілері арқылы көрнекі кері байланыс алуға көмектеседі. board_config.h ішіндегі HEARTBEAT_LED макросын тексеріңіз file тиісті жарықдиодты үлгілерді сақтау үшін түсіндіріледі.
  • PWM генерациясы (ST_ISO_APP_PWM _OFFSET): Бұл функция екі шығыс арнасында 1 Гц жиілігі және жұмыс циклі 50% PWM сигналын бастайды. Ол PWM сигналын инициализациялайды, жиілік пен жұмыс циклін орнатады және көрсетілген тақта идентификаторы үшін PWM сигналын бастайды. PWM сигналы екі арна арасында ығысу арқылы жасалады, сондықтан олар фазада емес.
  • Ақауларды анықтау сынағы (ST_ISO_APP_FaultTest): Бұл функция IPS1025 смарт шығыс модулінің кірістірілген диагностикалық түйреуіштерін моторлау арқылы ақауды анықтауды бағалайды. сұрау немесе үзу режимінде. Ол қатені анықтау режимін конфигурациялайды, ақауды анықтауды инициализациялайды және таңдалған режим негізінде ақаулық күйінің құрылымын жаңартады. Бұл функция ақауларды тиімді анықтау және өңдеу арқылы тақтаның сенімділігі мен қауіпсіздігін қамтамасыз ету үшін өте маңызды. Ол сұрау режимінде болғанда, ақаулық күйі таймердің көмегімен секунд сайын жаңартылып отырады және defaultBoardFaultStatus немесе alternateBoardFaultStatus құрылымында көрсетіледі. Ол үзу режимінде болғанда, ақаулық күйі ақаулық орын алған кезде ғана жаңартылады және ол сәйкес шығыс портын тазалау үшін бағдарламалық құралды іске қосады.
  • PWM Variation Test (ST_ISO_APP_PwmVariationTest): Бұл функция тақта конфигурациясына негізделген әртүрлі шығыс арналарындағы PWM (импульстік ені модуляциясы) сигналдарының өзгеруін тексеруге арналған. Ол PWM сигналдарын әдепкі және балама тақта конфигурациялары үшін инициализациялайды, олардың жиілігін 100 Гц және бастапқы жұмыс циклін 0% орнатады. Содан кейін функция жұмыс циклін 0% қадаммен 100% -дан 5% -ға дейін және 100% азайту арқылы 0% -дан 5% -ға дейін өзгертеді, әр қадам арасында 2 секундтық кідіріспен. Бұл басқарылатын вариация әдепкі тақта үшін QA_0 және QA_1 арналарындағы және балама тақта үшін QA_0_ALT және QA_1_ALT арналарында PWM сигналының әрекетін бақылауға және бағалауға мүмкіндік береді.

Осы конфигурацияларды орындау және берілген қолданба функцияларын пайдалану арқылы әртүрлі демонстрациялық пайдалану жағдайлары үшін X-NUCLEO-ISO1A1 тақтасын тиімді орнатуға және пайдалануға болады.

Жүйені орнату нұсқаулығы

Аппараттық сипаттама

STM32 Nucleo платформасы
STM32 Nucleo әзірлеу тақталары пайдаланушыларға шешімдерді сынаудың және кез келген STM32 микроконтроллер желісімен прототиптерді құрудың қолжетімді және икемді әдісін ұсынады.
Arduino® қосылымды қолдауы және ST морфо қосқыштары STM32 Nucleo ашық әзірлеу платформасының функционалдығын таңдауға болатын кең ауқымды мамандандырылған кеңейту тақталарымен кеңейтуді жеңілдетеді.

STM32 Nucleo тақтасы бөлек зондтарды қажет етпейді, өйткені ол ST-LINK/V2-1 отладчик/бағдарламашыны біріктіреді.
STM32 Nucleo тақтасы STM32 бағдарламалық қамтамасыз етудің HAL кітапханасымен бірге әртүрлі пакеттік бағдарламалық жасақтамамен бірге жеткізіледі.amples.

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту-8

STM32 Nucleo тақтасына қатысты ақпаратты мына жерден алуға болады www.st.com/stm32nucleo

X-NUCLEO-ISO1A1 кеңейту тақтасы
X-NUCLEO-ISO1A1 - STM32 Nucleo тақтасын кеңейтуге және micro-PLC функционалдығын қамтамасыз етуге арналған оқшауланған өнеркәсіптік кіріс/шығыс бар бағалау тақтасы. X-NUCLEO-ISO1A1 тақталарының екеуі GPIO интерфейстеріндегі қайшылықты болдырмау үшін кеңейту тақтасындағы секіргіштердің сәйкес таңдауымен STM32 Nucleo тақтасының үстіне бірге жиналуы мүмкін. UL1577 сертификатталған STISO620 және STISO621 сандық оқшаулағыштары логика мен процестің жағы құрамдас бөліктері арасындағы оқшаулауды қамтамасыз етеді. Процесс жағынан екі ағымдағы шектелген жоғарғы жағындағы кіріс CLT03-2Q3 арқылы жүзеге асырылады. CLT03-2Q3 IEC61000-4-2, IEC61000-4-4 және IEC61000-4-5 сияқты стандарттарға сай жасалған өндірістік жағдайлар үшін қорғанысты, оқшаулауды және қуатсыз күй көрсеткішін қамтамасыз етеді. IPS1025H-32/HQ-32 жоғары жағындағы қосқыштардың әрқайсысы диагностикамен және ақылды жүргізу мүмкіндіктерімен 5.6 А дейін қорғалған шығысты қамтамасыз етеді. Олар сыйымдылық, резистивті немесе индуктивті жүктемелерді қозғай алады. X-NUCLEO-ISO1A1 X-CUBE-ISO1 бағдарламалық пакетін пайдаланып борттық IC-ті жылдам бағалауға мүмкіндік береді.

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту-9

Аппараттық құралды орнату
Келесі аппараттық құрамдас бөліктер қажет:

  1. Бір STM32 Nucleo әзірлеу платформасы (ұсынылған тапсырыс коды: NUCLEO-GO71RB)
  2. Бір өнеркәсіптік цифрлық шығыс кеңейту тақтасы (тапсырыс коды: X-NUCLEO-ISO1A1)
  3. STM32 Nucleo құрылғысын компьютерге қосу үшін бір USB типті A - Micro USB кабелі
  4. Сыртқы қуат көзі (24 В) және X-NUCLEO-ISO1A1 кеңейту тақтасын қамтамасыз ететін байланысты сымдар.

Бағдарламалық құралды орнату
X-NUCLEO-ISO32A1 кеңейту тақтасымен жабдықталған STM1 Nucleo қолданбаларын жасау үшін қолайлы әзірлеу ортасын орнату үшін келесі бағдарламалық құрал құрамдастары қажет:

  • X-CUBE-ISO1: X-NUCLEO-ISO32A1 тақтасын пайдалануды талап ететін қолданбаларды әзірлеуге арналған STM1Cube кеңейтімі. X-CUBE-ISO1 микробағдарламасы және қатысты құжаттама мына жерде қолжетімді www.st.com
  • Әзірлеу құралдары тізбегі және компилятор: STM32Cube кеңейту бағдарламалық құралы келесі үш ортаны қолдайды:
    • ARM® (IAR-EWARM) құралдар тізбегіне арналған IAR ендірілген жұмыс үстелі
    • НағызView Микроконтроллерді әзірлеу жинағы (MDK-ARM-STM32) құралдар тізбегі
    • STM32CubeIDE.

Тақтаны орнату
Тақтаны Аппараттық құрал пайдаланушы нұсқаулығында (UM3483) көрсетілген сәйкес секіргіш параметрлерімен конфигурациялау керек. Бұл нұсқауларды мұқият орындау дұрыс функционалдылықты қамтамасыз ету және ықтимал мәселелерді болдырмау үшін маңызды.

Жүйені орнату нұсқаулығы
Бұл бөлім X-NUCLEO-ISO32A071 кеңейту тақтасы бар STM1 Nucleo , NUCLEO-G1RB тақтасында қолданбаны әзірлеу және орындау алдында әртүрлі аппараттық бөліктерді орнату жолын сипаттайды.

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту-10

STMicroelectronics-UM3469-X-CUBE-ISO1-Бағдарламалық қамтамасыз ету-кеңейту-11

X-CUBE-ISO1 кеңейту бумасы үшін орнату
X-NUCLEO-ISO1A1 тақтаны іске қосып жатқан конфигурацияға негізделген арнайы секіргіш орындарымен конфигурациялануы керек. Оның егжей-тегжейін біз аппараттық құрал нұсқаулығында қарастырамыз.

  • 1-қадам. STM1 Nucleo жоғарғы жағындағы X-NUCLEO-ISO1A32 кеңейту тақтасын морфоконнекторлар арқылы қосыңыз.
    Егер сіз екі тақтаны бірінің үстіне бірін қолдансаңыз, оларды 11-суреттегідей қабаттастырыңыз.
  • 2-қадам. STM32 Nucleo тақтасын компьютерге USB кабелі арқылы CN1 USB қосқышы арқылы жалғаңыз.
  • 3-қадам. X-NUCLEO-ISO1A1 кеңейту тақтасын(ларын) J1 24 В тұрақты ток қуат көзіне қосу арқылы қосыңыз. Жинақталған тақталарды пайдалансаңыз, екі тақтаның да қуат көзі бар екеніне көз жеткізіңіз.
  • 4-қадам. Қалаған құралдар тізбегін ашыңыз (Keil-тен MDK-ARM, IAR-дан EWARM немесе STM32CubeIDE).
  • 5-қадам. Бағдарламалық жасақтама жобасын ашып, board_config.h файлына қажетті өзгерістерді енгізіңіз file пайдаланылатын тақта(лар) конфигурациясына сәйкес.
  • 6-қадам. st_iso_app.c ішінде сәйкес пайдалану макросын орнатыңыз file немесе main.c ішіндегі ST_ISO_APP_SelectUseCase функциясын пайдаланып қажетті пайдалану жағдайын шақырыңыз file кез келген басқа қажетті функциямен бірге.
  • 7-қадам. Барлығын құрастыру үшін жобаны жасаңыз files және құрастырылған кодты STM32 Nucleo тақтасының жадына жүктеңіз.
  • 8-қадам. STM32 Nucleo тақтасында кодты іске қосыңыз және күтілетін әрекетті тексеріңіз.

Қайта қарау тарихы
Кесте 4. Құжатты қайта қарау тарихы

Күн Қайта қарау Өзгерістер
14 мамыр 2025 ж 1 Бастапқы шығарылым.

МАҢЫЗДЫ ЕСКЕРТПЕ – МҰҚИЯТ ОҚЫҢЫЗ

STMicroelectronics NV және оның еншілес компаниялары («СТ») 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 бағдарламалық құралды кеңейту, бағдарламалық құралды кеңейту

Анықтамалар

Пікір қалдырыңыз

Электрондық пошта мекенжайыңыз жарияланбайды. Міндетті өрістер белгіленген *