DEENESPTFRRUARHIKOZHNL

PWM Driver (Pwm)

ModulPwm (PWM Driver)
BSW-Modul-ID121
Standard-Header#include "Pwm.h"
SWS-SpezifikationAUTOSAR_SWS_PWMDriver.pdf
ClusterMicrocontroller Abstraction (MCAL)

मॉड्यूल गाइडएआई जनित

माइक्रोकंट्रोलर हार्डवेयर के पल्स-विड्थ मॉड्यूलेटेड आउटपुट को अवधि और ड्यूटी साइकिल के माध्यम से चैनल-वार नियंत्रित करता है।
एआई-जनित असत्यापित मॉडल: claude-opus-5-5 · प्रयास: high · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 346ede702b24 उद्गम खुले प्रश्न (1)
कारणात्मक एंकर: R20-11 R20-11 से मान्य इस विनिर्देश संस्करण के लिए नए सिरे से संश्लेषित।
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

माइक्रोकंट्रोलर हार्डवेयर के पल्स-विड्थ मॉड्यूलेटेड आउटपुट को अवधि और ड्यूटी साइकिल के माध्यम से चैनल-वार नियंत्रित करता है।

एक MCAL मॉड्यूल के रूप में PWM ड्राइवर माइक्रोकंट्रोलर के पल्स-विड्थ मॉड्यूलेटेड आउटपुट को चैनल-वार नियंत्रित करता है और इसके लिए सीधे इसके रजिस्टरों तक पहुंचता है। Pwm_Init के अनुसार Pwm User ड्यूटी साइकिल और, परिवर्तनीय अवधि वाले चैनलों के मामले में, अवधि भी सेट करते हैं। वे आउटपुट को आइडल स्थिति में स्विच कर सकते हैं और एज नोटिफ़िकेशन चालू या बंद कर सकते हैं [SWS_Pwm_91000]। वैकल्पिक रूप से ड्राइवर तैयार करने और सेट करने के माध्यम से पावर स्थिति के दो-चरणीय परिवर्तनों का प्रबंधन करता है। आरंभ न होना या अमान्य चैनल जैसी त्रुटियों की रिपोर्ट वह सक्रिय त्रुटि पहचान होने पर करता है और फिर कुछ भी निष्पादित नहीं करता है [SWS_Pwm_00201]।

PWM ड्राइवर एक MCAL मॉड्यूल है और इसके रजिस्टरों के माध्यम से माइक्रोकंट्रोलर के पल्स-विड्थ मॉड्यूलेटेड आउटपुट को नियंत्रित करता है। इसलिए इसे निचले स्तर के मॉड्यूल के इंटरफेस की आवश्यकता नहीं होती है (SWS PWM Driver पृ. 44)। इसे Pwm_Init के साथ और कॉन्फ़िगरेशन सेट [SWS_Pwm_00095] के पॉइंटर के साथ सिंक्रोनस रूप से इनिशियलाइज़ किया जाता है, जिसे ECU State Manager एक वैकल्पिक इनिशियलाइज़ेशन इंटरफ़ेस के रूप में कॉल करता है (SWS EcuM पृ. 152)। इसका उपयोग आमतौर पर IoHwAb द्वारा किया जाता है, उदाहरण के लिए एक पावर-स्टेज ड्राइवर द्वारा (SWS IoHwAb पृ. 37)।

kontext EcuM EcuM (Startup) Pwm Pwm (MCAL-Treiber) EcuM->Pwm Pwm_Init User Pwm User (z. B. IoHwAb / Power-Stage-Treiber) User->Pwm Pwm_SetDutyCycle, Pwm_SetPeriodAndDuty, Pwm_SetOutputToIdle, Pwm_GetOutputState, Pwm_EnableNotification / Pwm_DisableNotification, Power-State-APIs SchM SchM (BSW-Scheduler) SchM->Pwm Pwm_Main_PowerTransitionManager (zyklisch) Pwm->User Pwm_Notification_<#Channel> IoHwAb_Pwm_NotifyReadyForPowerState<#Mode> Det Det Pwm->Det Det_ReportError (optional) HW PWM-Einheit (Mikrocontroller) Pwm->HW direkter Registerzugriff Port Port-Logik / PWM-Pin HW->Port PWM सिग्नल (पोर्ट लॉजिक से पहले Pwm_GetOutputState का पठन बिंदु)

संदर्भ आरेख: EcuM ड्राइवर को इनिशियलाइज़ करता है, Pwm User इसे संचालित करता है, और ड्राइवर नोटिफ़िकेशन और त्रुटियों की वापस रिपोर्ट करता है। स्रोत: [SWS_Pwm_00105], [SWS_Pwm_00198], [SWS_Pwm_00104]

नियंत्रण 16-बिट ड्यूटी साइकिल के माध्यम से होता है, जिसमें 0x8000 100% का प्रतिनिधित्व करता है (SWS PWM Driver पृ. 18)। सबसे महत्वपूर्ण सेवाएँ:

  • Pwm_SetDutyCycle ड्यूटी साइकिल को बदलता है [SWS_Pwm_91000]। 0% और 100% पर यह ध्रुवीयता के आधार पर एक स्थिर स्तर सेट करता है।
  • Pwm_SetPeriodAndDuty अतिरिक्त रूप से अवधि को बदलता है, लेकिन केवल वर्ग PWM_VARIABLE_PERIOD [SWS_Pwm_00110] के चैनलों के लिए।
  • Pwm_SetOutputToIdle तुरंत आइडल स्तर पर स्विच करता है [SWS_Pwm_91002]।
  • Pwm_GetOutputState आंतरिक स्तर को पढ़ता है [SWS_Pwm_00100]।
kanal init Pwm_Init के बाद (कॉन्फ़िगर की गई प्रारंभिक स्थिति) mod Modulation (0 % < Tastgrad < 100 %) init->mod Konfiguration: Modulation stat स्थिर स्तर (0 %: ध्रुवता के विपरीत, 100 %: ध्रुवता के समान) init->stat कॉन्फ़िगरेशन: Low या High mod->mod Pwm_SetPeriodAndDuty (केवल PWM_VARIABLE_PERIOD) mod->stat Pwm_SetDutyCycle(0x0000 | 0x8000) idle Idle-Zustand (konfigurierter Idle-Pegel) mod->idle Pwm_SetOutputToIdle / Pwm_DeInit stat->mod Pwm_SetDutyCycle(> 0 %, < 100 %) stat->idle Pwm_SetOutputToIdle / Pwm_DeInit idle->mod Pwm_SetPeriodAndDuty (परिवर्तनीय आवर्तकाल के साथ पुनः सक्रियण)

स्थिति आरेख: एक चैनल API के माध्यम से मॉड्यूलेशन, स्थिर स्तर और आइडल स्थिति के बीच स्विच करता है। स्रोत: [SWS_Pwm_91000], [SWS_Pwm_91001], SWS PWM Driver पृ. 31

एज नोटिफ़िकेशन प्रति चैनल Pwm_EnableNotification के साथ चालू किए जाते हैं [SWS_Pwm_91004] और Pwm_Notification_<#Channel> के रूप में Pwm User तक पहुंचते हैं [SWS_Pwm_00105]। वैकल्पिक रूप से ड्राइवर दो चरणों में पावर स्थितियों का प्रबंधन भी करता है। Pwm_PreparePowerState तैयारी शुरू करता है [SWS_Pwm_00183], जिसे आवधिक Pwm_Main_PowerTransitionManager पूरा करता है [SWS_Pwm_00189]। उसके बाद Pwm_SetPowerState स्थिति सेट करता है [SWS_Pwm_00166]।

सक्रिय त्रुटि पहचान के मामले में फ़ंक्शन PWM_E_UNINIT, PWM_E_PARAM_CHANNEL या PWM_E_PERIOD_UNCHANGEABLE [SWS_Pwm_00201] जैसी त्रुटियों की रिपोर्ट करते हैं और बिना किसी प्रभाव के लौट आते हैं (SWS PWM Driver पृ. 44)। इन मामलों में Pwm_GetOutputState, PWM_LOW [SWS_Pwm_30051] लौटाता है। यदि ड्राइवर के उपयोग में रहते हुए Pwm_SetPowerState को कॉल किया जाता है, तो रनटाइम त्रुटि PWM_E_NOT_DISENGAGED [SWS_Pwm_00202] उत्पन्न होती है।

MCAL में भूमिका: PWM इकाई और Pwm User के बीच ड्राइवर

PWM ड्राइवर माइक्रोकंट्रोलर के पल्स-विड्थ मॉड्यूलेटेड आउटपुट को इनकैप्सुलेट करता है। MCAL लेयर के एक मॉड्यूल के रूप में यह सीधे माइक्रोकंट्रोलर के रजिस्टरों तक पहुँचता है और इसलिए इसे निचले स्तर के मॉड्यूल के इंटरफेस की आवश्यकता नहीं होती है (SWS PWM Driver पृ. 44)। इसी कारण से यह निचली लेयरों के लिए कॉलबैक प्रदान नहीं करता है (SWS PWM Driver पृ. 40) और सर्विस इंटरफेस भी प्रस्तुत नहीं करता है (SWS PWM Driver पृ. 44)। इसकी सेवाएँ Pwm.h के माध्यम से उपलब्ध हैं, जैसे Pwm_Init [SWS_Pwm_00095], Pwm_SetDutyCycle [SWS_Pwm_91000] और Pwm_GetOutputState [SWS_Pwm_00100]। यह Std_Types.h [SWS_Pwm_00094] से मानक प्रकार Std_ReturnType और Std_VersionInfoType आयात करता है।

