DEENESPTFRRUARHIKOZHNL

CAN Transceiver Driver (CanTrcv)

ModulCanTrcv (CAN Transceiver Driver)
BSW-Modul-ID70
Standard-Header#include "CanTrcv.h"
SWS-SpezifikationAUTOSAR_SWS_CANTransceiverDriver.pdf
ClusterCAN

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

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

बाहरी CAN ट्रांसीवर को नियंत्रित करता है: ऑपरेटिंग मोड, वेक-अप डिटेक्शन और वेक-अप फ्रेम के माध्यम से चयनात्मक वेक-अप।

CanTrcv बाहरी CAN ट्रांसीवर को नियंत्रित करता है और उन्हें NORMAL, STANDBY और SLEEP के साथ एक जेनेरिक मोड मॉडल पर मैप करता है। CanIf एसिंक्रोनस रूप से मोड परिवर्तन का अनुरोध करता है; ड्राइवर एक संकेत (indication) के माध्यम से प्राप्त मोड की रिपोर्ट वापस करता है [SWS_CanTrcv_00158]। इसके अतिरिक्त, यह वेक-अप का पता लगाता है, EcuM को उनकी रिपोर्ट करता है और उपयुक्त हार्डवेयर के साथ वेक-अप फ्रेम के माध्यम से चयनात्मक वेक-अप का समर्थन करता है। सबसे महत्वपूर्ण सीमांत शर्त: SLEEP केवल STANDBY से ही पहुंचा जा सकता है [SWS_CanTrcv_00104], और अवरुद्ध अधिसूचना के दौरान कोई भी वेक-अप खोना नहीं चाहिए।

CAN Transceiver Driver (CanTrcv) बाहरी CAN ट्रांसीवर को एक सामान्य मोड मॉडल के पीछे समाहित (encapsulate) करता है। इसके द्वारा ComM और EcuM वास्तविक हार्डवेयर से अलग (decoupled) रहते हैं (SWS CanTrcv पृ. 19)। प्रत्येक ट्रांसीवर हार्डवेयर प्रकार के लिए एक ड्राइवर इंस्टेंस होता है [SWS_CanTrcv_00016]। ड्राइवर को CanIf के माध्यम से संबोधित किया जाता है और यह Dio और Spi के माध्यम से हार्डवेयर को नियंत्रित करता है, जिन्हें CanTrcv_Init से पहले आरंभ (initialize) किया जाना चाहिए [SWS_CanTrcv_00099]। इनिशियलाइज़ेशन के बाद, प्रत्येक ट्रांसीवर, प्रति चैनल कॉन्फ़िगर किए जाने के अनुसार, STANDBY या SLEEP में होता है [SWS_CanTrcv_00148]। CanTrcv_DeInit NOT_ACTIVE की ओर ले जाता है [SWS_CanTrcv_91003]।

CanTrcv_SetOpMode NORMAL, STANDBY और SLEEP के बीच स्विच करता है [SWS_CanTrcv_00102]। SLEEP केवल STANDBY से अनुमत है [SWS_CanTrcv_00104]। वर्तमान मोड में परिवर्तन कोई त्रुटि नहीं है [SWS_CanTrcv_00161]। यह फ़ंक्शन एसिंक्रोनस रूप से कार्य करता है: जैसे ही लक्षित मोड प्राप्त हो जाता है, CanTrcv CanIf_TrcvModeIndication के माध्यम से इसकी रिपोर्ट करता है [SWS_CanTrcv_00158]।

zustaende cluster_power_on POWER_ON cluster_active ACTIVE start NOT_ACTIVE NOT_ACTIVE start->NOT_ACTIVE Power on stop NOT_ACTIVE->stop Power off STANDBY CANTRCV_TRCVMODE_STANDBY NOT_ACTIVE->STANDBY CanTrcv_Init() [Init-Zustand STANDBY] SLEEP CANTRCV_TRCVMODE_SLEEP NOT_ACTIVE->SLEEP CanTrcv_Init() [Init-Zustand SLEEP] NORMAL CANTRCV_TRCVMODE_NORMAL NORMAL->NOT_ACTIVE CanTrcv_DeInit() NORMAL->NORMAL SetOpMode(NORMAL) NORMAL->STANDBY SetOpMode(STANDBY) STANDBY->NORMAL SetOpMode(NORMAL) STANDBY->STANDBY SetOpMode(STANDBY) STANDBY->SLEEP SetOpMode(SLEEP) SLEEP->NORMAL SetOpMode(NORMAL) SLEEP->SLEEP SetOpMode(SLEEP)

स्थिति आरेख: Init STANDBY या SLEEP की ओर ले जाता है, SLEEP केवल STANDBY के माध्यम से ही प्राप्त किया जा सकता है, DeInit NOT_ACTIVE की ओर ले जाता है। स्रोत: SWS CanTrcv पृ. 19, [SWS_CanTrcv_00148]

CanIf CanTrcv_CheckWakeup के माध्यम से वेक-अप की जाँच करता है। यह फ़ंक्शन EcuM_SetWakeupEvent [SWS_CanTrcv_00146] के माध्यम से पहचाने गए वेक-अप की रिपोर्ट करता है। CanTrcv_MainFunction STANDBY और SLEEP में बसों की खोज करता है [SWS_CanTrcv_00112]। CanTrcv_SetWakeupMode अधिसूचना को ब्लॉक कर सकता है, सक्षम कर सकता है या संग्रहीत वेक-अप को साफ़ कर सकता है। इस दौरान कोई भी वेक-अप खोना नहीं चाहिए [SWS_CanTrcv_00095]।

PN-सक्षम ट्रांसीवर (CanTrcvHwPnSupport) कॉन्फ़िगर किए गए वेक-अप फ्रेम [SWS_CanTrcv_00175] के माध्यम से अतिरिक्त रूप से वेक अप करते हैं। शटडाउन के समय, CanSM पहले WUF फ़्लैग को साफ़ करता है और फिर STANDBY में स्विच करता है [SWS_CanTrcv_00194]। इसके बाद, CanSM एसिंक्रोनस रूप से वेक फ़्लैग की जाँच करवाता है [SWS_CanTrcv_00224]।

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

  • सक्रिय DET के साथ विकास त्रुटियों की रिपोर्ट की जाती है, निष्क्रिय DET के साथ APIs E_NOT_OK [SWS_CanTrcv_00050] प्रदान करते हैं।
  • बाधित हार्डवेयर संचार की रिपोर्ट ड्राइवर रनटाइम त्रुटि CANTRCV_E_NO_TRCV_CONTROL [SWS_CanTrcv_91006] के रूप में करता है।
  • बस त्रुटियों की रिपोर्ट CanTrcv_MainFunctionDiagnostics द्वारा DEM को CANTRCV_E_BUS_ERROR के रूप में की जाती है [SWS_CanTrcv_00206]।
Partial Networking के साथ शटडाउन (SPI एसिंक्रोनस)CanSMCanIfCanTrcvSpiAusgang: Anforderung NoCom,Transceiver NORMAL, Controller STARTEDUse Case: भाग I: WUF फ़्लैग साफ़ करें, STANDBYCanIf_ClearTrcvWufFlag(TransceiverId)CanTrcv_ClearTrcvWufFlag(Transceiver)Spi_AsyncTransmit(Sequence)CanIf_ClearTrcvWufFlagIndication(TransceiverId)CanSM_ClearTrcvWufFlagIndicationCanIf_SetControllerMode(ControllerId, CAN_CS_STOPPED)CanIf_SetTrcvMode(TransceiverId, CANIF_TRCV_MODE_STANDBY)CanTrcv_SetOpMode(Transceiver, STANDBY)Spi_AsyncTransmit(Sequence)CanIf_TrcvModeIndication(TransceiverId, STANDBY)CanSM_TransceiverModeIndication(TransceiverId, STANDBY)Use Case: भाग II: कंट्रोलर स्लीप, वेक फ़्लैग जाँचेंCanIf_SetControllerMode(ControllerId, CAN_CS_SLEEP)CanIf_CheckTrcvWakeFlag(TransceiverId)CanTrcv_CheckWakeFlag(Transceiver)Spi_AsyncTransmit (Wake-Flag lesen)CanIf_CheckTrcvWakeFlagIndication(TransceiverId)<User_CheckTrcvWakeFlagIndication>

अनुक्रम आरेख: PN-शटडाउन के दौरान, WUF फ़्लैग साफ़ किया जाता है, ट्रांसीवर को STANDBY में स्विच किया जाता है और वेक फ़्लैग की एसिंक्रोनस रूप से जाँच की जाती है। स्रोत: SWS CanTrcv पृ. 55, [SWS_CanTrcv_00194]

भूमिका: CanIf के नीचे बाहरी CAN ट्रांसीवर के लिए ड्राइवर

CAN Transceiver Driver (CanTrcv) बाहरी CAN ट्रांसीवर घटकों को नियंत्रित करता है। यह उनकी हार्डवेयर स्थितियों को एक सामान्य ऑपरेटिंग मोड मॉडल पर मैप करता है। इस मॉडल का उद्देश्य कई उपलब्ध ट्रांसीवर को समान रूप से कवर करना है। विनिर्देश के अनुसार, यह किसी विशिष्ट घटक के लिए आवश्यकता से अधिक एक या दो स्थितियाँ होने को स्वीकार करता है, लेकिन इस प्रकार ComM और EcuM को हार्डवेयर से अलग करता है (SWS CanTrcv पृ. 19)। ट्रांसीवर हार्डवेयर को इसके लिए एक ऐसा इंटरफ़ेस प्रदान करना चाहिए जिसे इस मॉडल पर मैप किया जा सके [SWS_CanTrcv_00098]।

ऊपर की ओर CanIf सीधा भागीदार है:

  • CanIf_SetTrcvMode CanTrcv_SetOpMode को कॉल करता है (SWS CanIf पृ. 95)।
  • CanIf_GetTrcvMode CanTrcv_GetOpMode को कॉल करता है (SWS CanIf पृ. 97)।
  • CanIf_GetTrcvWakeupReason CanTrcv_GetBusWuReason को कॉल करता है (SWS CanIf पृ. 98)।

प्रतिक्रियाएँ CanIf_TrcvModeIndication के माध्यम से प्रसारित होती हैं, जो अनिवार्य इंटरफ़ेस का हिस्सा है [SWS_CanTrcv_00085]। PN संकेतों के लिए आगे CanIf कॉलबैक सूचीबद्ध हैं [SWS_CanTrcv_00086]। नीचे की ओर, CanTrcv हार्डवेयर नियंत्रण के लिए Dio और Spi का उपयोग करता है और साथ ही Icu, DEM और EcuM प्रकारों का भी उपयोग करता है, जैसा कि आयात सूची से पता चलता है [SWS_CanTrcv_00084]। स्थिति परिवर्तनों के दौरान प्रतीक्षा समय को ड्राइवर Tm_BusyWait1us16bit [SWS_CanTrcv_00230] के साथ कार्यान्वित करता है। CanTrcv_MainFunction और CanTrcv_MainFunctionDiagnostics को BSW-Scheduler द्वारा कॉल किया जाता है (SWS CanTrcv पृ. 47)।

