DEENESPTFRRUARHIKOZHNL

LIN State Manager (LinSM)

ModulLinSM (LIN State Manager)
BSW-Modul-ID141
Standard-Header#include "LinSM.h"
SWS-SpezifikationAUTOSAR_SWS_LINStateManager.pdf
ClusterLIN

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

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

प्रति LIN नेटवर्क संचार मोड, वेक-अप, स्लीप और शेड्यूल टेबल परिवर्तनों को नियंत्रित करता है।

LIN State Manager प्रत्येक LIN नेटवर्क के लिए ComM के संचार अनुरोधों को LIN Interface के कॉल्स में रूपांतरित करता है। परिणामी स्टेट्स LINSM_FULL_COM और LINSM_NO_COM की रिपोर्ट वह ComM और BswM को करता है [SWS_LinSM_00126]। वेक-अप, स्लीप और, केवल मास्टर के मामले में, शेड्यूल टेबल परिवर्तन को वह सीधे प्रारंभ करता है और LinSM_MainFunction में टाइमर के साथ पुष्टियों (confirmations) की निगरानी करता है। स्लेव के मामले में, मास्टर स्लीप निर्धारित करता है: केवल LinSM_GotoSleepIndication ही LinIf_GotoSleep को ट्रिगर करता है [SWS_LinSM_00231]। यदि कोई ट्रांज़िशन विफल हो जाता है, तो LinSM पिछली स्थिति की पुनः रिपोर्ट करता है, ताकि ऊपरी लेयर्स सुसंगत बनी रहें।

LIN State Manager, LIN के लिए बस-स्टेट-मैनेजर है। इसके माध्यम से ComM किसी नेटवर्क की संचार क्षमता का अनुरोध करता है (SWS ComM पृ. 19)। मोड संबंधी अनुरोधों को वह LinSM_RequestComMode के माध्यम से स्वीकार करता है [SWS_LinSM_00126]। वह LinIf को नियंत्रित करता है और ComM तथा BswM को स्थितियों की रिपोर्ट करता है [SWS_LinSM_00229]। कौन-सा LIN ड्राइवर किसी नेटवर्क को सेवा प्रदान करता है, यह LinIf के पीछे छिपा रहता है (SWS LinSM पृ. 28)।

kontext ComM ComM LinSM LinSM ComM->LinSM LinSM_RequestComMode LinSM_GetCurrentComMode BswM BswM BswM->LinSM LinSM_Init (Beispielregel) LinSM_ScheduleRequest SchM BSW-Scheduler (SchM) SchM->LinSM LinSM_MainFunction (periodisch) LinSM->ComM ComM_BusSM_ModeIndication ComM_BusSM_BusSleepMode LinSM->BswM BswM_LinSM_CurrentState BswM_LinSM_CurrentSchedule LinIf LinIf LinSM->LinIf LinIf_Wakeup / LinIf_GotoSleep LinIf_ScheduleRequest / LinIf_SetTrcvMode Det Det LinSM->Det Fehlermeldungen LinIf->LinSM LinSM_WakeupConfirmation LinSM_GotoSleepConfirmation LinSM_GotoSleepIndication LinSM_ScheduleRequestConfirmation Lin LIN ड्राइवर (एक या अधिक) LinIf->Lin Zuordnung Netzwerk zu Treiber

संदर्भ आरेख (Context diagram): ComM और BswM LinSM को नियंत्रित करते हैं, LinSM LinIf को नियंत्रित करता है, और LinIf कॉलबैक्स के माध्यम से वापस रिपोर्ट करता है। स्रोत: [SWS_LinSM_00229], [SWS_LinSM_00138], SWS LinSM पृ. 28

LinSM_Init के बाद प्रत्येक नेटवर्क LINSM_NO_COM में होता है [SWS_LinSM_00155]। इस दौरान ComM और BswM को सूचित नहीं किया जाता है (SWS LinSM पृ. 23)। संचार की अनुमति केवल LINSM_FULL_COM में होती है। प्रवेश करने पर ComM और BswM को एक सूचना प्राप्त होती है, और सब-स्टेट LINSM_RUN_COMMUNICATION में प्रवेश किया जाता है [SWS_LinSM_00301]। BswM के लिए केवल LINSM_FULL_COM और LINSM_NO_COM दृश्यमान होते हैं [SWS_LinSM_00220]।

zustaende cluster_init LINSM_INIT (je LIN-Netzwerk) cluster_full LINSM_FULL_COM Start Systemstart UNINIT LINSM_UNINIT Start->UNINIT NO_COM LINSM_NO_COM (Bus still) UNINIT->NO_COM LinSM_Init (ComM/BswM को कोई संदेश नहीं) RUN LINSM_RUN_COMMUNICATION NO_COM->RUN LinSM_WakeupConfirmation(TRUE) ComM और BswM को संदेश FULL_COM GOTO LINSM_GOTO_SLEEP RUN->GOTO LinIf_GotoSleep E_OK लौटाता है मास्टर: ComM NO_COM का अनुरोध करता है स्लेव: LinSM_GotoSleepIndication GOTO->NO_COM LinSM_GotoSleepConfirmation (success से स्वतंत्र) ComM और BswM को संदेश NO_COM

स्टेट आरेख: प्रति नेटवर्क LinSM वेक-अप और स्लीप पुष्टि के माध्यम से LINSM_NO_COM और LINSM_FULL_COM के बीच स्विच करता है। स्रोत: [SWS_LinSM_00155], [SWS_LinSM_00301], SWS LinSM पृ. 20

LinSM वेक-अप और स्लीप को सीधे कॉल में प्रारंभ करता है। LinIf की पुष्टियों की निगरानी वह LinSM_MainFunction में टाइमर के साथ करता है [SWS_LinSM_00156] (SWS LinSM पृ. 28)। मास्टर के मामले में, COMM_NO_COMMUNICATION का अनुरोध तुरंत LinIf_GotoSleep की ओर ले जाता है [SWS_LinSM_00036]। स्लेव के मामले में, इसे केवल संग्रहीत किया जाता है [SWS_LinSM_00230]; केवल LinSM_GotoSleepIndication ही स्लीप को ट्रिगर करता है [SWS_LinSM_00231]। एक साइलेंस-आफ्टर-वेकअप टाइमर पुनः वेक-अप के प्रयासों को विलंबित करता है [SWS_LinSM_00237]।

शेड्यूल परिवर्तन केवल मास्टर में उपलब्ध होते हैं [SWS_LinSM_00241]। LinSM LinSM_ScheduleRequest को सीधे LinIf को अग्रेषित करता है और परिणाम की रिपोर्ट BswM_LinSM_CurrentSchedule के माध्यम से करता है (SWS LinSM पृ. 26)। त्रुटियों के लिए निम्नलिखित लागू होता है:

  • LinSM विकास त्रुटियों (development errors) की रिपोर्ट DET को [SWS_LinSM_00053] के कोड्स के साथ करता है।
  • LinIf से प्राप्त न होने वाला कॉलबैक LINSM_E_CONFIRMATION_TIMEOUT माना जाता है [SWS_LinSM_00224]।
  • एक असफल ट्रांज़िशन के बाद LinSM पिछली स्थिति को पुनः सेट करता है, ताकि ComM और BswM सुसंगत रूप से सूचित रहें [SWS_LinSM_00177]।

ComM, BswM और LIN Interface के बीच भूमिका

LIN State Manager (LinSM) LIN के लिए बस-स्टेट-मैनेजर है। अन्य बस-स्टेट-मैनेजर्स की तरह ही, ComM इसके माध्यम से किसी नेटवर्क की संचार क्षमता का अनुरोध करता है (SWS ComM पृ. 19)। इसके लिए केंद्रीय इनपुट इंटरफ़ेस LinSM_RequestComMode है [SWS_LinSM_00126]। वर्तमान मोड LinSM_GetCurrentComMode द्वारा प्रदान किया जाता है [SWS_LinSM_00122]। LinSM विशेष रूप से नेटवर्क्स पर कार्य करता है। कौन-सा LIN ड्राइवर किसी नेटवर्क को सेवा देता है, इसे LinIf छुपाता है। इसलिए कई अलग-अलग LIN ड्राइवर्स वाले ECU LinSM को प्रभावित नहीं करते हैं (SWS LinSM पृ. 28)।