ECU State Manager अपने वैकल्पिक इनिशियलाइज़ेशन इंटरफेसों में Pwm_Init को सूचीबद्ध करता है (SWS EcuM पृ. 152)। पावर आउटपुट स्टेज के उपयोग के मामले में IoHwAb का एक पावर-स्टेज ड्राइवर PWM, DIO और SPI की सेवाओं को कॉल करता है और इस प्रकार अन्य बातों के अलावा वोल्टेज और आवृत्तियों को समायोजित करता है (SWS IoHwAb पृ. 37)। विपरीत दिशा में ड्राइवर दो प्रकार के फ़ंक्शन कॉल करता है: चैनल-विशिष्ट नोटिफ़िकेशन Pwm_Notification_<#Channel> [SWS_Pwm_00105] और, पावर प्रबंधन में, IoHwAb_Pwm_NotifyReadyForPowerState<#Mode> [SWS_Pwm_00198]। डेवलपमेंट त्रुटियों की रिपोर्ट वह वैकल्पिक रूप से Det_ReportError [SWS_Pwm_00104] के माध्यम से करता है। यदि हार्डवेयर विभिन्न चैनलों के लिए अलग-अलग तंत्र प्रदान करता है, तो इसे निर्माता-विशिष्ट API-इन्फिक्स के माध्यम से नहीं, बल्कि चैनल नंबर के माध्यम से अमूर्त किया जाता है (TPS BSWMDT पृ. 122)।

kontext EcuM EcuM (Startup) Pwm Pwm (MCAL-Treiber) EcuM->Pwm Pwm_Init User Pwm User (z. B. IoHwAb / Power-Stage-Treiber) User->Pwm Pwm_SetDutyCycle, Pwm_SetPeriodAndDuty, Pwm_SetOutputToIdle, Pwm_GetOutputState, Pwm_EnableNotification / Pwm_DisableNotification, Power-State-APIs SchM SchM (BSW-Scheduler) SchM->Pwm Pwm_Main_PowerTransitionManager (zyklisch) Pwm->User Pwm_Notification_<#Channel> IoHwAb_Pwm_NotifyReadyForPowerState<#Mode> Det Det Pwm->Det Det_ReportError (optional) HW PWM-Einheit (Mikrocontroller) Pwm->HW direkter Registerzugriff Port Port-Logik / PWM-Pin HW->Port PWM सिग्नल (पोर्ट लॉजिक से पहले Pwm_GetOutputState का पठन बिंदु)

संदर्भ आरेख: Pwm ड्राइवर EcuM द्वारा इनिशियलाइज़ किया जाता है और Pwm User द्वारा संचालित किया जाता है। इसे शेड्यूलर द्वारा आवधिक रूप से कॉल किया जाता है, यह Pwm User को नोटिफ़िकेशन और DET को त्रुटियों की रिपोर्ट करता है और इसके रजिस्टरों के माध्यम से PWM इकाई को नियंत्रित करता है। स्रोत: [SWS_Pwm_00104], [SWS_Pwm_00105], [SWS_Pwm_00189], [SWS_Pwm_00198], SWS EcuM पृ. 152, SWS IoHwAb पृ. 37, RS PWM Driver पृ. 14

सिग्नल मॉडल: अवधि, ड्यूटी साइकिल, ध्रुवीयता और चैनल वर्ग

एक चैनल को संख्यात्मक पहचानकर्ता Pwm_ChannelType के माध्यम से संबोधित किया जाता है [SWS_Pwm_00106]। अवधि प्रकार Pwm_PeriodType की होती है, जो 8 से 32 बिट्स का एक कार्यान्वयन-विशिष्ट प्रकार है [SWS_Pwm_00107]। तीन अवधारणाएँ सिग्नल को निर्धारित करती हैं (SWS PWM Driver पृ. 9):

  • ध्रुवीयता प्रत्येक अवधि के प्रारंभिक स्तर को परिभाषित करती है।
  • ड्यूटी साइकिल अवधि में इस प्रारंभिक स्तर के अनुपात को निर्दिष्ट करता है।
  • आइडल स्थिति Pwm_SetOutputToIdle या Pwm_DeInit के बाद की आउटपुट स्थिति है।

सिग्नल विवरण का आरेख दोनों ध्रुवीयताओं PWM_HIGH और PWM_LOW की तुलना करता है (SWS PWM Driver पृ. 7)।

ड्यूटी साइकिल एक 16-बिट मान है। 0x0000 0% के लिए और 0x8000 100% के लिए है। कार्यान्वयन सहायता के रूप में विनिर्देश AbsoluteDutyCycle = ((uint32)AbsolutePeriodTime * RelativeDutyCycle) >> 15; (SWS PWM Driver पृ. 18) का उल्लेख करता है। तदनुसार Pwm_SetDutyCycle और Pwm_SetPeriodAndDuty पैरामीटर DutyCycle को Min=0x0000 और Max=0x8000 तक सीमित करते हैं [SWS_Pwm_91000] [SWS_Pwm_91001]।

चैनल वर्ग Pwm_ChannelClassType निर्धारित करता है कि कोई चैनल रनटाइम पर क्या बदल सकता है [SWS_Pwm_00110]:

  • PWM_VARIABLE_PERIOD: अवधि और ड्यूटी साइकिल परिवर्तनशील हैं।
  • PWM_FIXED_PERIOD: केवल ड्यूटी साइकिल परिवर्तनशील है।
  • PWM_FIXED_PERIOD_SHIFTED: निश्चित, स्थानांतरित अवधि, जिसे बदला नहीं जा सकता; केवल तभी उपलब्ध जब हार्डवेयर इसका समर्थन करता हो।

स्थानांतरित अवधि का आरेख समान अवधि वाले चैनलों को दिखाता है, जिनकी अवधि की शुरुआत प्रत्येक एक निश्चित समय से स्थानांतरित होती है (SWS PWM Driver पृ. 23)।

जीवनचक्र और सिग्नल नियंत्रण: Pwm_Init से लेकर आइडल स्थिति तक

Pwm_Init सिंक्रोनस और गैर-पुनःप्रवेशी (non-reentrant) है। फ़ंक्शन को ConfigPtr के साथ कॉन्फ़िगरेशन सेट [SWS_Pwm_00095] का एक पॉइंटर प्राप्त होता है। इसके प्रकार Pwm_ConfigType में हार्डवेयर-विशिष्ट सामग्री होती है [SWS_Pwm_00111]। इनिशियलाइज़ेशन आरेख के अनुसार आउटपुट उसके बाद कॉन्फ़िगरेशन के आधार पर Low, High या मॉड्यूलेशन स्थिति में होते हैं। नोटिफ़िकेशन केवल Pwm_EnableNotification के पहले कॉल के बाद ही होते हैं (SWS PWM Driver पृ. 46)। यदि पहले से इनिशियलाइज़ किए गए ड्राइवर पर Pwm_Init को फिर से कॉल किया जाता है, तो डेवलपमेंट त्रुटि PWM_E_ALREADY_INITIALIZED की रिपोर्ट की जानी चाहिए [SWS_Pwm_50002]।

Pwm_DeInit भी सिंक्रोनस और गैर-पुनःप्रवेशी (non-reentrant) है [SWS_Pwm_00096]। यह फ़ंक्शन मॉड्यूल को डी-इनिशियलाइज़ करता है, आउटपुट को आइडल स्थिति में सेट करता है और PWM इंटरप्ट के साथ-साथ एज नोटिफ़िकेशन को बंद कर देता है। इसे PwmDeInitApi के माध्यम से चालू और बंद किया जा सकता है (SWS PWM Driver पृ. 27)। व्याख्या: इसके बाद मॉड्यूल को फिर से गैर-इनिशियलाइज़्ड माना जा सकता है, जिससे कि Pwm_Init का एक नया कॉल अनुमत हो जाता है। प्रश्न Q-a892974ddbe644e0 (खुला)

lebenszyklus start शुरू uninit आरंभीकृत नहीं start->uninit uninit->uninit अन्य API → PWM_E_UNINIT (Pwm_GetOutputState द्वारा PWM_LOW लौटाया जाता है) init आरंभीकृत (कॉन्फ़िगरेशन के अनुसार चैनल: Low, High या मॉड्यूलेशन) uninit->init Pwm_Init(ConfigPtr) init->uninit Pwm_DeInit (आउटपुट Idle, इंटरप्ट और अधिसूचनाएं बंद) व्याख्या: अनुवर्ती स्थिति init->init Pwm_Init → PWM_E_ALREADY_INITIALIZED

स्थिति आरेख: इनिशियलाइज़ेशन, डी-इनिशियलाइज़ेशन और गलत कॉल क्रम के मामले में त्रुटियों के साथ मॉड्यूल का जीवनचक्र। Pwm_DeInit के बाद \"गैर-इनिशियलाइज़्ड\" स्थिति में लौटना एक व्याख्या है। स्रोत: [SWS_Pwm_00095], [SWS_Pwm_00096], [SWS_Pwm_50002], [SWS_Pwm_20002], [SWS_Pwm_30051], SWS PWM Driver पृ. 27

संचालन में Pwm_SetDutyCycle एक चैनल का ड्यूटी साइकिल सेट करता है [SWS_Pwm_91000]। 0% और 100% पर आउटपुट स्थिर रूप से सेट किया जाता है (SWS PWM Driver पृ. 28):

  • 0% पर स्तर कॉन्फ़िगर की गई ध्रुवीयता के विपरीत होता है।
  • 100% पर स्तर ध्रुवीयता के अनुरूप होता है।
  • इनके बीच के मानों पर अवधि, ड्यूटी साइकिल और ध्रुवीयता के अनुसार मॉड्यूलेशन किया जाता है।

