STMicroelectronics UM2882 C पावर डेलिभरी डुअल पोर्ट एडाप्टर किट प्रयोगकर्ता म्यानुअल
परिचय
STSW-2STPD01 सफ्टवेयर प्याकेजले STEVAL-2STPD01 USB Type-C™ पावर डेलिभरी डुअल पोर्ट एडाप्टर किटको क्षमताहरू प्रदर्शन गर्न डिजाइन गरिएको अनुप्रयोग स्रोत कोड र पुस्तकालयहरू समावेश गर्दछ।
एप्लिकेसन फर्मवेयर मुख्यधारा ARM® Cortex®-M0+ 32-bit STM32G071RBT6 माइक्रोकन्ट्रोलरमा चल्छ जुन STEVAL-071STPD2 किटमा समावेश गरिएको NUCLEO-G01RB मा इम्बेड गरिएको छ। विशेष STM32CubeG0 USB PD 3.0 मिडलवेयर स्ट्याकको लागि धन्यवाद, किट USB Type-C 2.1 र Power Delivery 3.1 विशिष्टताहरूसँग अनुरूप छ।
सफ्टवेयर प्याकेजले STPD01 DC DC कन्भर्टर र TCPP02-M18 सुरक्षाका फर्मवेयर ड्राइभरहरू समावेश गर्दछ जसले दुई USB टाइप-सी पोर्टहरू प्रबन्ध गर्दछ र समर्पित एपीआईहरूको सेट मार्फत माइक्रोकन्ट्रोलरद्वारा संचालित हुन्छ।
STSW-2STPD01 ले दुईवटा सफ्टवेयर आईपीहरू (पावर सेयरिङ र पावर मनिटर मोड्युलहरू) इम्बेड गर्दछ जसले STM32G071RBT6 माइक्रोकन्ट्रोलरलाई दुई पोर्टहरू मार्फत इनपुट पावर बजेट अप्टिमाइज गर्न अनुमति दिन्छ। STM32CubeMonUCPD GUI प्रयोग गरेर, पावर सेयरिङ मोड्युलले इनपुट पावर रेटिङ सेट गर्न अनुमति दिन्छ (इनपुट भोल्युमको रूपमाtage र विद्युत आपूर्ति द्वारा डेलिभर गरिएको वर्तमान), सक्षम बनाउँदै, प्रत्येक पोर्टको लागि, निश्चित मूल्याङ्कनका लागि वार्ता योग्य PDOs। यसले माइक्रोकन्ट्रोलरलाई प्रत्येक USB Type-C पोर्टसँग सम्बन्धित दुई STPD01 DC-DC कन्भर्टरहरू प्रबन्ध गर्न र स्पष्ट अनुबंधमा वार्ता गरिएको पावर अनुसार उपलब्ध आउटपुटलाई गतिशील रूपमा ह्यान्डल गर्न अनुमति दिन्छ।
अधिकतम इनपुट पावर रेटिङ (24 V, 6 A) मा, एप्लिकेसन फर्मवेयरले एडाप्टर किटलाई प्रत्येक पोर्टको लागि चार निश्चित PDOs डेलिभर गर्न सक्षम बनाउँछ: 5 V मा 3 A, 9 V मा 3 A, 15 V मा 3 A, 20 V ३ ए मा।
माथिview
STSW-2STPD01 सफ्टवेयर प्याकेज सुविधाहरू:
- ARM® Cortex®-M32+ 0-bit STM32G32RBT0 माइक्रोकन्ट्रोलरमा चलिरहेको STM0G32 श्रृंखलाको लागि STM32CubeG071 STM6Cube MCU प्याकेजमा आधारित USB PD मिडलवेयर स्ट्याक
- पावर मनिटर मोड्युल सहित सफ्टवेयर आईपी
- पावर साझेदारी मोड्युल सहित सफ्टवेयर आईपी
सम्बन्धित लिङ्कहरू
UM2552: "STM32 माइक्रोकन्ट्रोलरहरूसँग USB पावर वितरण प्रणालीहरू प्रबन्ध गर्दै"
USB पावर डेलिभरी सम्बन्धी सान्दर्भिक गाइडहरू र स्रोतहरूको लागि विकी पृष्ठमा जानुहोस्
वास्तुकला
STSW-2STPD01 वास्तुकला विभिन्न स्तरहरूमा व्यवस्थित गरिएको छ, निम्न चित्रमा देखाइएको छ।