अनिवार्य इंटरफ़ेस में नीचे की ओर LinIf_GotoSleep और LinIf_ScheduleRequest तथा ऊपर की ओर संदेश ComM_BusSM_ModeIndication, ComM_BusSM_BusSleepMode, BswM_LinSM_CurrentState और BswM_LinSM_CurrentSchedule शामिल हैं [SWS_LinSM_00229] (SWS LinSM पृ. 41)। LinSM वेक-अप अनुक्रम में LinIf_Wakeup को कॉल करता है (SWS LinSM पृ. 27)। वैकल्पिक रूप से वह Det_ReportError और LinIf_SetTrcvMode का उपयोग करता है [SWS_LinSM_00138]। LinIf निम्नलिखित कॉलबैक्स के माध्यम से वापस रिपोर्ट करता है:

ComM_ModeType, NetworkHandleType और LinIf_SchHandleType जैसे आयातित प्रकारों को [SWS_LinSM_00219] निर्धारित करता है।

kontext ComM ComM LinSM LinSM ComM->LinSM LinSM_RequestComMode LinSM_GetCurrentComMode BswM BswM BswM->LinSM LinSM_Init (Beispielregel) LinSM_ScheduleRequest SchM BSW-Scheduler (SchM) SchM->LinSM LinSM_MainFunction (periodisch) LinSM->ComM ComM_BusSM_ModeIndication ComM_BusSM_BusSleepMode LinSM->BswM BswM_LinSM_CurrentState BswM_LinSM_CurrentSchedule LinIf LinIf LinSM->LinIf LinIf_Wakeup / LinIf_GotoSleep LinIf_ScheduleRequest / LinIf_SetTrcvMode Det Det LinSM->Det Fehlermeldungen LinIf->LinSM LinSM_WakeupConfirmation LinSM_GotoSleepConfirmation LinSM_GotoSleepIndication LinSM_ScheduleRequestConfirmation Lin LIN ड्राइवर (एक या अधिक) LinIf->Lin Zuordnung Netzwerk zu Treiber

संदर्भ आरेख: LinSM ऊपर ComM और BswM तथा नीचे LinIf के बीच मध्यस्थता करता है; LIN ड्राइवर्स LinIf के पीछे छिपे रहते हैं। स्रोत: [SWS_LinSM_00126], [SWS_LinSM_00229], [SWS_LinSM_00138], [SWS_LinSM_00156], SWS LinSM पृ. 28, Mode-Management-Guide पृ. 54

प्रति LIN नेटवर्क स्टेट मॉडल, इनिशियलाइज़ेशन और चक्रीय भाग

स्टार्टअप पर प्रत्येक API कॉल से पहले मॉड्यूल-व्यापी स्थिति LINSM_UNINIT सक्रिय होती है (SWS LinSM पृ. 22)। LinSM_Init तुल्यकालिक (synchronous) और नॉन-रीएंट्रेंट है [SWS_LinSM_00155]। फ़ंक्शन को कार्यान्वयन-विशिष्ट प्रकार LinSM_ConfigType का पोस्ट-बिल्ड कॉन्फ़िगरेशन का पॉइंटर प्राप्त होता है [SWS_LinSM_00221]। उसके बाद प्रत्येक नेटवर्क सुपर-स्टेट LINSM_INIT के सब-स्टेट LINSM_NO_COM में होता है। इस पहले ट्रांज़िशन की रिपोर्ट LinSM_Init न तो ComM को करता है और न ही BswM को, क्योंकि इस समय ComM का इनिशियलाइज़ होना आवश्यक नहीं है (SWS LinSM पृ. 23)। मोड-मैनेजमेंट गाइड के उदाहरण में, एक BswM नियम Lin_Init और LinIf_Init के बाद LinSM_Init(null) को कॉल करता है (Mode-Management-Guide पृ. 54)।

LINSM_NO_COM में बस शांत रहती है (SWS LinSM पृ. 23)। केवल LINSM_FULL_COM में बस पर संचार की अनुमति होती है, और प्रत्येक नेटवर्क अन्य नेटवर्क्स से स्वतंत्र रूप से इस स्थिति में पहुँचता है। प्रवेश करने पर निम्नलिखित घटित होता है (SWS LinSM पृ. 23):

  • ComM को COMM_FULL_COMMUNICATION के साथ एक संदेश प्राप्त होता है, BswM को LINSM_FULL_COM के साथ एक संदेश प्राप्त होता है।
  • यदि LinSMTransceiverPassiveMode कॉन्फ़िगर किया गया है, तो LinSM ट्रांसीवर को LinIf_SetTrcvMode के माध्यम से सक्रिय करता है।
  • सब-स्टेट LINSM_RUN_COMMUNICATION में प्रवेश किया जाता है [SWS_LinSM_00301]।

अस्थायी सब-स्टेट LINSM_GOTO_SLEEP स्लीप पुष्टि की प्रतीक्षा को पाटता है (SWS LinSM पृ. 20, SWS LinSM पृ. 21)। BswM के लिए LinSM_ModeType के केवल दो मान दृश्यमान होते हैं: LINSM_FULL_COM (0x01) और LINSM_NO_COM (0x02) [SWS_LinSM_00220]।

समय की निगरानी LinSM_MainFunction में चलती है। यह आवधिक (periodic) फ़ंक्शन अनुरोध टाइमआउट्स [SWS_LinSM_00156] के टाइमर्स का संचालन करता है। वेक-अप पुष्टि टाइमर्स भी वहीं चलते हैं, जिसमें प्रत्येक नेटवर्क के लिए एक समर्पित टाइमर होता है (SWS LinSM पृ. 28)। इसके विपरीत, वास्तविक बस कार्रवाइयों को LinSM सीधे कॉल में प्रारंभ करता है और अगले मेन फ़ंक्शन चक्र की प्रतीक्षा नहीं करता है [SWS_LinSM_00036] [SWS_LinSM_00231]।

zustaende cluster_init LINSM_INIT (je LIN-Netzwerk) cluster_full LINSM_FULL_COM Start Systemstart UNINIT LINSM_UNINIT Start->UNINIT NO_COM LINSM_NO_COM (Bus still) UNINIT->NO_COM LinSM_Init (ComM/BswM को कोई संदेश नहीं) RUN LINSM_RUN_COMMUNICATION NO_COM->RUN LinSM_WakeupConfirmation(TRUE) ComM और BswM को संदेश FULL_COM GOTO LINSM_GOTO_SLEEP RUN->GOTO LinIf_GotoSleep E_OK लौटाता है मास्टर: ComM NO_COM का अनुरोध करता है स्लेव: LinSM_GotoSleepIndication GOTO->NO_COM LinSM_GotoSleepConfirmation (success से स्वतंत्र) ComM और BswM को संदेश NO_COM

स्टेट आरेख: प्रति नेटवर्क LinSM वेक-अप और स्लीप पुष्टि के माध्यम से LINSM_NO_COM और LINSM_FULL_COM के बीच स्विच करता है; LINSM_GOTO_SLEEP केवल एक प्रतीक्षा स्थिति है। स्रोत: [SWS_LinSM_00155], [SWS_LinSM_00301], SWS LinSM पृ. 20, SWS LinSM पृ. 21, SWS LinSM पृ. 24

वेक-अप: LINSM_NO_COM से LINSM_FULL_COM तक

