STMicroelectronics UM3469 X-CUBE-ISO1 सफ्टवेयर विस्तार

परिचय
STM32Cube को लागि X-CUBE-ISO1 विस्तार सफ्टवेयर प्याकेज STM32 मा चल्छ र X-NUCLEO-ISO1A1 को लागि फर्मवेयर समावेश गर्दछ। सफ्टवेयरले X-NUCLEO द्वारा प्रदान गरिएको आधारभूत PLC उपकरणको विकासको लागि प्रयोग गर्न सजिलो समाधान प्रदान गर्दछ। यो विस्तार STM32Cube सफ्टवेयर प्रविधिमा निर्मित छ जसले विभिन्न STM32 माइक्रोकन्ट्रोलरहरूमा पोर्टेबिलिटी सहज बनाउँछ।
यो सफ्टवेयर NUCLEO-G071RB विकास बोर्ड (वा NUCLEO-G0B1RE वा NUCLEO-G070RB) मा जडान गरिएको X-NUCLEO-ISO1A1 विस्तार बोर्डमा चल्ने कार्यान्वयनको साथ आउँछ। अबदेखि, कागजातमा सरलताको लागि NUCLEO-G071RB मात्र उल्लेख गरिनेछ।
X-NUCLEO-ISO1A1 बोर्ड इनपुट र आउटपुट क्षमताहरू विस्तार गर्न उपयुक्त जम्पर सेटिङहरू सहित दुई बोर्डहरूको स्ट्याकिङलाई समर्थन गर्न डिजाइन गरिएको हो।
एक्रोनिम र संक्षिप्त रूपहरू
तालिका १. संक्षिप्त शब्दहरूको सूची
| एक्रोनिम | विवरण |
| PLC | प्रोग्रामेबल तर्क नियन्त्रक |
| API | अनुप्रयोग प्रोग्रामिंग इन्टरफेस |
| PWM | पल्स चौडाइ मोडुलन |
| GPIO | सामान्य-उद्देश्य इनपुट/आउटपुट। |
| HAL | हार्डवेयर अमूर्त तह |
| PC | व्यक्तिगत कम्प्युटर |
| FW | फर्मवेयर |
STM32Cube के हो?
STM32Cube™ ले विकास प्रयास, समय र लागत घटाएर विकासकर्ताहरूको जीवनलाई सजिलो बनाउन STMicroelectronics पहलको प्रतिनिधित्व गर्दछ। STM32Cube ले STM32 पोर्टफोलियोलाई समेट्छ।
STM32Cube संस्करण १.x मा समावेश छ:
- STM32CubeMX, एक ग्राफिकल सफ्टवेयर कन्फिगरेसन उपकरण जसले ग्राफिकल विजार्डहरू प्रयोग गरेर C प्रारम्भिक कोडको उत्पादनलाई अनुमति दिन्छ।
- प्रत्येक शृङ्खलाको लागि विशिष्ट एक व्यापक एम्बेडेड सफ्टवेयर प्लेटफर्म (जस्तै STM32CubeG0 श्रृंखलाको लागि), जसमा समावेश छन्:
- STM32Cube HAL मा एम्बेडेड एब्स्ट्र्याक्सन-लेयर सफ्टवेयर, STM32 पोर्टफोलियोमा अधिकतम पोर्टेबिलिटी सुनिश्चित गर्दै
- RTOS, USB, TCP/IP, र ग्राफिक्स जस्ता मिडलवेयर कम्पोनेन्टहरूको एकरूप सेट
- सबै एम्बेडेड सफ्टवेयर उपयोगिताहरू पूर्वको पूर्ण सेटको साथampलेस।
STM32Cube वास्तुकला
STM32Cube फर्मवेयर समाधान तीन स्वतन्त्र स्तरहरू वरिपरि निर्मित छ जुन एकअर्कासँग सजिलै अन्तरक्रिया गर्न सक्छन्, तलको रेखाचित्रमा वर्णन गरिए अनुसार।

STM1Cube को लागि X-CUBE-ISO32 सफ्टवेयर विस्तार
माथिview
X-NUCLEO-ISO1A1 को लागि फर्मवेयर, औद्योगिक पृथक इनपुट/आउटपुट विस्तार बोर्ड, STM32 वातावरण र पुस्तकालयहरू वरिपरि विकसित गरिएको छ, STM32 न्यूक्लियो बोर्डहरूको उच्च-प्रदर्शन MCU लाई डिजिटल इनपुटहरू, गतिशील वर्तमान सीमाको साथ एकीकृत निदानको साथ आउटपुटहरू, र PWM सिग्नल उत्पादन व्यवस्थापन गर्न प्रयोग गर्दछ। यसले पूर्वनिर्धारित र वैकल्पिक अवस्थाहरूको लागि फ्रेमवर्कहरू, पूर्व-स्केलर मानहरू सेट गर्न म्याक्रोहरू, र GPIO पोर्टहरू र पिनहरूको लागि परिभाषाहरू सहित व्यापक बोर्ड कन्फिगरेसन र नियन्त्रण सुविधा दिन्छ।
यसले विभिन्न s लाई समर्थन गर्दछampले एप्लिकेसनले डिजिटल इनपुटदेखि आउटपुट मिररिङ, न्यूक्लियो बोर्ड मार्फत UART सञ्चार, गल्ती पत्ता लगाउने, परीक्षण केसहरू, र PWM जेनेरेसन जस्ता प्रयोगका केसहरू प्रयोग गर्दछ जुन प्रत्यक्ष रूपमा प्रयोग गर्न सकिन्छ र सजिलै अनुकूलित र विस्तार गर्न सकिन्छ।
API ले डिजिटल इनपुट/आउटपुट नियन्त्रण, गल्ती पत्ता लगाउने, र बोर्ड स्थिति अद्यावधिकहरूको लागि कार्यहरूको एक बलियो सेट प्रदान गर्दछ, जसमा दुई बोर्डहरू एकैसाथ फरक मोडहरूमा चलाउनको लागि कन्फिगरेसन सेटिङहरू छन्। डिजिटल आउटपुट च्यानलहरूको लागि PWM संकेतहरू सुरु गर्न, सुरु गर्न, रोक्न र कन्फिगर गर्न विशिष्ट API प्रकार्यहरू उपलब्ध छन्।
बोर्ड समर्थन प्याकेजमा IPS1025H-32 सँग इन्टरफेस गरिएका GPIO पिनहरूलाई नियन्त्रण र निगरानी गर्ने र डिजिटल आइसोलेटर मार्फत CLT03-2Q3 सँग इन्टरफेस गरिएका GPIO पिनहरूको अवस्था पढ्ने कार्यहरू समावेश छन्।
कन्फिगरेसन र प्रारम्भिकरण STM32CubeMX मा आधारित छन्, जसमा STM32CubeIDE, IAR Systems, र Keil® उपकरणहरू द्वारा समर्थित विकास र डिबगिङ गरिन्छ।
वास्तुकला
X-NUCLEO-ISO1A1 को लागि फर्मवेयरलाई धेरै फरक कार्यात्मक ब्लकहरूमा विभाजन गर्न सकिन्छ, प्रत्येक प्रणालीको सञ्चालनका विभिन्न पक्षहरूको लागि जिम्मेवार छ:

- बोर्ड कन्फिगरेसन र नियन्त्रण:
- बोर्ड_कन्फिग.एच file बोर्डलाई पूर्वनिर्धारित वा वैकल्पिक अवस्थाहरूमा चलाउनको लागि कन्फिगर गर्न म्याक्रोहरू समावेश गर्दछ, वा दुवै। यसमा पूर्व-स्केलर मानहरू र GPIO पोर्टहरू र पिनहरूको लागि परिभाषाहरू पनि समावेश छन्।
- यो ब्लकले बोर्डलाई इच्छित सञ्चालन अवस्थाहरूको लागि सही रूपमा सेटअप गरिएको छ र सबै आवश्यक हार्डवेयर कन्फिगरेसनहरू ठाउँमा छन् भनी सुनिश्चित गर्दछ।
- अनुप्रयोग प्रयोगका केसहरू:
- st_iso_app.h र st_iso_app.c fileबोर्डको विभिन्न कार्यक्षमताहरू परीक्षण गर्न डिजाइन गरिएका अनुप्रयोग प्रयोग केसहरू समावेश छन्।
- यी प्रयोगका केसहरूमा डिजिटल इनपुट टु आउटपुट मिररिङ, गल्ती पत्ता लगाउने परीक्षणहरू, र PWM सिग्नल उत्पादन समावेश छन्।
- Exampफर्मवेयरको बहुमुखी प्रतिभा र लचिलोपन प्रदर्शन गर्दै, दुई बोर्डहरूलाई एकैसाथ फरक मोडमा चलाउनको लागि कन्फिगरेसनहरू प्रदान गरिएको छ।
- API कार्यहरू:
- iso1a1.h र iso1a1.c files ले विभिन्न कार्यक्षमताहरूलाई समर्थन गर्न API हरूको एक विस्तृत सेट प्रदान गर्दछ।
- यी API हरूमा डिजिटल इनपुट/आउटपुट नियन्त्रण, गल्ती पत्ता लगाउने, र बोर्ड स्थिति अद्यावधिकहरूको लागि कार्यहरू समावेश छन्।
- API हरू सरल र सहज हुने गरी डिजाइन गरिएका छन्, जसले गर्दा प्रयोगकर्ताहरूलाई बोर्डसँग अन्तरक्रिया गर्न र आवश्यक कार्यहरू गर्न सजिलो हुन्छ।
- PWM सिग्नल नियन्त्रण:
- pwm_api.h र pwm_api.c files मा PWM सिग्नल उत्पादनसँग सम्बन्धित विशिष्ट API प्रकार्यहरू छन्।
- यी प्रकार्यहरूले डिजिटल आउटपुट च्यानलहरूको लागि PWM संकेतहरू सुरु गर्न, कन्फिगर गर्न, सुरु गर्न र रोक्न अनुमति दिन्छ।
- PWM कार्यक्षमता पूर्वनिर्धारित विकल्प होइन। यी सक्षम पार्न बोर्ड कन्फिगरेसन परिमार्जन गरिएको छ। थप विवरणहरूको लागि खण्ड ३.५: API हरू हेर्नुहोस्।
- बोर्ड समर्थन प्याकेज:
- बोर्ड समर्थन प्याकेजमा समावेश छ fileIPS1025H-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 हरूसँग एउटा बोर्ड चलाउनको लागि पूर्वनिर्धारित कन्फिगरेसन प्रदान गरिएको छ। तालिका २ मा वर्णन गरिए अनुसार जम्पर सेटिङहरू पूर्वनिर्धारित मोडमा हुनु पनि आवश्यक छ। डिजिटल इनपुट डिजिटल आउट मिररिङ (DIDO) पूर्वनिर्धारित फर्मवेयर अनुप्रयोग प्रयोग केस हो।
फोल्डर संरचना