- हार्डवेयर अमूर्तता
- STM32CubeG0 HAL - STM32G0 माइक्रोकन्ट्रोलरको लागि निर्दिष्ट उपकरण पुस्तकालयहरू समावेश गर्ने हार्डवेयर एब्स्ट्रेक्शन लेयर
- बोर्ड समर्थन प्याकेज - STEVAL-2STPD01 र मुख्य एकीकृत उपकरणहरू (STPD01 र TCPP02-M18) को सबै फर्मवेयर ड्राइभरहरू ह्यान्डल गर्न तह सफ्टवेयर र API हरू।
- मिडलवेयर
- USB PD पुस्तकालय - विभाजित:
- कोर - स्रोत कोड र कम्पाइल गरिएको पुस्तकालयको रूपमा प्रदान गरिएको र ST USB PD मिडलवेयर स्ट्याक मुख्य ब्लकहरू समावेश:
- DPM कोर - मुख्य राज्य मेशिनहरू र एप्लिकेसन तह लिङ्क गर्न APIs समावेश
- नीति इन्जिन - एक विशिष्ट USB PD पोर्टको लागि स्थानीय नीति लागू गर्न
- प्रोटोकल लेयर - स्रोत पोर्ट र सिंक पोर्ट बीच सन्देशहरू आदान प्रदान गर्न सक्षम गर्न
- यन्त्र - STM32CubeG0 MCU को लागि अनुकूलन तह समावेश:
- भौतिक तह - तार र डाटा प्रसारणमा बिट्सको प्रसारण र रिसेप्शन ह्यान्डल गर्न
- USB-C पोर्ट नियन्त्रण - Type-C पत्ता लगाउने अवस्था मेसिनहरू ह्यान्डल गर्न
- FreeRTOS - कार्यहरू, लामहरू, सेमाफोरहरू, इत्यादिका साथै अनुसूचक कार्यहरूसँग काम गर्न धेरै API हरू समावेश गर्दछ।
- आवेदन
- यन्त्र नीति प्रबन्धक - उपकरण स्थानीय नीतिमा आधारित एक वा बढी पोर्टहरूमा यन्त्र भित्र USB PD स्रोतहरू व्यवस्थापन गर्न।
- पावर मनिटर - निगरानी गर्न, उच्च स्तरमा, भोल्युम प्राप्त गर्ने बस स्थितिtagई-वर्तमान जोडी र पहुँच घटनाहरू (सूचनाहरू र त्रुटिहरू)
- पावर सेयरिङ - इनपुट पावर बजेटबाट सुरु गरी प्रत्येक पोर्टको अपरेटिभ स्थितिलाई विचार गर्दै दुई पोर्टहरू बीचको पावर व्यवस्थापन र वितरण गर्नको लागि विशिष्ट आईपी।
सम्बन्धित लिङ्कहरू
UM2552: "STM32 माइक्रोकन्ट्रोलरहरूसँग USB पावर वितरण प्रणालीहरू प्रबन्ध गर्दै" 4 कार्यस्थान
परियोजना फोल्डर संरचना
निम्न चित्रले परियोजना मुख्य देखाउँछ file संगठन र सम्बन्धित फोल्डर संरचना।
चित्र १। परियोजना फोल्डरहरू र file संगठन
- BSP र मोड्युलहरू
- HAL चालकहरू
- USB PD स्ट्याक लाइब्रेरी
- FreeRTOS स्रोत कोड
- उपयोगिता संग्रह

आवेदन
अनुप्रयोग प्रयोगकर्ता कोड विभाजित छ:
- आवेदन files, मुख्य र प्रणाली समावेश files (तलको चित्रमा बिन्दु भएको निलो रेखाहरूसँग हाइलाइट गरिएको)
- USB PD प्रयोगकर्ता files (तलको चित्रमा डटेड बैजनी रेखाहरूसँग हाइलाइट गरिएको) प्रयोगकर्ता सेटिङहरू र पुस्तकालय कन्फिगरेसनमा समर्पित।