एक LIN नेटवर्क तब जागता है जब ComM LinSM_RequestComMode के माध्यम से पूर्ण संचार का अनुरोध करता है। यदि कोई अन्य नोड बस को जगाता है, तो LinSM नहीं बल्कि EcuM इसे संभालता है; यह मामला भी ComM द्वारा एक अनुरोध की ओर ले जाता है (SWS LinSM पृ. 27)। तब LinSM सीधे LinIf_Wakeup को कॉल करता है और पुनः प्रयासों की अधिकतम संख्या के काउंटर को रीसेट करता है। यदि LinIf पहले से ही जागृत है, तो वह इस कॉल को अनदेखा कर देता है। कॉल से पहले, LinSM चैनल के लिए LinSMConfirmationTimeout के साथ वेक-अप पुष्टि टाइमर प्रारंभ करता है। यह मान 0 या मेन फ़ंक्शन अवधि का एक पूर्णांक गुणक होना चाहिए (SWS LinSM पृ. 28)।

यदि LinSM_WakeupConfirmation success = TRUE रिपोर्ट करता है, तो नेटवर्क LINSM_FULL_COM में बदल जाता है [SWS_LinSM_00132]। अन्य सभी मामलों में, LinSM अनुरोध से पहले की स्थिति को पुनः सेट करता है, ताकि ComM और BswM को फिर भी एक मोड इंडिकेशन प्राप्त हो (SWS LinSM पृ. 27)। स्लेव के मामले में, LinIf केवल तभी पुष्टि करता है जब वह मास्टर का पहला LIN हेडर प्राप्त करता है। यदि मास्टर शेड्यूलिंग शुरू नहीं करता है, तो पुष्टि नहीं मिलती है, और LinSM का टाइमआउट प्रभावी हो जाता है (SWS LinIf पृ. 52)।

LIN नेटवर्क को जगाना (आंतरिक Wakeup)ComMLinSMLinIfBswMLinSM_RequestComMode(network,COMM_FULL_COMMUNICATION)Wakeup पुष्टिकरण टाइमर प्रारंभ करना(LinSMConfirmationTimeout)LinIf_Wakeup(Channel)प्रत्यक्ष, LinSM_MainFunction में नहींE_OKE_OKमास्टर: वेकअप सिग्नल भेजने के बाद पावतीस्लेव: पहले प्राप्त LIN हेडर के साथ पावतीaltsuccess = TRUELinSM_WakeupConfirmation(network, TRUE)Timer stoppenLINSM_FULL_COM / LINSM_RUN_COMMUNICATIONComM_BusSM_ModeIndication(network,COMM_FULL_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_FULL_COM)success = FALSELinSM_WakeupConfirmation(network, FALSE)अनुरोध से पूर्व की स्थिति पुनः सेट करनाComM_BusSM_ModeIndication(network, bisheriger Modus)BswM_LinSM_CurrentState(network, bisheriger Zustand)कोई पावती नहींLinSM_MainFunction: Timer abgelaufenLINSM_E_CONFIRMATION_TIMEOUT

अनुक्रम आरेख (Sequence diagram): LinSM कॉल में तुरंत नेटवर्क को जगाता है, लेकिन स्थिति परिवर्तन केवल LinIf की अतुल्यकालिक पुष्टि के साथ ही होता है। स्रोत: [SWS_LinSM_00126], [SWS_LinSM_00132], [SWS_LinSM_00224], SWS LinSM पृ. 42, SWS LinSM पृ. 27

एक दूसरी समय सीमा LinSMSilenceAfterWakeupTimeout [SWS_LinSM_00235] के साथ साइलेंस-आफ्टर-वेकअप टाइमर है। जब तक यह चल रहा होता है, तब तक LinSM LinIf_Wakeup के एक नए कॉल को विलंबित करता है, भले ही ComM पूर्ण संचार का अनुरोध करे [SWS_LinSM_00237]। इसके समाप्त होने के बाद, LinSM वेक-अप प्रक्रिया को फिर से शुरू करता है, बशर्ते ComM अभी भी COMM_FULL_COMMUNICATION का अनुरोध कर रहा हो [SWS_LinSM_00236]। टाइमर को प्रारंभ करने वाली शर्त एक ऐसी आवश्यकता में दी गई है जो यहाँ उपलब्ध नहीं है। इसलिए इसका वर्णन नहीं किया गया है।

wakeup_entscheidung A ComM: LinSM_RequestComMode (COMM_FULL_COMMUNICATION) B Silence-after-Wakeup टाइमर चल रहा है? A->B C टाइमर समाप्त होने तक LinIf_Wakeup में विलंब करना B->C हाँ D पुनरावृत्ति काउंटर रीसेट करना Wakeup पुष्टिकरण टाइमर प्रारंभ करना B->D नहीं C->D Timer abgelaufen E LinIf_Wakeup(Channel) direkt aufrufen D->E F LinIf से पावती? E->F G LINSM_FULL_COM ComM और BswM को सूचना F->G WakeupConfirmation TRUE H अनुरोध से पूर्व की स्थिति पुनः सेट करना और रिपोर्ट करना F->H WakeupConfirmation FALSE I LinSM_MainFunction: Timer abgelaufen LINSM_E_CONFIRMATION_TIMEOUT F->I कोई पावती नहीं J Silence-after-Wakeup टाइमआउट और COMM_FULL_COMMUNICATION का निरंतर अनुरोध J->D Wakeup प्रक्रिया पुनः प्रारंभ करना

गतिविधि आरेख (Activity diagram): टाइमर की स्थिति और फ़ीडबैक के आधार पर पूर्ण संचार का एक अनुरोध LINSM_FULL_COM में, पुरानी स्थिति में, या एक पुष्टि टाइमआउट में समाप्त होता है। स्रोत: [SWS_LinSM_00237], [SWS_LinSM_00236], [SWS_LinSM_00224], SWS LinSM पृ. 27, SWS LinSM पृ. 28

स्लीप: मास्टर अनुरोध करता है, स्लेव बस का अनुसरण करता है

गोटो-स्लीप अनुक्रम मास्टर और स्लेव के बीच भिन्न होता है। दोनों मामलों में LinSM No-Communication मोड में प्रवेश की रिपोर्ट BswM और ComM को करता है, भले ही कोई समस्या उत्पन्न हुई हो (SWS LinSM पृ. 24)।

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

  • यदि ComM LINSM_FULL_COM में COMM_NO_COMMUNICATION का अनुरोध करता है, तो LinSM LinIf_GotoSleep को कॉल करता है, जो गोटो-स्लीप कमांड भेजता है [SWS_LinSM_10208]।
  • कॉल सीधे किया जाता है [SWS_LinSM_00036]। अन्य सभी मामलों में यह नहीं किया जाता है [SWS_LinSM_10209]।
  • कॉल केवल सब-स्टेट LINSM_RUN_COMMUNICATION में अनुमत है (SWS LinSM पृ. 24)।
  • यदि LinIf_GotoSleep E_NOT_OK देता है, तो LinSM_RequestComMode भी E_NOT_OK लौटाता है। पिछली स्थिति को फिर से सेट किया जाता है, ताकि ComM और BswM को एक इंडिकेशन प्राप्त हो [SWS_LinSM_00177]।

उसके बाद LinIf LinSM_GotoSleepConfirmation को कॉल करता है [SWS_LinSM_00135]। यदि LinSM तब LINSM_FULL_COM/LINSM_GOTO_SLEEP में है, तो वह पैरामीटर success की परवाह किए बिना LINSM_NO_COM में बदल जाता है। किसी भी अन्य स्थिति में वह पुष्टि को अनदेखा कर देता है (SWS LinSM पृ. 24)। विनिर्देशन का आरेख LinIf_GotoSleep से पहले एक टाइमर प्रारंभ करता है और पुष्टि के बाद इसे रोकता है (SWS LinSM पृ. 47)।

