توصيل الطاقة STM32 USB Type-C

مقدمة
تحتوي هذه الوثيقة على قائمة بالأسئلة الشائعة حول STM32 USB Type-C® وتوصيل الطاقة.
توصيل الطاقة عبر USB Type-C®
Can the USB Type-C® PD be used to transmit data? (Not using USB high-speed data transfer features)
على الرغم من أن USB Type-C® PD ليس مصممًا لنقل البيانات بسرعة عالية، إلا أنه يمكن استخدامه مع بروتوكولات وأوضاع بديلة أخرى وإدارة نقل البيانات الأساسي.
ما هو الاستخدام العملي لوحدة VDM UCPD؟
توفر الرسائل المُعرّفة من قِبل المُورّد (VDMs) في تقنية توصيل الطاقة USB Type-C® آليةً مرنةً لتوسيع وظائف تقنية توصيل الطاقة USB Type-C® PD لتتجاوز نطاق التفاوض القياسي على الطاقة. تُمكّن الرسائل المُعرّفة من قِبل المُورّد من تحديد الأجهزة، والأوضاع البديلة، وتحديثات البرامج الثابتة، والأوامر المُخصصة، وتصحيح الأخطاء. ومن خلال تطبيق الرسائل المُعرّفة من قِبل المُورّد، يُمكن للمُورّدين إنشاء ميزات وبروتوكولات خاصة بهم مع الحفاظ على التوافق مع مواصفات USB Type-C® PD.
STM32CubeMX needs to be configured with specific parameters, where are they available?
أدى التحديث الأخير إلى تغيير معلومات العرض لتصبح أكثر سهولة في الاستخدام، حيث تطلب الواجهة الآن مستوى الصوت ببساطةtagالتيار الكهربائي والتيار المطلوب. مع ذلك، يمكن العثور على هذه المعلمات في الوثائق، ويمكنك الاطلاع على جدول مرجعي سريع في AN5418.
الشكل 1. Specification detail (table 6-14 in universal serial bus Power Delivery specification)

الشكل 2 explains the applied value 0x02019096.
الشكل 2. فك تشفير PDO التفصيلي