आरेख के अनुसार ड्राइवर नए ड्यूटी साइकिल को वर्तमान अवधि के अंत में लागू करता है, यदि कार्यान्वयन इसका समर्थन करता है, अन्यथा तुरंत (SWS PWM Driver पृ. 37)।

Pwm_SetPeriodAndDuty अवधि और ड्यूटी साइकिल को एक साथ सेट करता है [SWS_Pwm_91001]। इसमें तीन नियम लागू होते हैं (SWS PWM Driver पृ. 30):

  • अवधि को अवधि के अंत में अपडेट किया जाता है, यदि कार्यान्वयन इसका समर्थन करता है और यह PwmPeriodUpdatedEndperiod के माध्यम से कॉन्फ़िगर किया गया है।
  • आउटपुट पर स्पाइक्स को दबाया जाना चाहिए।
  • ड्यूटी साइकिल प्रदान किया जाता है ताकि आवृत्ति और ड्यूटी साइकिल एक दूसरे से मेल खाएं।
tastgrad a Pwm_SetDutyCycle या Pwm_SetPeriodAndDuty का कॉल (सामान्य जांच सफल) k Pwm_SetPeriodAndDuty? a->k c Kanalklasse = PWM_VARIABLE_PERIOD? k->c हाँ d angeforderter Tastgrad? k->d nein (Pwm_SetDutyCycle) e PWM_E_PERIOD_UNCHANGEABLE रिपोर्ट करें, बिना किसी कार्रवाई के फ़ंक्शन से बाहर निकलें c->e नहीं (सक्रिय त्रुटि पहचान के साथ) p आवर्तकाल और ड्यूटी साइकिल सेट करें (आवर्तकाल के अंत में आवर्तकाल, यदि PwmPeriodUpdatedEndperiod; ग्लिच को दबाएं) c->p हाँ z आउटपुट स्थिर: ध्रुवता के विपरीत d->z 0x0000 (0 %) h आउटपुट स्थिर: ध्रुवता के समान d->h 0x8000 (100 %) m आवर्तकाल, ड्यूटी साइकिल और ध्रुवता के अनुसार मॉड्यूलेशन d->m dazwischen

गतिविधि आरेख: चैनल वर्ग के परीक्षण और 0% तथा 100% के विशेष प्रबंधन के साथ Pwm_SetDutyCycle और Pwm_SetPeriodAndDuty का प्रसंस्करण। स्रोत: [SWS_Pwm_40002], SWS PWM Driver पृ. 28, SWS PWM Driver पृ. 30, SWS PWM Driver पृ. 44

Pwm_SetOutputToIdle आउटपुट को तुरंत कॉन्फ़िगर की गई आइडल स्थिति में सेट करता है [SWS_Pwm_91002]। परिवर्तनीय अवधि वाले चैनल बाद में Pwm_SetPeriodAndDuty के माध्यम से फिर से सक्रिय किए जाते हैं (SWS PWM Driver पृ. 31)। \"Setting Pwm output to idle\" आरेख ठीक इसी अनुक्रम को दिखाता है (SWS PWM Driver पृ. 50)। Pwm_GetOutputState आंतरिक आउटपुट स्थिति को सिंक्रोनस रूप से PWM_HIGH या PWM_LOW [SWS_Pwm_00100] [SWS_Pwm_00108] के रूप में पढ़ता है। आवश्यकता विनिर्देश का एक आरेख पढ़े गए मान को PWM इकाई के आउटपुट पर स्थित करता है, यानी पोर्ट लॉजिक से पहले और भौतिक पिन पर नहीं (RS PWM Driver पृ. 14)।

kanal init Pwm_Init के बाद (कॉन्फ़िगर की गई प्रारंभिक स्थिति) mod Modulation (0 % < Tastgrad < 100 %) init->mod Konfiguration: Modulation stat स्थिर स्तर (0 %: ध्रुवता के विपरीत, 100 %: ध्रुवता के समान) init->stat कॉन्फ़िगरेशन: Low या High mod->mod Pwm_SetPeriodAndDuty (केवल PWM_VARIABLE_PERIOD) mod->stat Pwm_SetDutyCycle(0x0000 | 0x8000) idle Idle-Zustand (konfigurierter Idle-Pegel) mod->idle Pwm_SetOutputToIdle / Pwm_DeInit stat->mod Pwm_SetDutyCycle(> 0 %, < 100 %) stat->idle Pwm_SetOutputToIdle / Pwm_DeInit idle->mod Pwm_SetPeriodAndDuty (परिवर्तनीय आवर्तकाल के साथ पुनः सक्रियण)

स्थिति आरेख: एक चैनल की आउटपुट स्थितियाँ (मॉड्यूलेशन, स्थिर स्तर, आइडल) और उनके बीच स्विच करने वाले APIs। स्रोत: [SWS_Pwm_91000], [SWS_Pwm_91001], [SWS_Pwm_91002], SWS PWM Driver पृ. 28, SWS PWM Driver पृ. 31, SWS PWM Driver पृ. 46

प्रति चैनल एज नोटिफ़िकेशन

Pwm_EnableNotification के साथ Pwm User किसी चैनल के लिए नोटिफ़िकेशन चालू करता है। प्रकार Pwm_EdgeNotificationType का पैरामीटर PWM_RISING_EDGE, PWM_FALLING_EDGE या PWM_BOTH_EDGES [SWS_Pwm_91004] [SWS_Pwm_00109] का चयन करता है। फ़ंक्शन लंबित इंटरप्ट को छोड़ देता है (SWS PWM Driver पृ. 35)। यह Pwm_DisableNotification [SWS_Pwm_91003] की तरह ही केवल तभी मौजूद होता है जब PwmNotificationSupported चालू हो (SWS PWM Driver पृ. 34)।

ड्राइवर Pwm_EnableNotification या Pwm_DisableNotification के अंतिम कॉल के अनुसार कॉन्फ़िगर किए गए फ़ंक्शन Pwm_Notification_<#Channel> को कॉल करता है। ऐसा करते समय यह संबंधित इंटरप्ट फ़्लैग को रीसेट करता है (SWS PWM Driver पृ. 42)। कॉलबैक में कोई पैरामीटर नहीं होता है और इसे Pwm_Externals.h के माध्यम से ज्ञात किया जाता है। यह पुनःप्रवेशी (reentrant) है या नहीं, यह Pwm User के कार्यान्वयन पर निर्भर करता है [SWS_Pwm_00105]।

PWM चैनल की एज अधिसूचनाPwm UserPwmPwm_Init(const Pwm_ConfigType*)Pwm_Init()तब तक कोई अधिसूचना नहींersten Pwm_EnableNotificationPwm_EnableNotification(ChannelNumber,PWM_RISING_EDGE | PWM_FALLING_EDGE | PWM_BOTH_EDGES)anstehende Interrupts verwerfenPwm_EnableNotification()loopप्रत्येक चयनित एज परइंटरप्ट फ़्लैग रीसेट करेंPwm_Notification_<#Channel>()Pwm_DisableNotification(ChannelNumber)Pwm_DisableNotification()कोई अतिरिक्त अधिसूचनाएं नहीं

अनुक्रम आरेख: इनिशियलाइज़ेशन से लेकर एज नोटिफ़िकेशन को चालू और बंद करने और आगे के कॉलबैक के न आने तक की प्रक्रिया। स्रोत: [SWS_Pwm_91004], [SWS_Pwm_91003], [SWS_Pwm_00105], SWS PWM Driver पृ. 52, SWS PWM Driver पृ. 42

PWM पेरिफेरल्स की पावर स्थितियाँ

पावर स्थितियों का नियंत्रण एक वैकल्पिक विशेषता है। यह PWM पेरिफेरल्स तक सीमित है और इसके लिए आवश्यक है कि एप्लिकेशन, मोड प्रबंधन और IoHwAb पहले से ही उच्च-स्तरीय सीमाओं को पूरा करते हों (SWS PWM Driver पृ. 17)। यदि PwmLowPowerStatesSupport सक्रिय है, तो चार Power-State-APIs उत्पन्न होते हैं (SWS PWM Driver पृ. 16)। Pwm_PowerStateType, PWM_FULL_POWER (0x00) के साथ-साथ घटती खपत वाली स्थितियों के लिए 1..255 की सीमा को जानता है। R20-11 में इस प्रकार को एक एनम (enumeration) के रूप में परिभाषित किया गया है [SWS_Pwm_00197]। इसके विपरीत बाद का संस्करण इसे uint8 से प्राप्त प्रकार के रूप में सूचीबद्ध करता है (SWS PWM Driver पृ. 25)।

पावर स्थिति का परिवर्तन दो चरणों में होता है:

  1. Pwm_PreparePowerState तैयारी शुरू करता है और परिणाम पैरामीटर में PWM_SERVICE_ACCEPTED या अस्वीकृति का कारण प्रदान करता है [SWS_Pwm_00183] [SWS_Pwm_00165]। जो तुरंत पूरा नहीं हो सकता, उसे आवधिक रूप से कॉल किया जाने वाला Pwm_Main_PowerTransitionManager [SWS_Pwm_00189] [SWS_Pwm_00190] संभालता है। इसकी कॉल दर परिवर्तनीय है, और यह केवल एसिंक्रोनस मोड में कॉलबैक भेजता है (SWS PWM Driver पृ. 41)। ड्राइवर पूर्ण हो चुकी तैयारी की रिपोर्ट IoHwAb_Pwm_NotifyReadyForPowerState<#Mode> [SWS_Pwm_00198] के साथ करता है।
  2. Pwm_SetPowerState हार्डवेयर को तैयार स्थिति में ले जाता है [SWS_Pwm_00166]। सभी चैनलों को IDLE पर सेट करना और सभी नोटिफ़िकेशन का पंजीकरण रद्द करने जैसी पूर्व-शर्तें जिम्मेदार SWCs, जैसे IoHwAb, द्वारा पहले ही पूरी की जानी चाहिए। फ़ंक्शन अंतर्निहित मध्यवर्ती स्थितियों को निष्पादित नहीं करता है (SWS PWM Driver पृ. 36)।