निम्न फोल्डरहरू सफ्टवेयर प्याकेजमा समावेश छन्:
- कागजातमा कम्पाइल गरिएको HTML समावेश छ file स्रोत कोडबाट उत्पन्न, सफ्टवेयर घटक र API हरू विवरण।
- ड्राइभरहरू समावेश छन्:
- STM32G0xx_HAL_Driver सबफोल्डरहरूमा अवस्थित STM32Cube HAL फोल्डर। यी files यहाँ वर्णन गरिएको छैन किनकि तिनीहरू X-CUBE-ISO1 सफ्टवेयरको लागि विशिष्ट छैनन् तर STM32Cube फ्रेमवर्कबाट सिधै आउँछन्।
- Cortex® माइक्रोकन्ट्रोलर सफ्टवेयर इन्टरफेस मानक समावेश गर्ने CMSIS फोल्डर fileआर्मबाट s। यी 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/घटक भित्र छन्:
IPS1025
ips1025h_32.h र ips1025h_32.c files ले IPS1025H-32 सँग इन्टरफेस गरिएका GPIO पिनहरूको लागि व्यापक ड्राइभर कार्यान्वयन प्रदान गर्दछ, जसमा सबै पिनहरू नियन्त्रण गर्ने र त्रुटिहरू पत्ता लगाउने पूर्ण कार्यक्षमता समावेश छ। यी files ले उपकरण सुरु गर्ने, च्यानल स्थिति सेट गर्ने र खाली गर्ने, गल्ती अवस्था पत्ता लगाउने, र PWM कार्यक्षमता व्यवस्थापन गर्ने कार्यहरू कार्यान्वयन गर्दछ। ड्राइभरले व्यक्तिगत च्यानल वा समूह दुवैको लागि पूर्ण क्षमताहरू सहित धेरै उपकरणहरू र च्यानलहरूलाई समर्थन गर्दछ।
CLT03
clt03_2q3.h र clt03_2q3.c files ले CLT03-2Q3 सँग इन्टरफेस गरिएका GPIO पिनहरूको लागि पूर्ण-विशेषतायुक्त ड्राइभर लागू गर्दछ, जसमा सबै पिन अवस्थाहरू पढ्नको लागि पूर्ण क्षमताहरू छन्। ड्राइभरले उपकरण सुरु गर्न, व्यक्तिगत च्यानल स्थिति पढ्न, र एकै साथ सबै च्यानलहरूको लागि स्थिति जानकारी प्राप्त गर्न कार्यहरू प्रदान गर्दछ। यसले धेरै उपकरण कन्फिगरेसनहरूलाई समर्थन गर्दछ र प्रभावकारी च्यानल व्यवस्थापनको लागि आन्तरिक स्थिति कायम राख्छ।
X-CUBE-ISO1 सफ्टवेयर API हरूलाई दुई प्रमुख स्रोतहरूमा विभाजन गरिएको छ files, जुन ISO1A1 सबफोल्डर भित्र छन्:
ISO1A1 को परिचय
ISO1A1 fileबोर्ड कन्फिगरेसन, कम्पोनेन्ट अन्तरक्रिया, र गल्ती व्यवस्थापनको लागि डिजाइन गरिएको API प्रकार्यहरूको एक विस्तृत सेट समावेश गर्दछ। यी प्रकार्यहरूले पढ्ने र लेख्ने कार्यहरू, गल्ती पत्ता लगाउने र अद्यावधिकहरूलाई सहज बनाउँछन्, र प्राथमिक API प्रकार्यहरूलाई समर्थन गर्न विभिन्न सहायक उपयोगिताहरू समावेश गर्दछन्। थप रूपमा, files ले LED नियन्त्रण, GPIO प्रारम्भिकीकरण, अवरोध ह्यान्डलिङ, र UART सञ्चारको लागि कार्यक्षमता प्रदान गर्दछ।
PWM API
PWM API ले PWM सिग्नलहरू सुरु गर्ने, कन्फिगर गर्ने, सुरु गर्ने र रोक्ने कार्यहरू प्रदान गर्दछ। यसले निर्दिष्ट टाइमर पिनहरूको लागि PWM फ्रिक्वेन्सी र ड्युटी साइकल सेट गर्न अनुमति दिन्छ, PWM सञ्चालनहरूमा सटीक नियन्त्रण सुनिश्चित गर्दै।
अनुप्रयोग फोल्डर
एप्लिकेसन फोल्डरमा मुख्य समावेश छ fileफर्मवेयरको लागि आवश्यक s, हेडर र स्रोत सहित files. तल विस्तृत विवरण दिइएको छ fileयो फोल्डरमा s:
- 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: प्रणाली प्रारम्भिकरण।
सफ्टवेयर आवश्यक स्रोतहरू
न्यूक्लियो उपकरणले GPIO मार्फत X-NUCLEO-ISO1A1 बोर्डलाई नियन्त्रण र सञ्चार गर्दछ। यसको लागि X-NUCLEO-ISO1A1 बोर्डमा समावेश औद्योगिक IO उपकरणहरूको इनपुट, आउटपुट, र गल्ती पत्ता लगाउन धेरै GPIO हरूको प्रयोग आवश्यक पर्दछ। थप विवरणहरू र जम्पर कन्फिगरेसनहरूको लागि हार्डवेयर प्रयोगकर्ता पुस्तिका UM3483 हेर्नुहोस्।
बोर्ड कन्फिगरेसन (board_config.h)
बोर्ड_कन्फिग.एच file बोर्ड कन्फिगरेसन अनुसार सफ्टवेयर कन्फिगर गर्न प्रयोग गरिएका स्रोतहरू र कन्फिगरेसनल म्याक्रोहरू परिभाषित गर्दछ। यसले दुई बोर्डहरू (जस्तै दुई बोर्डहरूको स्ट्याकिङ) ह्यान्डल गर्दछ।
सफ्टवेयर डिफल्ट कन्फिगरेसन X-NUCLEO-ISO1A1 एक्सपेन्सन बोर्डसँग पङ्क्तिबद्ध छ जसको जम्परहरू पूर्वनिर्धारित स्थितिमा छन्। X-NUCLEO-ISO1A1 को लागि सफ्टवेयरलाई यसको पूर्वनिर्धारित सेटिङमा कन्फिगर गर्न, board_config.h मा BOARD_ID_DEFAULT म्याक्रोलाई अनकमेन्ट गर्नुहोस्। file.
board_config.h मा रहेको BOARD_ID_ALTERNATE म्याक्रोलाई अनकमेन्ट गरेर सफ्टवेयर ALTERNATE कन्फिगरेसन सेट गरिएको छ। file र बोर्डमा जम्परको स्थान परिवर्तन गर्दै।
स्ट्याक-अप कन्फिगरेसनमा एकैसाथ दुई बोर्डहरू प्रयोग गर्न, BOARD_ID_DEFAULT र BOARD_ID_ALTERNATE दुवै म्याक्रोहरूलाई अनकमेन्ट गर्नुहोस् र एउटा बोर्डको जम्परहरू पूर्वनिर्धारित स्थितिमा र अर्को वैकल्पिक स्थितिमा छन् भनी सुनिश्चित गर्नुहोस्। ध्यान दिनुहोस् कि दुवै बोर्डहरू एउटै कन्फिगरेसनमा राख्नु (दुबै पूर्वनिर्धारित वा दुवै वैकल्पिक) सिफारिस गरिएको छैन र यसले अवांछित व्यवहार निम्त्याउन सक्छ।
एउटा मात्र बोर्ड चलाउँदा, सफ्टवेयर केवल एउटा कन्फिगरेसनको लागि कन्फिगर गरिएको छ र अर्को कन्फिगरेसनसँग सम्बन्धित म्याक्रो टिप्पणी गरिएको छ भनी सुनिश्चित गर्नुहोस्।