kontext EcuM EcuM / Integrationscode CanTrcv CanTrcv EcuM->CanTrcv CanTrcv_Init SchM BSW-Scheduler (SchM) SchM->CanTrcv CanTrcv_MainFunction CanTrcv_MainFunctionDiagnostics CanSM CanSM CanIf CanIf CanSM->CanIf CanIf_SetTrcvMode CanIf_ClearTrcvWufFlag CanIf_CheckTrcvWakeFlag CanIf->CanSM CanSM_TransceiverModeIndication CanIf->CanTrcv SetOpMode, GetOpMode, GetBusWuReason, SetWakeupMode, CheckWakeup, ClearTrcvWufFlag, CheckWakeFlag CanTrcv->EcuM EcuM_SetWakeupEvent CanTrcv->CanIf CanIf_TrcvModeIndication CanIf_ClearTrcvWufFlagIndication CanIf_CheckTrcvWakeFlagIndication Dio Dio CanTrcv->Dio Dio_WriteChannel Spi Spi CanTrcv->Spi SPI-Sequenzen Icu Icu CanTrcv->Icu Icu_EnableNotification Icu_DisableNotification Tm Tm CanTrcv->Tm Tm_BusyWait1us16bit Det Det CanTrcv->Det डेवलपमेंट और रनटाइम त्रुटियाँ Dem Dem CanTrcv->Dem Dem_SetEventStatus (CANTRCV_E_BUS_ERROR) HW CAN-Transceiver-Hardware Dio->HW Pins Spi->HW Register

संदर्भ आरेख: CanTrcv CanIf, EcuM और शेड्यूलर द्वारा संचालित होता है और Dio, Spi और Icu के माध्यम से हार्डवेयर तक पहुँचता है। यह DET और DEM को त्रुटियों की रिपोर्ट करता है। स्रोत: [SWS_CanTrcv_00084], [SWS_CanTrcv_00085], [SWS_CanTrcv_00146], SWS EcuM पृ. 35

आरंभीकरण, जीवन चक्र और वि-आरंभीकरण (Deinitialization)

CanTrcv_Init [SWS_CanTrcv_00001] को कॉल करने से पहले, परिवेश को सभी उपयोग किए गए ड्राइवरों, विशेष रूप से Spi और Dio को आरंभ कर लेना चाहिए [SWS_CanTrcv_00099]। दस्तावेज़ अनुभाग दो समय संबंधी आवश्यकताएँ जोड़ता है: इनिशियलाइज़ेशन पावर-अप के तुरंत बाद होना चाहिए, और अंतर्निहित सेवाएँ संक्षिप्त और सिंक्रोनस होनी चाहिए (SWS CanTrcv पृ. 26)।

CanTrcv_Init सभी कनेक्टेड ट्रांसीवर को उनके इनिशियलाइज़ेशन अनुक्रमों और ConfigPtr [SWS_CanTrcv_00180] के कॉन्फ़िगरेशन के अनुसार इनिशियलाइज़ करता है। CanTrcv_ConfigType की सामग्री हार्डवेयर-विशिष्ट है [SWS_CanTrcv_00209]। इसके बाद प्रत्येक ट्रांसीवर CANTRCV_TRCVMODE_SLEEP या CANTRCV_TRCVMODE_STANDBY में होता है; यह प्रति ट्रांसीवर कॉन्फ़िगर करने योग्य है [SWS_CanTrcv_00148]।

आरंभीकरण एक ही समय में वेक-अप की भी जाँच करता है:

  • यदि हार्डवेयर इसका समर्थन करता है, तो CanTrcv_Init जाँचता है कि क्या ट्रांसीवर गतिविधि ने वेक-अप को ट्रिगर किया है। यह CanTrcvWakeupSourceRef से स्रोत के साथ EcuM_SetWakeupEvent के माध्यम से परिणाम की रिपोर्ट करता है [SWS_CanTrcv_00167]।
  • PN-सक्षम ट्रांसीवर के मामले में, यदि POR- या SYSERR-फ़्लैग सेट है, तो कॉन्फ़िगरेशन अनुक्रम अतिरिक्त रूप से फिर से निष्पादित किया जाता है। अन्यथा ट्रांसीवर में संग्रहीत कॉन्फ़िगरेशन मान्य रहता है [SWS_CanTrcv_00182]।
  • एक सेट POR फ़्लैग को इसके अतिरिक्त CanTrcvPorWakeupSourceRef के माध्यम से वेक-अप के रूप में रिपोर्ट किया जाता है [SWS_CanTrcv_00183]।

POR रिपोर्ट एकीकृत बिजली आपूर्ति वाले ट्रांसीवर के अनुकूल है। उनके मामले में, ECU के लिए एक निष्क्रिय वेक-अप पावर-ऑन-रीसेट जैसा दिखता है (SWS EcuM पृ. 70)।

init start vor पर्यावरण ने Spi और Dio को इनिशियलाइज़ किया है start->vor init CanTrcv_Init(ConfigPtr) vor->init komm ट्रांसीवर से संचार सही है? init->komm noctrl Laufzeitfehler CANTRCV_E_NO_TRCV_CONTROL komm->noctrl नहीं baud बॉड दर समर्थित है? komm->baud हाँ baudErr DET: CANTRCV_E_BAUDRATE_NOT_SUPPORTED baud->baudErr नहीं seq कॉन्फ़िगरेशन के अनुसार इनिशियलाइज़ेशन अनुक्रम निष्पादित करें baud->seq हाँ porsys PN हार्डवेयर: POR या SYSERR सेट है? seq->porsys rekonf कॉन्फ़िगरेशन अनुक्रम पुनः निष्पादित करें porsys->rekonf हाँ wu ट्रांसीवर गतिविधि द्वारा वेक-अप? porsys->wu नहीं / कोई PN-HW नहीं por POR-Flag gesetzt? rekonf->por porWu EcuM_SetWakeupEvent (CanTrcvPorWakeupSourceRef) por->porWu हाँ por->wu नहीं porWu->wu wuMeld EcuM_SetWakeupEvent (CanTrcvWakeupSourceRef) wu->wuMeld हाँ ziel प्रति चैनल कॉन्फ़िगर की गई स्थिति: CANTRCV_TRCVMODE_STANDBY या CANTRCV_TRCVMODE_SLEEP wu->ziel नहीं wuMeld->ziel ende ziel->ende

गतिविधि आरेख: इनिशियलाइज़ेशन हार्डवेयर पहुँच की जाँच करता है, POR/SYSERR को संभालता है, EcuM को वेक-अप की रिपोर्ट करता है और प्रति चैनल STANDBY या SLEEP में समाप्त होता है। जाँचों का क्रम एक व्याख्या (interpretation) है। स्रोत: [SWS_CanTrcv_00180], [SWS_CanTrcv_00182], [SWS_CanTrcv_00183], [SWS_CanTrcv_00167], [SWS_CanTrcv_00148]

CanTrcv_DeInit [SWS_CanTrcv_91001] ट्रांसीवर हार्डवेयर को स्थिति NOT_ACTIVE में सेट करता है [SWS_CanTrcv_91003]। इस स्थिति में, इसे एक नए कॉन्फ़िगरेशन अनुक्रम के साथ सेट किया जा सकता है (SWS CanTrcv पृ. 49)। अपेक्षित प्रारंभिक स्थिति CANTRCV_TRCVMODE_NORMAL है; अन्यथा विकास त्रुटि जाँच CANTRCV_E_TRCV_NOT_NORMAL की रिपोर्ट करती है [SWS_CanTrcv_91005]।

ऑपरेटिंग मोड NORMAL, STANDBY और SLEEP

CanTrcv_TrcvModeType तीन मोडों को परिभाषित करता है [SWS_CanTrcv_00163]। CanTrcv_SetOpMode [SWS_CanTrcv_00002] संबोधित ट्रांसीवर की आंतरिक स्थिति को इनमें से किसी एक मोड में स्विच करता है [SWS_CanTrcv_00102]। संक्रमणों के लिए निम्नलिखित लागू होता है:

  • NORMAL से उपयोगकर्ता केवल STANDBY या NORMAL का अनुरोध करता है [SWS_CanTrcv_00103]।
  • STANDBY से वह केवल SLEEP या STANDBY का अनुरोध करता है [SWS_CanTrcv_00104]।
  • चित्र के अनुसार, NORMAL तीनों मोडों से सुलभ है (SWS CanTrcv पृ. 19)।
  • वर्तमान मोड में परिवर्तन की अनुमति है और यह कोई त्रुटि नहीं है [SWS_CanTrcv_00161]।
  • यदि हार्डवेयर अनुरोधित मोड का समर्थन नहीं करता है, तो फ़ंक्शन E_NOT_OK लौटाता है [SWS_CanTrcv_00105]।
zustaende cluster_power_on POWER_ON cluster_active ACTIVE start NOT_ACTIVE NOT_ACTIVE start->NOT_ACTIVE Power on stop NOT_ACTIVE->stop Power off STANDBY CANTRCV_TRCVMODE_STANDBY NOT_ACTIVE->STANDBY CanTrcv_Init() [Init-Zustand STANDBY] SLEEP CANTRCV_TRCVMODE_SLEEP NOT_ACTIVE->SLEEP CanTrcv_Init() [Init-Zustand SLEEP] NORMAL CANTRCV_TRCVMODE_NORMAL NORMAL->NOT_ACTIVE CanTrcv_DeInit() NORMAL->NORMAL SetOpMode(NORMAL) NORMAL->STANDBY SetOpMode(STANDBY) STANDBY->NORMAL SetOpMode(NORMAL) STANDBY->STANDBY SetOpMode(STANDBY) STANDBY->SLEEP SetOpMode(SLEEP) SLEEP->NORMAL SetOpMode(NORMAL) SLEEP->SLEEP SetOpMode(SLEEP)

स्थिति आरेख: Init के बाद ट्रांसीवर STANDBY या SLEEP में होता है। SLEEP केवल STANDBY के माध्यम से प्राप्त किया जा सकता है, NORMAL सभी मोडों से। DeInit NOT_ACTIVE की ओर ले जाता है। स्रोत: SWS CanTrcv पृ. 19, [SWS_CanTrcv_00148], [SWS_CanTrcv_00103], [SWS_CanTrcv_00104], [SWS_CanTrcv_91003]

CanTrcv_SetOpMode एसिंक्रोनस रूप से कार्य करता है: E_OK का अर्थ केवल यह है कि अनुरोध स्वीकार कर लिया गया था (SWS CanTrcv पृ. 33)। केवल जब लक्षित मोड प्राप्त हो जाता है, CanTrcv सार CanIf-TransceiverId के साथ CanIf_TrcvModeIndication को कॉल करता है [SWS_CanTrcv_00158]। CanSM SLEEP के लिए इस तरह की रिपोर्ट को अनदेखा करता है, क्योंकि SLEEP का अनुरोध केवल एकीकरण कोड द्वारा किया जाता है (SWS CanSM पृ. 94)।

PN-सक्षम हार्डवेयर के साथ, CanTrcv_SetOpMode अतिरिक्त रूप से POR और SYSERR फ़्लैग्स की जाँच करता है [SWS_CanTrcv_00186]। POR के बाद यह ट्रांसीवर को फिर से आरंभ करता है [SWS_CanTrcv_00187]। CanTrcv_GetOpMode [SWS_CanTrcv_00005] सिंक्रोनस रूप से वर्तमान स्थिति प्रदान करता है [SWS_CanTrcv_00106]।

ट्रांसीवर का मोड परिवर्तनCanSMCanIfCanTrcvDio / SpiCanIf_SetTrcvMode(TransceiverId, TransceiverMode)CanTrcv_SetOpMode(Transceiver, OpMode)optPN-Hardware (CanTrcvHwPnSupport = TRUE)POR-/SYSERR-फ़्लैग्स जाँचें,POR के बाद पुनः इनिशियलाइज़ करेंDio_WriteChannel या SPI अनुक्रमE_OK (Anforderung angenommen)E_OKएसिंक्रोनस: लक्ष्य मोड बाद मेंप्राप्त किया जाएगाCanIf_TrcvModeIndication(TransceiverId, TransceiverMode)CanSM_TransceiverModeIndication(TransceiverId, TransceiverMode)CanSM SLEEP के लिए संदेश की उपेक्षा करता है