powerzustand uninit आरंभीकृत नहीं (परिणाम PWM_NOT_INIT) stabil stabil (aktueller = Zielzustand) uninit->stabil Pwm_Init stabil->stabil बिना तैयारी के Pwm_SetPowerState या वर्तमान स्थिति के साथ Prepare → PWM_SEQUENCE_ERROR stabil->stabil समर्थित नहीं / सीधे पहुँच योग्य नहीं → PWM_POWER_STATE_NOT_SUPP / PWM_TRANS_NOT_POSSIBLE vorb तैयारी जारी है (लक्ष्य ≠ वर्तमान स्थिति) stabil->vorb Pwm_PreparePowerState(PowerState) E_OK / PWM_SERVICE_ACCEPTED (asynchroner Modus) bereit Vorbereitung abgeschlossen stabil->bereit Pwm_PreparePowerState (synchroner Modus) vorb->bereit Pwm_Main_PowerTransitionManager → IoHwAb_Pwm_NotifyReadyForPowerState<#Mode> bereit->stabil Pwm_SetPowerState E_OK (neuer Zustand aktiv)

स्थिति आरेख: तैयारी, समापन और सेट करने के साथ-साथ अनुक्रम त्रुटियों के साथ पावर स्थिति का दो-चरणीय परिवर्तन। स्रोत: [SWS_Pwm_00183], [SWS_Pwm_00166], [SWS_Pwm_00165], [SWS_Pwm_00190], SWS PWM Driver पृ. 39, SWS IoHwAb पृ. 61

Pwm_GetCurrentPowerState [SWS_Pwm_00177] वर्तमान स्थिति प्रदान करता है, Pwm_GetTargetPowerState [SWS_Pwm_00180] अनुरोधित स्थिति प्रदान करता है। जब तक कोई संक्रमण प्रगति पर न हो, दोनों एक समान होते हैं (SWS PWM Driver पृ. 38)। IoHwAb विनिर्देश एसिंक्रोनस मामले के लिए BswM, RTE/SchM, IoHwAb, ADC और PWM के मध्य की अंतःक्रिया को दर्शाता है (SWS IoHwAb पृ. 60)। सिंक्रोनस मामले में, तैयारी API के वापस लौटते ही तैयारी पहले ही पूरी हो चुकी होती है (SWS IoHwAb पृ. 61)।

Asynchroner Wechsel in einen Niedrigenergiezustand (vereinfacht)BswMRte / SchMIoHwAbPwmUse Case: Phase 1: VorbereitungRTE/SchMSwitch(...)OnEntryRunnable_LowPowerModeA()IoHwAb_PreparePowerState_LowPowerModeA()Pwm_PreparePowerState(PwrSts_3)E_OK / PWM_SERVICE_ACCEPTEDतैयारी पृष्ठभूमि में जारी रहती हैUse Case: Phase 2: Hintergrundverarbeitungloopbis Vorbereitung abgeschlossenPwm_Main_PowerTransitionManager()IoHwAb_Pwm_NotifyReadyForPowerStateLowPowerModeA()IoHwAb_PollForResults()UpdateModePorts()Use Case: Phase 3: Zustand setzenRTE/SchMSwitch(LowPowerModeA_Transition_End)IoHwAb_EnterPowerStateLP1()पूर्वापेक्षा: सभी चैनल IDLE,Benachrichtigungen abgemeldetPwm_SetPowerState(&Result)E_OK / PWM_SERVICE_ACCEPTEDPwm_GetCurrentPowerState(...)E_OK, CurrentPowerState

अनुक्रम आरेख: IoHwAb द्वारा नियंत्रित निम्न-ऊर्जा अवस्था (low-power state) में एसिंक्रोनस संक्रमण। यह क्रम सरलीकृत है और ADC को छोड़ दिया गया है। स्रोत: [SWS_Pwm_00183], [SWS_Pwm_00189], [SWS_Pwm_00198], [SWS_Pwm_00166], SWS IoHwAb पृ. 57, SWS IoHwAb पृ. 60

कॉन्फ़िगरेशन, चैनल कंटेनर और समवर्तीता

चैनल के अनिवार्य पैरामीटर निर्दिष्ट हार्डवेयर चैनल, अवधि (period) और ड्यूटी साइकिल (duty cycle) के लिए डिफ़ॉल्ट मान, पोलैरिटी, निष्क्रिय स्तर (idle level) और चैनल वर्ग हैं। फ़ेज़ शिफ़्ट, संदर्भ चैनल और माइक्रोकंट्रोलर-विशिष्ट विशेषताएँ वैकल्पिक हैं, जहाँ तक हार्डवेयर उनका समर्थन करता है (SWS PWM Driver पृ. 25)। कॉन्फ़िगरेशन मॉडल में, PwmChannelConfigSet में कम से कम एक PwmChannel शामिल होता है, और PwmDutycycleDefault 0 से 0x8000 तक सीमित होता है (ECUC-Parameter पृ. 545)। PwmChannelClass को Pwm_ChannelClassType पर मैप किया जाता है। PwmChannelId को चैनल कंटेनर के प्रतीकात्मक नाम को सौंपा जाता है (SWS PWM Driver पृ. 57)।

वैकल्पिक सेवाओं को कॉन्फ़िगरेशन के माध्यम से सक्षम और अक्षम किया जाता है: PwmSetOutputToIdle (SWS PWM Driver पृ. 31), PwmGetOutputState (SWS PWM Driver पृ. 33) तथा ऊपर उल्लिखित PwmDeInitApi और PwmNotificationSupported।

कंकरेंसी के लिए निम्नलिखित लागू होता है:

  • Pwm_SetDutyCycle जैसी चैनल सेवाएँ भिन्न-भिन्न चैनल संख्याओं [SWS_Pwm_91000] के लिए पुन:प्रवेशी (reentrant) हैं।
  • पावर स्टेट APIs पुन:प्रवेशी (reentrant) नहीं हैं [SWS_Pwm_00183]।
  • ऐसे पार्टीशन असाइनमेंट वाले कॉन्फ़िगरेशन, जिनका कार्यान्वयन द्वारा समर्थन नहीं किया जाता है, मॉड्यूल द्वारा अस्वीकार किए जाने चाहिए [SWS_Pwm_00203]।

“multi-core reentrant” स्तर तक के रीएंट्रेंसी स्तरों को BSW-Distribution-Guide (BSW Distribution Guide पृ. 18) में समझाया गया है।

त्रुटि की स्थिति में व्यवहार

यदि विकास त्रुटि पहचान (development error detection) सक्रिय है, तो फ़ंक्शन पहचानी गई त्रुटियों की रिपोर्ट Default Error Tracer को करते हैं। इसके बाद वे अनुरोधित फ़ंक्शन को छोड़ देते हैं, ताकि न तो डेटा और न ही हार्डवेयर रजिस्टर दूषित हों (SWS PWM Driver पृ. 44)। त्रुटि कोड [SWS_Pwm_00201] हैं:

  • PWM_E_INIT_FAILED (0x10)
  • प्रारंभीकरण से पहले कॉल के लिए PWM_E_UNINIT (0x11) [SWS_Pwm_20002]
  • अमान्य चैनलों के लिए PWM_E_PARAM_CHANNEL (0x12) [SWS_Pwm_30002]
  • निश्चित अवधि वाले चैनलों पर अवधि परिवर्तनों के लिए PWM_E_PERIOD_UNCHANGEABLE (0x13) [SWS_Pwm_40002]
  • PWM_E_ALREADY_INITIALIZED (0x14)
  • Pwm_GetVersionInfo पर एक NULL पैरामीटर के लिए PWM_E_PARAM_POINTER (0x15)

Pwm_GetOutputState को हमेशा एक मान वापस लौटाना चाहिए। प्रारंभीकरण से पहले या अमान्य चैनल की स्थिति में, यह PWM_LOW [SWS_Pwm_30051] होता है।

pruefung a चैनल API को कॉल करना det Entwicklungsfehlererkennung aktiv? a->det ini Modul initialisiert? det->ini हाँ ok सर्विस निष्पादित करें det->ok नहीं ch क्या ChannelNumber मान्य है? ini->ch हाँ u PWM_E_UNINIT an Det melden ini->u नहीं pc PWM_E_PARAM_CHANNEL an Det melden ch->pc नहीं ch->ok हाँ skip बिना किसी कार्रवाई के फ़ंक्शन से बाहर निकलें (Pwm_GetOutputState द्वारा PWM_LOW लौटाया जाता है) u->skip pc->skip

गतिविधि आरेख: सक्रिय विकास त्रुटि पहचान के तहत चैनल APIs की सामान्य जाँचें, जिसमें बिना किसी प्रभाव के निरस्तीकरण शामिल है। स्रोत: [SWS_Pwm_20002], [SWS_Pwm_30002], [SWS_Pwm_30051], SWS PWM Driver पृ. 44

पावर स्टेट APIs त्रुटियों की रिपोर्ट अतिरिक्त रूप से Std_ReturnType और परिणाम प्रकार Pwm_PowerStateRequestResultType के माध्यम से करते हैं। संभावित मान PWM_NOT_INIT, PWM_SEQUENCE_ERROR, PWM_HW_FAILURE, PWM_POWER_STATE_NOT_SUPP और PWM_TRANS_NOT_POSSIBLE [SWS_Pwm_00165] हैं। एक असमर्थित अवस्था के लिए इसके अतिरिक्त PWM_E_POWER_STATE_NOT_SUPPORTED निर्धारित है [SWS_Pwm_00174], तथा सीधे अप्राप्य अवस्था के लिए PWM_E_TRANSITION_NOT_POSSIBLE [SWS_Pwm_00175] निर्धारित है।