LIN नेटवर्क का स्लीप में जाना (मास्टर)ComMLinSMLinIfBswMLinSM_RequestComMode(network,COMM_NO_COMMUNICATION)केवल LINSM_FULL_COM / LINSM_RUN_COMMUNICATION मेंप्रत्यक्ष कॉल, LinSM_MainFunction में नहींstart_timer()LinIf_GotoSleep(Channel)altLinIf_GotoSleep = E_OKE_OKUnterzustand LINSM_GOTO_SLEEPE_OKLinSM_GotoSleepConfirmation(network, success)stop_timer()LINSM_NO_COM (success से स्वतंत्र)ComM_BusSM_ModeIndication(network,COMM_NO_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_NO_COM)LinIf_GotoSleep = E_NOT_OKE_NOT_OKbisherigen Zustand erneut setzenE_NOT_OKComM_BusSM_ModeIndication(network,COMM_FULL_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_FULL_COM)

अनुक्रम आरेख: मास्टर के मामले में ComM स्लीप को ट्रिगर करता है; LINSM_NO_COM केवल स्लीप पुष्टि के साथ ही प्राप्त होता है, LinIf_GotoSleep से एक E_NOT_OK पुरानी स्थिति की पुनः रिपोर्टिंग की ओर ले जाता है। स्रोत: [SWS_LinSM_00036], [SWS_LinSM_00177], [SWS_LinSM_00135], SWS LinSM पृ. 47, SWS LinSM पृ. 24

स्लेव के मामले में मास्टर स्लीप का निर्णय लेता है। यदि ComM LINSM_FULL_COM में COMM_NO_COMMUNICATION का अनुरोध करता है, तो LinSM केवल अनुरोध को संग्रहीत करता है और E_OK लौटाता है [SWS_LinSM_00230]। LinIf LinSM_GotoSleepIndication की रिपोर्ट तब करता है जब कोई गोटो-स्लीप कमांड प्राप्त होता है या बस-आइडल टाइमआउट होता है [SWS_LinSM_91000]। केवल तभी LinSM सीधे LinIf_GotoSleep को कॉल करता है [SWS_LinSM_00231]। आगे क्या होता है, यह संग्रहीत अनुरोध पर निर्भर करता है:

  • यदि COMM_NO_COMMUNICATION का अनुरोध किया गया है और LinIf_GotoSleep E_OK देता है, तो ComM को ComM_BusSM_BusSleepMode [SWS_LinSM_00233] के माध्यम से बस-स्लीप इवेंट का पता चलता है।
  • यदि पूर्ण संचार का अनुरोध किया गया है, तो LinSM स्लीप पुष्टि के बाद वेक-अप प्रक्रिया को फिर से शुरू करता है [SWS_LinSM_00234]।

LinIf में स्लेव अनुक्रम कंट्रोलर को और, यदि समर्थित हो, ट्रांसीवर को स्लीप मोड में डाल देता है (SWS LinIf पृ. 137)।

LIN नेटवर्क का स्लीप में जाना (स्लेव)ComMLinSMLinIfBswMUse Case: ComM का स्लीप अनुरोधLinSM_RequestComMode(network,COMM_NO_COMMUNICATION)angeforderten Modus speichern,आगे कोई कार्रवाई नहींE_OKUse Case: BusereignisLinSM_GotoSleepIndication(Channel)Goto-Sleep-Kommando empfangenया बस-आइडल टाइमआउटstart_timer()LinIf_GotoSleep(Channel)प्रत्यक्ष, LinSM_MainFunction में नहींE_OKaltangefordert: COMM_NO_COMMUNICATIONComM_BusSM_BusSleepMode(Channel)LinSM_GotoSleepConfirmation(network, success)stop_timer()LINSM_NO_COMComM_BusSM_ModeIndication(network,COMM_NO_COMMUNICATION)BswM_LinSM_CurrentState(network, LINSM_NO_COM)angefordert: COMM_FULL_COMMUNICATIONLinSM_GotoSleepConfirmation(network, success)LINSM_NO_COM, ComM और BswM को सूचनाkein Bus-Sleep-Ereignis an ComMWakeup प्रक्रिया पुनः प्रारंभ करना (LinIf_Wakeup)

अनुक्रम आरेख: स्लेव के मामले में ComM का स्लीप अनुरोध केवल संग्रहीत किया जाता है, स्लीप LinIf के इंडिकेशन द्वारा ट्रिगर होती है। स्रोत: [SWS_LinSM_00230], [SWS_LinSM_00231], [SWS_LinSM_00233], [SWS_LinSM_00234], SWS LinSM पृ. 48, SWS LinSM पृ. 24

शेड्यूल टेबल्स बदलना (केवल मास्टर)

LinSM_ScheduleRequest [SWS_LinSM_00113] केवल तभी मौजूद होता है जब कम से कम एक चैनल मास्टर के रूप में कॉन्फ़िगर किया गया हो [SWS_LinSM_00241]। यही बात कॉलबैक LinSM_ScheduleRequestConfirmation [SWS_LinSM_00242] पर भी लागू होती है। अतुल्यकालिक फ़ंक्शन मेन फ़ंक्शन के माध्यम से चक्कर लगाए बिना अनुरोध को सीधे LinIf_ScheduleRequest को अग्रेषित करता है। उसका रिटर्न मान वह कॉलर को लौटाता है (SWS LinSM पृ. 26)। कॉलर BswM है। वह सिंबॉलिक संदर्भ के रूप में LinSMScheduleIndex का उपयोग करता है, जिसका मान LinIf के मान के अनुरूप होना चाहिए (SWS LinSM पृ. 52)। LIN ट्रांसपोर्ट प्रोटोकॉल के डायग्नोस्टिक शेड्यूल परिवर्तन भी BswM और LinSM_ScheduleRequest के माध्यम से चलते हैं (SWS LinIf पृ. 142)।

परिणाम की रिपोर्ट LinSM BswM_LinSM_CurrentSchedule के माध्यम से करता है (SWS BswM पृ. 80)। कौन-सा शेड्यूल रिपोर्ट किया जाएगा, यह प्रक्रिया पर निर्भर करता है (SWS LinSM पृ. 26):

  • यदि LinSM_ScheduleRequestConfirmation टाइमर समाप्त होने से पहले [SWS_LinSM_00129] की पुष्टि करता है, तो LinSM नए शेड्यूल की रिपोर्ट करता है।
  • यदि टाइमर समाप्त हो गया है, तो वह अपरिवर्तित शेड्यूल की रिपोर्ट करता है।
  • यदि LinIf_ScheduleRequest E_NOT_OK देता है, तो वह अगले मेन फ़ंक्शन कॉल में पुराने शेड्यूल की रिपोर्ट करता है।
  • वह पूर्व अनुरोध के बिना हुए परिवर्तन की भी रिपोर्ट करता है, जैसे कि NULL शेड्यूल में परिवर्तन, जिसे LinIf स्लीप के दौरान करता है।
शेड्यूल तालिका बदलना (केवल मास्टर)BswMLinSMLinIfLinSM_ScheduleRequest(network, schedule)start_timer()LinIf_ScheduleRequest(Channel, schedule)प्रत्यक्ष, LinSM_MainFunction में नहींaltE_OK, टाइमर समाप्त होने से पहले पावतीE_OKE_OK (weitergereicht)LinSM_ScheduleRequestConfirmation(network, schedule)stop_timer()BswM_LinSM_CurrentSchedule(network, neuer Schedule)E_OK, Timer abgelaufenE_OKE_OK (weitergereicht)LinSM_MainFunction: Timer abgelaufenBswM_LinSM_CurrentSchedule(network, अपरिवर्तित शेड्यूल)LinIf_ScheduleRequest = E_NOT_OKE_NOT_OKE_NOT_OK (weitergereicht)LinSM_MainFunction का अगला कॉलBswM_LinSM_CurrentSchedule(network, alter Schedule)