मुख्य र प्रणाली files
तालिका १। मुख्य र प्रणाली files
| File नाम | विवरण |
| Main.c/.h | फर्मवेयर अनुप्रयोग प्रविष्टि बिन्दु जसले हार्डवेयर/फर्मवेयर कन्फिगरेसन र बुट अनुक्रम व्यवस्थापन गर्न अनुमति दिन्छ |
| FreeRTOSConfig.h | FreeRTOS कन्फिगरेसन हेडर file |
| stm32g0xx_it.c / .h | नियमित सेवा अवरुद्ध files |
| system_stm32g0xx.c | प्रणाली प्याकेज file (०३०३२५) |
| stm32g0xx_hal_conf.h | HAL कन्फिगरेसन हेडर file |
थप विवरणहरूको लागि STM32Cube हेर्नुहोस्।
USB PD प्रयोगकर्ता files
यी प्रयोगकर्ता अनुप्रयोग fileSTM32G32 को लागि STM0Cube MCU प्याकेजको साथ प्रदान गरिएको USB PD लाइब्रेरी कन्फिगर गर्नुहोस् र आवश्यक कलब्याक/ह्यान्डलरहरू लागू गर्नुहोस्।
तालिका १। USB PD प्रयोगकर्ता files
| File नाम | विवरण |
| usbpd.c / .h | USB PD प्रयोगकर्ता file पुस्तकालय कन्फिगरेसन, GUI प्रारम्भिकरण र संस्करण समावेश |
| usbpd_devices_conf.h | USB PD प्रयोगकर्ता file यन्त्र समावेश परिभाषित गर्दछ |
| usbpd_dpm_conf.h | USB PD DPM कन्फिगरेसन file Type-C पोर्ट, VID, PID, आदि सक्षम पार्दै। |
| usbpd_dpm_user.c / .h | DPM प्रयोगकर्ता कार्यान्वयन files मा USB PD स्ट्याक लाइब्रेरी कोरबाट र आवश्यक पर्ने सबै सूचना कलब्याकहरू समावेश छन् |
| usbpd_gui_memmap.h | GUI फ्लैश मेमोरी कन्फिगरेसन |
| File नाम | विवरण |
| usbpd_pdo_defs.h | PDO परिभाषाहरू |
| usbpd_pwr_if.c / .h | पावर इन्टरफेस fileVBUS अन/अफ गर्न, नयाँ प्रो सेट गर्नका लागि सबै API हरू समावेश छन्file र बस स्थिति जाँच गर्नुहोस् |
| usbpd_power_monitor_app.c / .h | पावर मोनिटर मोड्युल प्रविष्टि-पोइन्ट कलब्याकहरू लागू गर्न र पावर, गल्ती वा महत्वपूर्ण अवस्थाहरू व्यवस्थापन गर्न अनुप्रयोग रणनीति |
| usbpd_power_sharing_app.c / .h | कलब्याक र कन्फिगरेसन लागू गर्न पावर सेयरिङ मोड्युल प्रविष्टि-पोइन्ट |
| tracer_emb_conf.h | एम्बेडेड ट्रेसर कन्फिगरेसन file |
USBPD DPM प्रयोगकर्ता
USBPD DPM प्रयोगकर्ताले समावेश गर्दछ:
- USB PD स्ट्याकबाट बोलाइएका प्रकार्यहरू, USB Type-C र पावर डेलिभरी घटनाहरू कन्फिगर गर्न र सूचित गर्न प्रयोग गरिन्छ (तालिका ३ हेर्नुहोस्);
- विविध कलब्याक र प्रकार्यहरू, सेवा प्रकार्यहरू र USBPD DPM API को रूपमा उपलब्ध जेनेरिक कलब्याकहरू समावेश;
- PE मेसेजिङ प्रकार्यहरूमा र्यापर, जसले प्रयोगकर्ता अनुप्रयोगलाई विशेष USB PD नियन्त्रण वा पोर्ट साझेदारलाई डेटा सन्देशहरू पठाउन अनुमति दिने प्रकार्यहरूको सेट (जस्तै USBPD_DPM_RequestGotoMin लाई न्यूनतम पोर्ट जोड्नको लागि)।
तालिका १। सान्दर्भिक USBPD_DPM_User प्रकार्यहरू
| प्रकार्य नाम | विवरण |
| USBPD_DPM_UserInit | DPM प्रयोगकर्ता प्रारम्भिकरण |
| USBPD_DPM_UserExecute | अलर्टहरू व्यवस्थापन गर्न DPM प्रयोगकर्ता कार्य |
| USBPD_DPM_UserCableDetection | केबल अधिसूचना ह्यान्डलर, संलग्न/पृथक प्रबन्ध, केबल प्रकार खोज |
| USBPD_DPM_UserTimerCounter | DPM समय व्यवस्थापन |
| USBPD_DPM_WaitForTime | USB PD कोरमा प्रयोग गरिएको ढिलाइको कार्यान्वयन; यो प्रयोग गर्दछ
CMSIS द्वारा प्रदान गरिएको osDelay |
| USBPD_DPM_SetupNewPower | USB PD कोरबाट आउने पावर अनुरोधहरूको लागि इन्टरफेस |
| USBPD_DPM_HardReset | हार्ड रिसेट स्टेट मेसिन कलब्याक कार्यान्वयन, HR प्रक्रियाको बखत BUS र सम्बन्धित सन्देश व्यवस्थापन गर्न प्रयोग गरियो |
| USBPD_DPM_सूचना | PE द्वारा प्रदान गरिएको सूचना ह्यान्डल गर्न कलब्याक (अर्थात जब स्पष्ट सम्झौता पुग्छ) |
| USBPD_DPM_GetDataInfo | DPM डाटा/कन्फिगरेसन पुन: प्राप्त गर्न |
| USBPD_DPM_SetDataInfo | DPM डाटा/कन्फिगरेसन सेट गर्न |
| USBPD_DPM_EvaluateRequest | सिंक साझेदारबाट स्थानीय नीति मूल्याङ्कन अनुरोधहरू सुनिश्चित गर्नुहोस् जुन अस्वीकार वा स्वीकार गर्न सकिन्छ |
| USBPD_DPM_EnterErrorRecovery | PE लाई ERROR_RECOVERY स्थितिमा प्रवेश गर्न अनुमति दिन DPM कलब्याक |
| USBPD_DPM_RequestHardReset | हार्ड रिसेट पठाउन PE लाई अनुरोध गर्नुहोस् |
| USBPD_DPM_RequestGotoMin | PE लाई GO_TO_MIN सन्देश पठाउन अनुरोध गर्नुहोस् |
| USBPD_DPM_RequestMessageRequest | PE लाई अनुरोध सन्देश पठाउन अनुरोध गर्नुहोस् |
| USBPD_DPM_RequestGetSinkCapability | PE लाई GET_SINK_CAPABILITY सन्देश पठाउन अनुरोध गर्नुहोस् |
| DPM_TurnOffPower | पावर बन्द गर्न |
| DPM_TurnOnPower | पावर अन गर्न |
USBPD पावर मनिटर
पावर मोनिटर अनुप्रयोगले पावर मनिटर मोड्युलमा आवश्यक कलब्याकहरू परिभाषित गर्दछ। सबै स्थिर प्रकार्यहरू अनुकूलन एरेमा भण्डारण गरिएका छन् file र प्रारम्भिक समयमा मोड्युलमा पास गरियो।