प्रि-स्केलरहरू
हामी उपयुक्त म्याक्रोहरू सेट गरेर PWM आउटपुटको लागि फरक फ्रिक्वेन्सी दायराहरू प्राप्त गर्न board_config.h मा प्रि-स्केलर मानहरू कन्फिगर गर्न सक्छौं। प्रि-स्केलर मान प्रयोग गर्न, सम्बन्धित म्याक्रोलाई अनकमेन्ट गर्नुहोस् र अरूलाई टिप्पणी गर्नुहोस्। पूर्वनिर्धारित रूपमा, DEFAULT_PRESCALAR प्रयोग गरिन्छ।
- प्रिस्केलर_१
- प्रिस्केलर_१
- पूर्वनिर्धारित_प्रेस स्केलर
प्रिस्केलर मानहरू टाइमरहरू प्रयोग भइरहेको बेला मात्र प्रयोग गरिन्छ, र कुनै पनि आधारभूत I/O सञ्चालनको लागि आवश्यक पर्दैन। प्रि-स्केलर म्याक्रोहरूको मानहरू र तिनीहरूको सम्बन्धित फ्रिक्वेन्सी दायराहरू कोड कागजातमा वा कोडमा नै हेर्न सकिन्छ।
मुटुको धड्कन एलईडी
हामी NUCLEO-G071RB बोर्डमा उचित जडानको परीक्षणको रूपमा हरियो प्रयोगकर्ता LED, D7 लाई मुटुको धड्कन शैलीमा झिम्काउन कन्फिगर गर्न सक्छौं। टिप्पणी नगरिएको बेला HEARTBEAT_LED म्याक्रोले NUCLEO मा जडान हुँदा X-NUCLEO-ISO1A1 मा हरियो LED झिम्काउँछ। यो १ सेकेन्डको लागि सक्रिय रहन्छ र २ सेकेन्डको लागि बन्द रहन्छ, टाइमरहरूले समयको हेरचाह गर्छन्। जब यो प्रयोग गरिँदैन वा LED हरू समावेश गर्ने कुनै पनि प्रकार्य कल गरिँदैन, म्याक्रो टिप्पणी नगरिएको हुनुपर्छ।
इनपुट र आउटपुट GPIO कन्फिगरेसन
प्रत्येक X-NUCLEO-ISO1A1 बोर्ड दुई इनपुट पोर्ट र दुई आउटपुट पोर्टहरूले सुसज्जित छ। दुई X-NUCLEO-ISO1A1 बोर्डहरूलाई एकअर्काको माथि स्ट्याक गरेर बोर्डको क्षमताहरू विस्तार गर्न सकिन्छ, जसले गर्दा चार डिजिटल इनपुट पोर्टहरू र चार डिजिटल आउटपुट पोर्टहरूको प्रयोग सक्षम हुन्छ। प्रदान गरिएको सफ्टवेयरमा व्यापक API हरू समावेश छन् जसले पोर्टहरू पढ्न, सेट गर्न र खाली गर्न सहज बनाउँछ। थप रूपमा, API हरूले सबै पोर्टहरूको एकैसाथ सेटिङ, पढ्न वा खाली गर्न अनुमति दिन्छ। API प्रकार्यहरूको बारेमा विस्तृत जानकारी कोड कागजातमा साथै यस कागजातको API खण्डमा उपलब्ध छ।