لمزيد من التفاصيل حول تعريف PDO، انظر قسم POWER_IF في UM2552.
ما هو الحد الأقصى للتيار الناتج من واجهة USB؟
أقصى تيار خرج مسموح به وفقًا لمعيار USB Type-C® PD هو 5 أمبير مع كابل 5 أمبير محدد. بدون كابل محدد، أقصى تيار خرج هو 3 أمبير.
Does this ‘Dual-role mode’ mean be able to supply power and charge in reverse?
نعم، يُمكن توفير منفذ ثنائي الدور (DRP) (مُستقبِل) أو (مصدر). ويُستخدم عادةً في الأجهزة التي تعمل بالبطاريات.
وحدة التحكم في توصيل الطاقة والحماية STM32
هل يدعم MCU معيار PD فقط أم QC أيضًا؟
تدعم متحكمات STM32 الدقيقة بشكل أساسي معيار توصيل الطاقة عبر USB (PD)، وهو بروتوكول مرن ومعتمد على نطاق واسع لتوصيل الطاقة عبر اتصالات USB Type-C®. لا توفر متحكمات STM32 الدقيقة أو حزمة USB PD من STMicroelectronics دعمًا أصليًا للشحن السريع (QC). في حال الحاجة إلى دعم الشحن السريع، يجب استخدام دائرة متكاملة (IC) مخصصة لوحدة تحكم الشحن السريع مع متحكم STM32 الدقيقة.
Is it possible to implement a synchronous rectification algorithm in the package? Can it manage multiple outputs and controller roles?
يُمكن تنفيذ خوارزمية تصحيح متزامنة بمخرجات متعددة ووظيفة وحدة تحكم باستخدام متحكمات STM32 الدقيقة. من خلال تهيئة الأجهزة الطرفية PWM وADC وتطوير خوارزمية تحكم، يُمكن تحقيق تحويل طاقة فعال وإدارة مخرجات متعددة. بالإضافة إلى ذلك، يُنسّق استخدام بروتوكولات اتصال مثل I2C أو SPI تشغيل أجهزة متعددة في تكوين وحدة تحكم-هدف. على سبيل المثال،ampيمكن لـ le، STEVAL-2STPD01 باستخدام وحدة تحكم STM32G071RBT6 واحدة تتضمن اثنين من وحدات التحكم UCPD إدارة منفذي توصيل الطاقة Type-C 60 W Type-C.
هل توجد منتجات TCPP لـ VBUS > ٢٠ فولت؟ هل تنطبق هذه المنتجات على EPR؟
يتم تصنيف سلسلة TCPP0 حتى 20 فولت VBUS voltage SPR (نطاق الطاقة القياسي).
ما هي سلسلة متحكمات STM32 التي تدعم USB Type-C® PD؟
جهاز UCPD الطرفي لإدارة USB Type-C® PD مُدمج في سلسلة STM32 التالية: STM32G0، STM32G4، STM32L5، STM32U5، STM32H5، STM32H7R/S، STM32N6، وSTM32MP2. يُعطي 961 رقم قطعة وقت كتابة المستند.
How to make the STM32 MCU works as a USB serial device following USB CDC class? Is the same or similar procedure help me go no-code?
يتم دعم حل الاتصال عبر USB بواسطة ex الحقيقيampمجموعة من أدوات الاكتشاف أو التقييم بما في ذلك مكتبات البرمجيات الحرة الشاملة والنماذجampتتوفر هذه الميزات مع حزمة MCU. مُولِّد الكود غير متوفر.
Is it possible to dynamically change the PD ‘data’ in the software run-time? E.g. voltage and current demands/capabilities, consumer/provider etc.?
It is possible to dynamically change the power role (consumer – SINK or provider – SOURCE), the power demand (power data object) and data role (host or device) thanks USB Type-C® PD. This flexibility is illustrated in STM32H7RS USB Dual Role Data and Power video.
Is it possible to use the USB2.0 standard and the Power Delivery (PD) to receive more than 500 mA?
يتيح USB Type-C® PD قدرات شحن عالية الطاقة وسريعة لأجهزة USB بغض النظر عن نقل البيانات. وبالتالي، يُمكن استقبال أكثر من 500 مللي أمبير أثناء النقل عبر USB 2.x و3.x.
Do we have the possibility to read information on the source or sink device such as the PID/UID of the USB device?
يدعم USB PD تبادل أنواع مختلفة من الرسائل، بما في ذلك الرسائل الموسعة التي تحمل معلومات مفصلة عن الشركة المصنعة. صُممت واجهة برمجة التطبيقات USBPD_PE_SendExtendedMessage لتسهيل هذا الاتصال، مما يسمح للأجهزة بطلب واستقبال بيانات مثل اسم الشركة المصنعة، واسم المنتج، والرقم التسلسلي، وإصدار البرنامج الثابت، وغيرها من المعلومات المخصصة التي يحددها المصنّع.
عند استخدام درع X-NUCLEO-SNK1M1 المتضمن TCPP01-M12، هل يجب استخدام X-CUBE-TCPP أيضًا؟ أم أن X-CUBE-TCPP اختياري في هذه الحالة؟
لبدء تشغيل حل USB Type-C® PD في وضع SINK، يُنصح باستخدام X-CUBE-TCPP لتسهيل التنفيذ، نظرًا لحاجة حل STM32 USB Type-C® PD إلى إدارة. يُعدّ TCPP01-M12 الحماية الأمثل المرتبطة به.
في لوحات الدوائر المطبوعة USB، تُوجَّه خطوط بيانات USB (D+ وD-) كإشارات تفاضلية بمقاومة 90 أوم. هل يجب أن تكون مسارات CC1 وCC2 إشارات بمقاومة 90 أوم أيضًا؟
خطوط CC هي خطوط أحادية الطرف، ذات تردد منخفض يبلغ 300 كيلوبت/ثانية. مقاومة الإشارة المميزة ليست حرجة.
هل يمكن لـ TCPP حماية D+ و D-؟
TCPP is not adapted to protect D+/- lines. To protect D+/- lines USBLC6-2 ESD protections are recommended or ECMF2-40A100N6 ESD protections + common-mode filter if radio frequencies on the system.
هل برنامج التشغيل مغلف بـ HAL أو سجل؟
السائق هو HAL.
كيف يمكنني التأكد من أن STM32 يتعامل مع تفاوض الطاقة وإدارة التيار في بروتوكول PD بشكل صحيح دون كتابة التعليمات البرمجية؟
A first step can be a series of field interoperability tests using available device available on the market. To understand the solution behavior, STM32CubeMonUCPD allows monitoring and configuration of STM32 USB Type-C® and Power Delivery applications.
A second step can be a certification with the USB-IF (USB implementer forum) compliance program to obtain an official TID (Test Identification) number. It can be performed in a USB-IF sponsored compliance workshop or in an authorized independent test lab.
The code generated by X-CUBE-TCPP is ready to be certified and solutions in the Nucleo/Discovery/Evaluation board have already been certified.
كيف يُمكن تطبيق وظيفة OVP لحماية منافذ Type-C؟ هل يُمكن ضبط هامش الخطأ على 8%؟
يتم تحديد عتبة OVP بواسطة حجمtage divider bridge connected on a comparator with a fixed bandgap value.
Comparator input is VBUS_CTRL on TCPP01-M12 and Vsense on TCPP03-M20. OVP VBUS threshold voltagيمكن تغيير الأجهزة وفقًا للحجمtage divider ratio.
However, it is recommended to use the divider ratio presented on X-NUCLEO-SNK1M1 or X-NUCLEO-DRP1M1 according to the targeted maximum voltage.
هل درجة الانفتاح عالية؟ هل يُمكن تخصيص بعض المهام المُحددة؟
حزمة USB Type-C® PD غير مفتوحة. مع ذلك، يُمكن تخصيص جميع مدخلاتها وتفاعلها مع الحل. كما يُمكنك الرجوع إلى دليل STM32 المُستخدم للاطلاع على واجهة UCPD.
ما الذي يجب أن ننتبه إليه عند تصميم دائرة حماية المنفذ؟
TCPP IC must be placed close to the Type-C connector. Schematic recommendations are listed in user manuals of X-NUCLEO-SNK1M1, X-NUCLEO-SRC1M1, و X-NUCLEO-DRP1M1. To insure a good ESD robustness, I would recommend having a look on ESD layout tips application note.
في هذه الأيام، يتم طرح العديد من الدوائر المتكاملة أحادية الشريحة من الصين. ما هي المزايا المحددة؟tagفوائد استخدام STM32؟
تظهر أهم فوائد هذا الحل عند إضافة موصل PD من النوع C إلى حل STM32 الحالي. فهو فعال من حيث التكلفة نظرًا لانخفاض مستوى الصوت.tagتم تضمين وحدة التحكم e UCPD في STM32، ويتم تشغيلها بمستوى صوت مرتفعtagيتم التحكم في الحماية بواسطة TCPP.
هل هناك حل موصى به تقدمه شركة ST مع مصدر الطاقة و STM32-UCPD؟
إنهم سابقون كاملونampجنيه مع أ USB Type-C Power Delivery dual port adapter based on the STPD01 programmable buck converter. STM32G071RBT6 and two TCPP02-M18 are used to support two STPD01PUR programmable buck regulators.
ما هو الحل المناسب لجهاز Sink (شاشة فئة 60 وات) أو تطبيق مدخل HDMI أو DP والطاقة؟
يمكن لـ STM32-UCPD + TCPP01-M12 دعم طاقة الغرق حتى 60 وات. بالنسبة لـ HDMI أو DP، هناك حاجة إلى وضع بديل، ويمكن القيام بذلك بواسطة البرنامج.
هل تعني هذه المنتجات أنها تم اختبارها وفقًا للمواصفات القياسية الخاصة بـ USB-IF والتوافق مع USB؟
تم اختبار الكود المُولّد أو المُقترح على حزمة البرامج الثابتة، واعتماده رسميًا لبعض تكوينات الأجهزة الرئيسية. كما هو الحال معampتم اعتماد le وX-NUCLEO-SNK1M1 وX-NUCLEO-SRC1M1 وX-NUCLEO-DRP1M1 أعلى NUCLEO رسميًا ومعرفات اختبار USB-IF هي: TID5205 وTID6408 وTID7884.
كود التكوين والتطبيق
كيف يمكنني بناء PDO؟
يتضمن بناء كائن بيانات الطاقة (PDO) في سياق توصيل الطاقة عبر USB (PD) تحديد قدرات الطاقة لمصدر أو موزع USB PD. إليك خطوات إنشاء وتكوين كائن بيانات الطاقة (PDO):
- Identify the type of PDO:
- Fixed supply PDO: Defines a fixed voltagهـ والحالي
- Battery supply PDO: Defines a range of voltages and a maximum power
- Variable supply PDO: Defines a range of voltages and a maximum current
- Programmable Power Supply (PPS) APDO: Allows for a programmable voltagهـ والحالية.
- تحديد المعلمات:
- المجلدtage: المجلدtagالمستوى الذي توفره أو تطلبه منظمة تنمية المهارات المهنية
- Current / power: The current (for fixed and variable PDOs) or power (for battery PDOs) the PDO provide
or request.
- Use the STM32 Cube MonUCPD GUI:
- الخطوة 1: Ensure you have the latest version of the STM32 Cube Mon UCPD application
- الخطوة 2: Connect your STM32G071-Disco board to your host machine and launch the STM32 Cube Monitor-UCPD application
- الخطوة 3: Select your board in the application
- الخطوة 4: Navigate to the “port configuration” page and click on the “sink capabilities” tab to see the
current PDO list - الخطوة 5: Modify an existing PDO or add a new PDO by following the prompts
- الخطوة 6: Click on the “send to target” icon to send the updated PDO list to your board
- الخطوة 7: Click on the “save all in target” icon to save the updated PDO list onto your board[*].
هنا مثال سابقampمثال على كيفية تعريف PDO للإمداد الثابت في الكود:
/* Define a fixed supply PDO */
uint32_t fixed_pdo = 0;
fixed_pdo |= (voltage_in_50mv_units << 10); // Voltage in 50 mV units
fixed_pdo |= (max_current_in_10ma_units << 0); // Max current in 10 mA units
fixed_pdo |= (1 << 31); // fixed supply type
Exampالتكوين لو
للحصول على مصدر طاقة ثابت PDO بجهد 5 فولت و3 أمبير:
content_copy
uint32_t fixed_pdo = 0;
fixed_pdo |= (100 << 10); // 5 V (100 * 50 mV)
fixed_pdo |= (30 << 0); // 3A (30 * 10 mA)
fixed_pdo |= (1 << 31); // fixed supply type
اعتبارات إضافية:
- Dynamic PDO selection: You can dynamically change the PDO selection method at runtime by modifying the USED_PDO_SEL_METHOD variable in the usbpd_user_services.c file[*] .
- Evaluation of capabilities: Use functions like USBPD_DPM_SNK_EvaluateCapabilities to evaluate received capabilities and prepare the request message[*] .
يتضمن بناء PDO تحديد الحجمtagمعلمات التيار (أو الطاقة) وتكوينها باستخدام أدوات مثل STM32CubeMonUCPD أو مباشرةً في الكود. باتباع الخطوات والمثالampباستخدام الملفات المقدمة، يمكنك إنشاء PDOs وإدارتها بفعالية لتطبيقات USB PD الخاصة بك.
Is there a function for a prioritizing scheme with more than one PD-sink connected?
نعم، توجد وظيفة تدعم نظام تحديد الأولويات عند توصيل أكثر من مصدر طاقة PD. يُعد هذا مفيدًا بشكل خاص في الحالات التي تتصل فيها عدة أجهزة بمصدر طاقة واحد. يجب إدارة توزيع الطاقة بناءً على الأولوية.
يمكن إدارة نظام تحديد الأولويات باستخدام دالة USBPD_DPM_SNK_EvaluateCapabilities. تُقيّم هذه الدالة الإمكانيات المُستقبَلة من مصدر PD وتُعِدّ رسالة الطلب بناءً على متطلبات وأولويات المُستقبِل. عند التعامل مع مُستقبِلات مُتعددة، يُمكنك تنفيذ نظام تحديد الأولويات بتعيين مستويات أولوية لكل مُستقبِل وتعديل دالة USBPD_DPM_SNK_EvaluateCapabilities لمراعاة هذه الأولويات.
content_copy
uint32_t fixed_pdo = 0;
fixed_pdo |= (100 << 10); // 5V (100 * 50mV)
fixed_pdo |= (30 << 0); // 3A (30 * 10mA)
fixed_pdo |= (1 << 31); // Fixed supply type
/* Define a Fixed Supply PDO */
uint32_t fixed_pdo = 0;
fixed_pdo |= (voltage_in_50mv_units << 10); // Voltage in 50mV units
fixed_pdo |= (max_current_in_10ma_units << 0); // Max current in 10mA units
fixed_pdo |= (1 << 31); // Fixed supply type
هل من الضروري استخدام DMA مع LPUART لواجهة المستخدم الرسومية؟
نعم، من الضروري التواصل عبر حل ST-LINK.
هل إعداد LPUART لـ 7 بت لطول الكلمة صحيح؟
نعم هذا صحيح.
In the STM32CubeMX tool – there is a check box “save power of non-active UCPD – deactive dead battery pull-up.” What does mean this check box if it is enable?
عند استخدام منفذ USB Type-C®، يلزم توصيل مقاوم سحب بجهد 3.3 فولت أو 5.0 فولت. يعمل هذا المقاوم كمولد تيار. يمكن تعطيل هذا المصدر عند عدم استخدام منفذ USB Type-C® PD لتقليل استهلاك الطاقة.
Is it necessary to use FreeRTOS for STM32G0 and USB PD applications? Any plans for non-FreeRTOS USB PD exampليز؟
ليس من الضروري استخدام FreeRTOS لتطبيقات توصيل الطاقة عبر USB (USB PD) على متحكم STM32G0. يمكنك تنفيذ USB PD بدون نظام تشغيل في الوقت الحقيقي (RTOS) عن طريق معالجة الأحداث وآلات الحالة في الحلقة الرئيسية أو من خلال مقاطعة إجراءات الخدمة. على الرغم من وجود طلبات على تطبيقات توصيل الطاقة عبر USB،ampلا توجد حاليًا تطبيقات بدون نظام تشغيل في الوقت الفعلي.ampمتوفر. ولكن بعض أنظمة AzureRTOSampتتوفر هذه المنتجات لسلسلة STM32U5 وH5.
In the STM32CubeMX demo building a USB PD application for STM32G0, is HSI accuracy acceptable for USB PD applications? Or the use of external HSE crystal is mandatory?
يوفر HSI ساعة النواة لجهاز UCPD الطرفي، لذا لا فائدة من استخدام HSE. كما يدعم STM32G0 وضع عدم الكريستال لـ USB 2.0 في وضع الجهاز، لذا لن يكون HSE مطلوبًا إلا في وضع مضيف USB 2.0.
الشكل 3. UCPD reset and clocks