कार्य। अन्य प्रकार्यहरू मोनिटर कार्यका लागि प्रयोग गरिन्छ जसले प्रणाली स्थिति जाँच गर्दछ, घटनाहरू प्राप्त गर्दछ (न्यूनतम विलम्बताको साथ) र प्रयोगकर्ता स्तरमा गल्ती र महत्वपूर्ण अवस्थाहरू सूचित गर्दछ। यस मोड्युलमा, शक्तिमा कुनै प्रत्यक्ष कार्य प्रदर्शन गरिएको छैन।
तालिका १। पावर मोनिटर घटक files
| कार्य | कलब्याक | विवरण |
|
नियन्त्रण कार्य |
PM_ReadData_Handler | VBUS र IBUS डेटा पढ्छ |
| PM_NotifyData_Handler | डाटालाई मोड्युलमा सूचित गर्दछ (पढिसकेपछि बोलाइन्छ) | |
|
निगरानी कार्य |
PM_CheckStatus_Handler |
स्थिति कलब्याक र सम्पूर्ण प्रणाली जाँच गर्दछ, overcurrent/PGood नियन्त्रण रणनीति लागू गर्दछ र ERR वा OK फर्काउँछ। यो कलब्याक आवधिक कार्यहरू गर्न डिजाइन गरिएको हो |
|
PM_FaultCondition_Handler |
त्रुटि अवस्था कलब्याक, ERR को मामलामा र त्रुटिहरू समाधान गर्न र व्यवस्थापन गर्न बोलाइन्छ। यदि यो प्रकार्यले ERR फर्काउँछ भने, गम्भीर अवस्था सूचित गरिन्छ। पोर्ट सुरक्षित मोडमा सारियो (VBUS छैन) र USB PD जडान रिसेट गरिएको छ | |
| PM_Critical Condition_Handler | पोर्टलाई सुरक्षित मोडमा राख्नको लागि गम्भीर अवस्था कलब्याक र फेरि सुरु गर्न पावर साइकल आवश्यक छ |
विक्रेता जानकारी file (VIF)
विक्रेता जानकारी file (VIF) समाधान परीक्षण गर्न प्रयोग गरिएको पनि अनुप्रयोग फोल्डरमा समावेश गरिएको छ।
द file USB-IF अनुपालन परीक्षण उपकरणहरूसँग परीक्षण गतिविधि सही रूपमा चलाउनको लागि सबै बोर्ड सेटअप जानकारी समावेश गर्दछ।
थप अनुकूलनको लागि समाधान परीक्षण गर्न सजिलो बनाउन सफ्टवेयर प्याकेजमा VIF समावेश गरिएको छ।
चालकहरू
ड्राइभर फोल्डरमा समावेश छ:
- बोर्ड समर्थन प्याकेज (BSP) जसमा STPD01 र TCPP02-M18 कम्पोनेन्ट स्रोत कोडहरू, साथै NUCLEO-G071RB र STEVAL-2STPD01 BSP समावेश छन्। files;
- कोर्टेक्स माइक्रोकन्ट्रोलर सफ्टवेयर इन्टरफेस मानक (CMSIS) STM32G071RB माइक्रोकन्ट्रोलर स्टार्ट-अप समावेश file;
- STM32G0xx हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL) जसले I/O पोर्टहरू, अवरोधहरू, टाइमरहरू र सञ्चार जस्ता परिधीय उपकरणहरू कन्फिगर र व्यवस्थापन गर्न ड्राइभर समावेश गर्दछ।
बसपा
BSP को प्रत्येक मोड्युलले उपलब्ध हार्डवेयरको सफ्टवेयर एब्स्ट्र्यासन सिर्जना गरी प्रणालीको एक विशेष सुविधा व्यवस्थापन गर्दछ।
कम्पोनेन्ट files
यो सब-फोल्डरले STPD01 र TCPP02-M18 यन्त्रहरूको कम्पोनेन्ट ड्राइभरहरू समावेश गर्दछ।
तालिका १। STPD01 घटक files
| File नाम | विवरण |
| stpd01.c / .h | STPD01 उपकरण अमूर्त तह |
| stpd01_reg.c / .h | STPD01 I²C दर्ता संचार तह |
तालिका १। TCPP02-M18 कम्पोनेन्ट files
| File नाम | विवरण |
| tcpp0203.c / .h | TCPP02-M18 उपकरण अमूर्त तह |
| tcpp0203_reg.c / .h | TCPP02-M18 I²C दर्ता संचार तह |
नोट: घटक fileतालिका 6 मा वर्णन गरिएको s मा TCPP03-M20 उपकरणको लागि तहहरू पनि समावेश छन् जुन STEVAL-2STPD01 किटमा इम्बेड गरिएको छैन।
STM32G0xx_NUCLEO फाइल
stm32g0xx_nucleo.c file प्रस्तावित एप्लिकेसनमा सीधै जडान नभएको अन्य साना फर्मवेयर प्रकार्यहरूको सेट समावेश गर्दछample।
STEVAL-2STPD01 files
तलको तालिकाले मुख्य कन्फिगरेसनलाई सूचीबद्ध गर्दछ files विस्तार बोर्ड हार्डवेयर को अमूर्त तह गठन
तालिका १। STEVAL-2STPD01 विस्तार बोर्ड घटक files
| File नाम | विवरण |
| steval-2stpd01.c / .h | मुख्य प्रविष्टि file र साधारण परिभाषा, BSP तह सुरु गर्न प्रयोग गरिन्छ |
| steval-2stpd01_bus.c / .h | बस हार्डवेयर स्रोतहरू |
| steval-2stpd01_conf.h | मुख्यको लागि पिन-आउट कन्फिगरेसन र परिधीय पहिचान file (USBC परिधीय, GPIO प्रयोग गरिएको) |
| steval-2stpd01_errno.h | त्रुटि प्रकारहरूको परिभाषा |
| steval-2stpd01_stpd01.c / .h | एपीआई प्रकार्यहरू दुवै प्रारम्भ र व्यवस्थापन गर्न STPD01 अवयवहरू |
| steval-2stpd01_stpd01_conf.h | मुख्यको लागि पिन-आउट कन्फिगरेसन र परिधीय पहिचान file: द STPD01 संचार परिधीय र GPIO पिन प्रयोग गरियो |
| steval-2stpd01_tcpp02.c / .h | एपीआई प्रकार्यहरू दुवै प्रारम्भ र व्यवस्थापन गर्न TCPP02-M18 अवयवहरू |
| steval-2stpd01_tcpp02_conf.h | मुख्यको लागि पिन-आउट कन्फिगरेसन र परिधीय पहिचान file: द TCPP02-M18 संचार परिधीय र GPIO पिन प्रयोग गरियो |
| steval-2stpd01_usbpd_pwr.c / .h | पावर व्यवस्थापन र चार खण्डहरूमा विभाजन गर्न प्रयोग गरिन्छ: VBUS, VCONN, मनिटर र संरक्षण |
CMSIS
यस डाइरेक्टरीमा रहेको Cortex Microcontroller Software Interface Standard (CMSIS) ड्राइभर लाइब्रेरी Arm® Cortex® प्रोसेसरहरूमा आधारित माइक्रोकन्ट्रोलरहरूको लागि हार्डवेयर एब्स्ट्रेक्शन लेयर हो। यसले प्रोसेसर र यसको बाह्य उपकरणहरूको लागि उपकरण समर्थन र सफ्टवेयर इन्टरफेस सक्षम गर्दछ।
यस सफ्टवेयर प्याकेजको लागि, CMSIS ले FreeRTOS को र्यापरको रूपमा RTOS सेवाहरू प्रदान गर्दछ।
सम्बन्धित लिङ्कहरू
STM32CubeMX मा उपलब्ध CMSIS सफ्टवेयर प्याकहरू बारे थप विवरणहरूको लागि, STM1718 कन्फिगरेसन र प्रारम्भिक C कोड उत्पादनको लागि UM32: STM32CubeMX हेर्नुहोस्।
STM32G071RBT6 हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL) ड्राइभरहरू
HAL ड्राइभरहरू उप-फोल्डरमा प्रयोग गर्नका लागि तयार API हरू छन् जसले STM32 परिधीयहरूको सेटको लागि प्रयोगकर्ता अनुप्रयोग कार्यान्वयनलाई सरल बनाउँछ।
STM32G071RBT6 HAL ड्राइभर लेयरले माथिल्लो तह (एप्लिकेशन, लाइब्रेरीहरू र स्ट्याकहरू) सँग अन्तरक्रिया गर्न API हरू (एप्लिकेशन प्रोग्रामिङ इन्टरफेस) को सरल, जेनेरिक बहु उदाहरण सेट प्रदान गर्दछ।
सम्बन्धित लिङ्कहरू
STM32G0 HAL ड्राइभरहरूमा थप विवरणहरूको लागि, UM2319 हेर्नुहोस्: STM32G0 HAL र कम-लेयर ड्राइभरहरूको विवरण।
मिडलवेयर
USB-PD पुस्तकालय
USB-PD पुस्तकालय STM32CubeG0 MCU विस्तार प्याकेजमा होस्ट गरिएको मिडलवेयर स्ट्याक हो। यसले पुस्तकालयहरू, ड्राइभरहरू, स्रोतहरू, एपीआईहरू र अनुप्रयोगहरू समावेश गर्दछampधेरै STM32 32-बिट माइक्रोकन्ट्रोलरहरूमा चलिरहेको छ।
सम्बन्धित लिङ्कहरू
STM32G0 माइक्रोकन्ट्रोलर USB PD मा थप विवरणहरूको लागि, UM2552 हेर्नुहोस्: "STM32 माइक्रोकन्ट्रोलरहरूसँग USB पावर वितरण प्रणालीहरू प्रबन्ध गर्नुहोस्"
FreeRTOS
FreeRTOS माइक्रोकन्ट्रोलर र साना माइक्रोप्रोसेसरहरूको लागि व्यापक रूपमा ज्ञात वास्तविक-समय अपरेटिङ सिस्टम (RTOS) हो।
यसले कार्यहरू, लामहरू, सेमाफोरहरू, इत्यादिका साथै अनुसूचक कार्यहरूसँग काम गर्न धेरै API हरू प्रस्ताव गर्दछ।
एप्लिकेसन विभिन्न तहहरूमा परिभाषित गरिएका धेरै कार्यहरूमा सेट गरिएको छ जसले विशिष्ट कार्यहरू गर्दछ: USB PD स्ट्याक स्तरमा, सबैभन्दा सान्दर्भिक कार्यहरू टाइप-सी केबल पत्ता लगाउने र नीति इन्जिनले मेसिन व्यवस्थापनलाई राज्य गर्दछ।
DPM स्तरमा अलर्टहरू व्यवस्थापन गर्न थप कार्य सिर्जना गरिएको छ।
प्रणाली अनुगमन संयन्त्र लागू गर्न पावर मनिटर मोड्युलमा अन्य कार्यहरू परिभाषित गरिएको छ।
उपयोगिताहरू
उपयोगिताहरू फोल्डरमा इम्बेडेड ट्रेसर, GUI इन्टरफेस, पावर मनिटर र पावर साझेदारी मोड्युलहरू समावेश छन्।
इम्बेडेड ट्रेसर
यो मोड्युलले USB PD स्ट्याक लाइब्रेरीमा आधारित एम्बेडेड ट्रेसर लागू गर्दछ।
तालिका १। इम्बेडेड ट्रेसर files
| File नाम | विवरण |
| tracer_emb.c / .h | तार्किक कार्यान्वयन |
| tracer_emb_hw.c / .h | हार्डवेयर समर्थन |
सम्बन्धित लिङ्कहरू
UM2552: "STM32 माइक्रोकन्ट्रोलरहरूसँग USB पावर वितरण प्रणालीहरू प्रबन्ध गर्दै"
USB पावर डेलिभरी सम्बन्धी सान्दर्भिक गाइडहरू र स्रोतहरूको लागि विकी पृष्ठमा जानुहोस्
GUI इन्टरफेस
यो मोड्युलले STM32CubeMonUCPD को लागि प्रयोग गरिएको GUI सँग सम्बन्धित API हरू समावेश गर्दछ र GUI मा बोर्ड डेटा आउटपुट लगिङ र ट्र्याक गर्न अनुमति दिन्छ, तर अनुप्रयोग सेटिङ प्यारामिटरहरूमा इनपुट पावर सप्लाई डेटा कन्फिगर गर्न पनि।
पावर मोनिटर
तालिका १। पावर मोनिटर files
| File नाम | विवरण |
| usbpd_power_monitor.c / .h | पावर मनिटर मोड्युल |
यो FreeRTOS-आधारित मोड्युल usbpd_power_monitor मा समावेश छ file जोडी। यसले पावरलाई निगरानी गर्दछ र कलब्याकहरू मार्फत अन्य तहहरूमा जडान गरिएको छ।
प्रयोगकर्ताहरूले usbpd_power_monitor_app प्रयोग गरेर गरिएका कार्यहरू अनुकूलित गर्न सक्छन् file जोडी।
त्यहाँ दुई मुख्य कार्यहरू चलिरहेका छन्:
- PM_Control_Task: डाटा सञ्चालन (PM_ReadData_Handler कलब्याक) पढ्ने उच्च प्राथमिकता कार्य र फलस्वरूप, सङ्कलन गरिएको डाटा (PM_NotifyData_Handler कलब्याक) लाई सूचित गर्दछ।
संकलन गरिएको डाटा BUS भोल्युम होtage र वर्तमान; तिनीहरू PM_Handle को समर्पित क्षेत्रहरूमा भण्डारण गरिएका छन् (प्रणालीको अर्को भागसँग साझेदारी गर्न तयार छन्)। - PM_Monitor_Task: USB PD स्थिति सूचनाहरू (जस्तै, घटनाहरू संलग्न/छुटाउन, स्पष्ट अनुबंध) वा त्रुटिहरू (जस्तै, ओभरकरेन्ट, ओभरभोल) प्राप्त गर्न, समय-समयमा जाँच र मर्मतसम्भार कार्यहरू गर्न टाइमआउट भएको घटना-संचालित कार्य कार्य।tage)
आवधिक रूपमा चलिरहेको बेला, यसले प्रणाली जाँच गर्न PM_CheckStatus_Handler बाह्य प्रकार्य सम्झन्छ: त्रुटिको अवस्थामा, त्रुटि घटना उत्पन्न हुन्छ।
शक्ति साझेदारी
पावर सेयरिङ मोड्युललाई कम्पाइल गरिएको लाइब्रेरीको रूपमा समावेश गरिएको छ र यसले पावर सप्लाई इनपुट सेटिङहरू प्राप्त गर्न, प्रत्येक पोर्टको लागि उपलब्ध पावर रेट गणना गर्न र शक्ति वार्ता सुरु हुँदा वा जेनेरिक USB PD घटना हुँदा PDOs लाई एक्सपोज गर्न गतिशील रूपमा अनुकूलन गर्न सक्षम एक विशिष्ट एल्गोरिदम समावेश गर्दछ। हुन्छ।
तालिका १। शक्ति साझेदारी files
| File नाम | विवरण |
| usbpd_power_sharing .h | पावर सेयरिङ मोड्युल हेडर |
पुस्तकालयहरू
सफ्टवेयर प्याकेजमा समावेश गरिएका कम्पाइल गरिएका पुस्तकालयहरूले STEVAL-2STPD01 समाधानको विशेषता भएका दुईवटा ST IP हरू प्रतिनिधित्व गर्दछ:
- USBPD कोर लाइब्रेरी (STM32CubeG0 प्याकेजमा उपलब्ध छ): USB-PD मिडलवेयर स्ट्याक USB-PD नीति इन्जिन र प्रोटोकल तहसँग सम्बन्धित सबै कार्यहरू होस्ट गर्दै।
पथ→ $ROOT\Firmware\Middlewares\ST\STM32_USBPD_Library\Core\lib- USBPDCORE_PD3_FULL_CM0PLUS_wc32.a → STM32CubeIDE र EWARM (wc32)
- USBPDCORE_PD3_FULL_CM0PLUS_Keil.lib → µVision
- पावर सेयरिङ लाइब्रेरी:
पथ→$ROOT\Farmware\Utilities\PowerSharing\lib:- USBPD_PowerSharing.a → STM32CubeIDE र EWARM (wc32)
- USBPD_PowerSharing_Keil.lib → µVision
कार्यस्थानहरू
अनुप्रयोगलाई अनुकूलित र डिबग गर्न, प्याकेजले तीन एकीकृत विकास वातावरण (IDEs) समर्थन गर्दछ: STMicroelectronics STM32CubeIDE, IAR EWARM र Keil µVision / MDK-ARM।
परियोजना files तल देखाइए अनुसार अनुप्रयोग फोल्डरमा अवस्थित छन्।