यहाँ उपसर्ग DI ले डिजिटल इनपुट पोर्टलाई जनाउँछ र DO ले डिजिटल आउटपुट पोर्टलाई जनाउँछ। वैकल्पिक कन्फिगरेसनको लागि, सफ्टवेयरले _alt प्रत्यय संलग्न भएको समान नामकरण परम्पराहरू प्रयोग गर्दछ।
निम्न तालिकाले विभिन्न IO पोर्टहरूसँग सम्बन्धित सफ्टवेयरमा परिभाषित GPIO म्याक्रोहरूको विवरण दिन्छ:
तालिका २. पूर्वनिर्धारित र वैकल्पिक सफ्टवेयर कन्फिगरेसनहरूको लागि आवंटित GPIO हरू
| नाम | कार्य | पूर्वनिर्धारित कन्फिगरेसन | वैकल्पिक कन्फिगरेसन |
| इनपुट पिन | इनपुट पिन १ | GPIOC, IA0_IN_1_PIN | GPIOD, IA0_IN_1_PIN |
| इनपुट पिन १ | GPIOD, IA1_IN_2_PIN | GPIOC, IA1_IN_1_PIN | |
| आउटपुट पिन | आउटपुट पिन १ | GPIOC, QA0_CNTRL_1_PIN | GPIOD, QA0_CNTRL_1_PIN |
| आउटपुट पिन १ | GPIOC, QA1_CNTRL_2_PIN | GPIOC, QA1_CNTRL_2_PIN | |
| गलत पिन | त्रुटि पिन १ | GPIOC, FLT1_QA0_2_OT_PIN | GPIOD, FLT1_QA0_1_OT_PIN |
| त्रुटि पिन १ | GPIOC, FLT2_QA0_2_OL_PIN | GPIOD, FLT2_QA0_1_OL_PIN | |
| त्रुटि पिन १ | GPIOC, FLT1_QA1_2_OT_PIN | GPIOC, FLT1_QA1_1_OT_PIN | |
| त्रुटि पिन १ | GPIOC, FLT2_QA1_1_OL_PIN | GPIOD, FLT2_QA1_2_OL_PIN | |
| कन्फिगरेसन म्याक्रो | बोर्ड_आईडी_डिफल्ट | बोर्ड_आईडी_वैकल्पिक |
टाइमर र PWM
X-CUBE-ISO1 फर्मवेयरमा विशिष्ट पिनहरूको लागि PWM संकेतहरू उत्पन्न गर्न टाइमरहरू प्रयोग गर्न सकिन्छ। पूर्वनिर्धारित रूपमा, TIM3 बाहेक टाइमरहरू सुरु हुँदैनन्। PWM संकेतहरू उत्पन्न गर्नु अघि सम्बन्धित टाइमरहरू सुरु गर्नुपर्छ र सम्बन्धित आउटपुट पोर्टहरू PWM मोडमा सुरु गर्नुपर्छ।
सामान्य GPIO इनपुट/आउटपुट अपरेशनहरूको लागि, कुनै पनि टाइमर वा आउटपुट पोर्ट कन्फिगर गर्न आवश्यक पर्दैन, किनकि यो पूर्वनिर्धारित रूपमा हेरचाह गरिन्छ। यद्यपि, यदि एक पटक आउटपुट पिनहरू PWM मोडमा सेट गरिसकेपछि, हामीले तिनीहरूलाई GPIO मोडमा पुन: कन्फिगर गर्न आवश्यक छ ताकि GPIO पिनको रूपमा प्रयोग गर्न सकियोस्।
नोट: जब आउटपुट पिनहरू PWM उत्पादनको लागि प्रयोग गरिँदैछ, GPIO आउटपुट असक्षम पारिएको हुन्छ, दुबै कार्यक्षमताहरू एकैसाथ कार्यान्वयन गर्न सकिँदैन। PWM प्रयोग पछि GPIO पुन: सक्षम गर्न, सबै पोर्टहरूलाई एकैचोटि GPIO को रूपमा कन्फिगर गर्न API प्रकार्य ST_ISO_BoardConfigureDefault() वा ST_ISO_InitGPIO() वा विशेष GPIO पोर्ट र पिनको साथ ST_ISO_Init_GPIO() लाई कल गर्न सकिन्छ।
माथि उल्लेख गरिएझैं, सफ्टवेयरले पूर्वनिर्धारित रूपमा एउटा टाइमर, TIM3 पनि प्रयोग गर्दछ, जुन प्रयोगकर्ताको LED समय, घडी, र UART समय कार्यान्वयनको लागि प्रयोग गरिन्छ। यो पूर्वनिर्धारित रूपमा १ सेकेन्डको अवधिको लागि कन्फिगर गरिएको छ।
हाम्रो कोडमा प्रत्येक पिनको लागि उपलब्ध टाइमरहरूको विवरण निम्न तालिकामा दिइएको छ:
तालिका ३. प्रत्येक पिनको लागि उपलब्ध टाइमरहरू
| पिन नाम | सफ्टवेयर प्रतिनिधित्व | टाइमर | टाइमर च्यानल | वैकल्पिक प्रकार्य |
| QA0_CNTRL_1_PIN को परिचय | QA_0 ले | TIM2 | टिम_च्यानल_४ | GPIO_AF2_TIM2 को बारेमा |
| QA1_CNTRL_2_PIN को परिचय | QA_1 ले | TIM1 | टिम_च्यानल_४ | GPIO_AF2_TIM1 को बारेमा |
| QA0_CNTRL_2_PIN को परिचय | QA_0_ALT को बारेमा | TIM1 | टिम_च्यानल_४ | GPIO_AF2_TIM1 को बारेमा |
| QA1_CNTRL_1_PIN को परिचय | QA_1_ALT को बारेमा | TIM17 | टिम_च्यानल_४ | GPIO_AF2_TIM17 को बारेमा |
फर्मवेयरको थप उपयोगिताहरू
फर्मवेयरमा X-NUCLEO-ISO1A1 मूल्याङ्कन बोर्डको कार्यक्षमता बढाउन थप उपयोगिताहरू समावेश छन्। जसमध्ये केही तल वर्णन गरिएका छन्।
UART
UART सञ्चार सुविधाले TeraTerm, PuTTY र अन्य समान अनुप्रयोगहरू जस्ता PC उपयोगिताहरू मार्फत बोर्ड स्थितिको वास्तविक-समय अनुगमन र डिबगिङ गर्न अनुमति दिन्छ। सफ्टवेयरले NUCLEO-G071RB बोर्डमा रहेको UART मार्फत UART डेटा प्रसारण सक्षम बनाउँछ। `ST_ISO_UART` प्रकार्यले UART मा विस्तृत बोर्ड स्थिति जानकारी पठाउँछ, जसमा प्रणाली अपटाइम, फर्मवेयर कन्फिगरेसन, र गल्ती स्थिति समावेश छ। यो डेटा हुन सक्छ। viewTeraTerm जस्ता कुनै पनि सिरियल पोर्ट अनुप्रयोग प्रयोग गरेर समर्थित। `ST_ISO_APP_DIDOandUART` प्रकार्यले डिजिटल इनपुट/आउटपुट अपरेशनहरूलाई UART सञ्चारसँग जोड्दछ, निर्दिष्ट अन्तरालहरूमा सबै इनपुट र आउटपुट च्यानलहरूको स्थिति प्रसारण गर्दछ। तल कन्फिगरेसन सेटिङहरू र निम्न रूपमा छन्:ampTeraTerm मा डेटा कसरी देखिन्छ भन्ने बारे जानकारी। पोर्टको नाम प्रयोग भइरहेको प्रणाली र सिरियल पोर्टको आधारमा फरक हुन सक्छ।