अनुक्रम आरेख (Sequence diagram): एक मोड परिवर्तन समकालिक रूप से स्वीकार किया जाता है और बाद में CanIf के माध्यम से CanSM को संकेत (Indication) द्वारा पुष्टि की जाती है। स्रोत: SWS CanTrcv पृ. 52, [SWS_CanTrcv_00158], [SWS_CanTrcv_00186]

Wake-up: पहचान, कारण और अधिसूचना नियंत्रण

एक Wake-up को इंटरप्ट या पोलिंग द्वारा पहचाना जाता है (SWS EcuM पृ. 179)। इस प्रक्रिया में CanIf CanIf_CheckWakeup के माध्यम से फ़ंक्शन CanTrcv_CheckWakeup [SWS_CanTrcv_00143] से पूछताछ करता है (SWS CanIf पृ. 56)। यदि हार्डवेयर इसका समर्थन करता है, तो यह फ़ंक्शन ट्रांसीवर गतिविधि द्वारा Wake-up को मान्य करता है और EcuM_SetWakeupEvent [SWS_CanTrcv_00146] के माध्यम से इसकी रिपोर्ट करता है।

CanTrcv_MainFunction [SWS_CanTrcv_00013] STANDBY और SLEEP में सभी बसों को Wake-up के लिए स्कैन करता है और एक Wake-up-Flag [SWS_CanTrcv_00112] सेट करता है। संभवतः यह मुख्य रूप से पोलिंग कॉन्फ़िगरेशन में प्रासंगिक है; कॉन्फ़िगरेशन आरेख इसके लिए CanTrcvWakeUpByPolling मान का प्रावधान करता है (ECUC-Parameter पृ. 185)। प्रश्न Q-6144fdedb98cea44 (खुला)

CanTrcv_GetBusWuReason [SWS_CanTrcv_00007] ट्रांसीवर द्वारा पहचाने गए वेक-अप कारण [SWS_CanTrcv_00107] को प्रदान करता है। संभावित मान लगभग CANTRCV_WU_BY_BUS, CANTRCV_WU_INTERNALLY या CANTRCV_WU_RESET [SWS_CanTrcv_00165] हैं। कारणों को कितनी सूक्ष्मता से विभेदित किया जा सकता है, यह काफी हद तक हार्डवेयर पर निर्भर करता है (SWS CanTrcv पृ. 35)।

Wake-up इंटरप्ट्स के लिए ड्राइवर ICU चैनलों का उपयोग करता है। वह Icu_EnableNotification और Icu_DisableNotification को केवल तभी कॉल करता है जब CanTrcvIcuChannelRef कॉन्फ़िगर किया गया हो [SWS_CanTrcv_00171]। STANDBY में जाने पर वह चैनलों को सक्रिय करता है [SWS_CanTrcv_00172]। R24-11 का दस्तावेज़ अंश NORMAL में जाने पर निष्क्रिय करने का भी उल्लेख करता है (SWS CanTrcv पृ. 23)।

ट्रांससीवर के माध्यम से वेक-अप पहचानTransceiver-HardwareEcuM / IntegrationscodeCanIfCanTrcvaltWake-up per InterruptWake-up-Interrupt (ICU-Kanal)CanIf_CheckWakeup(WakeupSource)CanTrcv_CheckWakeup(Transceiver)Wake-up durch Transceiver-गतिविधि सत्यापित करेंEcuM_SetWakeupEvent(CanTrcvWakeupSourceRef)Wake-up per PollingCanTrcv_MainFunction: Busse inSTANDBY/SLEEP जाँचना, फ़्लैग सेट करनाCanIf_CheckWakeup(WakeupSource)CanTrcv_CheckWakeup(Transceiver)EcuM_SetWakeupEvent(CanTrcvWakeupSourceRef)Use Case: Ursache abfragenCanIf_GetTrcvWakeupReason(TransceiverId, TrcvWuReasonPtr)CanTrcv_GetBusWuReason(Transceiver, reason)E_OK, reason = z. B. CANTRCV_WU_BY_BUSE_OK

अनुक्रम आरेख: CanIf के माध्यम से ट्रांसीवर पर इंटरप्ट या पोलिंग द्वारा Wake-up की जांच की जाती है, EcuM को रिपोर्ट किया जाता है और बाद में इसके कारण के बारे में पूछताछ की जाती है। स्रोत: SWS EcuM पृ. 179, SWS EcuM पृ. 138, SWS EcuM पृ. 140, [SWS_CanTrcv_00146], [SWS_CanTrcv_00112]

CanTrcv_SetWakeupMode [SWS_CanTrcv_00009] CanTrcv_TrcvWakeupModeType [SWS_CanTrcv_00164] के माध्यम से Wake-up अधिसूचना को नियंत्रित करता है:

  • CANTRCV_WUMODE_DISABLE: Wake-up रिपोर्ट नहीं किए जाते हैं, लेकिन आंतरिक रूप से सहेजे जाते हैं [SWS_CanTrcv_00093]।
  • CANTRCV_WUMODE_ENABLE: सहेजे गए Wake-up को “present” के रूप में रिपोर्ट किया जाता है [SWS_CanTrcv_00111]।
  • CANTRCV_WUMODE_CLEAR: सहेजे गए Wake-up को साफ़ (डिलीट) कर दिया जाता है [SWS_CanTrcv_00094]।

अवरुद्ध चरण में कोई भी Wake-up खोना नहीं चाहिए [SWS_CanTrcv_00095]। साफ़ करने का उद्देश्य अधिसूचना अवरुद्ध होने पर उच्चतर परत के नियंत्रण में सहेजे गए Wake-up को निरस्त करना है [SWS_CanTrcv_00150]। CanIf इस अनुरोध को CanIf_SetTrcvWakeupMode के माध्यम से CanTrcv को अग्रेषित करता है (SWS CanIf पृ. 100)।

चयनात्मक वेक-अप (Partial Networking)

Partial Networking में नोड्स लो-पावर मोड में तब तक रहते हैं जब तक कि पूर्वनिर्धारित Wake-up-Frames (WUF) उन्हें जगा नहीं देते। इसलिए PN-सक्षम ट्रांसीवर न केवल Wake-up-Pattern (WUP) पर, बल्कि इन फ़्रेमों पर भी प्रतिक्रिया करते हैं (SWS CanTrcv पृ. 27)। क्या हार्डवेयर यह कर सकता है, यह CanTrcvHwPnSupport द्वारा [SWS_CanTrcv_00174] में दर्शाया जाता है। केवल जब यह पैरामीटर TRUE होता है, तभी कंटेनर CanTrcvPartialNetwork और पाँच API मौजूद होते हैं: CanTrcv_GetTrcvSystemData, CanTrcv_ClearTrcvWufFlag, CanTrcv_ReadTrcvTimeoutFlag, CanTrcv_ClearTrcvTimeoutFlag और CanTrcv_ReadTrcvSilenceFlag [SWS_CanTrcv_00175]।

ट्रांसीवर किन फ़्रेमों पर प्रतिक्रिया करता है, यह CanTrcvPnFrameCanId, CanTrcvPnFrameCanIdMask और CanTrcvPnFrameDataMask द्वारा निर्धारित किया जाता है [SWS_CanTrcv_00177]। CanTrcv_SetPNActivationState [SWS_CanTrcv_00219] PN-वेक फ़ंक्शन को PN_ENABLED के साथ चालू [SWS_CanTrcv_00221] और PN_DISABLED के साथ बंद [SWS_CanTrcv_00222] करता है।

शटडाउन अनुक्रम केंद्रीय महत्व का है:

  1. CanSM CanTrcv_ClearTrcvWufFlag के माध्यम से WUF-Flag को साफ़ करता है, ताकि लो-पावर मोड में प्रवेश करते समय कोई फ़्रेम-Wake-up छूट न जाए। इसके बाद ट्रांसीवर STANDBY में जाता है [SWS_CanTrcv_00194]।
  2. CanTrcv CanIf_ClearTrcvWufFlagIndication [SWS_CanTrcv_00195] के साथ साफ़ करने की पुष्टि करता है।
  3. अंत में, CanSM असमकालिक जाँच CanTrcv_CheckWakeFlag का अनुरोध [SWS_CanTrcv_00223] पर करता है। CanTrcv परिणाम की रिपोर्ट CanIf_CheckTrcvWakeFlagIndication [SWS_CanTrcv_00224] के माध्यम से करता है।

SPI कनेक्शन के लिए विनिर्देश एक असमकालिक (SWS CanTrcv पृ. 55) और एक समकालिक संस्करण (SWS CanTrcv पृ. 57) का वर्णन करता है।

Partial Networking के साथ शटडाउन (SPI एसिंक्रोनस)CanSMCanIfCanTrcvSpiAusgang: Anforderung NoCom,Transceiver NORMAL, Controller STARTEDUse Case: भाग I: WUF फ़्लैग साफ़ करें, STANDBYCanIf_ClearTrcvWufFlag(TransceiverId)CanTrcv_ClearTrcvWufFlag(Transceiver)Spi_AsyncTransmit(Sequence)CanIf_ClearTrcvWufFlagIndication(TransceiverId)CanSM_ClearTrcvWufFlagIndicationCanIf_SetControllerMode(ControllerId, CAN_CS_STOPPED)CanIf_SetTrcvMode(TransceiverId, CANIF_TRCV_MODE_STANDBY)CanTrcv_SetOpMode(Transceiver, STANDBY)Spi_AsyncTransmit(Sequence)CanIf_TrcvModeIndication(TransceiverId, STANDBY)CanSM_TransceiverModeIndication(TransceiverId, STANDBY)Use Case: भाग II: कंट्रोलर स्लीप, वेक फ़्लैग जाँचेंCanIf_SetControllerMode(ControllerId, CAN_CS_SLEEP)CanIf_CheckTrcvWakeFlag(TransceiverId)CanTrcv_CheckWakeFlag(Transceiver)Spi_AsyncTransmit (Wake-Flag lesen)CanIf_CheckTrcvWakeFlagIndication(TransceiverId)<User_CheckTrcvWakeFlagIndication>

अनुक्रम आरेख: PN-शटडाउन के दौरान WUF-Flag साफ़ किया जाता है, ट्रांसीवर को STANDBY में स्विच किया जाता है और कंट्रोलर स्लीप के बाद Wake-Flag की असमकालिक जाँच की जाती है। स्रोत: SWS CanTrcv पृ. 55, SWS CanTrcv पृ. 56, SWS CanSM पृ. 36, [SWS_CanTrcv_00194], [SWS_CanTrcv_00224]

निदान के लिए CanTrcv_GetTrcvSystemData [SWS_CanTrcv_00213] ट्रांसीवर के कॉन्फ़िगरेशन और स्थिति को uint32 के रूप में [SWS_CanTrcv_00189] से पढ़ता है। टाइमआउट और साइलेंस फ़्लैग को CanTrcv_ReadTrcvTimeoutFlag [SWS_CanTrcv_00215], CanTrcv_ClearTrcvTimeoutFlag [SWS_CanTrcv_00216] और CanTrcv_ReadTrcvSilenceFlag [SWS_CanTrcv_00217] के माध्यम से पढ़ा या साफ़ किया जाता है। उनकी स्थिति CanTrcv_TrcvFlagStateType द्वारा [SWS_CanTrcv_00211] पर इंगित की जाती है।