यदि Pwm_SetPowerState को तब कॉल किया जाता है जब चैनल अभी भी IDLE से बाहर हैं या सूचनाएँ पंजीकृत हैं, तो रनटाइम त्रुटि PWM_E_NOT_DISENGAGED (0x16) उत्पन्न होती है [SWS_Pwm_00202] (SWS PWM Driver पृ. 20)। Pwm_Main_PowerTransitionManager बिना प्रारंभीकरण के आसानी से वापस लौट आता है और जानबूझकर किसी विकास त्रुटि की रिपोर्ट नहीं करता है। कारण: चक्रीय कार्य (cyclic tasks) प्रारंभीकरण समाप्त होने से पहले ही चल सकते हैं (SWS PWM Driver पृ. 41)।

आगे विस्तृत साक्ष्य

AUTOSAR Classic R20-11 के लिए पेलोड में प्रदान की गई आवश्यकताओं और दस्तावेज़ अंशों पर आधारित AI-जनित मार्गदर्शिका। केवल विनिर्देश ही बाध्यकारी है।

PWM Driver (Pwm)

Generates pulse-width-modulated signals with configurable duty cycle and period.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

फ़ंक्शन Pwm_Init [SWS_Pwm_00095] 📄 PDF

void Pwm_Init (const Pwm_ConfigType* ConfigPtr);

Service for PWM initialization.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 0770524664d2 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

सिंक्रोनस फ़ंक्शन Pwm_Init संपूर्ण PWM ड्राइवर ([SWS_Pwm_00095]) को आरंभ करने के लिए एक केंद्रीय सेवा के रूप में कार्य करता है। यह हेडर फ़ाइल Pwm.h के माध्यम से प्रदान किया जाता है और इसका हेक्साडेसिमल सर्विस-ID 0x00 है ([SWS_Pwm_00095])। एकमात्र इनपुट पैरामीटर के रूप में ConfigPtr पास किया जाता है, जो Pwm_ConfigType प्रकार के ड्राइवर-विशिष्ट कॉन्फ़िगरेशन सेट के पॉइंटर के रूप में कार्य करता है ([SWS_Pwm_00095])। इंटरफ़ेस का कोई रिटर्न मान नहीं होता है और यह न तो आउटपुट पैरामीटर का उपयोग करता है और न ही इनपुट/आउटपुट पैरामीटर का ([SWS_Pwm_00095])।

रनटाइम व्यवहार के संबंध में, Pwm_Init सिंक्रोनस है और नॉन-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट है ([SWS_Pwm_00095])। इसलिए कई थ्रेड्स, कार्यों या इंटरप्ट रूटीन से इस फ़ंक्शन का समवर्ती या बाधाकारी कॉल पूरी तरह से अस्वीकार्य है। इसका निष्पादन आम तौर पर PWM चैनलों के आगे उपयोग से पहले ECU के इनिशियलाइज़ेशन चरण में सिस्टम स्टार्टअप के दौरान एक बार होना चाहिए। प्रश्न Q-ff3f1cf769dfed70 (खुला)

अनुमेय कॉल क्रम को सुरक्षित करने के लिए, मॉड्यूल अपनी स्थिति की निगरानी करता है: यदि सेवा Pwm_Init को तब कॉल किया जाता है जब PWM ड्राइवर पहले से ही आरंभ हो चुका हो, तो मॉड्यूल पहचानकर्ता 0x14 के साथ डेवलपमेंट एरर PWM_E_ALREADY_INITIALIZED रिपोर्ट करता है ([SWS_Pwm_50002])। इस प्रकार पुनरावृत्त इनिशियलाइज़ेशन को एक त्रुटि माना जाता है।

यह पाठ एक AI द्वारा तैयार किया गया था। AUTOSAR विनिर्देश आधिकारिक हैं।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन Pwm_DeInit [SWS_Pwm_00096] 📄 PDF

void Pwm_DeInit (void);

Service for PWM De - Initialization.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: e8e4048754f1 उद्गम खुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग और सिग्नेचर

फ़ंक्शन Pwm_DeInit PWM ड्राइवर के वि-आरंभीकरण के लिए एक सेवा के रूप में कार्य करता है ([SWS_Pwm_00096])। यह हेडर फ़ाइल Pwm.h के माध्यम से प्रदान किया जाता है और सर्विस-ID 0x01 रखता है ([SWS_Pwm_00096])। इंटरफ़ेस में हस्ताक्षर void Pwm_DeInit(void) है, यह न तो इनपुट और न ही आउटपुट पैरामीटर स्वीकार करता है और कॉलर को कोई रिटर्न मान प्रदान नहीं करता है ([SWS_Pwm_00096])।

Pwm_DeInit का कॉल सिंक्रोनस रूप से निष्पादित होता है ([SWS_Pwm_00096])। इस प्रकार कॉल करने वाला नियंत्रण प्रवाह फ़ंक्शन में तब तक बना रहता है जब तक कि PWM मॉड्यूल के वि-आरंभीकरण चरण पूर्ण नहीं हो जाते।

समवर्तीता और प्रतिबंध

निष्पादन के लिए समवर्तीता के संबंध में निम्नलिखित सीमा शर्तें लागू होती हैं:

  • नॉन-रीएंट्रेंट: सेवा को नॉन-रीएंट्रेंट के रूप में निर्दिष्ट किया गया है ([SWS_Pwm_00096])। एकाधिक थ्रेड्स, Tasks या ISRs से एक साथ या बाधित करने वाला कॉल अस्वीकार्य है।
  • कॉल संदर्भ: सिंक्रोनस सेमांटिक्स और रीएंट्रेंसी की कमी के कारण, कॉल आमतौर पर टास्क स्तर पर एक नियंत्रित शटडाउन चरण के हिस्से के रूप में होने की संभावना है। प्रश्न Q-f1afc58637cba5cf (खुला)

त्रुटि प्रबंधन

Pwm_DeInit के विनिर्देश में न तो रिटर्न मान और न ही विशिष्ट त्रुटि कोड परिभाषित हैं ([SWS_Pwm_00096])। किसी भी संभावित रनटाइम या स्थिति संबंधी त्रुटियों को मॉड्यूल-आंतरिक निगरानी तंत्रों जैसे कि डेवलपमेंट एरर ट्रेसर (DET) के माध्यम से लॉग या इंटरसेप्ट किए जाने की संभावना है, क्योंकि फ़ंक्शन इंटरफ़ेस के माध्यम से सीधा एरर फीडबैक प्रदान नहीं किया गया है। प्रश्न (खुला)

यह पाठ AUTOSAR Classic R20-11 विनिर्देश के आधार पर स्वचालित रूप से तैयार किया गया था।

फ़ंक्शन Pwm_DisableNotification [SWS_Pwm_91003] 📄 PDF

void Pwm_DisableNotification (Pwm_ChannelType ChannelNumber);

Service to disable the PWM signal edge notification.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 2d97fc6435bd उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन Pwm_DisableNotification का उपयोग किसी विशिष्ट PWM चैनल की एज अधिसूचना (Signal Edge Notification) को निष्क्रिय करने के लिए किया जाता है [SWS_Pwm_91003]। फ़ंक्शन घोषणा और संबंधित प्रकार परिभाषाएँ हेडर फ़ाइल Pwm.h के माध्यम से उपलब्ध कराई जाती हैं [SWS_Pwm_91003]।

पैरामीटर और रिटर्न मान

इंटरफ़ेस की सर्विस ID 0x06 है और इसमें निम्नलिखित हस्ताक्षर विशेषताएँ हैं [SWS_Pwm_91003]:

  • ChannelNumber (in): प्रकार Pwm_ChannelType के कॉन्फ़िगर किए जाने वाले PWM चैनल का संख्यात्मक पहचानकर्ता [SWS_Pwm_91003]।

न तो इनपुट/आउटपुट पैरामीटर (inout) मौजूद हैं और न ही केवल आउटपुट पैरामीटर (out) [SWS_Pwm_91003]। यह फ़ंक्शन कॉलर को कोई रिटर्न मान (void) वापस नहीं करता है [SWS_Pwm_91003]।

सिंक्रोनाइज़ेशन व्यवहार और समवर्तीता

Pwm_DisableNotification का कॉल एसिंक्रोनस रूप से कार्य करता है [SWS_Pwm_91003]। मल्टीथ्रेडिंग व्यवहार के संबंध में, यह सर्विस तब तक रीएंट्रेंट है जब तक कि अलग-अलग चैनल नंबरों को संबोधित किया जाता है [SWS_Pwm_91003]।

Interpretation: चूँकि रीएंट्रेंसी स्पष्ट रूप से अलग-अलग चैनलों तक सीमित है, इसलिए यह फ़ंक्शन संभवतः समान PWM चैनल के लिए रीएंट्रेंट नहीं है [SWS_Pwm_91003]। प्रश्न Q-005e97fd25679da7 (खुला) इसलिए कॉलर पक्ष पर समान चैनल के लिए एक साथ होने वाले कॉल्स को एक-दूसरे के विरुद्ध सिंक्रोनाइज़ करना पड़ सकता है।

AUTOSAR Classic R20-11 विनिर्देश के आधार पर क्यूरेट किए गए उपयोग संबंधी निर्देश।

फ़ंक्शन Pwm_EnableNotification [SWS_Pwm_91004] 📄 PDF