IO पिन मोड कन्फिगरेसन
IO पिन मोड कन्फिगरेसन उपयोगिताले प्रयोगकर्ताहरूलाई ST_ISO_BoardConfigure() प्रकार्य प्रयोग गरेर बोर्डको इनपुट र आउटपुट पोर्टहरू सेट गर्न अनुमति दिन्छ। यो प्रकार्यले दुई आउटपुट पोर्टहरू (QA0, QA1) र दुई इनपुट पोर्टहरू (IA0, IA1) लाई इनपुट/आउटपुट मोड, PWM आउटपुट मोड, वा अवरोध इनपुट मोडमा कन्फिगर गर्न समर्थन गर्दछ। प्यारामिटरहरू समायोजन गरेर र यो प्रकार्य कल गरेर, प्रयोगकर्ताहरूले विशेष आवश्यकताहरू पूरा गर्न बोर्डको IO कन्फिगरेसनलाई सजिलै अनुकूलित गर्न सक्छन्।
इनपुट/आउटपुट मोडमा, उपयोगिताले सामान्य-उद्देश्यीय डिजिटल सञ्चालनहरूको लागि GPIO पिनहरू सुरु गर्छ। PWM आउटपुट मोडमा, यसले सटीक PWM सिग्नल नियन्त्रणको लागि टाइमरहरू सेट अप गर्छ। अवरोध इनपुट मोडमा हुँदा, उपयोगिताले प्रतिक्रियाशील घटना-संचालित प्रोग्रामिङको लागि अनुमति दिँदै, अवरोधहरू ह्यान्डल गर्न पिनहरूलाई कन्फिगर गर्छ।
अवरोध ह्यान्डलिङ
FAULT संकेतहरू ह्यान्डल गर्नको लागि, सफ्टवेयरले सम्बन्धित अवरोध रेखाहरूलाई सक्षम बनाउँछ, जसले गर्दा प्रतिक्रियाशील घटना-संचालित प्रोग्रामिङको लागि अनुमति दिन्छ। एक अनुकूलित ह्यान्डलरलाई यी अवरोधहरूसँग मार्फत सम्बद्ध गर्न सकिन्छ।
API मा परिभाषित HAL_GPIO_EXTI_Rising_Callback प्रकार्य। सफ्टवेयरमा ST_ISO_BoardConfigure प्रकार्य मार्फत अवरोध मोडमा GPIO पिनहरू सुरु गर्ने र EXTI IRQ ह्यान्डलरहरूमा विशिष्ट कार्यहरू कन्फिगर गर्ने सुविधाहरू समावेश छन्। यसले प्रयोगकर्ताहरूलाई बोर्डले बाह्य घटनाहरूमा कसरी प्रतिक्रिया दिन्छ भनेर अनुकूलित गर्न अनुमति दिन्छ, यसले विभिन्न गल्ती अवस्थाहरू र ट्रिगरहरूलाई प्रभावकारी रूपमा व्यवस्थापन गर्न सक्छ भन्ने सुनिश्चित गर्दै।
APIs
X-CUBE-ISO1 सफ्टवेयर API ले X-NUCLEO-ISO1A1 बोर्डलाई नियन्त्रण र निगरानी गर्न PWM सिग्नल उत्पादन र GPIO सञ्चालनहरू सहित कार्यहरूको एक विस्तृत सेट प्रदान गर्दछ। 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 मा परिभाषित गरिएको छ। 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: दिइएको मोड्युल ID सँग निर्दिष्ट GPIO पिन सुरु गर्छ।
- ST_ISO_InitInterrupt: दिइएको मोड्युल ID सँग अवरोधको रूपमा निर्दिष्ट 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: दिइएको ढिलाइ र दोहोरिने गणनाको साथ निर्दिष्ट 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 प्रकार्यहरू क्रमशः र त्यसपछि तपाईंले ST_ISO_Start_PWM_Signal प्रकार्यलाई कल गरेर PWM सिग्नल सुरु गर्न सक्नुहुन्छ र ST_ISO_Stop_PWM_Signal लाई कल गरेर रोक्न सक्नुहुन्छ।
प्रकार्यलाई सम्बन्धित पिन नाम र उपलब्ध टाइमरहरू सहित कल गर्न आवश्यक छ, जसको विवरण तालिका ३ मा प्रदान गरिएको छ। फरक-फरक फ्रिक्वेन्सी र ड्युटी साइकलहरूसँग फरक-फरक आउटपुट च्यानलहरू सेटअप गर्न सकिन्छ; फ्रिक्वेन्सी वा ड्युटी साइकल परिवर्तन गर्दा अर्कोलाई असर गर्दैन, यो उस्तै रहन्छ।
प्रयोगकर्तालाई उपलब्ध API हरू बारे विस्तृत प्राविधिक जानकारी कम्पाइल गरिएको HTML मा पाउन सकिन्छ file सफ्टवेयर प्याकेजको "डकुमेन्टेसन" फोल्डर भित्र अवस्थित छ जहाँ सबै प्रकार्यहरू र प्यारामिटरहरू पूर्ण रूपमा वर्णन गरिएको छ।
आवेदन विवरण
प्रदर्शन अनुप्रयोगले धेरै साधारण प्रयोगका केसहरू लागू गर्दछ। st_iso_app र board_config fileबोर्ड र यसको अनुप्रयोग प्रकार्यहरू सेटअप र प्रयोग गर्नमा s ले महत्त्वपूर्ण भूमिका खेल्छ। यी प्रकार्यहरू प्रयोग गर्नु अघि बोर्ड र सफ्टवेयरको कन्फिगरेसन एकअर्कासँग सिङ्कमा छन् भनी सुनिश्चित गर्नुहोस्।
अनुप्रयोग कार्यहरू (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_DIDOandUART) मार्फत डिजिटल इनपुटबाट डिजिटल आउटपुट मिररिङ: यो प्रकार्यले ST_ISO_APP_UsecaseDIDO प्रकार्य जस्तै डिजिटल इनपुटहरूलाई डिजिटल आउटपुटमा मिरर गर्छ। थप रूपमा, यसले Nucleo उपकरणमा UART इन्टरफेस मार्फत बोर्ड स्थिति प्रसारण गर्दछ, स्थितिलाई अनुमति दिँदै viewटेरा टर्म जस्ता अनुप्रयोगहरू प्रयोग गरेर सिरियल पोर्टमा समर्थित।
- परीक्षण केस प्रकार्य (ST_ISO_APP_TestCase): यो प्रकार्यले बोर्ड कन्फिगरेसनको आधारमा परीक्षण र कार्यहरूको श्रृंखला प्रदर्शन गर्दछ। यसले गल्ती स्थिति जाँच गर्दछ, दुई डिजिटल इनपुट च्यानलहरूको स्थिति पढ्छ, र तिनीहरूको मानहरूमा आधारित कार्यहरू गर्दछ। यो प्रकार्यले बोर्डको कार्यसम्पादन र कार्यक्षमता द्रुत रूपमा मूल्याङ्कन गर्न र विभिन्न LED ढाँचाहरू मार्फत दृश्य प्रतिक्रिया प्राप्त गर्न मद्दत गर्दछ। board_config.h मा HEARTBEAT_LED म्याक्रो सुनिश्चित गर्नुहोस्। file उचित LED ढाँचाहरू अवलोकन गर्न टिप्पणी गरिएको छ।
- PWM उत्पादन (ST_ISO_APP_PWM _OFFSET): यो प्रकार्यले दुबै आउटपुट च्यानलहरूमा १ Hz को फ्रिक्वेन्सी र ५०% ड्युटी साइकलको साथ PWM सिग्नल सुरु गर्छ। यसले PWM सिग्नल सुरु गर्छ, फ्रिक्वेन्सी र ड्युटी साइकल सेट गर्छ, र निर्दिष्ट बोर्ड ID को लागि PWM सिग्नल सुरु गर्छ। PWM सिग्नल दुबै च्यानलहरू बीचको अफसेटको साथ उत्पन्न हुन्छ र त्यसैले तिनीहरू चरणमा छैनन्।
- गल्ती पत्ता लगाउने परीक्षण (ST_ISO_APP_FaultTest): यो प्रकार्यले स्मार्ट आउटपुट मोड्युल IPS1025 को इनबिल्ट डायग्नोस्टिक पिनहरूलाई मतदान वा अवरोध मोडमा मोटरिङ गरेर गल्ती पत्ता लगाउने मूल्याङ्कन गर्दछ। यसले गल्ती पत्ता लगाउने मोड कन्फिगर गर्दछ, गल्ती पत्ता लगाउने सुरुवात गर्दछ, र चयन गरिएको मोडको आधारमा गल्ती स्थिति संरचना अद्यावधिक गर्दछ। गल्तीहरू प्रभावकारी रूपमा पत्ता लगाउने र ह्यान्डल गर्ने बोर्डको विश्वसनीयता र सुरक्षा सुनिश्चित गर्न यो प्रकार्य महत्त्वपूर्ण छ। जब यो मतदान मोडमा हुन्छ, गल्ती स्थिति टाइमरको मद्दतले प्रत्येक सेकेन्डमा अद्यावधिक गरिन्छ र संरचना defaultBoardFaultStatus वा alternateBoardFaultStatus मा प्रतिबिम्बित हुन्छ। जब यो अवरोध मोडमा हुन्छ, गल्ती स्थिति गल्ती हुँदा मात्र अद्यावधिक हुन्छ, र यसले सम्बन्धित आउटपुट पोर्ट खाली गर्न सफ्टवेयरलाई ट्रिगर गर्दछ।
- PWM भिन्नता परीक्षण (ST_ISO_APP_PwmVariationTest): यो प्रकार्य बोर्ड कन्फिगरेसनको आधारमा विभिन्न आउटपुट च्यानलहरूमा PWM (पल्स चौडाइ मोड्युलेसन) संकेतहरूको भिन्नता परीक्षण गर्न डिजाइन गरिएको हो। यसले पूर्वनिर्धारित र वैकल्पिक बोर्ड कन्फिगरेसन दुवैको लागि PWM संकेतहरूलाई प्रारम्भ गर्दछ, तिनीहरूको फ्रिक्वेन्सी १०० हर्ट्जमा र प्रारम्भिक कर्तव्य चक्र ०% मा सेट गर्दछ। त्यसपछि प्रकार्यले कर्तव्य चक्रलाई ५% को वृद्धिमा ०% देखि १००% सम्म, र १००% बाट ०% सम्म ५% को कमीमा परिवर्तन गर्दछ, प्रत्येक चरण बीच २-सेकेन्ड ढिलाइको साथ। यो नियन्त्रित भिन्नताले पूर्वनिर्धारित बोर्डको लागि च्यानलहरू QA_0 र QA_1, र वैकल्पिक बोर्डको लागि QA_0_ALT र QA_1_ALT मा PWM संकेत व्यवहारको अवलोकन र मूल्याङ्कनको लागि अनुमति दिन्छ।
यी कन्फिगरेसनहरू पालना गरेर र प्रदान गरिएका एप्लिकेसन प्रकार्यहरू प्रयोग गरेर, तपाईंले विभिन्न प्रदर्शन प्रयोगका केसहरूको लागि X-NUCLEO-ISO1A1 बोर्डलाई प्रभावकारी रूपमा सेटअप र प्रयोग गर्न सक्नुहुन्छ।
प्रणाली सेटअप गाइड
हार्डवेयर विवरण
STM32 न्यूक्लियो प्लेटफर्म
STM32 Nucleo विकास बोर्डहरूले प्रयोगकर्ताहरूलाई समाधानहरू परीक्षण गर्न र कुनै पनि STM32 माइक्रोकन्ट्रोलर लाइनसँग प्रोटोटाइपहरू निर्माण गर्न सस्तो र लचिलो तरिका प्रदान गर्दछ।
Arduino® कनेक्टिभिटी सपोर्ट र ST मोर्फो कनेक्टरहरूले STM32 Nucleo ओपन डेभलपमेन्ट प्लेटफर्मको कार्यक्षमता विस्तार गर्न सजिलो बनाउँछन् जसमा छनौट गर्नका लागि विशेष विस्तार बोर्डहरूको विस्तृत दायरा छ।
STM32 न्यूक्लियो बोर्डलाई अलग-अलग प्रोबहरू आवश्यक पर्दैन किनकि यसले ST-LINK/V2-1 डिबगर/प्रोग्रामरलाई एकीकृत गर्दछ।
STM32 Nucleo बोर्ड व्यापक STM32 सफ्टवेयर HAL पुस्तकालयको साथमा विभिन्न प्याकेज गरिएको सफ्टवेयरको साथ आउँछ।ampलेस।