कॉन्फ़िगरेशन और इंस्टेंस संदर्भ

प्रत्येक ट्रांसीवर हार्डवेयर प्रकार के लिए एक ड्राइवर इंस्टेंस होता है, जो इस प्रकार के सभी घटकों को सेवा प्रदान करता है [SWS_CanTrcv_00016]। CanIf आरेख विभिन्न ट्रांसीवर प्रकारों वाले समान नियंत्रकों का मामला दिखाता है, जिसके लिए फिर दो ट्रांसीवर ड्राइवरों की आवश्यकता होती है (SWS CanIf पृ. 34)। प्रत्येक चैनल को एक कंटेनर CanTrcvChannel (गुणकता 1..*) द्वारा वर्णित किया जाता है। इसमें अन्य बातों के अलावा CanTrcvHwPnSupport, CanTrcvInitState, CanTrcvWakeupByBusUsed और Wake-up स्रोत संदर्भ (SWS CanTrcv पृ. 70) शामिल हैं।

स्रोतों के बीच एक अंतर Init के बाद की स्थिति से संबंधित है। कॉन्फ़िगरेशन आरेख CanTrcvInitState के डिफ़ॉल्ट के रूप में CanTrcvOpModeNormal का उल्लेख करता है (ECUC-Parameter पृ. 187)। हालाँकि, R20-11 के लिए मानक [SWS_CanTrcv_00148] है, जो Init के बाद केवल SLEEP या STANDBY का प्रावधान करता है। ड्राइवर को असमर्थित पार्टीशन असाइनमेंट वाले कॉन्फ़िगरेशन को अस्वीकार करना होगा [SWS_CanTrcv_00231]।

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

[SWS_CanTrcv_00050] से डेवलपमेंट त्रुटियाँ एक समान पैटर्न का पालन करती हैं। DET सक्षम होने पर API रिपोर्ट करते हैं:

यदि DET बंद है, तो API इन मामलों में E_NOT_OK लौटाते हैं।

यदि ट्रांसीवर के साथ संचार बाधित होता है, तो ड्राइवर Det_ReportRuntimeError [SWS_CanTrcv_00085] के माध्यम से रनटाइम त्रुटि CANTRCV_E_NO_TRCV_CONTROL [SWS_CanTrcv_91006] की रिपोर्ट करता है। यह Init [SWS_CanTrcv_00113], SetOpMode [SWS_CanTrcv_00114], GetOpMode [SWS_CanTrcv_00115], SetWakeupMode [SWS_CanTrcv_00117], GetTrcvSystemData [SWS_CanTrcv_00190] और ClearTrcvWufFlag [SWS_CanTrcv_00196] में लागू होता है। इसका एक अपवाद CanTrcv_GetBusWuReason है: इस मामले में [SWS_CanTrcv_00116] के अनुसार यह E_OK लौटाता है। एक असमर्थित बॉड दर की रिपोर्ट Init द्वारा CANTRCV_E_BAUDRATE_NOT_SUPPORTED [SWS_CanTrcv_00168] के रूप में की जाती है।

fehler start aufruf API-Aufruf, z. B. CanTrcv_SetOpMode start->aufruf init Modul initialisiert? aufruf->init eUninit DET: CANTRCV_E_UNINIT (DET aus: E_NOT_OK) init->eUninit नहीं id ट्रांसीवर-ID मान्य है? init->id हाँ eId DET: CANTRCV_E_INVALID_TRANSCEIVER (DET aus: E_NOT_OK) id->eId नहीं ptr Zeigerparameter != NULL? id->ptr हाँ ePtr DET: CANTRCV_E_PARAM_POINTER (DET aus: E_NOT_OK) ptr->ePtr नहीं modus मोड / संक्रमण अनुमत? ptr->modus ja / kein Zeiger eModus DET: CANTRCV_E_PARAM_TRCV_OPMODE, CANTRCV_E_TRCV_NOT_NORMAL या CANTRCV_E_TRCV_NOT_STANDBY (DET बंद: E_NOT_OK) modus->eModus नहीं hw Dio / Spi के माध्यम से हार्डवेयर एक्सेस modus->hw हाँ komm Kommunikation korrekt? hw->komm eKomm Det_ReportRuntimeError: CANTRCV_E_NO_TRCV_CONTROL रिटर्न E_NOT_OK (GetBusWuReason: E_OK) komm->eKomm नहीं ok E_OK komm->ok हाँ

गतिविधि आरेख: API कॉल डेवलपमेंट त्रुटि जाँचों से गुजरते हैं और उसके बाद रनटाइम त्रुटि हैंडलिंग के साथ हार्डवेयर एक्सेस करते हैं। जाँच क्रम एक व्याख्या है। स्रोत: [SWS_CanTrcv_00050], [SWS_CanTrcv_00122], [SWS_CanTrcv_00123], [SWS_CanTrcv_00132], [SWS_CanTrcv_00114], [SWS_CanTrcv_00116]

बस त्रुटियों को प्रोडक्शन त्रुटियों के रूप में माना जाता है। शर्त यह है कि हार्डवेयर बस त्रुटियों को अन्य त्रुटियों से अलग करने में सक्षम हो [SWS_CanTrcv_00178] और CanTrcvBusErrFlag = TRUE हो [SWS_CanTrcv_00205]। तब CanTrcv_MainFunctionDiagnostics [SWS_CanTrcv_00218] चक्रीय रूप से BUSERR-Flag को पढ़ता है। यह DEM [SWS_CanTrcv_00228] [SWS_CanTrcv_00229] को CANTRCV_E_BUS_ERROR की रिपोर्ट DEM_EVENT_STATUS_FAILED [SWS_CanTrcv_00206] अथवा DEM_EVENT_STATUS_PASSED [SWS_CanTrcv_00227] के रूप में करता है। DEM इवेंट को CanTrcvDemEventParameterRefs के माध्यम से संदर्भित किया जाता है (SWS CanTrcv पृ. 78)।

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

CanTrcv (Classic, R20-11) के लिए पेलोड में शामिल आवश्यकताओं और दस्तावेज़ अंशों पर आधारित AI-जनित मार्गदर्शिका। अन्य रिलीज़ के दस्तावेज़ अंशों का पूरक के रूप में उपयोग किया गया है; जहाँ वे भिन्न हैं, वहाँ इसका उल्लेख किया गया है। व्याख्या के रूप में चिह्नित कथन मानक नहीं हैं।

CAN Transceiver Driver (CanTrcv)

Controls physical bus transceiver states and wakeup detection on CAN lines.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

फ़ंक्शन CanTrcv_Init [SWS_CanTrcv_00001] 📄 PDF

void CanTrcv_Init (const CanTrcv_ConfigType* ConfigPtr);

Initializes the Can Trcv module.

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

उपयोग और सिमेंटिक्स

फ़ंक्शन CanTrcv_Init CanTrcv मॉड्यूल के साथ-साथ सभी कनेक्टेड CAN ट्रांसीवर्स के बुनियादी आरंभीकरण के लिए कार्य करता है [SWS_CanTrcv_00001] [SWS_CanTrcv_00180]। निष्पादन सिंक्रोनस रूप से होता है और इसे गैर-पुन:प्रवेशी (not reentrant) के रूप में निर्दिष्ट किया गया है [SWS_CanTrcv_00001]। एक ट्रांसफर पैरामीटर के रूप में, यह ConfigPtr के माध्यम से ड्राइवर कॉन्फ़िगरेशन के एक पॉइंटर की अपेक्षा करता है और इसका कोई रिटर्न मान नहीं होता है [SWS_CanTrcv_00001]।

परस्पर क्रिया और हार्डवेयर परीक्षण

निष्पादन के दौरान, यह फ़ंक्शन कॉन्फ़िगरेशन के अनुसार सभी कनेक्टेड ट्रांसीवर के हार्डवेयर-संबंधी इनिशियलाइज़ेशन अनुक्रमों को निष्पादित करता है और इस प्रक्रिया में AUTOSAR स्टैक के इनिशियलाइज़ेशन अनुक्रम [SWS_CanTrcv_00180] का समर्थन करता है। इस कॉल के माध्यम से, प्रत्येक ट्रांसीवर अपने संबंधित कॉन्फ़िगरेशन के आधार पर अलग से या तो मोड CANTRCV_TRCVMODE_SLEEP में या CANTRCV_TRCVMODE_STANDBY में बदल जाता है [SWS_CanTrcv_00148]। यदि हार्डवेयर द्वारा समर्थित हो, तो CanTrcv_Init यह भी जाँचता है कि क्या पहले ट्रांसीवर गतिविधि के कारण कोई वेक-अप इवेंट हुआ था, और इसे EcuM_SetWakeupEvent के माध्यम से CanTrcvWakeupSourceRef द्वारा परिभाषित स्रोत के साथ EcuM [SWS_CanTrcv_00167] को रिपोर्ट करता है।

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

हार्डवेयर के साथ संचार में त्रुटि या अनुपस्थिति की स्थिति में (उदाहरण के लिए पोर्ट पिन या SPI के माध्यम से), यह फ़ंक्शन रनटाइम त्रुटि CANTRCV_E_NO_TRCV_CONTROL को Default Error Tracer [SWS_CanTrcv_00113] को रिपोर्ट करता है। यदि विकास त्रुटि पहचान (Development Error Detection) सक्रिय है, तो CANTRCV_E_BAUDRATE_NOT_SUPPORTED भी रिपोर्ट किया जाता है, यदि कॉन्फ़िगर किया गया बॉड्रेट संबंधित ट्रांसीवर द्वारा समर्थित नहीं है [SWS_CanTrcv_00168]।

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

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

फ़ंक्शन CanTrcv_SetOpMode [SWS_CanTrcv_00002] 📄 PDF

Std_ReturnType CanTrcv_SetOpMode (uint8 Transceiver, CanTrcv_TrcvModeType OpMode);

Sets the mode of the Transceiver to the value Op Mode.

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

फ़ंक्शन CanTrcv_SetOpMode CAN ट्रांसीवर के ऑपरेटिंग मोड को एसिंक्रोनस रूप से बदलने के लिए कार्य करता है [SWS_CanTrcv_00002]। यह ट्रांसीवर की डिवाइस संख्या (Transceiver) और साथ ही वांछित लक्ष्य मोड (OpMode) स्वीकार करता है, जो मान CANTRCV_TRCVMODE_NORMAL, CANTRCV_TRCVMODE_STANDBY या CANTRCV_TRCVMODE_SLEEP ले सकता है [SWS_CanTrcv_00102]। फ़ंक्शन विभिन्न ट्रांसीवरों के लिए रीएंट्रेंट है [SWS_CanTrcv_00002]। रिटर्न मान E_OK मोड परिवर्तन अनुरोध की स्वीकृति की पुष्टि करता है; E_NOT_OK अनुरोध की अस्वीकृति, पैरामीटर त्रुटियों या हार्डवेयर द्वारा मोड के समर्थन की कमी का संकेत देता है [SWS_CanTrcv_00002], [SWS_CanTrcv_00105]।

कॉल करते समय, निर्दिष्ट स्थिति संक्रमणों का पालन किया जाना चाहिए:

  • यदि ट्रांसीवर मोड CANTRCV_TRCVMODE_NORMAL में है, तो लक्ष्य मोड के रूप में केवल CANTRCV_TRCVMODE_STANDBY या CANTRCV_TRCVMODE_NORMAL पास किया जा सकता है [SWS_CanTrcv_00103]।
  • यदि ट्रांसीवर CANTRCV_TRCVMODE_STANDBY में है, तो फ़ंक्शन को केवल CANTRCV_TRCVMODE_SLEEP या CANTRCV_TRCVMODE_STANDBY के साथ कॉल किया जा सकता है [SWS_CanTrcv_00104]।