अनुक्रम आरेख: शेड्यूल परिवर्तन को सीधे अग्रेषित किया जाता है और समय की निगरानी की जाती है; BswM को प्रत्येक परिणाम में वास्तव में मान्य शेड्यूल की जानकारी मिलती है। स्रोत: [SWS_LinSM_00113], [SWS_LinSM_00129], [SWS_LinSM_00156], SWS LinSM पृ. 26, SWS LinSM पृ. 48

नोड प्रकार, कॉन्फ़िगरेशन और बाद के रिलीज़ के साथ अंतर

पैरामीटर LinSMNodeType यह निर्धारित करता है कि किसी चैनल के लिए मास्टर या स्लेव व्यवहार लागू होता है या नहीं। इस पर निर्भर करता है कि LinSM_ScheduleRequest, LinSM_ScheduleRequestConfirmation और LinSM_GotoSleepIndication उपलब्ध हैं या नहीं [SWS_LinSM_00241] [SWS_LinSM_00242] [SWS_LinSM_00243]। सबसे महत्वपूर्ण समय पैरामीटर LinSMConfirmationTimeout (SWS LinSM पृ. 28) और LinSMSilenceAfterWakeupTimeout [SWS_LinSM_00235] हैं। LinSMSchedule कंटेनर LinIf कॉन्फ़िगरेशन से शेड्यूल्स को संदर्भित करते हैं (SWS LinSM पृ. 52)। DET जाँचें LinSMDevErrorDetect [SWS_LinSM_00239] पर निर्भर करती हैं।

दस्तावेज़ के कई अंश बाद के रिलीज़ से आते हैं। R20-11 के लिए आवश्यकताएँ प्रामाणिक हैं, और कुछ स्थानों पर वे भिन्न हैं:

  • LinSM_ScheduleRequest के दूसरे पैरामीटर को R20-11 में schedule कहा जाता है और इसे \"Pointer to the new Schedule table\" के रूप में वर्णित किया गया है, भले ही इसका प्रकार LinIf_SchHandleType हो [SWS_LinSM_00113]। R22-11 के साथ इसका नाम बदल दिया गया था (SWS LinSM पृ. 1, Release Overview पृ. 50); R24-11 में इसे ScheduleTableIdx कहा जाता है (SWS LinSM पृ. 34)।
  • R20-11 में LinSM_GetCurrentComMode का सर्विस ID 0x11 है [SWS_LinSM_00122] और LinSM_RequestComMode का सर्विस ID 0x12 है [SWS_LinSM_00126]। बाद के संस्करण 0x41 और 0x40 निर्दिष्ट करते हैं और केवल विभिन्न नेटवर्क्स के लिए रीएंट्रेंसी की अनुमति देते हैं (SWS LinSM पृ. 35, SWS LinSM पृ. 36)।
  • ComM कॉलबैक्स को R20-11 में ComM_BusSM_… [SWS_LinSM_00233], R25-11 में ComM_<Bus>SM_… कहा जाता है (SWS LinSM पृ. 41)।

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

विकास त्रुटियों (development errors) को [SWS_LinSM_00053] निर्धारित करता है:

  • LINSM_E_UNINIT (0x00)
  • LINSM_E_NONEXISTENT_NETWORK (0x20)
  • LINSM_E_PARAMETER (0x30)
  • LINSM_E_PARAM_POINTER (0x40)
  • LINSM_E_INIT_FAILED (0x50)

LinSMDevErrorDetect सक्रिय होने पर, कॉलबैक्स नेटवर्क और इनिशियलाइज़ेशन की जाँच करते हैं, उदाहरण के लिए LinSM_GotoSleepIndication [SWS_LinSM_00239] [SWS_LinSM_00240]। कॉलबैक्स का कोई रिटर्न मान नहीं होता है, इसलिए वहाँ केवल DET रिपोर्टिंग ही रहती है (SWS LinSM पृ. 40, SWS LinSM पृ. 39)। Std_ReturnType वाले APIs अतिरिक्त रूप से E_NOT_OK लौटाते हैं, उदाहरण के लिए अमान्य नेटवर्क, मोड या शेड्यूल के मामले में या LINSM_UNINIT स्थिति में (SWS LinSM पृ. 36, SWS LinSM पृ. 34)। व्याख्या: ये जाँचें R24-11 से शुरू होने वाले संस्करणों से आती हैं और संभवतः R20-11 के लिए भी सामग्री के संदर्भ में समान रूप से लागू होती हैं। प्रश्न Q-6b2d75dd286bdcb4 (खुला) यह ध्यान देने योग्य है कि बाद का संस्करण void API LinSM_GetVersionInfo [SWS_LinSM_00117] के लिए NULL पॉइंटर होने पर भी E_NOT_OK की माँग करता है (SWS LinSM पृ. 34)।

एक रनटाइम एरर के रूप में LINSM_E_CONFIRMATION_TIMEOUT (0x00) LinIf के न आने वाले कॉलबैक्स के लिए निर्दिष्ट है [SWS_LinSM_00224]। संभवतः इसे Det_ReportRuntimeError के माध्यम से रिपोर्ट किया जाता है, जिसे बाद के संस्करण एक अनिवार्य इंटरफ़ेस के रूप में शामिल करते हैं (SWS LinSM पृ. 41)। प्रश्न Q-06b13a07d0d60152 (खुला) कार्यात्मक रूप से LinSM यह सुनिश्चित करता है कि ComM और BswM हमेशा एक सुसंगत स्थिति देखें:

  • विफल वेकअप के बाद वह पुरानी स्थिति को पुनः सेट और रिपोर्ट करता है (SWS LinSM पृ. 27)।
  • LinIf_GotoSleep से E_NOT_OK प्राप्त होने पर भी यही लागू होता है [SWS_LinSM_00177]।
  • स्लीप कन्फर्मेशन success = FALSE होने पर भी LINSM_NO_COM की ओर ले जाता है (SWS LinSM पृ. 24)।
  • विफल शेड्यूल परिवर्तन की स्थिति में BswM को पुराना या अपरिवर्तित शेड्यूल प्राप्त होता है (SWS LinSM पृ. 26)।

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

R20-11 के लिए मानक आवश्यकताओं और संबद्ध दस्तावेज़ संदर्भों व चित्रों के आधार पर AI-जनरेटेड मॉड्यूल गाइड, जो आंशिक रूप से अन्य रिलीज़ों से लिए गए हैं। व्याख्या के रूप में चिह्नित कथन मानकीकृत रूप से प्रमाणित नहीं हैं। केवल AUTOSAR विनिर्देश ही बाध्यकारी है।

LIN State Manager (LinSM)

Manages state transitions of LIN networks.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

फ़ंक्शन LinSM_Init [SWS_LinSM_00155] 📄 PDF

void LinSM_Init (const LinSM_ConfigType* ConfigPtr);

This function initializes the Lin SM.

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

फ़ंक्शन LinSM_Init AUTOSAR Classic प्लेटफ़ॉर्म में सॉफ़्टवेयर मॉड्यूल LIN State Manager (LinSM) के इनिशियलाइज़ेशन के लिए कार्य करता है [SWS_LinSM_00155]।

उपयोग और इंटरफ़ेस पैरामीटर:

  • कॉल सिंक्रोनाइज़ेशन: इनिशियलाइज़ेशन फ़ंक्शन का निष्पादन सिंक्रोनस (Synchronous) के रूप में निर्दिष्ट है [SWS_LinSM_00155]।
  • इनपुट पैरामीटर: एकमात्र पैरामीटर के रूप में const LinSM_ConfigType* प्रकार का ConfigPtr पास किया जाता है [SWS_LinSM_00155]। यह LinSM के पोस्ट-बिल्ड कॉन्फ़िगरेशन डेटा के सूचक के रूप में कार्य करता है [SWS_LinSM_00155]।
  • अन्य पैरामीटर और रिटर्न मान: इंटरफ़ेस कोई रिटर्न मान (void) वापस नहीं करता है [SWS_LinSM_00155]। अतिरिक्त इनपुट/आउटपुट पैरामीटर या केवल आउटपुट पैरामीटर मौजूद नहीं हैं [SWS_LinSM_00155]।
  • हेडर फ़ाइल और सेवा पहचानकर्ता: घोषणा हेडर फ़ाइल LinSM.h के माध्यम से प्रदान की जाती है और इसमें सर्विस ID 0x01 है [SWS_LinSM_00155]।

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