هل هناك أي وثائق يمكنني الرجوع إليها لإعداد CubeMX كما شرحت لاحقًا؟
The documentation is available in the following Wiki link.
Is the STM 32 Cube Monitor capable of real-time monitoring? Is real-time monitoring possible by connecting STM32 and ST-LINK?
نعم، يمكن لبرنامج STM32CubeMonitor إجراء مراقبة حقيقية عن طريق ربط STM32 وST-LINK.
هل مجلد VBUStagهل وظيفة قياس التيار الكهربائي/الكهربائي الموضحة على شاشة المراقبة متوفرة بشكل أساسي وافتراضي على اللوحات الممكّنة بـ UCPD، أم أنها ميزة من ميزات لوحة NUCLEO المضافة؟
المجلد الدقيقtagالقياس متاح بشكل أصلي لأن VBUS voltage is required by USB Type-C®.
Accurate current measurement can be done by TCPP02-M18 / TCPP03-M20 thanks to high side ampيستخدم المقاوم المضخم والمقاوم التحويلي أيضًا للحماية من التيار الزائد.
مولد كود التطبيق
Can CubeMX generate an Azure RTOS-based project with X-CUBE-TCPP by the same way with FreeRTOS™? Can it generate the code managing the USB PD without using FreeRTOS™? Does this software suite require an RTOS to operate?
STM32CubeMX generates code thanks to the X-CUBE-TCPP package using the RTOS available for the MCU, FreeRTOS™ (for STM32G0 as example)، أو AzureRTOS (لـ STM32H5 مثل exampلو).
Can X-CUBE-TCPP generate code for dual Type-C PD port such as STSW-2STPD01 board?
X-CUBE-TCPP can generate code for only a single port. To do it for two ports, two separated projects have to be generated without overlap on STM32 resources and with two I2C addresses for TCPP02-M18 and be merged.
لحسن الحظ، STSW-2STPD01 has a complete firmware package for the two ports. It is then not necessary to generate code.
هل تعمل أداة التصميم هذه مع جميع المتحكمات الدقيقة المزودة بمنفذ USB Type-C®؟
نعم، يعمل X-CUBE-TCPP مع أي وحدة STM32 مزودة بتقنية UCPD لجميع وحدات الطاقة (المصرف / المصدر / الدور المزدوج). كما يعمل مع أي وحدة STM32 لمصدر طاقة من النوع C بجهد 5 فولت.
الجدول 1. تاريخ مراجعة الوثيقة
| تاريخ | المراجعة | التغييرات |
| 20 يونيو 2025 | 1 | الإصدار الأولي. |
Important Notice – Read Carefully
تحتفظ شركة STMicroelectronics NV والشركات التابعة لها ("ST") بالحق في إجراء تغييرات وتصحيحات وتعزيزات وتعديلات وتحسينات على منتجات ST و/أو هذه الوثيقة في أي وقت دون إشعار. يجب على المشترين الحصول على أحدث المعلومات ذات الصلة بمنتجات ST قبل تقديم الطلبات. تُباع منتجات ST وفقًا لشروط وأحكام البيع الخاصة بشركة ST السارية وقت إقرار الطلب.
يعتبر المشترون مسؤولين بشكل كامل عن اختيار منتجات ST واختيارها واستخدامها، ولا تتحمل شركة ST أي مسؤولية عن مساعدة التطبيق أو تصميم منتجات المشترين.
لا يتم منح أي ترخيص، صريحًا أو ضمنيًا، لأي حق من حقوق الملكية الفكرية من قبل شركة ST هنا.
إن إعادة بيع منتجات ST بأحكام مختلفة عن المعلومات الواردة هنا يؤدي إلى إبطال أي ضمان تمنحه شركة ST لهذا المنتج.
ST وشعار ST هما علامتان تجاريتان لشركة ST. لمزيد من المعلومات حول العلامات التجارية لشركة ST، راجع www.st.com/trademarks. جميع أسماء المنتجات أو الخدمات الأخرى هي ملك لأصحابها.
تحل المعلومات الواردة في هذه الوثيقة محل المعلومات المقدمة مسبقًا في أي إصدارات سابقة من هذه الوثيقة.
© 2025 STMicroelectronics – جميع الحقوق محفوظة

المستندات / الموارد
![]() |
توصيل الطاقة عبر منفذ USB Type-C من ST STM32 [بي دي اف] دليل المستخدم TN1592، UM2552، STEVAL-2STPD01، STM32، توصيل الطاقة بمنفذ USB من النوع C، STM32، توصيل الطاقة بمنفذ USB من النوع C، توصيل الطاقة بمنفذ Type-C، توصيل الطاقة، التوصيل |