सक्रिय विकास त्रुटि पहचान (DET) के साथ, फ़ंक्शन इनिशियलाइज़ेशन से पहले कॉल को CANTRCV_E_UNINIT [SWS_CanTrcv_00122] के रूप में, अमान्य ट्रांसीवर संख्याओं को CANTRCV_E_INVALID_TRANSCEIVER [SWS_CanTrcv_00123] के रूप में और अस्वीकार्य ऑपरेटिंग मोड को CANTRCV_E_PARAM_TRCV_OPMODE [SWS_CanTrcv_00087] के रूप में रिपोर्ट करता है। यदि Standby का अनुरोध किया जाता है, बिना इसके कि ट्रांसीवर Normal या Standby में हो, तो CANTRCV_E_TRCV_NOT_NORMAL ट्रिगर होता है [SWS_CanTrcv_00120]; Standby या Sleep के बाहर Sleep का अनुरोध करने पर रिपोर्ट CANTRCV_E_TRCV_NOT_STANDBY [SWS_CanTrcv_00121] दी जाती है। यदि DET निष्क्रिय है, तो इन मामलों में E_NOT_OK लौटाया जाता है। ट्रांसीवर संचार अनुपस्थित या त्रुटिपूर्ण होने पर, रनटाइम त्रुटि CANTRCV_E_NO_TRCV_CONTROL की रिपोर्ट DET को दी जाती है और E_NOT_OK लौटाया जाता है [SWS_CanTrcv_00114]।

यदि Selective Wakeup हार्डवेयर द्वारा समर्थित है, तो API स्थिति फ़्लैग POR और SYSERR की जांच करता है [SWS_CanTrcv_00186]। जैसे ही ट्रांसीवर अनुरोधित मोड में पहुंच जाता है, मॉड्यूल कॉलबैक CanIf_TrcvModeIndication [SWS_CanTrcv_00158] के माध्यम से ऊपरी परत को सूचित करता है।

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

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

फ़ंक्शन CanTrcv_GetBusWuReason [SWS_CanTrcv_00007] 📄 PDF

Std_ReturnType CanTrcv_GetBusWuReason (uint8 Transceiver, CanTrcv_TrcvWakeupReasonType* reason);

Gets the wakeup reason for the Transceiver and returns it in parameter Reason.

फ़ंक्शन CanTrcv_SetWakeupMode [SWS_CanTrcv_00009] 📄 PDF

Std_ReturnType CanTrcv_SetWakeupMode (uint8 Transceiver, CanTrcv_TrcvWakeupModeType TrcvWakeupMode);

En ables, disables or clears wake - up events of the Transceiver according to Trcv Wakeup Mode.

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

उपयोग और सिमेंटिक्स

सिंक्रोनस फ़ंक्शन CanTrcv_SetWakeupMode किसी विशिष्ट ट्रांसीवर के लिए वेक-अप घटनाओं को सक्रिय करने, निष्क्रिय करने या साफ़ करने के लिए कार्य करता है [SWS_CanTrcv_00009]। इसे पैरामीटर Transceiver के माध्यम से लक्ष्य ट्रांसीवर और TrcvWakeupMode के माध्यम से वांछित मोड पास किया जाता है। सफल स्थिति परिवर्तन पर, फ़ंक्शन E_OK लौटाता है। यदि स्थिति को बदला नहीं जा सकता है या कोई पैरामीटर अमान्य है, तो E_NOT_OK लौटाया जाता है और पिछली स्थिति अपरिवर्तित बनी रहती है [SWS_CanTrcv_00009]।

ऑपरेटिंग मोड और परस्पर क्रिया

यदि TrcvWakeupMode को मान CANTRCV_WUMODE_CLEAR के साथ कॉल किया जाता है, तो फ़ंक्शन संबोधित ट्रांसीवर की संग्रहीत वेक-अप घटना को साफ़ करता है [SWS_CanTrcv_00094]। CANTRCV_WUMODE_ENABLE के साथ कॉल किए जाने पर, मॉड्यूल वेक-अप घटना को स्थिति "present" में अपडेट करता है, बशर्ते संबंधित बस के लिए पहले से ही एक संग्रहीत वेक-अप घटना लंबित हो [SWS_CanTrcv_00111]। Interpretation: वेक-अप घटनाओं को निष्क्रिय करने के लिए भी अनुरूप एक उपयुक्त मोड मान मौजूद हो सकता है, भले ही इस आवश्यकता के अंश में इसे अलग से विस्तृत न किया गया हो। प्रश्न Q-e0f15d1d0855db81 (खुला)

त्रुटि हैंडलिंग और समवर्तीता

फ़ंक्शन विभिन्न ट्रांसीवर इंस्टांस के लिए रीएंट्रेंट है [SWS_CanTrcv_00009]। कॉल करने से पहले ट्रांसीवर ड्राइवर को पूरी तरह से इनिशियलाइज़ किया जाना चाहिए: अन-इनिशियलाइज़्ड स्थिति में कॉल सक्रिय विकास त्रुटि पहचान (DET) के तहत त्रुटि CANTRCV_E_UNINIT को ट्रिगर करता है, अन्यथा E_NOT_OK लौटाया जाता है [SWS_CanTrcv_00127]। Transceiver में एक अमान्य इंडेक्स के परिणामस्वरूप CANTRCV_E_INVALID_TRANSCEIVER (या E_NOT_OK) होता है [SWS_CanTrcv_00131], और TrcvWakeupMode में एक अस्वीकार्य मोड मान CANTRCV_E_PARAM_TRCV_WAKEUP_MODE की रिपोर्ट करता है या E_NOT_OK लौटाता है [SWS_CanTrcv_00089]। यदि ट्रांसीवर के साथ कोई संचार नहीं है या त्रुटिपूर्ण संचार है, तो रनटाइम त्रुटि CANTRCV_E_NO_TRCV_CONTROL की रिपोर्ट Default Error Tracer को दी जाती है और E_NOT_OK लौटाया जाता है [SWS_CanTrcv_00117]।

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

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

फ़ंक्शन CanTrcv_GetTrcvSystemData [SWS_CanTrcv_00213] 📄 PDF

Std_ReturnType CanTrcv_GetTrcvSystemData (uint8 Transceiver, uint32* TrcvSysData);

Reads the transceiver configuration/ status data and returns it through parameter Trcv Sys Data. This API shall exist only if Can Trcv Hw Pn Support = TRUE.

फ़ंक्शन CanTrcv_ClearTrcvWufFlag [SWS_CanTrcv_00214] 📄 PDF

Std_ReturnType CanTrcv_ClearTrcvWufFlag (uint8 Transceiver);

Clears the WUF flag in the transceiver hardware. This API shall exist only if Can Trcv Hw Pn Support = TRUE.

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

समकालिक फ़ंक्शन CanTrcv_ClearTrcvWufFlag संबोधित CAN ट्रांसीवर के हार्डवेयर में वेक-अप फ़्रेम फ़्लैग (WUF) को साफ़ करता है और यह केवल तभी उपलब्ध होता है जब Selective Wakeup समर्थन कॉन्फ़िगर किया गया हो (CanTrcvHwPnSupport = TRUE) [SWS_CanTrcv_00214], [SWS_CanTrcv_00175]। सफल निष्कासन पर E_OK लौटाया जाता है, अन्यथा E_NOT_OK [SWS_CanTrcv_00214], [SWS_CanTrcv_00194]।

परस्पर क्रिया और प्रवाह

यह API मॉड्यूल CanSM द्वारा लो-पावर मोड में प्रवेश करते समय यह सुनिश्चित करने के लिए उपयोग किया जाता है कि स्थिति संक्रमण के दौरान कोई फ़्रेम वेक-अप घटना न छूटे [SWS_CanTrcv_00194]। WUF फ़्लैग को रीसेट करने के बाद, CAN ट्रांसीवर को स्टैंडबाय मोड (CANTRCV_STANDBY) में रखा जाना चाहिए [SWS_CanTrcv_00194]।

समवर्तीता और कॉल संदर्भ

CanTrcv_ClearTrcvWufFlag की कॉल विभिन्न ट्रांसीवर इंस्टेंसेस (Transceiver) के लिए पुनःप्रवेशी हैं [SWS_CanTrcv_00214]।

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

  • डेवलपमेंट त्रुटियाँ (DET): यदि त्रुटि का पता लगाना सक्रिय है, तो फ़ंक्शन गैर-प्रारंभीकृत ड्राइवर के मामले में CANTRCV_E_UNINIT [SWS_CanTrcv_00197] और अमान्य पैरामीटर Transceiver के मामले में त्रुटि CANTRCV_E_INVALID_TRANSCEIVER [SWS_CanTrcv_00198] की रिपोर्ट करता है। यदि DET निष्क्रिय है, तो इन मामलों में सीधे E_NOT_OK लौटा दिया जाता है [SWS_CanTrcv_00197], [SWS_CanTrcv_00198]।
  • रनटाइम त्रुटियाँ: यदि ट्रांसीवर के साथ संचार विफल हो जाता है या दोषपूर्ण है, तो फ़ंक्शन Default Error Tracer को रनटाइम त्रुटि CANTRCV_E_NO_TRCV_CONTROL की रिपोर्ट करता है और E_NOT_OK लौटाता है [SWS_CanTrcv_00196]।

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

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

फ़ंक्शन CanTrcv_ReadTrcvTimeoutFlag [SWS_CanTrcv_00215] 📄 PDF

Std_ReturnType CanTrcv_ReadTrcvTimeoutFlag (uint8 Transceiver, CanTrcv_TrcvFlagStateType* FlagState);

Reads the status of the tim eout flag from the transceiver hardware. This API shall exist only if Can Trcv Hw Pn Support = TRUE.

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

सिंक्रोनस फ़ंक्शन CanTrcv_ReadTrcvTimeoutFlag सीधे CAN ट्रांसीवर के हार्डवेयर से टाइमआउट फ़्लैग की स्थिति को पढ़ता है [SWS_CanTrcv_00215]। इनपुट पैरामीटर Transceiver संबोधित किए जाने वाले ट्रांसीवर की पहचान करने के लिए कार्य करता है, जबकि CanTrcv_TrcvFlagStateType* प्रकार के आउटपुट पैरामीटर FlagState के माध्यम से फ़्लैग की स्थिति वापस की जाती है [SWS_CanTrcv_00215]। रिटर्न मान E_OK के साथ सफल रीडिंग का संकेत देता है और E_NOT_OK के साथ कि टाइमआउट फ़्लैग की स्थिति निर्धारित नहीं की जा सकी [SWS_CanTrcv_00215]।

ट्रांसीवर ड्राइवर में उपयोग और एकीकरण के लिए निम्नलिखित सीमा शर्तें लागू होती हैं:

  • कॉन्फ़िगरेशन: API केवल तभी उपलब्ध होता है जब आंशिक नेटवर्किंग के लिए हार्डवेयर समर्थन सक्षम हो (CanTrcvHwPnSupport = TRUE) [SWS_CanTrcv_00215]। संबंधित कॉन्फ़िगरेशन कंटेनर CanTrcvPartialNetwork भी केवल इसी शर्त के तहत मौजूद होता है [SWS_CanTrcv_00175]।
  • समवर्ती: फ़ंक्शन गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट है [SWS_CanTrcv_00215]।