LinSM_Init के निष्पादन के लिए, यह निर्धारित किया गया है कि फ़ंक्शन नॉन-रीएंट्रेंट (Non reentrant) है [SWS_LinSM_00155]। नतीजतन, कॉल न तो कई थ्रेड्स पर समानांतर रूप से हो सकती है और न ही उच्च प्राथमिकता वाले संदर्भों द्वारा बाधित हो सकती है [SWS_LinSM_00155]।

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

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

फ़ंक्शन LinSM_ScheduleRequest [SWS_LinSM_00113] 📄 PDF

Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);

The upper layer requests a schedule table to be changed on one LIN network.

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

उपयोग

फ़ंक्शन LinSM_ScheduleRequest को ऊपरी परत द्वारा निर्दिष्ट LIN चैनल पर शेड्यूल तालिका के परिवर्तन का अनुरोध करने के लिए कॉल किया जाता है [SWS_LinSM_00113]। इंटरफ़ेस हेडर फ़ाइल LinSM.h में परिभाषित है, सर्विस ID 0x10 रखता है और एसिंक्रोनस रूप से और रीएंट्रेंट कार्य करता है [SWS_LinSM_00113]। कॉल करने पर, संबंधित चैनल को पैरामीटर network (NetworkHandleType) के माध्यम से और वांछित नई तालिका को schedule (LinIf_SchHandleType) के माध्यम से पास किया जाता है [SWS_LinSM_00113]।

त्रुटि प्रबंधन और रिटर्न मान

यदि तालिका स्विच करने का अनुरोध मॉड्यूल द्वारा स्वीकार कर लिया गया था, तो फ़ंक्शन E_OK लौटाता है [SWS_LinSM_00113]। यदि, दूसरी ओर, कॉल को निष्पादित नहीं किया जा सकता है - उदाहरण के लिए क्योंकि मॉड्यूल अभी तक इनिशियलाइज़ नहीं हुआ है - फ़ंक्शन रिटर्न मान E_NOT_OK लौटाता है [SWS_LinSM_00113]। DET या DEM के लिए विशिष्ट त्रुटि कोड इस सेवा के लिए सूचीबद्ध नहीं हैं।

सीमा शर्तें और इंटरैक्शन

फ़ंक्शन का प्रावधान काफी हद तक कॉन्फ़िगरेशन पैरामीटर LinSMNodeType पर निर्भर करता है: LinSM_ScheduleRequest विशेष रूप से केवल तभी उपलब्ध होता है जब मॉड्यूल को कम से कम एक चैनल पर LIN मास्टर नोड के रूप में कॉन्फ़िगर किया गया हो, और विशुद्ध LIN स्लेव कॉन्फ़िगरेशन में इसे छोड़ दिया जाता है [SWS_LinSM_00241]। समान रूप से, संबंधित पुष्टिकरण फ़ंक्शन LinSM_ScheduleRequestConfirmation को भी एक मास्टर नोड कॉन्फ़िगरेशन की आवश्यकता होती है [SWS_LinSM_00242]। ऊपरी परत को सफलतापूर्वक पूर्ण किए गए एसिंक्रोनस तालिका परिवर्तन के बारे में फ़ीडबैक संभवतः इस पुष्टिकरण फ़ंक्शन के माध्यम से होता है। प्रश्न Q-34c3ec02381c72ca (खुला)

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

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

फ़ंक्शन LinSM_GetCurrentComMode [SWS_LinSM_00122] 📄 PDF

Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);

Function to query the current communication mode.

फ़ंक्शन LinSM_RequestComMode [SWS_LinSM_00126] 📄 PDF

Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);

Requesting of a communication mode. The mode switch will not be made instant. The Lin SM will notify the caller when mode transition is made.

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

उपयोग और कॉल संदर्भ

हेडर फ़ाइल LinSM.h में घोषित फ़ंक्शन LinSM_RequestComMode (सर्विस ID 0x12) पास किए गए LIN नेटवर्क के लिए संचार मोड का एसिंक्रोनस अनुरोध करने का कार्य करता है [SWS_LinSM_00126]। प्रकार NetworkHandleType के पैरामीटर network के माध्यम से संबंधित LIN चैनल की पहचान की जाती है, जबकि प्रकार ComM_ModeType का mode वांछित संचार मोड को निर्दिष्ट करता है [SWS_LinSM_00126]। वास्तविक मोड परिवर्तन तात्कालिक नहीं होता है; LinSM कॉलर को तभी सूचित करता है जब मोड ट्रांज़िशन सफलतापूर्वक पूरा हो जाता है [SWS_LinSM_00126]। व्याख्या: ComM प्राथमिक कॉलर के रूप में कार्य कर सकता है, क्योंकि मोड स्विचिंग का अनुरोध चैनल स्तर पर किया जाता है और पावती दी जाती है। प्रश्न Q-0fcce16df8a29149 (खुला)

रिटर्न मान और समवर्तीता

इंटरफ़ेस को रीएंट्रेंट के रूप में निर्दिष्ट किया गया है और यह प्रकार Std_ReturnType का एक स्थिति मान लौटाता है [SWS_LinSM_00126]:

  • E_OK: अनुरोध को LinSM द्वारा सफलतापूर्वक स्वीकार कर लिया गया [SWS_LinSM_00126]।
  • E_NOT_OK: अनुरोध का निष्पादन संभव नहीं है, उदाहरण के लिए यदि LinSM मॉड्यूल अभी तक इनिशियलाइज़ नहीं हुआ है [SWS_LinSM_00126]।

त्रुटि प्रबंधन और परस्पर क्रिया

त्रुटि प्रबंधन के हिस्से के रूप में, LIN-Interface के साथ एक पारस्परिक क्रिया परिभाषित की गई है: यदि LinIf_GotoSleep का अंतर्निहित कॉल रिटर्न मान E_NOT_OK देता है, तो LinSM_RequestComMode को अनिवार्य रूप से E_NOT_OK भी लौटाना होगा [SWS_LinSM_00177]। यदि फ़ंक्शन E_NOT_OK के साथ वापस आता है, तो LinSM में वही स्थिति सेट रहनी चाहिए या होनी चाहिए, जिससे ComM_BusSM_ModeIndication और BswM_LinSM_CurrentState को संबंधित फीडबैक प्राप्त हो [SWS_LinSM_00177]।

यह पाठ स्वचालित रूप से जनरेट किया गया था। सभी तकनीकी कथन विशेष रूप से AUTOSAR R20-11 के विनिर्देश डेटा पर आधारित हैं।

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

फ़ंक्शन LinSM_MainFunction [SWS_LinSM_00156] 📄 PDF

void LinSM_MainFunction (void);

Periodic function that runs the timers of different request timeouts

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

उपयोग

फ़ंक्शन LinSM_MainFunction AUTOSAR Classic आर्किटेक्चर के भीतर LIN State Manager (LinSM) मॉड्यूल के केंद्रीय आवधिक मुख्य फ़ंक्शन के रूप में कार्य करता है [SWS_LinSM_00156]। विनिर्देश के अनुसार, इसके पास सिंटैक्स void LinSM_MainFunction (void) और हेक्साडेसिमल सर्विस ID 0x30 है [SWS_LinSM_00156]। चूंकि यह न तो पैरामीटर स्वीकार करता है और न ही कोई रिटर्न मान प्रदान करता है, यह मॉड्यूल में पूरी तरह से स्थिति-आधारित काम करता है [SWS_LinSM_00156]। इसका प्राथमिक कार्यात्मक कार्य आंतरिक टाइमर का निरंतर संचालन और अद्यतनीकरण है, जो विभिन्न अनुरोध टाइमआउट (Request Timeouts) की निगरानी के लिए ज़िम्मेदार हैं [SWS_LinSM_00156]।