STM32CubeIDE
STM32CubeIDE परिधीय कन्फिगरेसन, कोड उत्पादन, कोड संकलन, र STM32 माइक्रोकन्ट्रोलरहरू र माइक्रोप्रोसेसरहरूको लागि डिबग सुविधाहरूको साथ एक उन्नत C/C++ विकास प्लेटफर्म हो।
यो विकासको लागि Eclipse®/CDT फ्रेमवर्क र GCC टूलचेन र डिबगिङको लागि GDB मा आधारित छ।
परियोजना खोल्नको लागि, STM32CubeIDE फोल्डर चयन गर्नुहोस् र परियोजना खोल्नुहोस् file.
मार्ग हो: $ROOT\Firmware\Projects\STEVAL 2STPD01\STM32CubeIDE

STM32CubeIDE परियोजना खोल्नको लागि, तपाईंले निम्न गर्न सक्नुहुन्छ:
- वातावरण खोल्नुहोस् र STM32CubeIDE परियोजना फोल्डर चयन गर्नुहोस् [File]> [खोल्नुहोस् परियोजनाहरू बाट File प्रणाली] मेनु;
- वा फोल्डरमा डबल क्लिक गरेर परियोजना खोल्नुहोस्: जब परियोजना सफलतापूर्वक आयात हुन्छ, एक सूचना पप अप हुन्छ।
आयातको अन्त्यमा, [सूचना केन्द्र] ट्याब बन्द गर्नुहोस् र कार्यस्थान ट्याबलाई विस्तार गर्नुहोस् view पूर्ण फोल्डर संरचना। दुवै अवस्थामा, IDE तयार छ।