void Pwm_EnableNotification (Pwm_ChannelType ChannelNumber, Pwm_EdgeNotificationType Notification);

Service to enable the PWM signal edge notification according to notification pa rameter.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 0c9ffc1eca13 उद्गम खुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग

फ़ंक्शन Pwm_EnableNotification पास किए गए अधिसूचना पैरामीटर [SWS_Pwm_91004] के अनुसार किसी विशिष्ट PWM चैनल के लिए सिग्नल एज सूचनाओं को सक्रिय करने के लिए कार्य करता है। सेवा हेडर फ़ाइल Pwm.h के माध्यम से प्रदान की जाती है, इसमें सर्विस-ID 0x07 है और कॉलर को कोई रिटर्न मान (void) वापस नहीं करती है [SWS_Pwm_91004]।

इंटरफ़ेस को कॉल करते समय दो अनिवार्य इनपुट पैरामीटर पास किए जाने हैं [SWS_Pwm_91004]:

  • ChannelNumber (प्रकार Pwm_ChannelType का): संबोधित किए जाने वाले PWM चैनल की संख्यात्मक पहचान [SWS_Pwm_91004]।
  • Notification (प्रकार Pwm_EdgeNotificationType का): अनुमत मान PWM_RISING_EDGE, PWM_FALLING_EDGE या PWM_BOTH_EDGES के साथ एज अधिसूचना के प्रकार को परिभाषित करता है [SWS_Pwm_91004]।

सेमांटिक्स और कॉनकरेंसी

सेवा का निष्पादन एसिंक्रोनस के रूप में निर्दिष्ट है [SWS_Pwm_91004]। कॉनकरेंसी के संबंध में, Pwm_EnableNotification विभिन्न चैनल नंबरों के लिए रीएंट्रेंट डिज़ाइन किया गया है [SWS_Pwm_91004]। एक ही PWM चैनल पर समवर्ती या बाधित करने वाली पहुंच के साथ, सेवा संभवतः गैर-रीएंट्रेंट है; इसलिए इस तरह के कॉल को कॉलर पक्ष पर सुरक्षित किया जाना चाहिए। प्रश्न Q-73309ed8589161a3 (खुला)

त्रुटि प्रबंधन और सीमा शर्तें

विनिर्देश अंश इस फ़ंक्शन के लिए न तो विशिष्ट रिटर्न मान और न ही Development Error Tracer (DET) या Diagnostic Event Manager (DEM) के लिए त्रुटि संदेश परिभाषित करता है [SWS_Pwm_91004]। इसी तरह, अनुमत कॉल संदर्भों या टास्क-संबंधी क्रमों के लिए विनिर्देशों का अभाव है। चूंकि कोई पूर्व शर्त उल्लेखित नहीं है, फ़ंक्शन कॉल केवल PWM ड्राइवर के सफल इनिशियलाइज़ेशन के बाद ही अनुमत होने की संभावना है। प्रश्न Q-7f428f59a20175c2 (खुला)

यह उपयोग नोट AUTOSAR Classic R20-11 के विनिर्देश अंश के आधार पर स्वचालित रूप से बनाया गया था।

फ़ंक्शन Pwm_SetPowerState [SWS_Pwm_00166] 📄 PDF

Std_ReturnType Pwm_SetPowerState (Pwm_PowerStateRequestResultType* Result);

This API configures the Pwm module so that it enters the already prepared power st ate, chosen between a predefined set of configured ones.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: b7532b0354d7 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

सिंक्रोनस फ़ंक्शन Pwm_SetPowerState PWM मॉड्यूल को Power-States के पूर्व-कॉन्फ़िगर चयन से पहले से तैयार स्थिति में रखता है [SWS_Pwm_00166]। घोषणा हेडर Pwm.h के माध्यम से उपलब्ध है [SWS_Pwm_00166]।

उपयोग और रिटर्न मान

फ़ंक्शन कोई इनपुट पैरामीटर स्वीकार नहीं करता है और प्रकार Pwm_PowerStateRequestResultType* के पॉइंटर पैरामीटर Result के माध्यम से विस्तृत परिणाम पास करता है [SWS_Pwm_00166]:

  • यदि मोड को सफलतापूर्वक बदला जा सका, तो फ़ंक्शन E_OK लौटाता है और Result को PWM_SERVICE_ACCEPTED पर सेट करता है [SWS_Pwm_00166]।
  • यदि अनुरोध अस्वीकार कर दिया जाता है, तो कॉल E_NOT_OK लौटाता है [SWS_Pwm_00166]।

त्रुटि प्रबंधन

त्रुटि के मामले में (रिटर्न मान E_NOT_OK), Result विफलता का कारण निर्दिष्ट करता है [SWS_Pwm_00166]:

  • PWM_NOT_INIT: PWM मॉड्यूल इनिशियलाइज़ नहीं है [SWS_Pwm_00166]।
  • PWM_SEQUENCE_ERROR: एक अमान्य API कॉल क्रम मौजूद है [SWS_Pwm_00166]।
  • PWM_HW_FAILURE: हार्डवेयर मॉड्यूल में एक त्रुटि अनुरोधित Power-State में प्रवेश करने से रोकती है [SWS_Pwm_00166]।

समवर्तीता और सीमांत शर्तें

Pwm_SetPowerState गैर-रीएंट्रेंट (Non Reentrant) है और अनुक्रम त्रुटि से बचने के लिए आवश्यक है कि लक्ष्य स्थिति को कॉल से पहले तैयार किया गया हो [SWS_Pwm_00166]।

यह पाठ AUTOSAR विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन Pwm_GetCurrentPowerState [SWS_Pwm_00177] 📄 PDF

Std_ReturnType Pwm_GetCurrentPowerState (Pwm_PowerStateType* CurrentPowerState, Pwm_PowerStateRequestResultType* Result);

This API returns the current power state of the PWM HW unit. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_PWMDriver

फ़ंक्शन Pwm_PreparePowerState [SWS_Pwm_00183] 📄 PDF

Std_ReturnType Pwm_PreparePowerState (Pwm_PowerStateType PowerState, Pwm_PowerStateRequestResultType* Result);

This API starts the needed process to allow the PWM HW module to enter the requested power state. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_PWMDriver

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 50b7f8a853d8 उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

उपयोग

सिंक्रोनस फ़ंक्शन Pwm_PreparePowerState आवश्यक तैयारी प्रक्रिया शुरू करता है ताकि PWM हार्डवेयर मॉड्यूल अनुरोधित ऊर्जा स्थिति में बदल सके [SWS_Pwm_00183]। वांछित लक्ष्य स्थिति पैरामीटर PowerState के माध्यम से पारित की जाती है, जबकि विस्तृत परिणाम आउटपुट पॉइंटर Result के माध्यम से प्रदान किया जाता है [SWS_Pwm_00183]। यदि तैयारी सफलतापूर्वक शुरू की गई थी, तो फ़ंक्शन E_OK लौटाता है और Result को PWM_SERVICE_ACCEPTED पर सेट करता है [SWS_Pwm_00183]।

त्रुटि प्रबंधन

यदि सेवा को अस्वीकार कर दिया जाता है, तो फ़ंक्शन E_NOT_OK लौटाता है और Result के माध्यम से विशिष्ट कारण की रिपोर्ट करता है [SWS_Pwm_00183]:

  • PWM_NOT_INIT: PWM मॉड्यूल इनिशियलाइज़ नहीं है [SWS_Pwm_00183]।
  • PWM_SEQUENCE_ERROR: अमान्य कॉल क्रम, क्योंकि वर्तमान ऊर्जा स्थिति पहले से ही लक्ष्य स्थिति से मेल खाती है [SWS_Pwm_00183]।
  • PWM_POWER_STATE_NOT_SUPP: मॉड्यूल अनुरोधित ऊर्जा स्थिति का समर्थन नहीं करता है [SWS_Pwm_00183]।
  • PWM_TRANS_NOT_POSSIBLE: सीधा संक्रमण संभव नहीं है या हार्डवेयर परिधीय (hardware peripheral) अभी भी व्यस्त है [SWS_Pwm_00183]।

समवर्तीता और परस्पर क्रिया

फ़ंक्शन गैर-रीएंट्रेंट (Non Reentrant) है और इसलिए इसे उसी मॉड्यूल के लिए समवर्ती रूप से कॉल नहीं किया जाना चाहिए [SWS_Pwm_00183]। Pwm_PreparePowerState द्वारा सफल तैयारी के बाद, ऊर्जा स्थिति संक्रमण को अंतिम रूप से पूरा करने के लिए डाउनस्ट्रीम, गैर-तत्काल प्रभावी कार्रवाइयों को निष्पादित किया जाना चाहिए [SWS_Pwm_00190]।

यह उपयोग नोट विनिर्देश R20-11 के आधार पर स्वचालित रूप से तैयार किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन Pwm_Main_PowerTransitionManager [SWS_Pwm_00189] 📄 PDF

void Pwm_Main_PowerTransitionManager (void);

This API is cyclically called and supervises the power state transitions, checking for the readiness of the module and issuing the callbacks Io Hw Ab_ Pwm_ Notify Ready For Power State (see Pwm Power State Ready Cb k Ref configuration parameter). AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_PWMDriver

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 879296577e8e उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

इंटरफ़ेस Pwm_Main_PowerTransitionManager [SWS_Pwm_00189] के अनुसार PWM ड्राइवर के ऊर्जा स्थिति संक्रमणों (Power State Transitions) की चक्रीय निगरानी के लिए कार्य करता है। इसमें सर्विस-ID 0x0d है, यह कोई पासिंग पैरामीटर स्वीकार नहीं करता है और कोई रिटर्न मान नहीं देता है (सिग्नेचर void Pwm_Main_PowerTransitionManager(void))।