त्रुटि हैंडलिंग विकास त्रुटि पहचान (Development Error Detection, DET) की स्थिति के आधार पर भिन्न होती है:

  • यदि कोई अमान्य ट्रांसीवर पहचानकर्ता पास किया जाता है, तो सक्रिय DET होने पर मॉड्यूल त्रुटि CANTRCV_E_INVALID_TRANSCEIVER उत्पन्न करता है; निष्क्रिय DET होने पर इसके बजाय E_NOT_OK वापस किया जाता है [SWS_CanTrcv_00199]।
  • यदि FlagState के लिए एक अशक्त सूचक पास किया जाता है (FlagState = NULL), तो सक्रिय DET होने पर मॉड्यूल त्रुटि CANTRCV_E_PARAM_POINTER की रिपोर्ट करता है; यदि DET बंद है, तो कॉल E_NOT_OK लौटाता है [SWS_CanTrcv_00200]।

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

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

फ़ंक्शन CanTrcv_ClearTrcvTimeoutFlag [SWS_CanTrcv_00216] 📄 PDF

Std_ReturnType CanTrcv_ClearTrcvTimeoutFlag (uint8 Transceiver);

Clears the status of the timeout flag in the transceiver hardware. This API shall exist only if Can Trcv Hw Pn Support = TRUE.

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

सिंक्रोनस फ़ंक्शन CanTrcv_ClearTrcvTimeoutFlag ट्रांसीवर हार्डवेयर [SWS_CanTrcv_00216] में टाइमआउट फ़्लैग को रीसेट करने का कार्य करता है। यह केवल तभी उपलब्ध होता है जब कॉन्फ़िगरेशन पैरामीटर CanTrcvHwPnSupport = TRUE के माध्यम से Partial Networking के लिए हार्डवेयर समर्थन सक्षम हो [SWS_CanTrcv_00175], [SWS_CanTrcv_00216]।

उपयोग और इंटरफ़ेस

कॉल लक्षित ट्रांसीवर को निर्दिष्ट करते हुए CanTrcv.h में इंटरफ़ेस के माध्यम से सिंक्रोनस रूप से निष्पादित होता है:

  • पैरामीटर: Transceiver एक इनपुट मान (uint8) के रूप में संबोधित किए जाने वाले ट्रांसीवर चैनल [SWS_CanTrcv_00216] को निर्धारित करता है।
  • रिटर्न मान: एक Std_ReturnType E_OK के साथ हार्डवेयर फ़्लैग के सफल क्लीयरिंग का या E_NOT_OK के साथ ऑपरेशन की विफलता का संकेत देता है [SWS_CanTrcv_00216]।

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

यदि पैरामीटर Transceiver के लिए फ़ंक्शन को कोई अमान्य पहचानकर्ता पास किया जाता है, तो एक विभेदित त्रुटि हैंडलिंग प्रभावी होती है:

  • सक्रिय विकास त्रुटि पहचान (Development Error Detection) के साथ, त्रुटि CANTRCV_E_INVALID_TRANSCEIVER की रिपोर्ट DET को की जाती है [SWS_CanTrcv_00201]।
  • यदि विकास त्रुटि पहचान अक्षम है, तो कॉल समाप्त हो जाती है और कॉलर को E_NOT_OK वापस कर देती है [SWS_CanTrcv_00201]।

कन्करेंसी और सिस्टम एकीकरण

फ़ंक्शन को गैर-रीएंट्रेंट (Non Reentrant) के रूप में वर्गीकृत किया गया है [SWS_CanTrcv_00216]। इसलिए उसी हार्डवेयर इकाई के लिए समानांतर कॉल से कॉलिंग परत द्वारा बचा जाना चाहिए या सिंक्रनाइज़ किया जाना चाहिए। इसके अतिरिक्त, फ़ंक्शन चयनात्मक वेक-अप फ़ंक्शंस (Partial Networking) के लिए कार्यक्षमता का हिस्सा है; कंटेनर CanTrcvPartialNetwork में संबंधित कॉन्फ़िगरेशन संरचनाएं भी केवल तभी मौजूद होती हैं जब CanTrcvHwPnSupport सेट हो [SWS_CanTrcv_00175]।

यह उपयोग संबंधी निर्देश AUTOSAR CP R20-11 विनिर्देश पर आधारित है।

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

फ़ंक्शन CanTrcv_ReadTrcvSilenceFlag [SWS_CanTrcv_00217] 📄 PDF

Std_ReturnType CanTrcv_ReadTrcvSilenceFlag (uint8 Transceiver, CanTrcv_TrcvFlagStateType* FlagState);

Reads the status of the silence flag from the transceiver hardware. This API shall exi st only if Can Trcv Hw Pn Support = TRUE.

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

सिंक्रोनस और गैर-रीएंट्रेंट फ़ंक्शन CanTrcv_ReadTrcvSilenceFlag (सर्विस ID 0x0d) सीधे CAN ट्रांसीवर हार्डवेयर [SWS_CanTrcv_00217] से साइलेंस फ़्लैग स्थिति को पढ़ने का कार्य करता है। यह हेडर CanTrcv.h के माध्यम से प्रदान किया जाता है और रीएंट्रेंसी की कमी के कारण इसे समवर्ती रूप से निष्पादित नहीं किया जाना चाहिए [SWS_CanTrcv_00217]।

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

  • Transceiver: इसकी पहचान [SWS_CanTrcv_00217] के माध्यम से संबंधित ट्रांसीवर इंस्टेंस को संबोधित करने के लिए इनपुट पैरामीटर (uint8)।
  • FlagState: CanTrcv_TrcvFlagStateType के पॉइंटर के रूप में आउटपुट पैरामीटर, जिसके माध्यम से साइलेंस फ़्लैग की पढ़ी गई स्थिति वापस की जाती है [SWS_CanTrcv_00217]।
  • रिटर्न मान (Std_ReturnType): यदि साइलेंस फ़्लैग की हार्डवेयर स्थिति को सफलतापूर्वक पढ़ा जा सका तो E_OK वापस करता है, अन्यथा E_NOT_OK [SWS_CanTrcv_00217]।

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

यदि आउटपुट पैरामीटर के लिए फ़ंक्शन को एक नल पॉइंटर पास किया जाता है (FlagState == NULL), तो त्रुटि प्रबंधन विकास नियंत्रण पर निर्भर करता है: सक्रिय DET के साथ, CAN ट्रांसीवर ड्राइवर विकास त्रुटि CANTRCV_E_PARAM_POINTER की रिपोर्ट करता है; यदि DET निष्क्रिय है, तो कॉल तुरंत E_NOT_OK के साथ समाप्त हो जाती है [SWS_CanTrcv_00203]।

कॉन्फ़िगरेशन और परस्पर क्रिया

फ़ंक्शन चयनात्मक वेक-अप (Selective Wakeup) के संदर्भ में उपलब्ध है। संबंधित कॉन्फ़िगरेशन कंटेनर CanTrcvPartialNetwork और इंटरफ़ेस CanTrcv_ReadTrcvSilenceFlag केवल तभी ड्राइवर में उपलब्ध होते हैं जब Partial Networking के लिए हार्डवेयर समर्थन CanTrcvHwPnSupport = TRUE के माध्यम से कॉन्फ़िगर किया गया हो [SWS_CanTrcv_00175], [SWS_CanTrcv_00217]।

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

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

फ़ंक्शन CanTrcv_CheckWakeup [SWS_CanTrcv_00143] 📄 PDF

Std_ReturnType CanTrcv_CheckWakeup (uint8 Transceiver);

Service is called by underlying CANIF in case a wake up interrupt is detected.

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

सिंक्रोनस और रीएंट्रेंट फ़ंक्शन CanTrcv_CheckWakeup को अंतर्निहित इंटरफ़ेस CanIf द्वारा कॉल किया जाता है जैसे ही एक वेक-अप इंटरप्ट पहचाना जाता है [SWS_CanTrcv_00143]। पैरामीटर Transceiver के माध्यम से जाँचे जाने वाले CAN ट्रांसीवर को संबोधित किया जाता है [SWS_CanTrcv_00143]। रिटर्न वैल्यू E_OK कॉल की स्वीकृति का संकेत देती है, जबकि E_NOT_OK अस्वीकृति को इंगित करती है [SWS_CanTrcv_00143]।

यदि हार्डवेयर द्वारा समर्थित हो, तो फ़ंक्शन यह जाँचता है कि क्या वास्तव में ट्रांसीवर पर गतिविधि के कारण कोई वेक-अप इवेंट हुआ है [SWS_CanTrcv_00146]। यदि ऐसा है, तो वेक-अप संदेश EcuM को API EcuM_SetWakeupEvent के माध्यम से CanTrcvWakeupSourceRef में संदर्भित वेक-अप स्रोत [SWS_CanTrcv_00146] के साथ भेजा जाता है।

सक्रिय विकास पहचान (DET) के साथ त्रुटि प्रबंधन के लिए निम्नलिखित आवश्यकताएं लागू होती हैं:

  • यदि फ़ंक्शन को CanTrcv मॉड्यूल के इनिशियलाइज़ेशन से पहले कॉल किया जाता है, तो विकास त्रुटि CANTRCV_E_UNINIT रिपोर्ट की जाती है; DET निष्क्रिय होने पर कॉल इसके बजाय E_NOT_OK लौटाता है [SWS_CanTrcv_00144]।
  • अमान्य ट्रांसीवर संख्या पास करने पर फ़ंक्शन CANTRCV_E_INVALID_TRANSCEIVER रिपोर्ट करता है; यदि DET निष्क्रिय है, तो E_NOT_OK लौटाया जाता है [SWS_CanTrcv_00145]।

यह उपयोग निर्देश विशेष रूप से AUTOSAR Classic R20-11 की विनिर्देश आवश्यकताओं पर आधारित है।

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

फ़ंक्शन CanTrcv_SetPNActivationState [SWS_CanTrcv_00219] 📄 PDF

Std_ReturnType CanTrcv_SetPNActivationState (CanTrcv_PNActivationType ActivationState);

The API configures the wake - up of the transceiver for Standby and Sleep Mode: Either the CAN transceiver is woken up by a remote wake - up pattern (standard CAN wake - up) or by the configured remote wake - up frame.

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

सिंक्रोनस फ़ंक्शन CanTrcv_SetPNActivationState स्टैंडबाय और स्लीप मोड ([SWS_CanTrcv_00219]) के लिए CAN ट्रांसीवर के वेक-अप व्यवहार को कॉन्फ़िगर करता है। यह निर्धारित करता है कि ट्रांसीवर को एक मानक वेक-अप पैटर्न के माध्यम से जगाया जाए या Partial Networking के ढांचे में एक कॉन्फ़िगर किए गए रिमोट वेक-अप फ्रेम के माध्यम से लक्षित तरीके से जगाया जाए ([SWS_CanTrcv_00219])।

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

फ़ंक्शन सेवा ID 0x0f के साथ CanTrcv.h के माध्यम से प्रदान किया जाता है और सिंक्रोनस रूप से निष्पादित होता है ([SWS_CanTrcv_00219])। CanTrcv_PNActivationType प्रकार का इसका पासिंग पैरामीटर ActivationState ऑपरेटिंग मोड को नियंत्रित करता है:

  • PN_ENABLED: CAN ट्रांसीवर ([SWS_CanTrcv_00219]) में PN वेक-अप कार्यक्षमता को सक्षम करता है।
  • PN_DIABLED: PN वेक-अप कार्यक्षमता ([SWS_CanTrcv_00219]) को अक्षम करता है।