नोट: परियोजना STM32CubeIDE v1.6.1 को साथ परीक्षण गरिएको छ।
EWARM - IAR
IAR एम्बेडेड वर्कबेन्च आर्म एम्बेडेड एप्लिकेसन बाइनरी इन्टरफेस (EABI) र आर्म कोर्टेक्स माइक्रोकन्ट्रोलर सफ्टवेयर इन्टरफेस मानक (CMSIS) सँग अनुरूप छ।
मार्ग हो: $ROOT\Firmware\Projects\STEVAL-2STPD01\EWARM

मूल्याङ्कन सुरु गर्न, Project.eww मा डबल-क्लिक गर्नुहोस् file र यसलाई खोल्नुहोस्।

नोट: परियोजना EWARM v8.50.x को साथ परीक्षण गरिएको थियो। यदि तपाईको पीसीमा धेरै EWARM संस्करणहरू छन् भने, सही IDE संस्करण खोल्नुहोस् र Project.eww चयन गर्नुहोस् file [मेनु]> [खुला कार्यस्थान] बाट।
μVision/MDK-ARM - Keil
µVision IDE र डिबगर Keil द्वारा विकसित गरिएको हो र प्रयोगकर्तालाई विकास र डिबगिङमा समर्थन गर्दछ।
मार्ग हो: $ROOT\Firmware\Projects\STEVAL-2STPD01\MDK- RM