कॉल संदर्भ और शेड्यूलिंग

इंटरफ़ेस की घोषणा हेडर फ़ाइल SchM_LinSm.h के माध्यम से होती है [SWS_LinSM_00156]। व्याख्या: शेड्यूल मैनेजर में इस एकीकरण के कारण, ऑपरेटिंग सिस्टम टास्क के संदर्भ में BSW शेड्यूलर द्वारा फ़ंक्शन को चक्रीय रूप से कॉल किए जाने की संभावना है। प्रश्न Q-d83f7b3f0b251f4f (खुला) यह नियमित चक्र आवश्यक है ताकि LIN चैनल और स्थिति अनुरोधों पर लंबित टाइमआउट स्थितियों को निश्चित रूप से पहचाना और संसाधित किया जा सके। विशिष्ट त्रुटि प्रबंधन जैसे DET त्रुटि कोड या DEM ईवेंट और साथ ही औपचारिक रीएंट्रेंसी मानदंड वर्तमान विनिर्देश दायरे में इस सेवा के लिए निर्दिष्ट नहीं हैं और इसलिए लागू नहीं होते हैं।

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

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

फ़ंक्शन LinSM_ScheduleRequestConfirmation [SWS_LinSM_00129] 📄 PDF

void LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);

The Lin If module will call this callback when the new requested schedule table is active.

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

उपयोग

फ़ंक्शन LinSM_ScheduleRequestConfirmation LinSM मॉड्यूल के कॉलबैक इंटरफ़ेस के रूप में कार्य करता है और सर्विस ID 0x20 रखता है [SWS_LinSM_00129]। यह हेडर फ़ाइल LinSM.h के माध्यम से उपलब्ध है और LIN इंटरफ़ेस (LinIf) द्वारा कॉल किया जाता है जैसे ही LIN बस पर पहले अनुरोध की गई नई शेड्यूल तालिका सक्रिय हो जाती है [SWS_LinSM_00129]।

इंटरफ़ेस का कोई रिटर्न मान नहीं है (void) और यह LinSM को दो इनपुट पैरामीटर पास करता है [SWS_LinSM_00129]:

  • network (NetworkHandleType): संबंधित LIN संचार चैनल की विशिष्ट पहचान के लिए कार्य करता है [SWS_LinSM_00129]।
  • schedule (LinIf_SchHandleType): नई सक्रिय शेड्यूल तालिका के पहचानकर्ता या सूचक को पास करता है [SWS_LinSM_00129]।

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

LinSM_ScheduleRequestConfirmation का निष्पादन सिंक्रोनस और रीएंट्रेंट के रूप में निर्दिष्ट है [SWS_LinSM_00129]। इनपुट और आउटपुट पैरामीटर (inout या out) मौजूद नहीं हैं [SWS_LinSM_00129]। इंटरैक्शन मॉड्यूल LinIf के साथ कसकर जुड़ा हुआ है, जो शेड्यूल तालिका के स्थिति परिवर्तन को LinSM में पुष्टि करने के लिए इस कॉलबैक फ़ंक्शन को कॉल करता है [SWS_LinSM_00129]। व्याख्या: चूंकि LinIf कॉलर के रूप में कार्य करता है, इसलिए कॉल संदर्भ LinIf ड्राइवर या इंटरफ़ेस के अनुक्रम प्रसंस्करण से जुड़ा होने की संभावना है। प्रश्न Q-500d6a653bfbaac0 (खुला)

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

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

फ़ंक्शन LinSM_GotoSleepIndication [SWS_LinSM_91000] 📄 PDF

void LinSM_GotoSleepIndication (NetworkHandleType Channel);

The Lin If will call this callback when the go to sleep command is received on the network or a bus idle timeout occurs. Only applicable for LIN slave nodes.

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

कॉलबैक फ़ंक्शन LinSM_GotoSleepIndication ([SWS_LinSM_91000]) किसी चैनल को स्लीप स्थिति में लाने के बारे में LIN State Manager को सूचित करने का कार्य करता है। यह कॉल LIN Interface (LinIf) द्वारा किया जाता है जैसे ही नेटवर्क पर एक गो-टू-स्लीप कमांड प्राप्त होता है या बस-आइडल टाइमआउट होता है।

उपयोग और कॉल संदर्भ

फ़ंक्शन सिंक्रोनस रूप से निष्पादित होता है और इसका कोई रिटर्न मान नहीं होता है ([SWS_LinSM_91000])। यह हेडर LinSM.h के माध्यम से प्रदान किया जाता है और इसकी सर्विस ID 0x03 है। इसका एकमात्र पैरामीटर चैनल की पहचान करने का कार्य करता है:

  • Channel (In): प्रकार NetworkHandleType ([SWS_LinSM_91000]) के माध्यम से संबंधित LIN चैनल की पहचान करता है।

न तो इनपुट/आउटपुट पैरामीटर (inout) और न ही आउटपुट पैरामीटर (out) निर्दिष्ट हैं ([SWS_LinSM_91000])।

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

समवर्तीता के संबंध में, इंटरफ़ेस को रीएंट्रेंट ([SWS_LinSM_91000]) के रूप में परिभाषित किया गया है। एक महत्वपूर्ण कार्यात्मक प्रतिबंध नोड विशेषताओं से संबंधित है: कॉलबैक केवल LIN स्लेव नोड्स के लिए अभीष्ट और लागू करने योग्य है ([SWS_LinSM_91000])।

यह उपयोग नोट विशेष रूप से AUTOSAR रिलीज़ R20-11 के विनिर्देश डेटा पर आधारित है।

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

फ़ंक्शन LinSM_GotoSleepConfirmation [SWS_LinSM_00135] 📄 PDF

void LinSM_GotoSleepConfirmation (NetworkHandleType network, boolean success);

The Lin If will call this callback when the go to sleep command is sent successfully or not sent successfully on the network.

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

कॉलबैक फ़ंक्शन LinSM_GotoSleepConfirmation को [SWS_LinSM_00135] के अनुसार LIN इंटरफ़ेस (LinIf) द्वारा कॉल किया जाता है, जैसे ही LIN नेटवर्क पर एक गो-टू-स्लीप कमांड प्रेषित किया गया हो या ट्रांसमिशन विफल हो गया हो।

उपयोग और पैरामीटर

कॉलबैक के पास सर्विस ID 0x22 है, इसे हेडर LinSM.h के माध्यम से घोषित किया गया है और इसका कोई रिटर्न मान नहीं है [SWS_LinSM_00135]। पहचान और स्थिति ट्रांसमिशन के लिए दो पासिंग पैरामीटर उपयोग किए जाते हैं:

  • network: NetworkHandleType प्रकार के माध्यम से संबंधित LIN चैनल की पहचान करता है [SWS_LinSM_00135]।
  • success: बूलियन मान के रूप में इंगित करता है कि गो-टू-स्लीप कमांड को बस पर सफलतापूर्वक भेजा जा सका (true) या नहीं (false) [SWS_LinSM_00135]।

निष्पादन संदर्भ और समान्वयता (concurrency)