रिटर्न मान के रूप में, फ़ंक्शन E_OK लौटाता है यदि ट्रांसीवर को अनुरोधित PN कॉन्फ़िगरेशन में सफलतापूर्वक बदल दिया गया है। यदि स्विचिंग विफल हो जाती है, तो E_NOT_OK वापस कर दिया जाता है; इस मामले में, पिछला कॉन्फ़िगरेशन अपरिवर्तित रहता है ([SWS_CanTrcv_00219])।

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

फ़ंक्शन गैर-रीएंट्रेंट (Non Reentrant) ([SWS_CanTrcv_00219]) है। एक अनिवार्य पूर्वापेक्षा के रूप में, कॉल से पहले मॉड्यूल CanTrcv को पूरी तरह से इनिशियलाइज़ किया जाना चाहिए: यदि कॉल इनिशियलाइज़ेशन से पहले होती है, तो सक्रिय विकास त्रुटि पहचान के मामले में फ़ंक्शन DET को त्रुटि CANTRCV_E_UNINIT की रिपोर्ट करता है; यदि DET अक्षम है, तो कॉल को रिटर्न मान E_NOT_OK के साथ तुरंत अस्वीकार कर दिया जाता है ([SWS_CanTrcv_00220])।

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

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

फ़ंक्शन CanTrcv_CheckWakeFlag [SWS_CanTrcv_00223] 📄 PDF

Std_ReturnType CanTrcv_CheckWakeFlag (uint8 Transceiver);

Requests to check the status of the wakeup flag from the transceiver hardware.

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

फ़ंक्शन CanTrcv_CheckWakeFlag सीधे ट्रांसीवर हार्डवेयर ([SWS_CanTrcv_00223]) से वेक-अप फ़्लैग स्थिति की जांच का अनुरोध करता है। कॉल एसिंक्रोनस रूप से की जाती है और इनपुट पैरामीटर Transceiver के माध्यम से संबोधित किए जाने वाले CAN ट्रांसीवर ([SWS_CanTrcv_00223]) के संबंधित पहचानकर्ता को संदर्भित करती है।

रिटर्न मान के रूप में, फ़ंक्शन स्थिति Std_ReturnType ([SWS_CanTrcv_00223]) लौटाता है:

  • E_OK: वेक-अप फ़्लैग की जांच के अनुरोध को सफलतापूर्वक स्वीकार कर लिया गया ([SWS_CanTrcv_00223])।
  • E_NOT_OK: अनुरोध अस्वीकार कर दिया गया था ([SWS_CanTrcv_00223])।

समवर्ती के संबंध में, यह निर्दिष्ट किया गया है कि फ़ंक्शन गैर-रीएंट्रेंट (Non Reentrant) ([SWS_CanTrcv_00223]) है। चूंकि सेवा को एसिंक्रोनस के रूप में निर्दिष्ट किया गया है, रिटर्न मान केवल चेक अनुरोध की स्वीकृति को दर्शाता है; हार्डवेयर की वास्तविक रीडिंग बाद में होने की संभावना है ([SWS_CanTrcv_00223])। प्रश्न Q-f09b7ff49c24cea8 (खुला) इस सेवा के लिए ठोस त्रुटि कोड और DET या DEM संदेश सूचीबद्ध नहीं हैं।

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

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

फ़ंक्शन CanTrcv_DeInit [SWS_CanTrcv_91001] 📄 PDF

void CanTrcv_DeInit (void);

De - initializes the Can Trcv module.

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

सिंक्रोनस फ़ंक्शन CanTrcv_DeInit का उपयोग CAN ट्रांसीवर ड्राइवर [SWS_CanTrcv_91001] के डी-इनिशियलाइज़ेशन के लिए किया जाता है। यह कोई पैरामीटर स्वीकार नहीं करता है, कोई रिटर्न मान नहीं देता है और इसे गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_CanTrcv_91001]। इंटरफ़ेस हेडर CanTrcv.h के माध्यम से सर्विस-ID 0x10 के साथ प्रदान किया गया है [SWS_CanTrcv_91001]।

निष्पादन के समय, फ़ंक्शन CAN ट्रांसीवर हार्डवेयर को स्थिति NOT_ACTIVE [SWS_CanTrcv_91003] में रखता है। चूँकि CanTrcv_DeInit रीएंट्रेंट नहीं है, इसलिए कॉल एक-दूसरे को बाधित करने वाले या समवर्ती नहीं होने चाहिए [SWS_CanTrcv_91001]।

त्रुटि प्रबंधन और अनुक्रम स्थितियों के संबंध में निम्नलिखित लागू होता है:

  • यदि मॉड्यूल के लिए विकास त्रुटि पहचान (Development Error Detection) सक्रिय है, तो फ़ंक्शन ट्रांसीवर के संचालन मोड की जाँच करता है। यदि कॉल के समय ट्रांसीवर मोड CANTRCV_TRCVMODE_NORMAL में नहीं है, तो CanTrcv_DeInit विकास त्रुटि CANTRCV_E_TRCV_NOT_NORMAL [SWS_CanTrcv_91005] रिपोर्ट करता है।
  • यह कॉलर के लिए डी-इनिशियलाइज़ेशन से पहले ट्रांसीवर को स्थिति CANTRCV_TRCVMODE_NORMAL में संचालित करने की कार्यात्मक पूर्व शर्त बनाता है, ताकि विकास मोड में त्रुटि रिपोर्ट को रोका जा सके [SWS_CanTrcv_91005]।

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

फ़ंक्शन CanTrcv_MainFunction [SWS_CanTrcv_00013] 📄 PDF

void CanTrcv_MainFunction (void);

Service to scan all busses for wake up events and perform these event.

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

फ़ंक्शन CanTrcv_MainFunction CAN ट्रांसीवर ड्राइवर की एक केंद्रीय ड्राइवर सेवा के रूप में कार्य करता है, जो सभी जुड़े हुए बस चैनलों की निगरानी उत्पन्न हुए वेक-अप इवेंट्स के लिए करने के साथ-साथ इन इवेंट्स के निष्पादन [SWS_CanTrcv_00013] के लिए भी है। इसका C-सिग्नेचर void CanTrcv_MainFunction(void) है, यह हेक्साडेसिमल सर्विस-ID 0x06 के तहत परिभाषित है और बिना किसी पासिंग पैरामीटर या रिटर्न वैल्यू के सिंक्रोनस रूप से काम करता है [SWS_CanTrcv_00013]।

चक्रीय निगरानी के लिए, यह फ़ंक्शन लक्षित रूप से उन सभी बसों को स्कैन करता है जो निष्क्रिय अवस्थाओं STANDBY या SLEEP में हैं [SWS_CanTrcv_00112]। यदि ड्राइवर पहचानी गई बसों में से किसी एक पर वेक-अप इवेंट का पता लगाता है, तो CanTrcv_MainFunction एक आंतरिक वेक-अप इवेंट फ़्लैग सेट करता है ताकि सिस्टम में इन इवेंट्स के बाद के निष्पादन और प्रसंस्करण की शुरुआत की जा सके [SWS_CanTrcv_00112]।

कॉल संदर्भ के संबंध में, इंटरफ़ेस हेडर फ़ाइल SchM_CanTrcv.h के माध्यम से प्रदान किया जाता है [SWS_CanTrcv_00013]। व्याख्या: इस SchM हेडर के माध्यम से प्रावधान यह संकेत देता है कि निष्क्रिय अवस्थाओं में बस चैनलों का नियमित रूप से नमूना लेने के लिए, यह फ़ंक्शन संभवतः चक्रीय कार्य (सॉफ़्टवेयर टास्क) के संदर्भ में BSW शेड्यूलर द्वारा समय-समय पर कॉल किया जाना चाहिए। प्रश्न Q-588109b1111a0f43 (खुला) विशिष्ट त्रुटि कोड, DET या DEM को संदेश और रीएंट्रेंसी आवश्यकताएं वर्तमान विनिर्देश अंश में उल्लिखित नहीं हैं।

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

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

फ़ंक्शन CanTrcv_MainFunctionDiagnostics [SWS_CanTrcv_00218] 📄 PDF

void CanTrcv_MainFunctionDiagnostics (void);

Reads the transceiver diagnostic status periodically and sets product/ development accordingly.

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

फ़ंक्शन CanTrcv_MainFunctionDiagnostics (सर्विस-ID 0x08) समय-समय पर ट्रांसीवर की डायग्नोस्टिक स्थिति पढ़ता है और संबंधित उत्पाद और विकास त्रुटियाँ सेट करता है [SWS_CanTrcv_00218]। फ़ंक्शन पैरामीटर रहित है, इसका कोई रिटर्न मान (void CanTrcv_MainFunctionDiagnostics(void)) नहीं है और यह हेडर SchM_CanTrcv.h के माध्यम से प्रदान किया जाता है [SWS_CanTrcv_00218]।

कॉल संदर्भ और समवर्तीता

SchM_CanTrcv.h के माध्यम से प्रावधान के कारण, मुख्य फ़ंक्शन संभवतः टास्क संदर्भ में BSW शेड्यूलर (SchM) द्वारा चक्रीय रूप से कॉल किया जाता है (व्याख्या)। प्रश्न Q-ab1f6c55abcb8d4b (खुला) चूँकि विनिर्देश किसी रीएंट्रेंसी को निर्दिष्ट नहीं करता है, इसलिए गैर-रीएंट्रेंट निष्पादन माना जाना चाहिए।

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

डायग्नोस्टिक मूल्यांकन कॉन्फ़िगरेशन और हार्डवेयर समर्थन के आधार पर किया जाता है:

  • यदि BSW द्वारा रिपोर्ट किया गया BUSERR-फ़्लैग सेट है, तो फ़ंक्शन पैरामीटर EventId को CANTRCV_E_BUS_ERROR के रूप में और EventStatus को DEM_EVENT_STATUS_FAILED के रूप में लेते हुए API Dem_SetEventStatus को कॉल करता है [SWS_CanTrcv_00206]।
  • यदि BUSERR-फ़्लैग रीसेट है, तो CanTrcv_MainFunctionDiagnostics उसी EventId (CANTRCV_E_BUS_ERROR) और स्थिति DEM_EVENT_STATUS_PASSED के साथ API Dem_SetEventStatus को कॉल करता है [SWS_CanTrcv_00227]।

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

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

टाइप CanTrcv_ConfigType [SWS_CanTrcv_00209] 📄 PDF

This is the type of the external data structure containing the overall initialization data for the CAN transceiver driver and settings affecting all transceivers. Furthermore it contains pointers to transceiver configuration structures. The con tents of the initialization data structure are CAN transceiver hardware specific.

टाइप CanTrcv_PNActivationType [SWS_CanTrcv_00210] 📄 PDF

Datatype used for describing whether PN wakeup functionality in Can Trcv is enabled or disabled.

टाइप CanTrcv_TrcvFlagStateType [SWS_CanTrcv_00211] 📄 PDF

Provides the state of a flag in the transceiver hardware.

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

एन्यूमरेशन प्रकार CanTrcv_TrcvFlagStateType ट्रांसीवर हार्डवेयर [SWS_CanTrcv_00211] में एकल फ़्लैग की स्थिति का प्रतिनिधित्व करता है। यह घोषणा हेडर फ़ाइल CanTrcv.h के माध्यम से एप्लिकेशन सॉफ़्टवेयर मॉड्यूल और ड्राइवरों के लिए प्रदान की जाती है [SWS_CanTrcv_00211]।