यस विकास वातावरणसँग काम गर्न सुरु गर्न, Project.uvprojx मा डबल-क्लिक गर्नुहोस् file र यसलाई खोल्नुहोस्।

नोट: परियोजनालाई µVision v5.34.0.0 र MDK-ARM 5.34 सँग परीक्षण गरिएको छ।
इजाजतपत्र जानकारी
STSW-2STPD01 Mix Ultimate Liberty+OSS+3rd-party V1 लाइसेन्स अन्तर्गत डेलिभर गरिएको छ।
यस प्याकेज भित्र प्रदान गरिएका सफ्टवेयर कम्पोनेन्टहरू निम्न तालिकामा सूचीबद्ध गरिए अनुसार विभिन्न इजाजतपत्र सम्झौताहरूसँग आउँछन्।
तालिका १। सफ्टवेयर कम्पोनेन्ट इजाजतपत्र सम्झौता
| सफ्टवेयर घटक | मालिक | इजाजतपत्र |
| Cortex®-M CMSIS | Arm® | BSD 3-खण्ड |
| FreeRTOS™ कर्नेल | प्रतिलिपि अधिकार(C) 2017 Amazon.com, Inc. वा यसका सम्बद्धहरू | MIT खुला स्रोत लाइसेन्स |
| STM32G0 HAL/LL APIs | STMicroelectronics International NV | BSD 3-खण्ड |
| STM32 USB-PD लाइब्रेरी | STMicroelectronics International NV | अल्टिमेट लिबर्टी सफ्टवेयर इजाजतपत्र सम्झौता (SLA0044) |
| STSW-2STPD01 | STMicroelectronics International NV | सफ्टवेयर प्याकेज इजाजतपत्र सम्झौता (SLA0048) |
| STSW-2STPD01 BSP APIs | STMicroelectronics International NV | अल्टिमेट लिबर्टी सफ्टवेयर इजाजतपत्र सम्झौता (SLA0044) |
| STSW-2STPD01 पावर सेयरिङ लाइब्रेरी | STMicroelectronics International NV | अल्टिमेट लिबर्टी सफ्टवेयर इजाजतपत्र सम्झौता (SLA0044) |
संशोधन इतिहास
तालिका १। कागजात संशोधन इतिहास
| मिति | संशोधन | परिवर्तनहरू |
| 22-नोभेम्बर-2021 | 1 | प्रारम्भिक रिलीज। |
महत्वपूर्ण सूचना - कृपया ध्यानपूर्वक पढ्नुहोस्
एसटीएमक्रोइलेक्ट्रोनिक्स एनभी र यसका सहायक कम्पनीहरू ("एसटी") लाई एसटी उत्पादनहरू र / वा यस कागजातमा कुनै सूचना बिना कुनै पनि समयमा परिवर्तन, सुधार, सुधार, संशोधन र सुधार गर्ने अधिकार आरक्षित छ। खरिदकर्ताहरूले आदेश राख्नु अघि ST उत्पादनहरूमा पछिल्ला सान्दर्भिक जानकारी प्राप्त गर्नुपर्नेछ। एसटी उत्पादनहरू एसटीका सर्तहरू र बिक्री शर्तहरूको आधारमा बेचिन्छन् अर्डर स्वीकृतिको समयमा।
खरिदकर्ताहरू ST उत्पादन र छनौटको छनोट, छनौट, र प्रयोगको लागि पूर्ण जिम्मेवार हुन्छन् अनुप्रयोग सहायता वा खरीददारहरूको उत्पादनहरूको डिजाइनको लागि कुनै दायित्व मान्दैन।
कुनै लाइसेन्स, एक्सप्रेस वा निहित, कुनै पनि बौद्धिक सम्पत्ति अधिकार यहाँ ST द्वारा प्रदान गरिएको छैन।
यहाँ उल्लेख गरिएको जानकारी भन्दा फरक प्रावधानहरू सहित ST उत्पादनहरूको पुन: बिक्रीले त्यस्तो उत्पादनको लागि ST द्वारा प्रदान गरिएको कुनै पनि वारेन्टी रद्द हुनेछ।
ST र ST लोगो ST को ट्रेडमार्क हो। बारे थप जानकारीको लागि
ST ट्रेडमार्कहरू, कृपया www.st.com/trademarks लाई सन्दर्भ गर्नुहोस्। अन्य सबै उत्पादन वा सेवा नामहरू तिनीहरूका सम्बन्धित मालिकहरूको सम्पत्ति हुन्।
यस कागजातमा भएको जानकारीले यस कागजातको कुनै पनि अघिल्लो संस्करणहरूमा पहिले प्रदान गरिएको जानकारीलाई हटाउँछ र प्रतिस्थापन गर्दछ।
© 2021 STMicroelectronics - सबै अधिकार सुरक्षित
कागजातहरू / स्रोतहरू
![]() |
STMicroelectronics UM2882 C पावर डेलिभरी डुअल पोर्ट एडाप्टर किट [pdf] प्रयोगकर्ता पुस्तिका UM2882 C पावर डेलिभरी डुअल पोर्ट एडाप्टर किट, UM2882, C पावर डेलिभरी डुअल पोर्ट एडाप्टर किट, एडाप्टर किट |