अपने चक्रीय निष्पादन के हिस्से के रूप में, फ़ंक्शन संबंधित ऊर्जा स्थिति के लिए मॉड्यूल की परिचालन तत्परता की जांच करता है। जैसे ही तत्परता उपलब्ध होती है, यह अधिसूचना कॉलबैक IoHwAb_Pwm_NotifyReadyForPowerState<Mode> को ट्रिगर करता है, जिसे कॉन्फ़िगरेशन पैरामीटर PwmPowerStateReadyCbkRef के माध्यम से संदर्भित किया जाता है [SWS_Pwm_00189]।

फ़ंक्शन एक चक्रीय कॉल संदर्भ के लिए अभिप्रेत है और हेडर फ़ाइल SchM_Pwm.h के माध्यम से प्रदान किया जाता है। परिणामस्वरूप, आवधिक कॉल आमतौर पर BSW शेड्यूलर (Schedule Manager) के संदर्भ में होने की संभावना है [SWS_Pwm_00189]। प्रश्न Q-b9b0431e7ccbca88 (खुला) इस सेवा के लिए मॉड्यूल विनिर्देश में विशिष्ट त्रुटि कोड, DET या DEM के माध्यम से त्रुटि प्रबंधन के तंत्र और साथ ही विशेष रीएंट्रेंसी शर्तें परिभाषित नहीं हैं।

यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

फ़ंक्शन Pwm_ [SWS_Pwm_00105] 📄 PDF

void Pwm_Notification_<#Channel> (void);

The Pwm module shall call the function Pwm_ Notification_<#Channel> accordingly to the last call of Pwm_ Enable Notification for channel <#Channel>.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 6eff8686a5f4 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

चैनल-विशिष्ट अधिसूचना फ़ंक्शन Pwm_Notification_<#Channel> को PWM मॉड्यूल द्वारा समकालिक रूप से कॉल किया जाता है जैसे ही संबंधित चैनल के लिए कॉन्फ़िगर किया गया एज इवेंट घटित होता है [SWS_Pwm_00105]। फ़ंक्शन का सिग्नेचर void Pwm_Notification_<#Channel>(void) है, यह कोई पासिंग पैरामीटर स्वीकार नहीं करता है और कोई रिटर्न मान नहीं देता है [SWS_Pwm_00105]। यह फ़ाइल Pwm_Externals.h में घोषित है और इसे उपयोगकर्ता द्वारा प्रदान किया जाना चाहिए [SWS_Pwm_00105]।

कॉल संबंधित चैनल के लिए Pwm_EnableNotification के अंतिम कॉल पर निर्भर करता है [SWS_Pwm_00105]। ट्रिगर करने वाले इवेंट Pwm_EdgeNotificationType के मानों पर आधारित होते हैं, जो बढ़ती (PWM_RISING_EDGE), गिरती (PWM_FALLING_EDGE) या दोनों सिग्नल एजेस (PWM_BOTH_EDGES) में अंतर करता है [SWS_Pwm_00109]। सिग्नल जनरेशन और इवेंट अधिसूचना से पहले, PWM मॉड्यूल को हार्डवेयर-निर्भर Pwm_ConfigType संरचना के साथ Pwm_Init के माध्यम से इनिशियलाइज़ किया गया होना चाहिए [SWS_Pwm_00095], [SWS_Pwm_00111]।

कॉनकरेंसी के संबंध में, कॉलबैक फ़ंक्शन की रीएंट्रेंसी को स्पष्ट रूप से उपयोगकर्ता-निर्भर के रूप में परिभाषित किया गया है (PWM user implementation dependant) [SWS_Pwm_00105]। सटीक निष्पादन संदर्भ (उदाहरण के लिए कॉल सीधे इंटरप्ट सर्विस रूटीन में होता है या टास्क संदर्भ में) अंतर्निहित ड्राइवर कार्यान्वयन पर निर्भर होने की संभावना है (व्याख्या)। प्रश्न Q-327872e0e8fecb37 (खुला) इस अधिसूचना इंटरफ़ेस के लिए कोई विशिष्ट त्रुटि कोड, रिटर्न मान या मानकीकृत DET या DEM संदेश मौजूद नहीं हैं [SWS_Pwm_00105]।

यह पाठ एक AI द्वारा बनाया गया था और AUTOSAR Classic रिलीज़ R20-11 विनिर्देश पर आधारित है।

फ़ंक्शन IoHwAb_Pwm_NotifyReadyForPower [SWS_Pwm_00198] 📄 PDF

void IoHwAb_Pwm_NotifyReadyForPowerState<#Mode> (void);

The API shall be invoked by the PWM Driver when the requested power state preparation for mode <#Mode> is completed.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 23b0f44b508d उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

