Ekspansyon lojisyèl STMicroelectronics UM3469 X-CUBE-ISO1
Entwodiksyon
Pake lojisyèl ekspansyon X-CUBE-ISO1 pou STM32Cube a fonksyone sou STM32 la epi li gen ladan l yon firmwèr pou X-NUCLEO-ISO1A1 la. Lojisyèl la bay yon solisyon fasil pou itilize pou devlopman yon aparèy PLC debaz ke X-NUCLEO a bay. Ekspansyon an bati sou teknoloji lojisyèl STM32Cube pou fasilite portabilite ant diferan mikrokontwolè STM32 yo.
Lojisyèl la vini ak yon aplikasyon ki fonksyone sou kat ekspansyon X-NUCLEO-ISO1A1 ki konekte ak yon kat devlopman NUCLEO-G071RB (oswa swa yon NUCLEO-G0B1RE oswa yon NUCLEO-G070RB). Apati kounye a, se sèlman NUCLEO-G071RB a y ap mansyone nan dokiman an pou senplifye.
Kat X-NUCLEO-ISO1A1 la fèt pou sipòte anpile de kat ak paramèt jumper apwopriye pou ogmante kapasite antre ak sòti yo.
Akwonim ak abrevyasyon
Tablo 1. Lis akwonim yo
Akwonim | Deskripsyon |
PLC | Kontwolè lojik pwogramab |
API | Koòdone pwogram aplikasyon an |
PWM | Batman kè lajè modulation |
GPIO | Jeneral-bi opinyon / pwodiksyon. |
HAL | Materyèl abstraksyon kouch |
PC | Òdinatè pèsonèl |
FW | Firmware |
ki sa ki STM32Cube?
STM32Cube™ reprezante inisyativ STMicroelectronics pou fasilite lavi devlopè yo lè yo diminye efò, tan ak pri devlopman. STM32Cube kouvri pòtfolyo STM32 la.
Vèsyon 32.x STM1Cube a gen ladan l:
- STM32CubeMX, yon zouti konfigirasyon lojisyèl grafik ki pèmèt jenerasyon kòd inisyalizasyon C lè l sèvi avèk asistan grafik.
- Yon platfòm lojisyèl entegre konplè espesifik pou chak seri (tankou STM32CubeG0 pou seri STM32G0 a), ki gen ladan:
- Lojisyèl kouch abstrè entegre STM32Cube HAL la, ki asire maksimòm portabilite atravè pòtfolyo STM32 la.
- yon seri konpozan middleware ki konsistan tankou RTOS, USB, TCP/IP, ak grafik
- tout lojisyèl entegre ak yon seri konplè ansyenamples.
Achitekti STM32Cube
Solisyon firmwèr STM32Cube la bati otou twa nivo endepandan ki ka fasilman kominike youn ak lòt, jan sa dekri nan dyagram ki anba a.
Ekspansyon lojisyèl X-CUBE-ISO1 pou STM32Cube
Plis paseview
Firmwèr pou X-NUCLEO-ISO1A1 la, yon kat ekspansyon antre/soti endistriyèl izole, devlope otou anviwònman ak bibliyotèk STM32 yo, itilize MCU pèfòmans segondè kat STM32 Nucleo yo pou jere antre dijital yo, sòti yo ak dyagnostik entegre ansanm ak limit kouran dinamik, ak jenerasyon siyal PWM. Li prezante konfigirasyon ak kontwòl konplè kat la, ki gen ladan kad pou kondisyon default ak altènatif, makro pou mete valè pre-scaler yo, ak definisyon pou pò ak broch GPIO yo.
Li sipòte divès kalite sampKa itilizasyon aplikasyon yo tankou mirroring antre dijital pou sòti, kominikasyon UART atravè tablo Nucleo a, deteksyon fay, ka tès, ak jenerasyon PWM ki ka itilize dirèkteman epi ki ka fasil pou pèsonalize ak elaji.
API a bay yon seri fonksyon solid pou kontwòl antre/soti dijital, deteksyon fay, ak mizajou estati tablo a, ak paramèt konfigirasyon pou fè de tablo fonksyone an menm tan nan diferan mòd. Fonksyon API espesifik disponib pou inisyalize, demaraj, arè, ak konfigirasyon siyal PWM pou chanèl pwodiksyon dijital yo.
Pake sipò kat la gen ladan fonksyon pou kontwole ak siveye broch GPIO yo ki konekte ak IPS1025H-32 epi li eta broch GPIO yo ki konekte ak CLT03-2Q3 atravè yon izolatè dijital.
Konfigirasyon ak inisyalizasyon yo baze sou STM32CubeMX, epi devlopman ak debogaj sipòte pa zouti STM32CubeIDE, IAR Systems, ak Keil®.
Achitekti
Nou ka divize firmwèr X-NUCLEO-ISO1A1 la an plizyè blòk fonksyonèl diferan, chak blòk responsab pou divès aspè operasyon sistèm nan:
- Konfigirasyon ak Kontwòl Komisyon Konsèy la:
- board_config.h la file gen ladan l makro pou konfigire tablo a pou l fonksyone nan kondisyon defo oswa altènatif, oubyen toude. Li gen ladan l tou definisyon pou valè pre-scaler ak pò ak broch GPIO.
- Blòk sa a asire ke tablo a byen konfigire pou kondisyon fonksyònman yo vle a epi ke tout konfigirasyon pyès ki nan konpitè nesesè yo an plas.
- Ka Itilizasyon Aplikasyon yo:
- st_iso_app.h ak st_iso_app.c yo fileYo gen ladan yo ka itilizasyon aplikasyon ki fèt pou teste divès fonksyonalite tablo a.
- Ka itilizasyon sa yo enkli mirwa antre dijital pou sòti, tès deteksyon fay, ak jenerasyon siyal PWM.
- ExampKonfigirasyon yo bay pou fè de kat fonksyone an menm tan nan diferan mòd, sa ki demontre adaptabilite ak fleksibilite firmwèr la.
- Fonksyon API yo:
- Iso1a1.h ak iso1a1.c files bay yon seri API konplè pou sipòte divès fonksyonalite.
- API sa yo gen ladan yo fonksyon pou kontwòl antre/soti dijital, deteksyon fay, ak mizajou estati tablo a.
- API yo fèt pou yo senp epi entwisyon, pou fè li fasil pou itilizatè yo kominike avèk tablo a epi fè operasyon ki nesesè yo.
- Kontwòl siyal PWM:
- pwm_api.h ak pwm_api.c files yo gen fonksyon API espesifik ki gen rapò ak jenerasyon siyal PWM.
- Fonksyon sa yo pèmèt inisyalize, konfigire, demarre, epi kanpe siyal PWM pou chanèl pwodiksyon dijital yo.
- Fonksyonalite PWM lan pa yon chwa pa defo. Konfigirasyon tablo a te modifye pou aktive sa yo. Gade Seksyon 3.5: API yo pou plis detay.
- Pakè Sipò Konsèy Administrasyon an:
- Pake sipò tablo a gen ladan l files pou kontwole ak siveyans broch GPIO ki konekte ak IPS1025H-32 epi li eta broch GPIO ki konekte ak CLT03-2Q3.
- ips1025h_32.h ak ips1025h_32.c yo fileYo bay fonksyon pou mete, efase, epi detekte defo sou broch GPIO ki konekte ak IPS1025H-32 la.
- clt03_2q3.h ak clt03_2q3.c files bay fonksyon pou li eta broch GPIO ki konekte ak CLT03-2Q3 yo.
Firmwèr demonstrasyon an aplike plizyè ka itilizasyon senp pou montre kapasite sistèm nan. Ka itilizasyon sa yo ak API itilizatè yo egzekite nan yon fason kowòdone pou asire yon operasyon san pwoblèm ak rezilta egzat. Achitekti a fèt pou l fasil pou elaji, sa ki pèmèt itilizatè yo ajoute nouvo fonksyonalite ak ka itilizasyon jan sa nesesè. Konfigirasyon pa default la bay pou fè yon sèl kat fonksyone ak IO endistriyèl dijital. Paramèt jumper yo nesesè tou pou yo nan mòd pa default jan sa dekri nan Tablo 2. Antre dijital ak sòti dijital an mirwa (DIDO) se ka itilizasyon aplikasyon firmwèr pa default la.
Estrikti Dosye
Dosye sa yo enkli nan pake lojisyèl an:
- Dokimantasyon gen yon HTML konpile file pwodwi nan kòd sous la, detaye eleman lojisyèl yo ak APIs.
- Chofè yo gen ladan:
- yon dosye STM32Cube HAL, ki sitiye nan sou-dosye STM32G0xx_HAL_Driver yo. Sa yo fileYo pa dekri yo isit la paske yo pa espesifik pou lojisyèl X-CUBE-ISO1 la men yo soti dirèkteman nan kad STM32Cube la.
- yon katab CMSIS ki gen estanda koòdone lojisyèl mikrokontroleur Cortex® files soti nan bra. Sa yo files yo se kouch abstrèksyon pyès ki nan konpitè ki pa depann de vandè a pou seri processeur Cortex®-M lan. Dosye sa a tou pa chanje depi kad travay STM32Cube la.
- yon dosye BSP ki gen kòd pou konpozan IPS1025H-32 ak CLT03-2Q3 ansanm ak API ki gen rapò ak X-NUCLEO-ISO1A1.
- Aplikasyon an gen dosye itilizatè a ki gen ladan l main.c la. file, ka itilizasyon aplikasyon an file, st_iso_app.c ak board_config.h la file, ki te bay pou platfòm NUCLEO-G071RB la.
Katab BSP
Lojisyèl X-CUBE-ISO1 la itilize de konpozan diferan files, ki andedan BSP/Konpozan:
IPS1025
ips1025h_32.h ak ips1025h_32.c yo filebay yon aplikasyon konplè pou chofè pou broch GPIO ki konekte ak IPS1025H-32, ki gen ladan fonksyonalite konplè pou kontwole tout broch yo ak detekte defo yo. Sa yo files aplike fonksyon pou inisyalize aparèy la, konfigire epi efase estati kanal la, detekte kondisyon fay, epi jere fonksyonalite PWM. Chofè a sipòte plizyè aparèy ak kanal, ak kapasite konplè pou tou de kanal endividyèl oswa kòm yon gwoup.
CLT03
clt03_2q3.h ak clt03_2q3.c fileAplike yon chofè konplè pou broch GPIO ki konekte ak CLT03-2Q3 la, ak kapasite konplè pou li tout eta broch yo. Chofè a bay fonksyon pou inisyalize aparèy la, li estati chak chanèl, epi jwenn enfòmasyon sou estati pou tout chanèl yo an menm tan. Li sipòte plizyè konfigirasyon aparèy epi li kenbe eta entèn pou yon jesyon chanèl efikas.
API lojisyèl X-CUBE-ISO1 yo divize an de sous prensipal files, ki andedan sou-dosye ISO1A1 la:
ISO1A1
ISO1A1 la files anglobe yon seri konplè fonksyon API ki fèt pou konfigirasyon tablo, entèraksyon konpozan, ak jesyon fay. Fonksyon sa yo fasilite operasyon lekti ak ekriti, deteksyon fay ak mizajou, epi yo gen ladan plizyè sèvis piblik pou sipòte fonksyon API prensipal yo. Anplis de sa, la fileYo bay fonksyonalite pou kontwòl LED, inisyalizasyon GPIO, jesyon entèripsyon, ak kominikasyon UART.
API PWM
API PWM lan bay fonksyon pou inisyalize, konfigire, kòmanse, epi kanpe siyal PWM yo. Li pèmèt ou mete frekans PWM ak sik devwa pou broch revèy espesifik yo, sa ki asire yon kontwòl presi sou operasyon PWM yo.
Dosye aplikasyon an
Dosye Aplikasyon an gen ladan l prensipal la files ki nesesè pou firmwèr la, ki gen ladan header ak sous files. Anba la a se yon deskripsyon detaye sou la files nan katab sa a:
- board_config.h: Makro konfigirasyon pou kat la.
- main.c: Pwogram prensipal (kòd ansyen an)ample ki baze sou bibliyotèk la pou ISO1A1).
- st_iso_app.c: Fonksyon aplikasyon pou tès ak konfigirasyon kat.
- stm32g0xx_hal_msp.c: Woutin inisyalizasyon HAL yo.
- stm32g0xx_it.c: Jesyonè entèripsyon.
- syscalls.c: Aplikasyon apèl sistèm.
- sysmem.c: Jesyon memwa sistèm.
- system_stm32g0xx.c: Inisyalizasyon sistèm.
Lojisyèl mande resous
Aparèy Nucleo a kontwole epi kominike avèk kat X-NUCLEO-ISO1A1 la atravè GPIO. Sa mande pou itilize plizyè GPIO pou antre, sòti, ak deteksyon fay aparèy IO endistriyèl ki nan kat X-NUCLEO-ISO1A1 la. Gade manyèl itilizatè pyès ki nan konpitè UM3483 la pou plis detay ak konfigirasyon jumper yo.
Konfigirasyon tablo a (board_config.h)
board_config.h la file defini resous yo itilize yo ak makro konfigirasyon yo pou konfigire lojisyèl la dapre konfigirasyon kat la. Li jere jiska de kat (tankou anpile de kat).
Konfigirasyon lojisyèl DEFAULT la aliyen ak kat ekspansyon X-NUCLEO-ISO1A1 la ak jumper li yo nan pozisyon defo yo. Pou konfigire lojisyèl la pou X-NUCLEO-ISO1A1 nan paramèt defo li, retire kòmantè sou makwo BOARD_ID_DEFAULT la nan board_config.h la. file.
Konfigirasyon lojisyèl ALTERNATE a defini lè w retire kòmantè sou makro BOARD_ID_ALTERNATE la nan board_config.h la. file epi chanje pozisyon jumper yo sou tablo a.
Pou itilize de kat an menm tan nan yon konfigirasyon anpile, retire kòmantè sou tou de makwo BOARD_ID_DEFAULT ak BOARD_ID_ALTERNATE yo epi asire w ke jumper youn nan kat yo nan pozisyon defo a epi lòt la nan pozisyon altènatif la. Remake byen ke li pa rekòmande pou w gen tou de kat yo nan menm konfigirasyon an (swa tou de nan defo a oswa tou de nan pozisyon altènatif) epi sa ka lakòz yon konpòtman endezirab.
Lè w ap itilize yon sèl kat, asire w ke lojisyèl la configuré pou yon sèl konfigirasyon epi ke makro ki koresponn ak lòt konfigirasyon an gen kòmantè.
Pre-scalers
Nou ka konfigire valè pre-scaler yo nan board_config.h pou reyalize diferan ranje frekans pou pwodiksyon PWM lan lè nou mete makro ki apwopriye yo. Pou itilize yon valè pre-scaler, retire kòmantè sou makro ki koresponn lan epi mete kòmantè sou lòt yo. Pa default, se DEFAULT_PRESCALAR ki itilize.
- PRESCALER_1
- PRESCALER_2
- PRESKALÈ_DEFAUT
Valè prescaler yo itilize sèlman lè y ap itilize revèy, epi yo pa nesesè pou okenn operasyon I/O debaz. Ou ka gade valè makro prescaler yo ak seri frekans korespondan yo nan dokimantasyon kòd la oswa nan kòd la menm.
Batman kè ki ap dirije
Nou ka konfigire LED vèt itilizatè a, D7, pou l flache tankou yon batman kè kòm yon tès pou koneksyon kòrèk ak kat NUCLEO-G071RB la. Lè makwo HEARTBEAT_LED la pa gen kòmantè sou li, li fè LED vèt la ki sou X-NUCLEO-ISO1A1 flache lè li konekte ak NUCLEO a. Li rete limen pou 1 segonn epi etenn pou 2 segonn, avèk revèy ki kontwole tan an. Lè li pa itilize oswa lè yo pa rele okenn fonksyon ki gen LED, yo ta dwe retire kòmantè sou makwo a.
Konfigirasyon GPIO antre ak sòti
Chak kat X-NUCLEO-ISO1A1 ekipe ak de pò antre ak de pò sòti. Kapasite kat la ka ogmante lè w anpile de kat X-NUCLEO-ISO1A1 youn sou lòt, sa ki pèmèt itilizasyon kat pò antre dijital ak kat pò sòti dijital. Lojisyèl yo bay la gen ladan API konplè ki fasilite lekti, konfigirasyon ak efasman pò yo. Anplis de sa, API yo pèmèt konfigirasyon, lekti oswa efasman tout pò yo an menm tan. Enfòmasyon detaye sou fonksyon API yo disponib nan dokimantasyon kòd la ansanm ak nan seksyon API dokiman sa a.
Isit la, prefiks DI a endike pò antre dijital la epi DO endike pò sòti dijital la. Pou yon lòt konfigirasyon, lojisyèl la itilize menm konvansyon nonmen yo ak sifiks _alt la tache.
Tablo sa a detaye makro GPIO ki defini nan lojisyèl la ki koresponn ak divès pò IO yo:
Tablo 2. GPIO ki asiyen pou konfigirasyon lojisyèl Default ak altènatif
Non | Fonksyon | Default konfigirasyon | Konfigirasyon altène |
PIN ANTRE | Antre peny 1 | GPIOC, IA0_IN_1_PIN | GPIOD, IA0_IN_1_PIN |
Antre peny 2 | GPIOD, IA1_IN_2_PIN | GPIOC, IA1_IN_1_PIN | |
PIN SOTI | Broch Sòti 1 | GPIOC, QA0_CNTRL_1_PIN | GPIOD, QA0_CNTRL_1_PIN |
Broch Sòti 2 | GPIOC, QA1_CNTRL_2_PIN | GPIOC, QA1_CNTRL_2_PIN | |
PIN DEFÈ | Broch 1 defo | GPIOC, FLT1_QA0_2_OT_PIN | GPIOD, FLT1_QA0_1_OT_PIN |
Broch 2 defo | GPIOC, FLT2_QA0_2_OL_PIN | GPIOD, FLT2_QA0_1_OL_PIN | |
Broch 3 defo | GPIOC, FLT1_QA1_2_OT_PIN | GPIOC, FLT1_QA1_1_OT_PIN | |
Broch 4 defo | GPIOC, FLT2_QA1_1_OL_PIN | GPIOD, FLT2_QA1_2_OL_PIN | |
MAKRO KONFIGIRASYON | ID_KÒD_DEFAULT | ID_TABLO_ALTERNATIF |
Revèy ak PWM
Yo ka itilize revèy (timer) nan firmwèr X-CUBE-ISO1 la pou jenere siyal PWM pou broch espesifik. Pa default, revèy yo pa inisyalize eksepte TIM3. Revèy respektif yo ta dwe inisyalize anvan yo jenere siyal PWM yo epi pò pwodiksyon respektif yo dwe inisyalize nan mòd PWM.
Pou operasyon nòmal antre/soti GPIO, pa gen okenn nesesite pou konfigire okenn revèy oswa pò sòti, paske li pran swen pa default. Sepandan, yon fwa broch sòti yo mete nan mòd PWM, nou bezwen rekonfigure yo nan mòd GPIO pou yo ka itilize kòm broch GPIO.
Nòt: Lè broch pwodiksyon yo ap itilize pou jenerasyon PWM, pwodiksyon GPIO a enfim, tou de fonksyonalite yo pa ka aplike an menm tan. Pou re-aktive GPIO apre itilizasyon PWM, ou ka rele fonksyon API ST_ISO_BoardConfigureDefault() oubyen ST_ISO_InitGPIO() pou konfigire tout pò yo kòm GPIO an menm tan oubyen ST_ISO_Init_GPIO() ak yon pò ak yon broch GPIO patikilye.
Jan nou te mansyone pi wo a, lojisyèl la itilize yon sèl revèy tou pa default, TIM3, ki itilize pou aplikasyon revèy ak tan LED itilizatè a. Li configuré pou yon peryòd 1 segonn pa default.
Tablo sa a detaye revèy ki disponib pou chak pin nan kòd nou an:
Tablo 3. Minitè ki disponib pou chak peny
Non PIN | Reprezantasyon lojisyèl | Revèy | Chanèl revèy | Fonksyon altène |
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 |
Lòt sèvis piblik nan firmwèr la
Firmwèr la gen ladan l lòt zouti pou amelyore fonksyonalite tablo evalyasyon X-NUCLEO-ISO1A1 la. Gen kèk ladan yo ki dekri anba a.
UART
Fonksyon kominikasyon UART la pèmèt siveyans ak debogaj an tan reyèl sou estati kat la atravè zouti PC tankou TeraTerm, PuTTY ak lòt aplikasyon menm jan an. Lojisyèl la pèmèt transmisyon done UART yo atravè UART ki prezan nan kat NUCLEO-G071RB la. Fonksyon `ST_ISO_UART` la voye enfòmasyon detaye sou estati kat la atravè UART, tankou tan sistèm nan ap fonksyone, konfigirasyon firmwèr, ak estati fay. Done sa yo ka... viewitilize nenpòt aplikasyon pò seri, tankou TeraTerm. Fonksyon `ST_ISO_APP_DIDOandUART` la konbine operasyon antre/soti dijital ak kominikasyon UART, transmèt estati tout chanèl antre ak sòti nan entèval espesifye. Anba la a se paramèt konfigirasyon yo ak jan sa aampkijan done yo parèt nan TeraTerm. Non pò a ka varye selon sistèm nan ak pò seri y ap itilize a.
Konfigirasyon mòd pin IO
Itilite konfigirasyon mòd pin IO a pèmèt itilizatè yo mete pò antre ak sòti kat la lè l sèvi avèk fonksyon ST_ISO_BoardConfigure() la. Fonksyon sa a sipòte konfigirasyon de pò sòti (QA0, QA1) ak de pò antre (IA0, IA1) swa nan mòd Antre/Sòti, mòd sòti PWM, oswa mòd antre Entèripsyon. Lè yo ajiste paramèt yo epi rele fonksyon sa a, itilizatè yo ka fasilman pèsonalize konfigirasyon IO kat la pou satisfè bezwen espesifik yo.
Nan mòd Antre/Sòti, zouti a inisyalize broch GPIO yo pou operasyon dijital jeneral. Nan mòd sòti PWM, li konfigire revèy yo pou kontwòl siyal PWM presi. Lè li nan mòd antre Entèripsyon, zouti a konfigire broch yo pou jere entèripsyon yo, sa ki pèmèt yon pwogramasyon reyaktif ki baze sou evènman.
Jesyon entèripsyon
Pou jere siyal FAULT yo, lojisyèl la aktive liy entèripsyon ki asosye yo, sa ki pèmèt pwogramasyon reyaktif ki baze sou evènman. Yon jesyonè pèsonalize ka asosye avèk entèripsyon sa yo atravè
Fonksyon HAL_GPIO_EXTI_Rising_Callback defini nan API a. Lojisyèl la gen ladan l fonksyon pou inisyalize broch GPIO yo nan mòd entèripsyon atravè fonksyon ST_ISO_BoardConfigure epi konfigirasyon aksyon espesifik nan jesyonè IRQ EXTI yo. Sa pèmèt itilizatè yo pèsonalize fason tablo a reyaji a evènman ekstèn, pou asire li ka jere divès kondisyon fay ak deklanchè efektivman.
APIs
API lojisyèl X-CUBE-ISO1 la bay yon seri fonksyon konplè pou kontwole ak siveye tablo X-NUCLEO-ISO1A1 la, tankou jenerasyon siyal PWM ak operasyon GPIO. API a fèt pou l fasil pou itilize epi entegre nan divès aplikasyon, sa ki bay fleksibilite ak kontwòl sou fonksyonalite tablo a.
API lojisyèl X-CUBE-ISO1 la defini nan dosye BSP/ISO1A1 la. Fonksyon li yo gen prefiks ST_ISO. API a vizib pou aplikasyon yo atravè iso1a1.c ak pwm_api.c. files se yon konbinezon konstan, estrikti done, ak fonksyon.
SampAplikasyon firmwèr yo itilize API sa yo pou montre kèk nan itilizasyon posib fonksyon sa yo.
Pake lojisyèl X-CUBE-ISO1 la bay de seri API:
- API ISO1A1 la
- API PWM
API ISO1A1 la
API ISO1A1 la defini nan iso1a1.h ak iso1a1.c fileLi bay fonksyon pou konfigire ak kontwole tablo ISO1A1 la, tankou operasyon antre/soti GPIO ak deteksyon fay.
Fonksyon kle
- ST_ISO_BoardConfigureDefault: Konfigire pò IO kat la ak konfigirasyon GPIO pa defo a.
- ST_ISO_BoardConfigure: Konfigire mòd pò antre ak sòti yo pou kat la.
- ST_ISO_BoardInit: Inisyalize pyès ki nan konpitè kat la.
- ST_ISO_BoardMapInit: Inisyalize fonksyonalite tablo a dapre konfigirasyon manch chanèl yo.
- ST_ISO_GetFWVersion: Retounen vèsyon firmwèr aktyèl la.
- ST_ISO_GetChannelHandle: Rekipere manch chanèl la pou yon non chanèl espesifye.
- ST_ISO_InitGPIO: Inisyalize pin GPIO espesifye a ak ID modil yo bay la.
- ST_ISO_InitInterrupt: Inisyalize pin GPIO espesifye a kòm yon entèripsyon ak ID modil yo bay la.
- ST_ISO_EnableFaultInterrupt: Inisyalize broch GPIO defo yo nan mòd entèripsyon.
- ST_ISO_SetChannelStatus: Fikse estati yon kanal espesifik.
- ST_ISO_SetOne_DO: Fikse yon sèl kanal pwodiksyon dijital.
- ST_ISO_ClearOne_DO: Efase yon sèl kanal pwodiksyon dijital.
- ST_ISO_WriteAllChannels: Ekri done sou tout chanèl pwodiksyon dijital yo.
- ST_ISO_GetOne_DI: Jwenn estati yon sèl kanal antre dijital.
- ST_ISO_ReadAllChannel: Li estati tout chanèl antre yo.
- ST_ISO_ReadAllOutputChannel: Li estati tout chanèl pwodiksyon yo.
- ST_ISO_ReadFaultStatus: Li estati fay la nan tout pò deteksyon fay yo.
- ST_ISO_ReadFaultStatusPolling: Teste deteksyon fay kat yo nan mòd sondaj.
- ST_ISO_DisableOutputChannel: Dezaktive pwodiksyon pou kanal sa a.
- ST_ISO_UpdateBoardStatusInfo: Mizajou enfòmasyon sou estati tablo a.
- ST_ISO_UpdateFaultStatus: Mizajou estati fay la pou yon kanal espesifik.
- ST_ISO_BlinkLed: Fè LED espesifye a flache ak yon reta ak yon kantite repetisyon yo bay.
- ST_ISO_UART: Voye enfòmasyon sou estati tablo a atravè UART.
- ST_ISO_SwitchInit: Inisyalize konpozan switch yo.
- ST_ISO_SwitchDeInit: De-insyalize enstans switch la.
- ST_ISO_DigitalInputInit: Inisyalize konpozan antre dijital yo.
- ST_ISO_DigitalInputDeInit: De-insyalize egzanp antre dijital la.
API PWM
API PWM lan defini nan pwm_api.h ak pwm_api.c fileLi bay fonksyon sa yo pou inisyalize epi kontwole siyal PWM pou broch espesifik.
- ST_ISO_Init_PWM_Signal: Inisyalize revèy yo ak pin espesifik pou siyal PWM lan.
- ST_ISO_Set_PWM_Frequency: Fikse frekans PWM pou pin espesifik la.
- ST_ISO_Set_PWM_Duty_Cycle: Fikse sik devwa PWM a pou pin espesifik la.
- ST_ISO_Start_PWM_Signal: Kòmanse siyal PWM lan sou pin espesifik la.
- ST_ISO_Stop_PWM_Signal: Li sispann siyal PWM lan sou pin espesifik la.
Pou kòmanse yon siyal PWM sou yon kanal respektif, premye bagay ou dwe fè se rele fonksyon ST_ISO_Init_PWM_Signal la, answit defini frekans ak sik devwa ou vle a lè w rele fonksyon ST_ISO_Set_PWM_Frequency la epi
Fonksyon ST_ISO_Set_PWM_Duty_Cycle yo respektivman epi ou ka kòmanse siyal PWM lan lè w rele fonksyon ST_ISO_Start_PWM_Signal la epi kanpe l lè w rele ST_ISO_Stop_PWM_Signal la.
Fonksyon an bezwen rele ak non pin ki koresponn lan ansanm ak revèy ki disponib yo, detay yo bay nan tablo 3. Ou ka mete kanpe diferan chanèl pwodiksyon ak diferan frekans ak sik devwa; chanje frekans oswa sik devwa pa afekte lòt la, li rete menm jan an.
Ou ka jwenn enfòmasyon teknik detaye sou API ki disponib pou itilizatè a nan yon HTML konpile file ki sitiye andedan katab la "Dokimantasyon" nan pake lojisyèl an kote tout fonksyon yo ak paramèt yo konplètman dekri.
Deskripsyon aplikasyon
Aplikasyon demonstrasyon an aplike plizyè ka itilizasyon senp. st_iso_app ak board_config yo fileYo jwe yon wòl enpòtan nan konfigirasyon ak itilizasyon tablo a ak fonksyon aplikasyon li yo. Anvan ou itilize fonksyon sa yo, asire w ke konfigirasyon tablo a ak lojisyèl la senkronize youn ak lòt.
Fonksyon Aplikasyon (st_iso_app.h ak st_iso_app.c)
Fonksyon aplikasyon yo gen prefiks ST_ISO_APP; yo se fonksyon nivo siperyè ki vizib pou itilizatè a ki rele fonksyon API yo pou aplikasyon yo. Fonksyon aplikasyon yo ka rele nan main.c la. file pou fonksyònman yo.
- Seleksyon Ka Itilizasyon: Itilizatè a ka retire kòmantè sou makro ka itilizasyon li vle a nan st_iso_app.c la. fileFonksyon ST_ISO_APP_SelectUseCaseMacro() la, ki rele nan main.c, inisyalize ka itilizasyon sa a, epi fonksyon ST_ISO_APP_SelectedFunction() la aplike li nan main.c. Apwòch sa a pèmèt yon konfigirasyon fasil nan mòd operasyonèl la tou senpleman lè w modifye definisyon makro yo, sa ki asire ke fonksyonalite ki apwopriye a egzekite dapre ka itilizasyon ki chwazi a. Pa default, ka itilizasyon DIDO a chwazi, epi itilizatè a pa bezwen fè okenn chanjman nan kòd la pou aplike li.
- Mirroring Antre Dijital sou Sòti Dijital (ST_ISO_APP_UsecaseDIDO): Fonksyon sa a li estati tout chanèl antre yo epi li ekri menm estati a sou tout chanèl sòti yo. Li itil pou mirroring antre dijital yo sou sòti dijital yo.
- Mirroring Antre Dijital sou Sòti Dijital ak UART (ST_ISO_APP_DIDOandUART): Fonksyon sa a miroi antre dijital yo sou sòti dijital yo, menm jan ak fonksyon ST_ISO_APP_UsecaseDIDO a. Anplis de sa, li transmèt estati kat la atravè koòdone UART la sou aparèy Nucleo a, sa ki pèmèt estati a... viewkonekte sou yon pò seri lè l sèvi avèk aplikasyon tankou Tera Term.
- Fonksyon Ka Tès (ST_ISO_APP_TestCase): Fonksyon sa a fè yon seri tès ak aksyon ki baze sou konfigirasyon kat la. Li tcheke estati fay la, li estati de chanèl antre dijital yo, epi li fè aksyon ki baze sou valè yo. Fonksyon sa a ede evalye pèfòmans ak fonksyonalite kat la byen vit epi jwenn fidbak vizyèl atravè diferan modèl LED. Asire w ke makro HEARTBEAT_LED la nan board_config.h la. file yo fè kòmantè pou obsève modèl LED ki apwopriye yo.
- Jenerasyon PWM (ST_ISO_APP_PWM _OFFSET): Fonksyon sa a kòmanse siyal PWM nan sou tou de chanèl pwodiksyon yo ak yon frekans 1 Hz ak yon sik devwa 50%. Li inisyalize siyal PWM nan, li fikse frekans lan ak sik devwa a, epi li kòmanse siyal PWM nan pou ID kat espesifye a. Siyal PWM nan pwodui ak yon offset ant tou de chanèl yo, kidonk yo pa an faz.
- Tès Deteksyon Defo (ST_ISO_APP_FaultTest): Fonksyon sa a evalye deteksyon defo a lè li kontwole broch dyagnostik entegre nan modil pwodiksyon entelijan IPS1025 la. swa nan mòd sondaj oswa nan mòd entèripsyon. Li konfigire mòd deteksyon defo a, inisyalize deteksyon defo a, epi mete ajou estrikti estati defo a ki baze sou mòd ki chwazi a. Fonksyon sa a enpòtan pou asire fyab ak sekirite tablo a lè li detekte epi jere defo yo efektivman. Lè li nan mòd sondaj, estati defo a mete ajou chak segonn avèk èd yon revèy epi li reflete nan estrikti defaultBoardFaultStatus oswa alternateBoardFaultStatus. Lè li nan mòd entèripsyon, estati defo a mete ajou sèlman lè defo a rive, epi li deklanche lojisyèl la pou efase pò pwodiksyon korespondan an.
- Tès Varyasyon PWM (ST_ISO_APP_PwmVariationTest): Fonksyon sa a fèt pou teste varyasyon siyal PWM (Modilasyon Lajè Pulsasyon) sou diferan chanèl pwodiksyon ki baze sou konfigirasyon kat la. Li inisyalize siyal PWM yo pou tou de konfigirasyon kat default ak altènatif, li mete frekans yo a 100 Hz epi sik devwa inisyal la a 0%. Fonksyon an varye sik devwa a soti nan 0% a 100% nan ogmantasyon 5%, epi li retounen soti nan 100% a 0% nan diminisyon 5%, ak yon reta 2 segonn ant chak etap. Varyasyon kontwole sa a pèmèt obsèvasyon ak evalyasyon konpòtman siyal PWM sou chanèl QA_0 ak QA_1 pou kat default la, ak QA_0_ALT ak QA_1_ALT pou kat altènatif la.
Lè w swiv konfigirasyon sa yo epi w itilize fonksyon aplikasyon yo bay yo, ou ka efektivman konfigire epi itilize tablo X-NUCLEO-ISO1A1 la pou plizyè ka itilizasyon demonstrasyon.
Gid konfigirasyon sistèm lan
Deskripsyon pyès ki nan konpitè
Platfòm nikleyè STM32 la
Planch devlopman STM32 Nucleo bay yon fason abòdab ak fleksib pou itilizatè yo teste solisyon yo ak bati pwototip ak nenpòt liy mikrokontroleur STM32.
Sipò konektivite Arduino® la ak konektè ST morfo yo fè li fasil pou elaji fonksyonalite platfòm devlopman ouvè STM32 Nucleo a avèk yon pakèt kat ekspansyon espesyalize pou chwazi.
STM32 Nucleo tablo a pa mande pou sond separe jan li entegre ST-LINK/V2-1 debogaj/pwogramè a.
STM32 Nucleo tablo a vini ak bibliyotèk konplè STM32 lojisyèl HAL ansanm ak divès kalite lojisyèl pake ansyen.amples.
Enfòmasyon konsènan tablo STM32 Nucleo a disponib nan www.st.com/stm32nucleo
Kat ekspansyon X-NUCLEO-ISO1A1
X-NUCLEO-ISO1A1 a se yon tablo evalyasyon ak antre/soti endistriyèl izole ki fèt pou elaji tablo STM32 Nucleo a epi bay fonksyonalite mikwo-PLC. De nan tablo X-NUCLEO-ISO1A1 yo ka anpile ansanm sou yon tablo STM32 Nucleo avèk seleksyon jumper ki apwopriye sou tablo ekspansyon an pou evite konfli nan interfaces GPIO. Izolateur dijital sètifye UL1577 STISO620 ak STISO621 yo bay izolasyon ant konpozan lojik ak bò pwosesis la. De antre bò wo limite kouran ki soti bò pwosesis la reyalize atravè CLT03-2Q3. CLT03-2Q3 a bay pwoteksyon, izolasyon, ak endikasyon estati san enèji pou kondisyon endistriyèl, ki fèt pou satisfè estanda tankou IEC61000-4-2, IEC61000-4-4, ak IEC61000-4-5. Youn nan switch bò wo yo IPS1025H-32/HQ-32 bay yon pwodiksyon pwoteje jiska 5.6 A ak karakteristik dyagnostik ak kondwi entelijan. Sa yo ka kondwi chaj kapasitif, rezistif, oswa endiktif. X-NUCLEO-ISO1A1 la pèmèt evalyasyon rapid nan sikwi entegre yo lè l sèvi avèk pake lojisyèl X-CUBE-ISO1 la.
Konfigirasyon pyès ki nan konpitè
Konpozan pyès ki nan konpitè sa yo nesesè:
- Yon platfòm devlopman STM32 Nucleo (kòd lòd sijere: NUCLEO-GO71RB)
- Yon kat ekspansyon pwodiksyon dijital endistriyèl (kòd lòd: X-NUCLEO-ISO1A1)
- Yon kab USB tip A pou rive nan mikwo USB pou konekte STM32 Nucleo a ak PC a.
- Yon ekipman pou pouvwa ekstèn (24 V) ak fil ki asosye yo pou bay kat ekspansyon X-NUCLEO-ISO1A1 la kouran.
Konfigirasyon lojisyèl
Konpozan lojisyèl sa yo nesesè pou mete kanpe yon anviwònman devlopman ki apwopriye pou kreye aplikasyon pou STM32 Nucleo ki ekipe ak kat ekspansyon X-NUCLEO-ISO1A1 la:
- X-CUBE-ISO1: yon ekspansyon pou STM32Cube dedye a devlopman aplikasyon ki mande itilizasyon kat X-NUCLEO-ISO1A1 la. Firmwèr X-CUBE-ISO1 la ak dokiman ki gen rapò ak li disponib sou www.st.com
- Chèn zouti devlopman ak konpilatè: lojisyèl ekspansyon STM32Cube la sipòte twa anviwònman sa yo:
- IAR Embedded Workbench pou chèn zouti ARM® (IAR-EWARM)
- ImobilyeView Twous Devlopman Mikrokontwolè (MDK-ARM-STM32) chèn zouti
- STM32CubeIDE.
Konfigirasyon Komisyon Konsèy
Kat la dwe konfigire ak paramèt jumper ki apwopriye yo jan sa espesifye nan manyèl itilizatè pyès ki nan konpitè a (UM3483). Li enpòtan pou swiv direktiv sa yo ak anpil atansyon pou asire bon fonksyonalite epi evite pwoblèm potansyèl.
Gid konfigirasyon sistèm lan
Seksyon sa a dekri kijan pou konfigire diferan pati pyès ki nan konpitè anvan ou devlope epi egzekite yon aplikasyon sou kat STM32 Nucleo, NUCLEO-G071RB la ak kat ekspansyon X-NUCLEO-ISO1A1 la.
Enstalasyon pou pake ekspansyon X-CUBE-ISO1
X-NUCLEO-ISO1A1 la dwe konfigire ak pozisyon jumper espesifik yo selon konfigirasyon w ap itilize kat la. Nou ka gade plis detay sou sa nan manyèl pyès ki nan konpitè a.
- Etap 1. Branche kat ekspansyon X-NUCLEO-ISO1A1 la sou tèt STM32 Nucleo a atravè konektè mòfo yo.
Si w ap itilize de planch youn sou lòt, anpile yo jan yo montre nan Figi 11 an. - Etap 2. Konekte kat STM32 Nucleo a ak yon PC avèk kab USB a atravè konektè USB CN1 pou bay kat la kouran.
- Etap 3. Konekte J1 nan ekipman pou pouvwa 1V DC a pou konekte kat ekspansyon X-NUCLEO-ISO1A24 yo. Si w ap itilize kat ki anpile, asire w ke tou de kat yo gen kouran.
- Etap 4. Louvri chèn zouti ou prefere a (MDK-ARM ki soti nan Keil, EWARM ki soti nan IAR, oubyen STM32CubeIDE).
- Etap 5. Louvri pwojè lojisyèl la epi fè chanjman ki nesesè yo nan board_config.h la. file dapre konfigirasyon tablo(yo) k ap itilize a.
- Etap 6. Mete makro ka itilizasyon ki apwopriye a nan st_iso_app.c file oubyen rele ka itilizasyon ki nesesè a lè l sèvi avèk fonksyon ST_ISO_APP_SelectUseCase nan main.c file ansanm ak nenpòt lòt fonksyon ou vle.
- Etap 7. Bati pwojè a pou konpile tout files epi chaje kòd konpile a nan memwa kat STM32 Nucleo a.
- Etap 8. Egzekite kòd la sou kat STM32 Nucleo a epi verifye konpòtman li espere a.
Istwa revizyon
Tablo 4. Istwa revizyon dokiman yo
Dat | Revizyon | Chanjman |
14-2025 me | 1 | Premye lage. |
AVI ENPÒTAN – LI AK ATANSYON
STMicroelectronics NV ak filiales li yo ("ST") rezève dwa pou fè chanjman, koreksyon, amelyorasyon, modifikasyon, ak amelyorasyon nan pwodwi ST ak/oswa nan dokiman sa a nenpòt ki lè san avètisman. Achtè yo ta dwe jwenn dènye enfòmasyon enpòtan sou pwodwi ST yo anvan yo mete lòd. Pwodwi ST yo vann daprè tèm ak kondisyon pou vann ST ki an plas nan moman rekonesans lòd la.
Achtè yo se sèl responsab pou chwa, seleksyon, ak itilizasyon pwodwi ST yo epi ST pa sipoze okenn responsablite pou asistans aplikasyon oswa konsepsyon pwodwi achtè yo.
Pa gen okenn lisans, eksprime oswa implicite, sou okenn dwa pwopriyete entelektyèl akòde pa ST nan la a.
Revann pwodwi ST ak dispozisyon ki diferan de enfòmasyon ki endike nan la a pral anile nenpòt garanti ST akòde pou pwodui sa a.
ST ak logo ST a se mak komèsyal ST. Pou jwenn plis enfòmasyon sou mak ST, al gade nan www.st.com/trademarks. Tout lòt non pwodwi oswa sèvis yo se pwopriyete pwopriyetè respektif yo.
Enfòmasyon ki nan dokiman sa a ranplase epi ranplase enfòmasyon yo te bay anvan nan nenpòt vèsyon anvan dokiman sa a.
© 2025 STMicroelectronics – Tout dwa rezève
Dokiman / Resous
![]() |
Ekspansyon lojisyèl STMicroelectronics UM3469 X-CUBE-ISO1 [pdfManyèl Itilizatè X-NUCLEO-ISO1A1, NUCLEO-G071RB, UM3469 X-CUBE-ISO1 Ekspansyon Lojisyèl, UM3469, X-CUBE-ISO1 Ekspansyon Lojisyèl, Ekspansyon Lojisyèl |