मान श्रेणी बाइनरी रूप से संरचित है और [SWS_CanTrcv_00211] के अनुसार दो असतत स्थितियों के बीच अंतर करती है:

  • CANTRCV_FLAG_SET: इंगित करता है कि ट्रांसीवर हार्डवेयर में संबंधित फ़्लैग सेट है [SWS_CanTrcv_00211]।
  • CANTRCV_FLAG_CLEARED: इंगित करता है कि ट्रांसीवर हार्डवेयर में फ़्लैग साफ़ किया गया है या सेट नहीं है [SWS_CanTrcv_00211]।

व्यावहारिक उपयोग के संबंध में, यह ध्यान दिया जा सकता है कि प्रकार मुख्य रूप से हार्डवेयर-स्तरीय रजिस्टर स्थितियों के मानकीकृत मैपिंग के लिए कार्य करता है [SWS_CanTrcv_00211]। Interpretation: CAN इंटरफ़ेस ड्राइवर या डायग्नोस्टिक मॉड्यूल जैसी कॉलिंग परतें आमतौर पर किसी भी त्रुटि या वेक-अप फ़्लैग का मूल्यांकन करने के लिए पॉइंटर पैरामीटर या रिटर्न मान के माध्यम से क्वेरी फ़ंक्शंस के माध्यम से इस प्रकार को पढ़ने की संभावना रखती हैं। प्रश्न Q-1b75b4baf2f4c6e3 (खुला) चूंकि प्रकार में स्वयं कोई फ़ंक्शन लॉजिक, रीएंट्रेंसी प्रतिबंध या DET संदेश शामिल नहीं हैं, वैध मान श्रेणियों की जांच करना प्रोसेसिंग इंटरफ़ेस की जिम्मेदारी है।

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

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

टाइप CanTrcv_TrcvModeType [SWS_CanTrcv_00163] 📄 PDF

Operating modes of the CAN Transceiver Driver.

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

एन्यूमरेशन प्रकार CanTrcv_TrcvModeType [SWS_CanTrcv_00163] के अनुसार CAN ट्रांसीवर ड्राइवर (CanTrcv) के लिए मानकीकृत ऑपरेटिंग मोड को परिभाषित करता है। यह घोषणा AUTOSAR संचार स्टैक में सॉफ्टवेयर-व्यापी इंटरफ़ेस के लिए हेडर फ़ाइल Can_GeneralTypes.h के माध्यम से प्रदान की जाती है।

मान सीमा और अर्थ

[SWS_CanTrcv_00163] के अनुसार तीन एन्यूमरेटर मान उपलब्ध हैं:

  • CANTRCV_TRCVMODE_NORMAL (मान 0x00): CAN संदेशों को भेजने और प्राप्त करने के लिए नियमित ट्रांसीवर ऑपरेटिंग मोड को इंगित करता है।
  • CANTRCV_TRCVMODE_STANDBY: ट्रांसीवर के स्टैंडबाय मोड का प्रतिनिधित्व करता है, जिसमें संचार निष्क्रिय रहता है और बिजली की खपत कम होती है।
  • CANTRCV_TRCVMODE_SLEEP: अधिकतम ऊर्जा बचत के लिए ट्रांसीवर के स्लीप मोड का प्रतिनिधित्व करता है।

उपयोग और सीमाएँ

यह एन्यूमरेशन CAN ट्रांसीवर [SWS_CanTrcv_00163] की हार्डवेयर स्थिति के लिए एक सामान्य डेटा प्रकार प्रतिनिधित्व के रूप में कार्य करता है। Interpretation: यह प्रकार संभवतः मुख्य रूप से ट्रांसीवर ड्राइवर के नियंत्रण और क्वेरी इंटरफेस में पैरामीटर पासिंग के लिए उपयोग किया जाता है, जिसके माध्यम से CAN इंटरफेस जैसी उच्च परतें मोड परिवर्तन शुरू करती हैं या वर्तमान स्थिति को पढ़ती हैं। प्रश्न Q-95fceb6988818621 (खुला) चूंकि वर्तमान विनिर्देश उद्धरण में कोई रनटाइम त्रुटियां (DET/DEM), रीएंट्रेंसी विनिर्देश या ठोस फ़ंक्शन हस्ताक्षर शामिल नहीं हैं, इसलिए कॉल संदर्भ और समवर्ती नियम संबंधित ड्राइवर फ़ंक्शंस से लिए जाने चाहिए।

यह उपयोग नोट केवल [SWS_CanTrcv_00163] पर AUTOSAR R20-11 के विनिर्देश डेटा पर आधारित है।

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

टाइप CanTrcv_TrcvWakeupModeType [SWS_CanTrcv_00164] 📄 PDF

This type shall be used to control the CAN transceiver concerning wake up events and wake up notifications.

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

एन्यूमरेशन प्रकार CanTrcv_TrcvWakeupModeType वेक-अप घटनाओं और वेक-अप सूचनाओं [SWS_CanTrcv_00164] के संबंध में CAN ट्रांसीवर को नियंत्रित करने के लिए उपयोग किया जाता है। प्रकार परिभाषा हेडर फ़ाइल Can_GeneralTypes.h के माध्यम से प्रदान की जाती है और इस प्रकार पूरे स्टैक में उपलब्ध होती है [SWS_CanTrcv_00164]।

मान श्रेणी में संबंधित एड्रेस किए गए ट्रांसीवर [SWS_CanTrcv_00164] के लिए तीन नियंत्रण मोड शामिल हैं:

  • CANTRCV_WUMODE_ENABLE (मान 0x00): एड्रेस किए गए ट्रांसीवर [SWS_CanTrcv_00164] पर वेक-अप घटनाओं के लिए अधिसूचना को सक्षम करता है।
  • CANTRCV_WUMODE_DISABLE (मान 0x01): एड्रेस किए गए ट्रांसीवर [SWS_CanTrcv_00164] पर वेक-अप घटनाओं के लिए अधिसूचना को अक्षम करता है।
  • CANTRCV_WUMODE_CLEAR (मान 0x02): एड्रेस किए गए ट्रांसीवर [SWS_CanTrcv_00164] में संग्रहीत एक वेक-अप घटना को साफ़ करता है।

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

यह पाठ AI द्वारा तैयार किया गया था; सटीकता की गारंटी नहीं दी जा सकती।

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

टाइप CanTrcv_TrcvWakeupReasonType [SWS_CanTrcv_00165] 📄 PDF

This type denotes the wake up reason detected by the CAN transceiver in detail. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CANTransceiverDriver

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

Record
AUTOSAR/AP/record/CP_MOD_CanTrcv
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_CanTrcv@rel:R20-11#9dba21d5
Content hash
9dba21d5
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CANTransceiverDriver.pdf#nameddest=SWS_CanTrcv_00001

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

CanTrcv_DeInit फ़ंक्शन

De - initializes the Can Trcv module.

void CanTrcv_DeInit (void);
CanTrcv_GetVersionInfo फ़ंक्शन

Gets the version of the module and returns it in Version Info.

void CanTrcv_GetVersionInfo (Std_VersionInfoType* versioninfo);
CanTrcv_Init फ़ंक्शन

Initializes the Can Trcv module.

void CanTrcv_Init (const CanTrcv_ConfigType* ConfigPtr);

सेवाएँ · Get…

CanTrcv_GetBusWuReason फ़ंक्शन

Gets the wakeup reason for the Transceiver and returns it in parameter Reason.

Std_ReturnType CanTrcv_GetBusWuReason (uint8 Transceiver, CanTrcv_TrcvWakeupReasonType* reason);
CanTrcv_GetOpMode फ़ंक्शन

Gets the mode of the Transceiver and returns it in Op Mode.

Std_ReturnType CanTrcv_GetOpMode (uint8 Transceiver, CanTrcv_TrcvModeType* OpMode);
CanTrcv_GetTrcvSystemData फ़ंक्शन

Reads the transceiver configuration/ status data and returns it through parameter Trcv Sys Data. This API shall exist only if Can Trcv Hw Pn Support = TRUE.

Std_ReturnType CanTrcv_GetTrcvSystemData (uint8 Transceiver, uint32* TrcvSysData);

सेवाएँ · Set…

CanTrcv_SetOpMode फ़ंक्शन

Sets the mode of the Transceiver to the value Op Mode.

Std_ReturnType CanTrcv_SetOpMode (uint8 Transceiver, CanTrcv_TrcvModeType OpMode);
CanTrcv_SetPNActivationState फ़ंक्शन

The API configures the wake - up of the transceiver for Standby and Sleep Mode: Either the CAN transceiver is woken up by a remote wake - up pattern (standard CAN wake - up) or by the configured remote wake - up frame.

Std_ReturnType CanTrcv_SetPNActivationState (CanTrcv_PNActivationType ActivationState);
CanTrcv_SetWakeupMode फ़ंक्शन

En ables, disables or clears wake - up events of the Transceiver according to Trcv Wakeup Mode.

Std_ReturnType CanTrcv_SetWakeupMode (uint8 Transceiver, CanTrcv_TrcvWakeupModeType TrcvWakeupMode);

सेवाएँ · अन्य

CanTrcv_CheckWakeFlag फ़ंक्शन

Requests to check the status of the wakeup flag from the transceiver hardware.

Std_ReturnType CanTrcv_CheckWakeFlag (uint8 Transceiver);
CanTrcv_CheckWakeup फ़ंक्शन

Service is called by underlying CANIF in case a wake up interrupt is detected.

Std_ReturnType CanTrcv_CheckWakeup (uint8 Transceiver);
CanTrcv_ClearTrcvTimeoutFlag फ़ंक्शन

Clears the status of the timeout flag in the transceiver hardware. This API shall exist only if Can Trcv Hw Pn Support = TRUE.

Std_ReturnType CanTrcv_ClearTrcvTimeoutFlag (uint8 Transceiver);
CanTrcv_ClearTrcvWufFlag फ़ंक्शन

Clears the WUF flag in the transceiver hardware. This API shall exist only if Can Trcv Hw Pn Support = TRUE.

Std_ReturnType CanTrcv_ClearTrcvWufFlag (uint8 Transceiver);
CanTrcv_ReadTrcvSilenceFlag फ़ंक्शन

Reads the status of the silence flag from the transceiver hardware. This API shall exi st only if Can Trcv Hw Pn Support = TRUE.

Std_ReturnType CanTrcv_ReadTrcvSilenceFlag (uint8 Transceiver, CanTrcv_TrcvFlagStateType* FlagState);
CanTrcv_ReadTrcvTimeoutFlag फ़ंक्शन

Reads the status of the tim eout flag from the transceiver hardware. This API shall exist only if Can Trcv Hw Pn Support = TRUE.

Std_ReturnType CanTrcv_ReadTrcvTimeoutFlag (uint8 Transceiver, CanTrcv_TrcvFlagStateType* FlagState);

चक्रीय

CanTrcv_MainFunction फ़ंक्शन

Service to scan all busses for wake up events and perform these event.

void CanTrcv_MainFunction (void);
CanTrcv_MainFunctionDiagnostics फ़ंक्शन

Reads the transceiver diagnostic status periodically and sets product/ development accordingly.

void CanTrcv_MainFunctionDiagnostics (void);

टाइप

CanTrcv_ConfigType टाइप

This is the type of the external data structure containing the overall initialization data for the CAN transceiver driver and settings affecting all transceivers. Furthermore it contains pointers to transceiver configuration structures. The con tents of the initialization data structure are CAN transceiver hardware specific.

Datatype used for describing whether PN wakeup functionality in Can Trcv is enabled or disabled.

Provides the state of a flag in the transceiver hardware.

Operating modes of the CAN Transceiver Driver.

This type shall be used to control the CAN transceiver concerning wake up events and wake up notifications.

This type denotes the wake up reason detected by the CAN transceiver in detail. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CANTransceiverDriver