STM32 न्यूक्लियो बोर्ड सम्बन्धी जानकारी यहाँ उपलब्ध छ www.st.com/stm32nucleo
X-NUCLEO-ISO1A1 विस्तार बोर्ड
X-NUCLEO-ISO1A1 STM32 न्यूक्लियो बोर्ड विस्तार गर्न र माइक्रो-PLC कार्यक्षमता प्रदान गर्न डिजाइन गरिएको पृथक औद्योगिक इनपुट/आउटपुट भएको मूल्याङ्कन बोर्ड हो। GPIO इन्टरफेसहरूमा द्वन्द्वबाट बच्न विस्तार बोर्डमा जम्परहरूको उपयुक्त चयनको साथ X-NUCLEO-ISO1A1 बोर्डहरू मध्ये दुईलाई STM32 न्यूक्लियो बोर्डको माथि एकसाथ स्ट्याक गर्न सकिन्छ। 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 सफ्टवेयर प्याकेज प्रयोग गरेर अनबोर्ड IC हरूको द्रुत मूल्याङ्कन गर्न अनुमति दिन्छ।

हार्डवेयर सेटअप
निम्न हार्डवेयर घटकहरू आवश्यक छन्:
- एउटा STM32 न्यूक्लियो विकास प्लेटफर्म (सुझाव गरिएको अर्डर कोड: NUCLEO-GO71RB)
- एउटा औद्योगिक डिजिटल आउटपुट विस्तार बोर्ड (अर्डर कोड: X-NUCLEO-ISO1A1)
- STM32 न्यूक्लियोलाई पीसीमा जडान गर्न एउटा USB टाइप A देखि माइक्रो USB केबल
- X-NUCLEO-ISO1A1 विस्तार बोर्ड आपूर्ति गर्न बाह्य पावर सप्लाई (२४ V) र सम्बन्धित तारहरू।
सफ्टवेयर सेटअप
X-NUCLEO-ISO32A1 विस्तार बोर्डले सुसज्जित STM1 Nucleo को लागि अनुप्रयोगहरू सिर्जना गर्न उपयुक्त विकास वातावरण सेटअप गर्न निम्न सफ्टवेयर घटकहरू आवश्यक पर्दछ:
- X-CUBE-ISO1: STM32Cube को लागि विस्तार जुन अनुप्रयोग विकासमा समर्पित छ जसलाई X-NUCLEO-ISO1A1 बोर्डको प्रयोग आवश्यक पर्दछ। X-CUBE-ISO1 फर्मवेयर र सम्बन्धित कागजातहरू मा उपलब्ध छन् www.st.com
- विकास उपकरण श्रृंखला र कम्पाइलर: STM32Cube विस्तार सफ्टवेयरले निम्न तीन वातावरणहरूलाई समर्थन गर्दछ:
- ARM® (IAR-EWARM) टूलचेनको लागि IAR इम्बेडेड वर्कबेन्च
- वास्तविकView माइक्रोकन्ट्रोलर विकास किट (MDK-ARM-STM32) टूलचेन
- STM32CubeIDE।
बोर्ड सेटअप
बोर्डलाई हार्डवेयर प्रयोगकर्ता पुस्तिका (UM3483) मा निर्दिष्ट गरिए अनुसार उपयुक्त जम्पर सेटिङहरूसँग कन्फिगर गरिएको हुनुपर्छ। उचित कार्यक्षमता सुनिश्चित गर्न र सम्भावित समस्याहरूबाट बच्न यी दिशानिर्देशहरूलाई ध्यानपूर्वक पालना गर्नु आवश्यक छ।
प्रणाली सेटअप गाइड
यस खण्डले X-NUCLEO-ISO32A071 विस्तार बोर्डको साथ STM1 Nucleo, NUCLEO-G1RB बोर्डमा अनुप्रयोग विकास र कार्यान्वयन गर्नु अघि विभिन्न हार्डवेयर भागहरू कसरी सेटअप गर्ने भनेर वर्णन गर्दछ।