फ़ंक्शन IoHwAb_Pwm_NotifyReadyForPower (वाक्यविन्यास में IoHwAb_Pwm_NotifyReadyForPowerState<#Mode> के रूप में घोषित) हेडर IoHwAb_Pwm.h के माध्यम से प्रदान किया जाता है और AUTOSAR पावर प्रबंधन में कॉलबैक इंटरफ़ेस के रूप में कार्य करता है [SWS_Pwm_00198]।

उपयोग, इंटरफ़ेस विशेषताओं और सिस्टम इंटरैक्शन के संबंध में निम्नलिखित बाध्यकारी विनिर्देश लागू होते हैं:

  • उपयोग और कॉल संदर्भ: इंटरफ़ेस की सर्विस ID 0x60 है और यह सिंक्रोनस रूप से निष्पादित होता है [SWS_Pwm_00198]। PWM ड्राइवर द्वारा इसे कॉल किया जाना अनिवार्य है जैसे ही किसी मोड के अनुरोधित पावर स्टेट (Power State) के लिए डिवाइस-साइड तैयारी सफलतापूर्वक पूरी हो जाती है [SWS_Pwm_00198]।
  • पैरामीटर और रिटर्न मान: फ़ंक्शन हस्ताक्षर न तो इनपुट, इनपुट/आउटपुट और न ही आउटपुट पैरामीटर परिभाषित करता है और इसका कोई रिटर्न मान (void) नहीं है [SWS_Pwm_00198]। व्याख्या: संबंधित पावर मोड का असाइनमेंट सीधे सोर्स कोड में मोड-विशिष्ट फ़ंक्शन नाम से लिया जाना चाहिए। प्रश्न Q-ab761160ed91de78 (खुला)
  • समवर्तीता और प्रतिबंध: फ़ंक्शन को गैर-पुनःप्रवेशी (non-reentrant) (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_Pwm_00198]। इसलिए उसी ड्राइवर संदर्भ के भीतर कॉल समानांतर या नेस्टेड रूप से नहीं होने चाहिए।
  • परस्पर क्रिया: क्रॉस-मॉड्यूल प्रक्रिया में, कॉल उच्च-स्तरीय I/O हार्डवेयर एब्स्ट्रैक्शन को संकेत देता है कि ड्राइवर चरण वांछित ऑपरेटिंग स्थिति में स्विच करने के लिए तैयार है [SWS_Pwm_00198]।

विनिर्देश स्रोतों में इस फ़ंक्शन के लिए कोई विशिष्ट त्रुटि कोड और DET या DEM को कोई संदेश प्रदान नहीं किए गए हैं [SWS_Pwm_00198]।

यह पाठ AI द्वारा बनाया गया था; सभी कथन विशेष रूप से AUTOSAR विनिर्देश पर आधारित हैं।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

टाइप Pwm_OutputStateType [SWS_Pwm_00108] 📄 PDF

Output state of a PWM channel.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 4d670762d069 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

गणना प्रकार Pwm_OutputStateType Classic AUTOSAR ड्राइवर के भीतर एक PWM चैनल की आउटपुट स्थिति को परिभाषित करता है Pwm [SWS_Pwm_00108]। प्रकार की परिभाषा कॉलिंग सॉफ़्टवेयर इकाइयों और ड्राइवर अनुप्रयोगों के लिए हेडर फ़ाइल Pwm.h के माध्यम से प्रदान की जाती है [SWS_Pwm_00108]।

इस गणना की मान सीमा चैनल की दो स्पष्ट रूप से निर्धारित स्थितियों में अंतर करती है [SWS_Pwm_00108]:

  • PWM_HIGH (संख्यात्मक मान 0x00): इंगित करता है कि संबंधित PWM चैनल हाई स्थिति में है [SWS_Pwm_00108]।
  • PWM_LOW (संख्यात्मक मान 0x01): इंगित करता है कि संबंधित PWM चैनल लो स्थिति में है [SWS_Pwm_00108]।

कॉल संदर्भ और उपयोग के उद्देश्य के संबंध में, यह तत्व स्वयं एक प्रकार के रूप में कोई इंटरफ़ेस फ़ंक्शन परिभाषित नहीं करता है [SWS_Pwm_00108]। व्याख्या: चैनल के वर्तमान या वांछित लॉजिकल स्तर की स्थिति को इंगित करने के लिए मॉड्यूल के API फ़ंक्शनों में पैरामीटर या रिटर्न मान के रूप में इन मानों के सामान्यतः उपयोग किए जाने की संभावना है। प्रश्न Q-9c142d658ab7fcfd (खुला)

चूँकि यह एक प्राथमिक प्रकार की परिभाषा है, विनिर्देश के दायरे में DET या DEM से संबंधित कोई विशिष्ट त्रुटि प्रबंधन मौजूद नहीं है और न ही रीएंट्रेंसी या सिंक्रोनस निष्पादन के लिए कोई आवश्यकताएं हैं [SWS_Pwm_00108]।

यह पाठ AUTOSAR Classic R20-11 विनिर्देश के आधार पर AI द्वारा जनरेट किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

टाइप Pwm_EdgeNotificationType [SWS_Pwm_00109] 📄 PDF

Definition of the type of edge notification of a PWM channel.

टाइप Pwm_ConfigType [SWS_Pwm_00111] 📄 PDF

This is the type of data structure containing the initialization data for the PWM driver.

टाइप Pwm_PowerStateRequestResultType [SWS_Pwm_00165] 📄 PDF

Result of the requests related to power state transitions.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 615a415d7a52 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

गणना प्रकार Pwm_PowerStateRequestResultType [SWS_Pwm_00165] के अनुसार PWM ड्राइवर में ऊर्जा प्रबंधन मोड स्थिति परिवर्तन (Power State Transitions) के अनुरोधों का परिणाम प्रदान करता है। प्रकार की परिभाषा हेडर Pwm.h के माध्यम से उपलब्ध है [SWS_Pwm_00165]।

यह प्रकार सफल संक्रमण और विशिष्ट त्रुटि स्थितियों दोनों का मानचित्रण करता है [SWS_Pwm_00165]:

  • PWM_SERVICE_ACCEPTED (0x00): अनुरोधित Power-State परिवर्तन सफलतापूर्वक निष्पादित किया गया था [SWS_Pwm_00165]।
  • PWM_NOT_INIT (0x01): PWM मॉड्यूल अभी तक इनिशियलाइज़ नहीं हुआ है [SWS_Pwm_00165]।
  • PWM_SEQUENCE_ERROR (0x02): API का कॉल क्रम अमान्य है [SWS_Pwm_00165]।
  • PWM_HW_FAILURE (0x03): एक हार्डवेयर त्रुटि आवश्यक ऊर्जा स्थिति ग्रहण करने से रोकती है [SWS_Pwm_00165]।
  • PWM_POWER_STATE_NOT_SUPP (0x04): अनुरोधित स्थिति मॉड्यूल द्वारा समर्थित नहीं है [SWS_Pwm_00165]।
  • PWM_TRANS_NOT_POSSIBLE (0x05): सीधा स्थिति संक्रमण संभव नहीं है या हार्डवेयर परिधीय अभी भी व्यस्त है [SWS_Pwm_00165]।

कॉल करने वालों को यह निर्धारित करने के लिए परिणाम का मूल्यांकन करना होगा कि क्या स्थिति परिवर्तन तुरंत प्रभावी हुआ था। व्याख्या: संक्रमण संघर्षों या हार्डवेयर अवरोधों के बारे में उच्च-स्तरीय मॉड्यूल को सूचित करने के लिए, इस प्रकार के सामान्यतः संबंधित पावर प्रबंधन फ़ंक्शनों के रिटर्न मान या आउटपुट पैरामीटर के रूप में कार्य करने की संभावना है। प्रश्न Q-fd06829e5c030906 (खुला)

यह पाठ AI द्वारा जनरेट किया गया था और मार्गदर्शन के रूप में कार्य करता है। AUTOSAR विनिर्देश ही प्रामाणिक है।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

टाइप Pwm_PowerStateType [SWS_Pwm_00197] 📄 PDF

Power state currently active or set as target power state.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: b1411c45ba56 उद्गम खुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

गणना प्रकार Pwm_PowerStateType PWM मॉड्यूल में ऊर्जा स्थितियों का वर्णन करने के लिए कार्य करता है [SWS_Pwm_00197]। यह या तो वर्तमान में सक्रिय परिचालन स्थिति या ड्राइवर की एक नई लक्षित निर्दिष्ट शक्ति स्थिति का प्रतिनिधित्व करता है [SWS_Pwm_00197]। यह डेटा प्रकार हेडर फ़ाइल Pwm.h के माध्यम से प्रदान किया जाता है [SWS_Pwm_00197]।

विनिर्देश गणना के लिए निम्नलिखित मान और मान श्रेणियां परिभाषित करता है [SWS_Pwm_00197]:

  • PWM_FULL_POWER (मान 0x00): पूर्ण शक्ति ("Full Power") स्थिति को दर्शाता है [SWS_Pwm_00197]।
  • मान सीमा 1..255: उत्तरोत्तर घटती बिजली खपत ("power modes with decreasing power consumptions") के साथ श्रेणीबद्ध शक्ति मोड को परिभाषित करती है [SWS_Pwm_00197]।

उपयोग के संदर्भ के संबंध में, प्रकार के ऊर्जा बचत मोड के अनुरोध में पासिंग पैरामीटर के रूप में और स्थिति प्रश्नों में रिटर्न मान के रूप में कार्य करने की संभावना है, क्योंकि प्रकार सक्रिय और लक्ष्य दोनों स्थितियों का मानचित्रण करता है [SWS_Pwm_00197]। प्रश्न Q-f0423f8b958d7e91 (खुला) ठोस API फ़ंक्शन, त्रुटि प्रबंधन (DET/DEM) और साथ ही कॉनकरेंसी प्रतिबंध इस विनिर्देश उद्धरण में इस डेटा प्रकार के लिए शामिल नहीं हैं और इसलिए छोड़ दिए गए हैं [SWS_Pwm_00197]।

यह पाठ AUTOSAR विनिर्देश R20-11 के आधार पर AI द्वारा उत्पन्न किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता I1)

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_Pwm
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Pwm@rel:R20-11#584e8fdf
Content hash
584e8fdf
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_PWMDriver.pdf#nameddest=SWS_Pwm_00095

आरंभीकरण और स्थिति

Pwm_DeInit फ़ंक्शन

Service for PWM De - Initialization.

void Pwm_DeInit (void);
Pwm_GetVersionInfo फ़ंक्शन

Service returns the version information of this module.

void Pwm_GetVersionInfo (Std_VersionInfoType* versioninfo);
Pwm_Init फ़ंक्शन

Service for PWM initialization.

void Pwm_Init (const Pwm_ConfigType* ConfigPtr);

सेवाएँ · Set…

Pwm_SetDutyCycle फ़ंक्शन

Service sets the duty cycle of the PWM channel.

void Pwm_SetDutyCycle (Pwm_ChannelType ChannelNumber, uint16 DutyCycle);
Pwm_SetOutputToIdle फ़ंक्शन

Service sets the PWM output to the configured Idle state.

void Pwm_SetOutputToIdle (Pwm_ChannelType ChannelNumber);
Pwm_SetPeriodAndDuty फ़ंक्शन

Service sets the period and the duty cycle of a PWM channel

void Pwm_SetPeriodAndDuty (Pwm_ChannelType ChannelNumber, Pwm_PeriodType Period, uint16 DutyCycle);
Pwm_SetPowerState फ़ंक्शन

This API configures the Pwm module so that it enters the already prepared power st ate, chosen between a predefined set of configured ones.

Std_ReturnType Pwm_SetPowerState (Pwm_PowerStateRequestResultType* Result);

सेवाएँ · Get…

Pwm_GetCurrentPowerState फ़ंक्शन

This API returns the current power state of the PWM HW unit. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_PWMDriver

Std_ReturnType Pwm_GetCurrentPowerState (Pwm_PowerStateType* CurrentPowerState, Pwm_PowerStateRequestResultType* Result);
Pwm_GetOutputState फ़ंक्शन

Service to read the internal state of the PWM out put signal.

Pwm_OutputStateType Pwm_GetOutputState (Pwm_ChannelType ChannelNumber);
Pwm_GetTargetPowerState फ़ंक्शन

This API returns the Target power state of the PWM HW unit.

Std_ReturnType Pwm_GetTargetPowerState (Pwm_PowerStateType* TargetPowerState, Pwm_PowerStateRequestResultType* Result);

सेवाएँ · अन्य

The API shall be invoked by the PWM Driver when the requested power state preparation for mode <#Mode> is completed.

void IoHwAb_Pwm_NotifyReadyForPowerState<#Mode> (void);
Pwm_DisableNotification फ़ंक्शन

Service to disable the PWM signal edge notification.

void Pwm_DisableNotification (Pwm_ChannelType ChannelNumber);
Pwm_EnableNotification फ़ंक्शन

Service to enable the PWM signal edge notification according to notification pa rameter.

void Pwm_EnableNotification (Pwm_ChannelType ChannelNumber, Pwm_EdgeNotificationType Notification);
Pwm_Main_PowerTransitionManager फ़ंक्शन

This API is cyclically called and supervises the power state transitions, checking for the readiness of the module and issuing the callbacks Io Hw Ab_ Pwm_ Notify Ready For Power State (see Pwm Power State Ready Cb k Ref configuration parameter). AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_PWMDriver

void Pwm_Main_PowerTransitionManager (void);
Pwm_Notification_ फ़ंक्शन

The Pwm module shall call the function Pwm_ Notification_<#Channel> accordingly to the last call of Pwm_ Enable Notification for channel <#Channel>.

void Pwm_Notification_<#Channel> (void);
Pwm_PreparePowerState फ़ंक्शन

This API starts the needed process to allow the PWM HW module to enter the requested power state. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_PWMDriver

Std_ReturnType Pwm_PreparePowerState (Pwm_PowerStateType PowerState, Pwm_PowerStateRequestResultType* Result);

टाइप

Defines the class of a PWM channel

Pwm_ChannelType टाइप

Nume ric identifier of a PWM channel.

Pwm_ConfigType टाइप

This is the type of data structure containing the initialization data for the PWM driver.

Definition of the type of edge notification of a PWM channel.

Pwm_OutputStateType टाइप

Output state of a PWM channel.

Pwm_PeriodType टाइप

Definition of the period of a PWM channel.

Result of the requests related to power state transitions.

Pwm_PowerStateType टाइप

Power state currently active or set as target power state.