विनिर्देश कॉल को सिंक्रोनस और रीएंट्रेंट के रूप में परिभाषित करता है [SWS_LinSM_00135]। व्याख्या: मॉड्यूल LinSM पैरामीटर success के आधार पर संबंधित नेटवर्क के लिए अपनी आंतरिक स्थिति को अपडेट करने और यह निर्धारित करने की संभावना रखता है कि बस पर स्लीप स्थिति में संक्रमण की पुष्टि हुई है या नहीं। प्रश्न Q-b5dfd51188b9ff0b (खुला) पेलोड में इस इंटरफ़ेस के लिए त्रुटि प्रबंधन, रिटर्न मान या विशिष्ट DET या DEM संदेश निर्दिष्ट नहीं हैं [SWS_LinSM_00135]।

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

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

फ़ंक्शन LinSM_WakeupConfirmation [SWS_LinSM_00132] 📄 PDF

void LinSM_WakeupConfirmation (NetworkHandleType network, boolean success);

The Lin If will call this callback when the wake up signal command is sent not successfully/ successfully on the network.

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

कॉलबैक फ़ंक्शन LinSM_WakeupConfirmation LIN स्टेट मैनेजर में LIN नेटवर्क पर वेकअप सिग्नल भेजने की पुष्टि करने का कार्य करता है [SWS_LinSM_00132]। इसे LIN-Interface (LinIf) द्वारा तब कॉल किया जाता है जब नेटवर्क पर वेकअप सिग्नल भेजने का कमांड या तो सफलतापूर्वक या असफल रूप से प्रसारित हो जाता है [SWS_LinSM_00132]।

कॉल संदर्भ, समवर्तीता और पैरामीटर पासिंग के लिए निम्नलिखित विनिर्देश विशेषताएँ लागू होती हैं [SWS_LinSM_00132]:

  • सिंक्रोनाइज़ेशन व्यवहार और रीएंट्रेंसी: फ़ंक्शन का निष्पादन सिंक्रोनस (Synchronous) होता है और इसे रीएंट्रेंट (Reentrant) के रूप में वर्गीकृत किया गया है [SWS_LinSM_00132]।
  • चैनल पहचान (network): प्रकार NetworkHandleType का पास किया गया इनपुट पैरामीटर संबंधित LIN चैनल को निर्दिष्ट करता है जिस पर ट्रांसमिशन प्रक्रिया हुई थी [SWS_LinSM_00132]।
  • सफलता की स्थिति (success): बूलियन पैरामीटर यह इंगित करता है कि वेकअप सिग्नल सफलतापूर्वक भेजा जा सका (true) या ट्रांसमिशन विफल हो गया (false) [SWS_LinSM_00132]।
  • रिटर्न मान और इनपुट/आउटपुट पैरामीटर: फ़ंक्शन का कोई रिटर्न मान नहीं होता है (void) और यह न तो आउटपुट और न ही इनपुट/आउटपुट पैरामीटर परिभाषित करता है [SWS_LinSM_00132]।

इंटरफ़ेस में सर्विस ID 0x21 है और यह हेडर फ़ाइल LinSM.h के माध्यम से प्रदान किया जाता है [SWS_LinSM_00132]। विनिर्देश तत्व में विशिष्ट त्रुटि कोड और Default Error Tracer (DET) या Diagnostic Event Manager (DEM) मॉड्यूल के माध्यम से त्रुटि प्रबंधन की आवश्यकताएं निर्दिष्ट नहीं हैं [SWS_LinSM_00132]।

यह उपयोग नोट AUTOSAR Classic Release R20-11 के विनिर्देश पर आधारित है।

टाइप LinSM_ModeType [SWS_LinSM_00220] 📄 PDF

Type used to report the current mode to the Bsw M

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

डेटा प्रकार LinSM_ModeType LIN State Manager का एक मानक प्रकार है, जो बेस प्रकार uint8 पर आधारित है और हेडर LinSM.h के माध्यम से उपलब्ध कराया जाता है [SWS_LinSM_00220]। इस प्रकार का प्राथमिक कार्य LIN नेटवर्क के वर्तमान संचार मोड को BSW Mode Management (BswM) को रिपोर्ट करना है [SWS_LinSM_00220]।

LinSM_ModeType के लिए, मान सीमा में दो स्थितियाँ निर्दिष्ट हैं [SWS_LinSM_00220]:

  • LINSM_FULL_COM (संख्यात्मक मान 0x01): अप्रतिबंधित पूर्ण संचार (Full communication) की स्थिति का संकेत देता है [SWS_LinSM_00220]।
  • LINSM_NO_COM (संख्यात्मक मान 0x02): बिना चल रहे संचार (No communication) वाली स्थिति को चिह्नित करता है [SWS_LinSM_00220]।

त्रुटि प्रबंधन और समवर्तीता के संबंध में, प्रकार परिभाषा में कोई स्वयं के त्रुटि कोड, DET संदेश या DEM ईवेंट शामिल नहीं हैं, क्योंकि यह एक प्राथमिक प्रकार घोषणा है [SWS_LinSM_00220]। Interpretation: इस प्रकार के मानों को BswM को पास करना LinSM के उच्च-स्तरीय स्थिति परिवर्तनों के दायरे में होना चाहिए, जिसमें कॉल करने वालों को यह सुनिश्चित करना होगा कि परिभाषित स्थितियों के बाहर कोई अमान्य मान प्रेषित न हों। प्रश्न Q-fe193732b8be2388 (खुला)

यह उपयोग संबंधी निर्देश एक AI द्वारा तैयार किया गया था।

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

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

Record
AUTOSAR/AP/record/CP_MOD_LinSM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_LinSM@rel:R20-11#4b582329
Content hash
4b582329
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_LINStateManager.pdf#nameddest=SWS_LinSM_00155

विषय मानचित्र

विवरण दृश्य

रूपरेखा में कोई प्रविष्टि चुनें।

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

LinSM_GetVersionInfo फ़ंक्शन

-

void LinSM_GetVersionInfo (Std_VersionInfoType* versioninfo);
LinSM_Init फ़ंक्शन

This function initializes the Lin SM.

void LinSM_Init (const LinSM_ConfigType* ConfigPtr);

सेवाएँ

LinSM_GetCurrentComMode फ़ंक्शन

Function to query the current communication mode.

Std_ReturnType LinSM_GetCurrentComMode (NetworkHandleType network, ComM_ModeType* mode);
LinSM_GotoSleepConfirmation फ़ंक्शन

The Lin If will call this callback when the go to sleep command is sent successfully or not sent successfully on the network.

void LinSM_GotoSleepConfirmation (NetworkHandleType network, boolean success);
LinSM_GotoSleepIndication फ़ंक्शन

The Lin If will call this callback when the go to sleep command is received on the network or a bus idle timeout occurs. Only applicable for LIN slave nodes.

void LinSM_GotoSleepIndication (NetworkHandleType Channel);
LinSM_RequestComMode फ़ंक्शन

Requesting of a communication mode. The mode switch will not be made instant. The Lin SM will notify the caller when mode transition is made.

Std_ReturnType LinSM_RequestComMode (NetworkHandleType network, ComM_ModeType mode);
LinSM_ScheduleRequest फ़ंक्शन

The upper layer requests a schedule table to be changed on one LIN network.

Std_ReturnType LinSM_ScheduleRequest (NetworkHandleType network, LinIf_SchHandleType schedule);
LinSM_ScheduleRequestConfirmation फ़ंक्शन

The Lin If module will call this callback when the new requested schedule table is active.

void LinSM_ScheduleRequestConfirmation (NetworkHandleType network, LinIf_SchHandleType schedule);
LinSM_WakeupConfirmation फ़ंक्शन

The Lin If will call this callback when the wake up signal command is sent not successfully/ successfully on the network.

void LinSM_WakeupConfirmation (NetworkHandleType network, boolean success);

चक्रीय

LinSM_MainFunction फ़ंक्शन

Periodic function that runs the timers of different request timeouts

void LinSM_MainFunction (void);

टाइप

LinSM_ConfigType टाइप

Data structure type for the post - build configuration parameters.

LinSM_ModeType टाइप

Type used to report the current mode to the Bsw M