X-CUBE-ISO1 विस्तार प्याकेजको लागि सेटअप
X-NUCLEO-ISO1A1 तपाईंले बोर्ड चलाउने कन्फिगरेसनको आधारमा विशिष्ट जम्पर पोजिसनहरूसँग कन्फिगर गरिएको हुनुपर्छ। जसको विवरण हामी हार्डवेयर म्यानुअलमा थप हेर्न सक्छौं।
- चरण 1। मोर्फोकनेक्टरहरू मार्फत X-NUCLEO-ISO1A1 एक्सपेन्सन बोर्डलाई STM32 न्यूक्लियोको माथि प्लग गर्नुहोस्।
यदि तपाईं एकअर्काको माथि दुई बोर्डहरू प्रयोग गर्दै हुनुहुन्छ भने, चित्र ११ मा जस्तै तिनीहरूलाई स्ट्याक गर्नुहोस्। - चरण 2। बोर्डलाई पावर गर्न USB कनेक्टर CN1 मार्फत USB केबलको साथ STM32 न्यूक्लियो बोर्डलाई PC मा जडान गर्नुहोस्।
- चरण 3। J1 लाई २४V DC पावर सप्लाईमा जडान गरेर X-NUCLEO-ISO1A1 एक्सपेन्सन बोर्ड(हरू) लाई पावर अन गर्नुहोस्। यदि स्ट्याक्ड बोर्डहरू प्रयोग गर्दै हुनुहुन्छ भने, दुबै बोर्डहरू पावरमा छन् भनी सुनिश्चित गर्नुहोस्।
- चरण 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 न्यूक्लियो बोर्डको मेमोरीमा लोड गर्नुहोस्।
- चरण 8। STM32 न्यूक्लियो बोर्डमा कोड चलाउनुहोस् र अपेक्षित व्यवहार प्रमाणित गर्नुहोस्।
संशोधन इतिहास
तालिका 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 सफ्टवेयर विस्तार, सफ्टवेयर विस्तार |

