DEENESPTFRRUARHIKOZHNL

FlexRay Transceiver Driver (FrTrcv)

ModulFrTrcv (FlexRay Transceiver Driver)
BSW-Modul-ID71
Standard-Header#include "FrTrcv.h"
SWS-SpezifikationAUTOSAR_SWS_FlexRayTransceiverDriver.pdf
ClusterFlexRay

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

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

FlexRay ट्रांसीवर हार्डवेयर को नियंत्रित करता है: ऑपरेटिंग मोड सेट करता है, वेकअप घटनाओं का पता लगाता है और बस त्रुटियों की रिपोर्ट करता है।

FlexRay ट्रांसीवर ड्राइवर Dio या Spi के माध्यम से एक ECU के ट्रांसीवर घटकों को नियंत्रित करता है और ACTIVE में NORMAL, RECEIVEONLY, STANDBY और SLEEP मोड प्रदान करता है [SWS_FrTrcv_00481]। यह मोड सेट करता है और पढ़ता है, चक्रीय पोलिंग या अधिसूचना द्वारा वेकअप घटनाओं का पता लगाता है, उनकी रिपोर्ट EcuM को करता है और वेकअप का कारण प्रदान करता है। सक्रिय स्टार्स के मामले में, यह प्रति शाखा बस त्रुटियों की जाँच करता है और शाखाओं को अक्षम या सक्षम करता है। यदि कोई मोड परिवर्तन विफल हो जाता है, तो यह E_NOT_OK देता है और पिछली स्थिति को अपरिवर्तित छोड़ देता है [SWS_FrTrcv_00323]।

FlexRay ट्रांसीवर ड्राइवर एक ECU के ट्रांसीवर घटकों को नियंत्रित करता है। यह प्रत्येक घटक को शून्य-आधारित इंडेक्स FrTrcv_TrcvIdx के माध्यम से संबोधित करता है [SWS_FrTrcv_00323]। नीचे की ओर, यह कॉन्फ़िगरेशन के आधार पर Dio या Spi के माध्यम से हार्डवेयर तक पहुँचता है SWS FrTrcv चित्र 10.4 पृ. 77। इसके अतिरिक्त, यह Icu, EcuM, Dem और Det का उपयोग करता है [SWS_FrTrcv_00334]। ऊपर की ओर, मुख्य रूप से FrIf को FlexRay State Manager की ओर से सेवाओं का उपयोग करना चाहिए (व्याख्या) SWS FrSM पृ. 20। प्रश्न (खुला)

kontext FrSM FrSM FrIf FrIf FrSM->FrIf FrIf_GetTransceiverWUReason u. a. FrTrcv FrTrcv (FlexRay-Transceivertreiber) FrIf->FrTrcv Modus, Weckgrund, Zweige (Interpretation) EcuM EcuM EcuM->FrTrcv FrTrcv_Init (Interpretation) SchM BSW-Scheduler SchM->FrTrcv FrTrcv_MainFunction FrTrcv->EcuM EcuM_SetWakeupEvent Dio Dio FrTrcv->Dio Dio-Zugriff (FrTrcvAccess) Spi Spi FrTrcv->Spi SPI-Sequenz (FrTrcvAccess) Icu Icu FrTrcv->Icu Icu_Enable/DisableNotification Tm Tm FrTrcv->Tm Tm_BusyWait1us16bit Dem DEM FrTrcv->Dem Dem_SetEventStatus Det DET FrTrcv->Det Det_ReportError / Det_ReportRuntimeError

संदर्भ आरेख: FrTrcv, FrIf/FrSM, हार्डवेयर ड्राइवरों और EcuM, DEM और DET सेवाओं के बीच। स्रोत: [SWS_FrTrcv_00334], SWS FrSM पृ. 20

पावर ऑन होने के बाद ड्राइवर NOT_ACTIVE में होता है और FrTrcv_Init के साथ ACTIVE में पहुँच जाता है SWS FrTrcv चित्र 7.1 पृ. 23। वहाँ NORMAL, RECEIVEONLY, STANDBY और SLEEP मोड लागू होते हैं [SWS_FrTrcv_00481]। FrTrcv_SetTransceiverMode उनके बीच स्विच करता है। यदि स्विच विफल हो जाता है, तो सेवा E_NOT_OK प्रदान करती है और पुरानी स्थिति को बनाए रखती है। ड्राइवर Tm_BusyWait1us16bit के साथ प्रतीक्षा समय को लागू करता है [SWS_FrTrcv_00485]। STANDBY में ICU वेकअप चैनल सक्षम होते हैं, NORMAL में अक्षम होते हैं [SWS_FrTrcv_00491] [SWS_FrTrcv_00492]।

modi cluster_power_on POWER_ON cluster_active ACTIVE Aus आपूर्ति बंद NOT_ACTIVE NOT_ACTIVE Aus->NOT_ACTIVE Power On NORMAL NORMAL NOT_ACTIVE->NORMAL FrTrcv_Init() RECEIVEONLY RECEIVEONLY NORMAL->RECEIVEONLY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_RECEIVEONLY) STANDBY STANDBY NORMAL->STANDBY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_STANDBY) SLEEP SLEEP NORMAL->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP) RECEIVEONLY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP)

स्थिति आरेख: चार ACTIVE मोड केवल FrTrcv_Init के बाद ही सुलभ होते हैं। किनारों को आंशिक रूप से पुनर्निर्मित किया गया है (व्याख्या)। स्रोत: SWS FrTrcv चित्र 7.1 पृ. 23, [SWS_FrTrcv_00481]

ड्राइवर दो तरीकों से वेकअप घटनाओं का पता लगाता है: चक्रीय FrTrcv_MainFunction [SWS_FrTrcv_00330] द्वारा या अधिसूचना द्वारा। FrTrcv_CheckWakeupByTransceiver के बाद यह घटना की रिपोर्ट EcuM को करता है SWS FrTrcv पृ. 46। कारण, जैसे कि FRTRCV_WU_BY_BUS, FrTrcv_GetTransceiverWUReason द्वारा प्रदान किया जाता है, जहाँ तक हार्डवेयर इसमें अंतर कर सकता है [SWS_FrTrcv_00074]। FrTrcv_ClearTransceiverWakeup सभी लंबित घटनाओं को साफ़ करता है [SWS_FrTrcv_00329]।

सक्रिय स्टार्स के मामले में, वैकल्पिक सेवाएँ प्रति शाखा बस त्रुटियों की जाँच करती हैं और शाखाओं को अक्षम या पुनः सक्षम करती हैं [SWS_FrTrcv_00419] [SWS_FrTrcv_00442] [SWS_FrTrcv_00443]। त्रुटि प्रबंधन के लिए निम्नलिखित लागू होता है:

  • FRTRCV_E_UNINIT जैसी विकास त्रुटियाँ DET को जाती हैं [SWS_FrTrcv_00085]।
  • FRTRCV_E_FR_NO_CONTROL_TRCV जैसी रनटाइम त्रुटियाँ Det_ReportRuntimeError [SWS_FrTrcv_91001] से होकर गुजरती हैं।
  • ड्राइवर क्लास A और B की बस त्रुटियों की रिपोर्ट DEM या किसी कॉन्फ़िगर किए गए प्रतिस्थापन फ़ंक्शन को करता है [SWS_FrTrcv_00475]।

भूमिका: FlexRay ट्रांसीवर घटकों के लिए हार्डवेयर अमूर्तता

FlexRay ट्रांसीवर ड्राइवर एक ECU के एक या अधिक FlexRay ट्रांसीवर घटकों को नियंत्रित करता है। सभी चैनल-संबंधित सेवाएँ शून्य-आधारित इंडेक्स FrTrcv_TrcvIdx के माध्यम से घटक का चयन करती हैं, जो ड्राइवर के संदर्भ में लागू होता है [SWS_FrTrcv_00323]। ड्राइवर सेवाओं के तीन समूह प्रदान करता है:

  • ऑपरेटिंग मोड सेट करना और क्वेरी करना [SWS_FrTrcv_00324],
  • वेकअप घटनाओं का प्रबंधन [SWS_FrTrcv_00325] [SWS_FrTrcv_00331],
  • सक्रिय स्टार्स के मामले में व्यक्तिगत शाखाओं का प्रबंधन [SWS_FrTrcv_00419]।

FrTrcv_GetVersionInfo स्पष्ट रूप से सॉफ़्टवेयर मॉड्यूल का संस्करण प्रदान करता है, न कि ट्रांसीवर हार्डवेयर का SWS FrTrcv पृ. 43।

नीचे की ओर, ड्राइवर Dio या Spi के माध्यम से घटक तक पहुँचता है। वेकअप सूचनाओं के लिए यह Icu का उपयोग करता है, संदेश EcuM, Dem और Det को जाते हैं [SWS_FrTrcv_00334] [SWS_FrTrcv_00321]। एक्सेस का प्रकार चयन कंटेनर FrTrcvAccess द्वारा निर्धारित किया जाता है: यह दोनों विकल्पों में से ठीक एक की अनुमति देता है, यानी Dio एक्सेस या SPI अनुक्रम SWS FrTrcv चित्र 10.4 पृ. 77।

ऊपर की ओर, संभवतः मुख्य रूप से FlexRay Interface सेवाओं का उपयोग करता है। FlexRay State Manager FrIf_GetTransceiverWUReason के माध्यम से एक क्लस्टर के प्रति ट्रांसीवर वेकअप कारण का निर्धारण करता है SWS FrSM पृ. 20। व्याख्या: FrIf इन अनुरोधों को FrTrcv पर अग्रेषित करता है। यह इस तथ्य से मेल खाता है कि Fr_GeneralTypes.h में सामान्य प्रकार FR_GENERAL_TYPES द्वारा सुरक्षित हैं ताकि कई ट्रांसीवर ड्राइवर और FrIf उन्हें साझा कर सकें SWS FrTrcv पृ. 34। प्रश्न Q-29229b532631a6b5 (खुला)

kontext FrSM FrSM FrIf FrIf FrSM->FrIf FrIf_GetTransceiverWUReason u. a. FrTrcv FrTrcv (FlexRay-Transceivertreiber) FrIf->FrTrcv Modus, Weckgrund, Zweige (Interpretation) EcuM EcuM EcuM->FrTrcv FrTrcv_Init (Interpretation) SchM BSW-Scheduler SchM->FrTrcv FrTrcv_MainFunction FrTrcv->EcuM EcuM_SetWakeupEvent Dio Dio FrTrcv->Dio Dio-Zugriff (FrTrcvAccess) Spi Spi FrTrcv->Spi SPI-Sequenz (FrTrcvAccess) Icu Icu FrTrcv->Icu Icu_Enable/DisableNotification Tm Tm FrTrcv->Tm Tm_BusyWait1us16bit Dem DEM FrTrcv->Dem Dem_SetEventStatus Det DET FrTrcv->Det Det_ReportError / Det_ReportRuntimeError

संदर्भ आरेख: FrTrcv, FrIf/FrSM और Dio, Spi और Icu ड्राइवरों के बीच स्थित है और EcuM, DEM और DET को रिपोर्ट करता है। स्रोत: [SWS_FrTrcv_00334], [SWS_FrTrcv_00485], [SWS_FrTrcv_00330], SWS FrSM पृ. 20

NOT_ACTIVE और ACTIVE के बीच ऑपरेटिंग मोड

विनिर्देश का चित्र 7.1 मोड को एक नेस्टेड स्टेट मशीन के रूप में वर्णित करता है। POWER_ON के भीतर, ड्राइवर स्विच ऑन करने के बाद NOT_ACTIVE में होता है और FrTrcv_Init() के साथ ACTIVE में पहुँच जाता है SWS FrTrcv चित्र 7.1 पृ. 23। केवल ACTIVE में ही FrTrcv_TrcvModeType के चार मान लागू होते हैं: FRTRCV_TRCVMODE_NORMAL, FRTRCV_TRCVMODE_RECEIVEONLY, FRTRCV_TRCVMODE_STANDBY और FRTRCV_TRCVMODE_SLEEP [SWS_FrTrcv_00481]। कॉलिंग लेयर FrTrcv_SetTransceiverMode का उपयोग करके इन मोडों के बीच स्विच करती है [SWS_FrTrcv_00323]।

मोड परिवर्तन समकालिक रूप से चलता है और रीएंट्रेंट नहीं होता है। वैकल्पिक स्थितियों में संक्रमण विफल हो सकते हैं। उस स्थिति में सेवा E_NOT_OK लौटाती है, और पिछली स्थिति बनी रहती है SWS FrTrcv पृ. 39। यदि घटक को स्थिति परिवर्तन के लिए प्रतीक्षा समय की आवश्यकता होती है, तो ड्राइवर इसे समय सेवा Tm_BusyWait1us16bit [SWS_FrTrcv_00485] के साथ कार्यान्वित करता है। वास्तविक स्थिति को FrTrcv_GetTransceiverMode द्वारा पढ़ा जाता है। यह सेवा रीएंट्रेंट है और इसलिए इसे समानांतर में भी कॉल किया जा सकता है [SWS_FrTrcv_00324]।

modi cluster_power_on POWER_ON cluster_active ACTIVE Aus आपूर्ति बंद NOT_ACTIVE NOT_ACTIVE Aus->NOT_ACTIVE Power On NORMAL NORMAL NOT_ACTIVE->NORMAL FrTrcv_Init() RECEIVEONLY RECEIVEONLY NORMAL->RECEIVEONLY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_RECEIVEONLY) STANDBY STANDBY NORMAL->STANDBY FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_STANDBY) SLEEP SLEEP NORMAL->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP) RECEIVEONLY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->NORMAL FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_NORMAL) STANDBY->SLEEP FrTrcv_SetTransceiverMode (FRTRCV_TRCVMODE_SLEEP)

स्थिति आरेख: केवल FrTrcv_Init के बाद ही चार ACTIVE मोड FrTrcv_SetTransceiverMode के माध्यम से सुलभ होते हैं। किनारों का चयन आंशिक रूप से पुनर्निर्मित किया गया है (व्याख्या)। स्रोत: SWS FrTrcv चित्र 7.1 पृ. 23, [SWS_FrTrcv_00481]

स्टार्टअप और बस संचार की शुरुआत

FrTrcv_Init चयनित कॉन्फ़िगरेशन सेट के लिए एक पॉइंटर प्राप्त करता है और ड्राइवर को इनिशियलाइज़ करता है [SWS_FrTrcv_00322]। यह अलग फ़ंक्शन वेरिएबल्स और हार्डवेयर संसाधनों को इनिशियलाइज़ करता है। वेकअप स्रोतों की सेवा करने वाले ड्राइवर रीस्टार्ट ब्लॉक में पुनः इनिशियलाइज़ किए जाते हैं और ऐसा करते समय वेकअप संदेश के ट्रिगर तंत्र को फिर से सक्रिय करते हैं SWS FrTrcv पृ. 37। ड्राइवर AUTOSAR स्टैक के इनिशियलाइज़ेशन अनुक्रम का समर्थन करता है। व्याख्या: इस अनुक्रम के भीतर संभवतः ECU State Manager फ़ंक्शन को कॉल करता है। प्रश्न Q-93ce1e5987a96873 (खुला)

NORMAL में परिवर्तन वेकअप पाथ को प्रभावित करता है। यदि FrTrcvIcuChannelRef कॉन्फ़िगर किया गया है, तो ड्राइवर Icu_DisableNotification के साथ ICU चैनलों को अक्षम कर देता है [SWS_FrTrcv_00492]। इस संदर्भ के बिना, यह ICU चैनलों तक बिल्कुल भी नहीं पहुँचता है [SWS_FrTrcv_00490]।

स्टार्टअप और NORMAL में संक्रमणEcuMFrIf / FrSMFrTrcvDio / SpiIcuTmUse Case: InitialisierungFrTrcv_Init(ConfigPtr)चर और हार्डवेयर संसाधनinitialisieren (NOT_ACTIVE → ACTIVE)Use Case: Kommunikation aufnehmenFrTrcv_SetTransceiverMode(TrcvIdx,FRTRCV_TRCVMODE_NORMAL)मोड पिन या रजिस्टर सेट करेंTm_BusyWait1us16bit(...)optFrTrcvIcuChannelRef konfiguriertIcu_DisableNotification(...)altWechsel erfolgreichE_OKWechsel fehlgeschlagenE_NOT_OK (स्थिति अपरिवर्तित)

अनुक्रम आरेख: इनिशियलाइज़ेशन के बाद बिज़ी-वेट और वैकल्पिक ICU अक्षमता के साथ NORMAL में परिवर्तन होता है। विफलता स्थिति को अपरिवर्तित छोड़ देती है। स्रोत: [SWS_FrTrcv_00322], [SWS_FrTrcv_00323], [SWS_FrTrcv_00485], [SWS_FrTrcv_00492]

STANDBY और SLEEP में वेकअप पहचान, वेकअप का कारण

STANDBY में स्विच करते समय, ड्राइवर ICU चैनलों को फिर से सक्षम करता है [SWS_FrTrcv_00491]। इसके अतिरिक्त, STANDBY में प्रत्येक स्विच पर FrTrcv_SetTransceiverMode ट्रांसीवर में त्रुटि इतिहास को साफ़ करता है, बशर्ते हार्डवेयर इसका समर्थन करता हो SWS FrTrcv पृ. 39।

इसके अलावा, ड्राइवर चक्रीय रूप से पोल कर सकता है। इसके लिए यह SchM_FrTrcv.h के माध्यम से FrTrcv_MainFunction प्रदान करता है [SWS_FrTrcv_00330]। R23-11 के दस्तावेज़ संदर्भ के अनुसार, यह फ़ंक्शन वेकअप घटनाओं के लिए STANDBY और SLEEP में सभी बसों की खोज करता है और पाई गई घटनाओं को आंतरिक रूप से संग्रहीत करता है। अवधि कॉन्फ़िगरेशन द्वारा निर्धारित की जाती है। फ़ंक्शन FlexRay बस शेड्यूल के समकालिक या असमकालिक रूप से चल सकता है SWS FrTrcv पृ. 49।

STANDBY में संक्रमण और चक्रीय वेकअप पहचानFrIf / FrSMFrTrcvIcuDio / SpiBSW-SchedulerFrTrcv_SetTransceiverMode(TrcvIdx,FRTRCV_TRCVMODE_STANDBY)ट्रांसीवर में त्रुटि इतिहास हटाएं(यदि हार्डवेयर समर्थित हो)optFrTrcvIcuChannelRef konfiguriertIcu_EnableNotification(...)E_OKloopचक्रीय, कॉन्फ़िगरेशन के अनुसार अवधिFrTrcv_MainFunction()Weckstatus aller Busse inSTANDBY/SLEEP lesenWeckereignis intern speichernदस्तावेज़ संदर्भ R23-11 के अनुसार पोलिंग व्यवहार;FlexRay बस शेड्यूल से स्वतंत्र

अनुक्रम आरेख: STANDBY में संक्रमण के दौरान त्रुटि इतिहास साफ़ हो जाता है और ICU अधिसूचना सक्षम हो जाती है। उसके बाद, Main Function चक्रीय रूप से वेकअप घटनाओं की खोज करता है। स्रोत: [SWS_FrTrcv_00491], [SWS_FrTrcv_00330], SWS FrTrcv पृ. 49

यदि घटक बस के माध्यम से वेकअप का पता लगाता है, तो अंतर्निहित SPI या DIO पक्ष ड्राइवर को सूचित करता है। यह इंटरप्ट संदर्भ में हो सकता है SWS FrTrcv पृ. 46। यदि बाद में FrTrcv_CheckWakeupByTransceiver को कॉल किया जाता है [SWS_FrTrcv_00331], तो ड्राइवर घटना की रिपोर्ट ECU State Manager को करता है। इसके लिए उपयोग किए गए इंटरफ़ेस की सूची में EcuM_SetWakeupEvent मौजूद है [SWS_FrTrcv_00334]। व्याख्या: सत्यापन कॉल संभवतः EcuM द्वारा अपने वेकअप अनुक्रम में शुरू की जाती है। प्रश्न Q-d5873691a495bef0 (खुला)

वेकअप का कारण FrTrcv_GetTransceiverWUReason [SWS_FrTrcv_00325] द्वारा FrTrcv_TrcvWUReasonType के मान के रूप में प्रदान किया जाता है। संभावित मान FRTRCV_WU_BY_BUS, FRTRCV_WU_BY_PIN, FRTRCV_WU_INTERNALLY या FRTRCV_WU_NOT_SUPPORTED हैं [SWS_FrTrcv_00074]। कारणों में कितनी सूक्ष्मता से अंतर किया जाता है, यह काफी हद तक हार्डवेयर पर निर्भर करता है SWS FrTrcv पृ. 42। बाद के रिलीज़ का दस्तावेज़ संदर्भ अतिरिक्त रूप से FRTRCV_WU_RESET और FRTRCV_WU_POWER_ON का उल्लेख करता है SWS FrTrcv पृ. 34। पेलोड में R20-11 आवश्यकता पाठ इस बिंदु पर छोटा किया गया है।

FrSM प्रति ट्रांसीवर वेकअप कारण की जाँच FRTRCV_WU_BY_BUS के विरुद्ध करता है। इस तरह यह अंतर करता है कि कोई नहीं, आंशिक या पूर्ण बस वेकअप मौजूद है SWS FrSM पृ. 20। FrTrcv_ClearTransceiverWakeup बाद में सभी लंबित वेकअप घटनाओं को साफ़ करता है [SWS_FrTrcv_00329]। कॉल की अनुमति तब भी होती है जब वेकअप अधिसूचना अक्षम हो SWS FrTrcv पृ. 44।

वेकअप इवेंट पहचानें, रिपोर्ट करें और मूल्यांकन करेंIcu / Dio / SpiFrTrcvEcuMFrIf / FrSMUse Case: ErkennungWeck-Benachrichtigung(ggf. Interrupt-Kontext)FrTrcv_CheckWakeupByTransceiver(TrcvIdx)(Aufrufer: Interpretation)EcuM_SetWakeupEvent(...)Use Case: AuswertungFrTrcv_GetTransceiverWUReason(TrcvIdx, &Reason)altGrund in FrTrcv_TrcvWUReasonType definiertE_OK, z. B. FRTRCV_WU_BY_BUSकारण परिभाषित नहींE_NOT_OK (आउटपुट अपरिवर्तित)FrTrcv_ClearTransceiverWakeup(TrcvIdx)E_OK (सभी लंबित वेकअप इवेंट हटा दिए गए)

अनुक्रम आरेख: हार्डवेयर अधिसूचना से लेकर EcuM संदेश तक और वेकअप कारण की क्वेरी और समाशोधन तक का प्रवाह। पेलोड सत्यापन फ़ंक्शन के कॉलर का नाम नहीं बताता है (व्याख्या)। स्रोत: [SWS_FrTrcv_00331], [SWS_FrTrcv_00325], [SWS_FrTrcv_00329], SWS FrTrcv पृ. 46

सक्रिय स्टार्स: शाखाओं की निगरानी, अक्षम और सक्षम करना

उन ट्रांसीवरों के लिए जो सक्रिय स्टार के रूप में कई शाखाओं की आपूर्ति करते हैं, तीन अतिरिक्त सेवाएँ हैं। वे केवल तभी उपलब्ध होते हैं जब शाखाएँ कॉन्फ़िगर की गई हों SWS FrTrcv पृ. 52। तीनों शून्य-आधारित इंडेक्स FrTrcv_BranchIdx के माध्यम से शाखा को अतिरिक्त रूप से संबोधित करते हैं और रीएंट्रेंट नहीं हैं [SWS_FrTrcv_00419] [SWS_FrTrcv_00442] [SWS_FrTrcv_00443]।

FrTrcv_GetTransceiverError एक शाखा की त्रुटि स्थिति को uint32 के रूप में FrTrcv_BusErrorState में लिखता है। FlexRay EPL द्वारा निर्धारित सभी त्रुटियाँ जो हार्डवेयर द्वारा समर्थित हैं, क्वेरी की जा सकती हैं SWS FrTrcv पृ. 48। दोषपूर्ण शाखाओं को FrTrcv_DisableTransceiverBranch के साथ अक्षम कर दिया जाता है SWS FrTrcv पृ. 50। FrTrcv_EnableTransceiverBranch उन्हें FlexRay बस शेड्यूल के साथ सिंक्रोनस रूप से फिर से सक्षम करता है SWS FrTrcv पृ. 51। यदि कोई इंडेक्स मान्य सीमा से बाहर है, तो दोनों स्विचिंग सेवाएँ E_NOT_OK लौटाती हैं, और शाखा की स्थिति अपरिवर्तित रहती है [SWS_FrTrcv_00442] [SWS_FrTrcv_00443]।

zweig start शाखा स्थिति जांचें (कॉलिंग लेयर, व्याख्या) get FrTrcv_GetTransceiverError (TrcvIdx, BranchIdx, &BusErrorState) start->get rc E_OK रिटर्न? get->rc na त्रुटि स्थिति उपलब्ध नहीं या इंडेक्स सीमा से बाहर है rc->na नहीं fehler Zweig fehlerhaft? rc->fehler हाँ aktiv Zweig bleibt aktiv fehler->aktiv नहीं dis FrTrcv_DisableTransceiverBranch (TrcvIdx, BranchIdx) fehler->dis हाँ wieder पुनः सक्षमीकरण वांछित है? dis->wieder aus Zweig bleibt abgeschaltet wieder->aus नहीं en FlexRay बस शेड्यूल के समकालिक FrTrcv_EnableTransceiverBranch wieder->en हाँ

गतिविधि आरेख: प्रति शाखा त्रुटि क्वेरी, दोषपूर्ण शाखाओं को अक्षम करना और बस शेड्यूल के साथ सिंक्रोनस पुनः सक्षमीकरण। कॉलिंग लेयर निर्णय लेती है, यह एक व्याख्या है। स्रोत: [SWS_FrTrcv_00419], SWS FrTrcv पृ. 50, SWS FrTrcv पृ. 51

कॉन्फ़िगरेशन, एक्सेस प्रकार और विभाजन

FrTrcv_ConfigType एक कार्यान्वयन-विशिष्ट संरचना है [SWS_FrTrcv_00487]। मॉड्यूल में एक या अधिक कंटेनर FrTrcvChannel होते हैं, प्रति ट्रांसीवर चैनल एक, साथ ही FrTrcvGeneral SWS FrTrcv पृ. 59। R23-11/R25-11 का यह दस्तावेज़ संदर्भ बिना किसी पोस्ट-बिल्ड समर्थन के केवल VARIANT-PRE-COMPILE का नाम भी देता है। R20-11 के लिए पेलोड में इस संबंध में कोई आवश्यकता नहीं है।

प्रति Transceiver FrTrcvAccess या तो FrTrcvDioAccess अथवा FrTrcvSpiSequence SWS FrTrcv चित्र 10.4 पृ. 77 का चयन करता है। वैकल्पिक फ़ंक्शनों को कंपाइल-टाइम पर सक्षम और अक्षम किया जा सकता है SWS FrTrcv पृ. 52। FrTrcvIcuChannelRef ICU वेक-अप सूचना को [SWS_FrTrcv_00490] से जोड़ता है। FrTrcvDemReportErrorStatusConfiguration के साथ Dem_SetEventStatus के स्थान पर समान सिग्नेचर वाले कस्टम फ़ंक्शन का उपयोग किया जा सकता है [SWS_FrTrcv_00475]।

विभाजित (partitioned) सिस्टमों में, मॉड्यूल प्रत्येक पार्टीशन के लिए एक स्वतंत्र इंस्टेंस के रूप में कार्य करता है। एक API कॉल केवल उसी पार्टीशन को प्रभावित करती है जिसमें यह की जाती है [SWS_FrTrcv_00494]। ऐसे पार्टीशन असाइनमेंट, जिनका इम्प्लीमेंटेशन समर्थन नहीं करता है, मॉड्यूल को उन्हें अस्वीकार करना होगा [SWS_FrTrcv_00497]।

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

विकास त्रुटियाँ निर्दिष्ट हैं [SWS_FrTrcv_00085]:

  • FRTRCV_E_FR_INVALID_TRCVIDX (0x01),
  • FRTRCV_E_FR_INVALID_BRANCHIDX (0x02),
  • FRTRCV_E_UNINIT (0x10),
  • FRTRCV_E_PARAM_POINTER (0x15).

इन्हें केवल डेवलपमेंट एरर डिटेक्शन के सक्रिय होने पर ही रिपोर्ट किया जाता है। उदाहरणों में ब्रांच सेवाओं में FRTRCV_E_UNINIT SWS FrTrcv पृ. 50 और FrTrcv_GetVersionInfo में NULL पॉइंटर शामिल हैं SWS FrTrcv पृ. 43।

एक रनटाइम एरर के रूप में, ड्राइवर गलत मोड में कॉल को FRTRCV_E_FR_TRCV_NOT_STANDBY से FRTRCV_E_FR_TRCV_NOT_RECEIVEONLY (0x11 से 0x14) के साथ रिपोर्ट करता है। डिवाइस के साथ अनुपस्थित या त्रुटिपूर्ण संचार को यह FRTRCV_E_FR_NO_CONTROL_TRCV (0x16) [SWS_FrTrcv_91001] के साथ रिपोर्ट करता है। ये रिपोर्ट Det_ReportRuntimeError [SWS_FrTrcv_00493] के माध्यम से भेजी जाती हैं। FrTrcv_GetTransceiverMode त्रुटि FRTRCV_E_FR_NO_CONTROL_TRCV को ट्रिगर करता है, उदाहरण के लिए Transceiver एक्सेस में त्रुटि होने पर SWS FrTrcv पृ. 41।

E_NOT_OK पर आउटपुट पैरामीटर अपरिवर्तित रहते हैं, जैसे कि FrTrcv_GetTransceiverMode और FrTrcv_GetTransceiverError SWS FrTrcv पृ. 48 में। एक विफल मोड परिवर्तन पूर्व स्थिति को बनाए रखता है [SWS_FrTrcv_00323]।

pruefung start FrTrcv सेवा का कॉल init Modul initialisiert? start->init e_uninit Det_ReportError: FRTRCV_E_UNINIT init->e_uninit नहीं idx FrTrcv_TrcvIdx सीमा में है? init->idx हाँ r_nok E_NOT_OK रिटर्न (आउटपुट या स्थिति अपरिवर्तित) e_uninit->r_nok e_idx Det_ReportError: FRTRCV_E_FR_INVALID_TRCVIDX idx->e_idx नहीं br शाखा सेवा: FrTrcv_BranchIdx सीमा में है? idx->br हाँ e_idx->r_nok e_br Det_ReportError: FRTRCV_E_FR_INVALID_BRANCHIDX br->e_br नहीं ptr Zeigerparameter ungleich NULL? br->ptr ja / kein Zweigdienst e_br->r_nok e_ptr Det_ReportError: FRTRCV_E_PARAM_POINTER ptr->e_ptr नहीं zugriff ट्रांसीवर एक्सेस (Dio / Spi) ptr->zugriff हाँ e_ptr->r_nok ok Zugriff fehlerfrei? zugriff->ok e_rt Det_ReportRuntimeError: FRTRCV_E_FR_NO_CONTROL_TRCV ok->e_rt नहीं r_ok E_OK रिटर्न करें ok->r_ok हाँ e_rt->r_nok

गतिविधि आरेख: पैरामीटर और इनिशियलाइज़ेशन जाँचों के कारण डेवलपमेंट एरर होते हैं, एक्सेस त्रुटियों के कारण रनटाइम एरर होते हैं। जाँचों का क्रम एक व्याख्या है। DET जाँचें केवल तभी उपलब्ध होती हैं जब एरर डिटेक्शन सक्रिय हो। स्रोत: [SWS_FrTrcv_00085], [SWS_FrTrcv_91001], [SWS_FrTrcv_00493]

प्रोडक्शन डायग्नोस्टिक्स के लिए, ड्राइवर दो Transceiver वर्गों में अंतर करता है:

  • क्लास A के GPIO-नियंत्रित ट्रांसीवरों में, एक सक्रिय ERRN पिन (low) का अर्थ “Fail” होता है, एक निष्क्रिय पिन (high) का अर्थ “Pass” [SWS_FrTrcv_00489]।
  • क्लास B के SPI-नियंत्रित ट्रांसीवरों में, प्रत्येक सेट बिट 1…9 एक बस एरर ट्रिगर करता है [SWS_FrTrcv_00488]।

मूल्यांकन एक अप्रत्याशित HALT पर या कंट्रोलर के NORMAL_ACTIVE होने पर किया जाता है। बस पर शॉर्ट सर्किट होने की स्थिति में, केवल ड्राइवर का “Pass” प्रमाण के रूप में पर्याप्त नहीं होता है SWS FrTrcv पृ. 26। Dem_SetEventStatus केवल STANDARD_REPORTING में उपलब्ध है [SWS_FrTrcv_00334]।

dem anlass कारण: कंट्रोलर का अप्रत्याशित HALT या NORMAL_ACTIVE klasse Transceiverklasse? anlass->klasse a Klasse A (GPIO): ERRN-Pin aktiv low? klasse->a A b वर्ग B (SPI): एक बिट 1...9 सेट है? klasse->b B fail_a Fail: FRTRCV_E_FR_ERRN_TRCV_<TrcvIdx> a->fail_a हाँ pass_a Pass: FRTRCV_E_FR_ERRN_TRCV_<TrcvIdx> a->pass_a नहीं fail_b Fail: FRTRCV_E_FR_BUSERROR_TRCV_<TrcvIdx> b->fail_b हाँ pass_b Pass: FRTRCV_E_FR_BUSERROR_TRCV_<TrcvIdx> b->pass_b नहीं cfg FrTrcvDemReportErrorStatusConfiguration konfiguriert? fail_a->cfg pass_a->cfg fail_b->cfg pass_b->cfg eigen कॉन्फ़िगर किया गया फ़ंक्शन (Dem_SetEventStatus जैसा हस्ताक्षर) cfg->eigen हाँ dem Dem_SetEventStatus (केवल STANDARD_REPORTING के साथ) cfg->dem नहीं

गतिविधि आरेख: प्रति Transceiver वर्ग Pass/Fail मूल्यांकन और DEM को या कॉन्फ़िगर किए गए प्रतिस्थापन फ़ंक्शन को रिपोर्टिंग पथ। स्रोत: [SWS_FrTrcv_00488], [SWS_FrTrcv_00489], [SWS_FrTrcv_00475]

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

प्रमाणवर्गीकरण
[SWS_FrTrcv_00481], SWS FrTrcv Abb. 7.1 S. 23ऑपरेटिंग मोड और स्टेट मशीन
[SWS_FrTrcv_00323], SWS FrTrcv S. 39मोड परिवर्तन, विफलता, STANDBY में त्रुटि इतिहास को साफ़ करना
[SWS_FrTrcv_00322], SWS FrTrcv S. 37वेक-अप स्रोतों के लिए इनिशियलाइज़ेशन और रीस्टार्ट नियम
[SWS_FrTrcv_00330], [SWS_FrTrcv_00485]चक्रीय पोलिंग और प्रतीक्षा समय
[SWS_FrTrcv_00331], [SWS_FrTrcv_00325], [SWS_FrTrcv_00074], [SWS_FrTrcv_00329]पहचान से लेकर साफ़ करने तक वेक-अप पथ
[SWS_FrTrcv_00490], [SWS_FrTrcv_00491], [SWS_FrTrcv_00492]मोड पर निर्भर ICU सूचना
[SWS_FrTrcv_00419], [SWS_FrTrcv_00442], [SWS_FrTrcv_00443]सक्रिय स्टार्स के लिए ब्रांच प्रबंधन
[SWS_FrTrcv_00085], [SWS_FrTrcv_91001], [SWS_FrTrcv_00493]डेवलपमेंट और रनटाइम एरर
[SWS_FrTrcv_00488], [SWS_FrTrcv_00489], [SWS_FrTrcv_00475]DEM इवेंट्स और रिपोर्टिंग पथ
[SWS_FrTrcv_00487], [SWS_FrTrcv_00494], [SWS_FrTrcv_00497]कॉन्फ़िगरेशन प्रकार और पार्टीशनिंग

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

FlexRay Transceiver Driver (FrTrcv)

Controls physical bus transceiver states and bus diagnostics on FlexRay lines.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

फ़ंक्शन FrTrcv_Init [SWS_FrTrcv_00322] 📄 PDF

void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);

This service initializes the Fr Trcv.

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

सिंक्रोनस फ़ंक्शन FrTrcv_Init AUTOSAR क्लासिक प्लेटफ़ॉर्म के FlexRay ट्रांसीवर ड्राइवर को इनिशियलाइज़ करता है ([SWS_FrTrcv_00322])। इसकी सर्विस-ID 0x00 है और इसे हेडर फ़ाइल FrTrcv.h के माध्यम से उपलब्ध कराया जाता है ([SWS_FrTrcv_00322])। मॉड्यूल FrTrcv ट्रांसीवर हार्डवेयर के कॉन्फ़िगरेशन और कमीशनिंग के लिए यह सेवा प्रदान करता है ([SWS_FrTrcv_00322])।

इंटरफ़ेस एकमात्र पैरामीटर के रूप में प्रकार const FrTrcv_ConfigType* के पॉइंटर ConfigPtr की अपेक्षा करता है, जो ट्रांसीवर के चयनित कॉन्फ़िगरेशन डेटासेट को संदर्भित करता है ([SWS_FrTrcv_00322]):

  • इनपुट पैरामीटर: ConfigPtr (चयनित कॉन्फ़िगरेशन सेट का पॉइंटर) ([SWS_FrTrcv_00322])।
  • इनपुट/आउटपुट पैरामीटर: कोई उपलब्ध नहीं ([SWS_FrTrcv_00322])।
  • आउटपुट पैरामीटर: कोई उपलब्ध नहीं ([SWS_FrTrcv_00322])।
  • रिटर्न मान: void, कोई स्थिति या त्रुटि मान नहीं लौटाया जाता है ([SWS_FrTrcv_00322])।

चूंकि FrTrcv_Init को गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है, इसलिए फ़ंक्शन को किसी भी स्थिति में समवर्ती रूप से या एक साथ कई बार कॉल नहीं किया जाना चाहिए ([SWS_FrTrcv_00322])। निष्पादन इनिशियलाइज़ेशन पूरा होने तक सिंक्रोनस रूप से होता है ([SWS_FrTrcv_00322])।

कॉल संदर्भ और अनुक्रम स्थितियों के बारे में वर्तमान विनिर्देश कोई स्पष्ट विवरण नहीं देता है; संभवतः इनिशियलाइज़ेशन सिस्टम स्टार्टअप के दौरान बेसिक सॉफ़्टवेयर स्टेट मैनेजमेंट द्वारा सभी नियमित संचार गतिविधियों से पहले किया जाता है। प्रश्न Q-5fa4966e37b10516 (खुला) विशिष्ट त्रुटि कोड, शून्य पॉइंटर्स पर प्रतिक्रियाएँ और DET या DEM के साथ इंटरैक्शन प्रदान किए गए विनिर्देश दायरे में शामिल नहीं हैं और इसलिए इन पर आगे विस्तार से चर्चा नहीं की गई है ([SWS_FrTrcv_00322])।

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

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

फ़ंक्शन FrTrcv_SetTransceiverMode [SWS_FrTrcv_00323] 📄 PDF

Std_ReturnType FrTrcv_SetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType FrTrcv_TrcvMode);

This service sets the transceiver mode.

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

सिंक्रोनस फ़ंक्शन FrTrcv_SetTransceiverMode का उपयोग FlexRay ट्रांसीवर के ऑपरेटिंग मोड को स्विच करने के लिए किया जाता है [SWS_FrTrcv_00323]। इस सेवा की घोषणा हेडर फ़ाइल FrTrcv.h के माध्यम से प्रदान की जाती है [SWS_FrTrcv_00323]।

पैरामीटर और नियंत्रण

फ़ंक्शन दो इनपुट पैरामीटरों की अपेक्षा करता है [SWS_FrTrcv_00323]:

  • FrTrcv_TrcvIdx: यह शून्य-आधारित इंडेक्स ट्रांसीवर ड्राइवर के भीतर उस विशिष्ट ट्रांसीवर की पहचान करता है, जिसके लिए स्थिति परिवर्तन निष्पादित किया जाना है [SWS_FrTrcv_00323]।
  • FrTrcv_TrcvMode: उस लक्ष्य स्थिति का चयन करता है जिसमें ट्रांसीवर को ट्रांज़िशन करना चाहिए [SWS_FrTrcv_00323]। यह ध्यान दिया जाना चाहिए कि वैकल्पिक स्थितियों में ट्रांज़िशन विफल हो सकते हैं [SWS_FrTrcv_00323]।

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

मोड स्विचिंग का परिणाम प्रकार Std_ReturnType के रिटर्न मान के माध्यम से सिंक्रोनस रूप से संप्रेषित किया जाता है [SWS_FrTrcv_00323]:

  • E_OK: इंगित करता है कि ट्रांसीवर की स्थिति को वांछित मोड में सफलतापूर्वक बदल दिया गया है [SWS_FrTrcv_00323]।
  • E_NOT_OK: स्थिति परिवर्तन की विफलता का संकेत देता है; ट्रांसीवर की पिछली स्थिति अपरिवर्तित बनी रहती है [SWS_FrTrcv_00323]।

संगामिति

सेवा को गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है और इसमें सिंक्रोनस निष्पादन सिमेंटिक्स हैं [SWS_FrTrcv_00323]। विशेषता Non Reentrant के कारण, ड्राइवर के लिए समानांतर या ओवरलैपिंग कॉल को सुरक्षित करने के लिए संभवतः कॉलिंग संदर्भ ज़िम्मेदार है। प्रश्न Q-b83c7a2879a572b7 (खुला)

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

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

फ़ंक्शन FrTrcv_GetTransceiverMode [SWS_FrTrcv_00324] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType* FrTrcv_TrcvModePtr);

This function returns the actual state of the transceiver.

फ़ंक्शन FrTrcv_GetTransceiverWUReason [SWS_FrTrcv_00325] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverWUReason (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvWUReasonType* FrTrcv_TrcvWUReasonPtr);

This function returns the wakeup reason.

फ़ंक्शन FrTrcv_ClearTransceiverWakeup [SWS_FrTrcv_00329] 📄 PDF

Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);

This function clears a pending wake up event.

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

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

सिंक्रोनस फ़ंक्शन FrTrcv_ClearTransceiverWakeup का उपयोग FlexRay ट्रांसीवर पर एक लंबित वेकअप इवेंट को रीसेट करने के लिए किया जाता है [SWS_FrTrcv_00329]। यह हेडर फ़ाइल FrTrcv.h में घोषित है और इसकी सर्विस-ID 0x0c है [SWS_FrTrcv_00329]।

शून्य-आधारित इनपुट पैरामीटर FrTrcv_TrcvIdx के माध्यम से ड्राइवर के भीतर संबंधित ट्रांसीवर को निर्दिष्ट किया जाता है [SWS_FrTrcv_00329]।

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

प्रकार Std_ReturnType का रिटर्न मान ऑपरेशन के परिणाम के बारे में सूचित करता है [SWS_FrTrcv_00329]:

  • E_OK: ट्रांसीवर वेकअप स्रोत का वेकअप इवेंट सफलतापूर्वक साफ़ कर दिया गया है [SWS_FrTrcv_00329]।
  • E_NOT_OK: पैरामीटर FrTrcv_TrcvIdx मान्य सीमा से बाहर है; इस मामले में वेकअप स्थिति अपरिवर्तित रहती है [SWS_FrTrcv_00329]।

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

फ़ंक्शन को गैर-रीएंट्रेंट के रूप में निर्दिष्ट किया गया है [SWS_FrTrcv_00329]। इसलिए कॉल करने वालों को यह सुनिश्चित करना चाहिए कि समान इंस्टेंस के लिए कॉल इंटरप्टिंग या समानांतर न हों। चूंकि फ़ंक्शन सिंक्रोनस रूप से परिभाषित है, इसलिए वेकअप इवेंट का क्लीयरेंस ड्राइवर स्तर पर कॉल के दौरान तुरंत पूरा होना चाहिए। प्रश्न Q-e548008f8bae0ff0 (खुला)

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

फ़ंक्शन FrTrcv_CheckWakeupByTransceiver [SWS_FrTrcv_00331] 📄 PDF

void FrTrcv_CheckWakeupByTransceiver (uint8 FrTrcv_TrcvIdx);

-

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

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

फ़ंक्शन FrTrcv_CheckWakeupByTransceiver FlexRay ट्रांसीवर ड्राइवर (मॉड्यूल FrTrcv) से संबंधित है और हेडर फ़ाइल FrTrcv.h के माध्यम से घोषित है [SWS_FrTrcv_00331]। फ़ंक्शन की सर्विस-ID 0x0e है और इसे सिंक्रोनस रूप से निष्पादित किया जाता है [SWS_FrTrcv_00331]। यह एकमात्र इनपुट पैरामीटर के रूप में प्रकार uint8 का FrTrcv_TrcvIdx स्वीकार करता है, जो शून्य-आधारित इंडेक्स के रूप में ट्रांसीवर ड्राइवर के संदर्भ में संबंधित ट्रांसीवर को निर्धारित करता है जिसके लिए ऑपरेशन निष्पादित किया जाना है [SWS_FrTrcv_00331]। न तो कोई इनपुट/आउटपुट पैरामीटर मौजूद है और न ही केवल आउटपुट पैरामीटर, और फ़ंक्शन कोई रिटर्न मान नहीं देता है (void) [SWS_FrTrcv_00331]।

विनिर्देश डेटा में कोई कार्यात्मक विस्तृत विवरण संग्रहीत नहीं है। व्याख्या: नामकरण के आधार पर, फ़ंक्शन संभवतः यह जाँचने का काम करता है कि क्या संबोधित ट्रांसीवर हार्डवेयर पर कोई वेकअप इवेंट (Wakeup) मौजूद है या इसके द्वारा पहचाना गया है [SWS_FrTrcv_00331]। प्रश्न Q-9b8b5d8fb8e4543f (खुला)

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

समवर्तीता व्यवहार के संबंध में, FrTrcv_CheckWakeupByTransceiver को रीएंट्रेंट के रूप में वर्गीकृत किया गया है [SWS_FrTrcv_00331]। यह सिस्टम में विभिन्न ट्रांसीवर इंस्टेंसेस के लिए समानांतर कॉल की अनुमति देता है। विशिष्ट त्रुटि प्रबंधन तंत्र, जैसे अमान्य सूचकांकों के संबंध में जाँच या Default Error Tracer (DET) या Diagnostic Event Manager (DEM) को संदेश, इस विनिर्देश तत्व में परिभाषित नहीं हैं [SWS_FrTrcv_00331]।

यह उपयोग नोट एक AI द्वारा जनरेट किया गया था और पूरी तरह से AUTOSAR R20-11 पैकेज के विनिर्देश विवरण पर आधारित है।

फ़ंक्शन FrTrcv_GetTransceiverError [SWS_FrTrcv_00419] 📄 PDF

Std_ReturnType FrTrcv_GetTransceiverError (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx, uint32* FrTrcv_BusErrorState);

All mandatory errors defined by the Flex Ray EPL [5] which are supported by the Flex Ray transceiver hardware can be acce ssed via this API:In addition to errors on the physical layer and local to the ECU hardware, a global error flag is provided.

फ़ंक्शन FrTrcv_DisableTransceiverBranch [SWS_FrTrcv_00442] 📄 PDF

Std_ReturnType FrTrcv_DisableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

This function disable s the specified branch on the addressed (active star) transceiver.

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

समकालिक फ़ंक्शन FrTrcv_DisableTransceiverBranch एक संबोधित सक्रिय स्टार ट्रांसीवर ([SWS_FrTrcv_00442]) पर एकल, निर्दिष्ट शाखा को निष्क्रिय करने का कार्य करता है। यह हेडर फ़ाइल FrTrcv.h के माध्यम से प्रदान किया जाता है और इसमें सर्विस-ID 0x0f ([SWS_FrTrcv_00442]) होती है।

पैरामीटर और कॉल संदर्भ

कॉल समकालिक रूप से किया जाता है और इसे गैर-पुनःप्रवेशी (Non Reentrant) के रूप में निर्दिष्ट किया गया है ([SWS_FrTrcv_00442])। फ़ंक्शन दो शून्य-आधारित इनपुट पैरामीटरों की अपेक्षा करता है:

  • FrTrcv_TrcvIdx: शून्य-आधारित सूचकांक, जो ट्रांसीवर ड्राइवर के संदर्भ में उस ट्रांसीवर की पहचान करता है जिस पर ऑपरेशन लागू किया जाना है ([SWS_FrTrcv_00442])।
  • FrTrcv_BranchIdx: शून्य-आधारित सूचकांक, जो संबोधित सक्रिय स्टार ट्रांसीवर की निष्क्रिय की जाने वाली शाखा को निर्धारित करता है ([SWS_FrTrcv_00442])।

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

ऑपरेशन का परिणाम रिटर्न प्रकार Std_ReturnType के माध्यम से संकेतित किया जाता है ([SWS_FrTrcv_00442]):

  • E_OK: निर्दिष्ट ट्रांससीवर शाखा को सफलतापूर्वक निष्क्रिय कर दिया गया ([SWS_FrTrcv_00442])।
  • E_NOT_OK: पैरामीटर FrTrcv_TrcvIdx या FrTrcv_BranchIdx मान्य सीमा से बाहर है ([SWS_FrTrcv_00442])। इस त्रुटि स्थिति में, ट्रांसीवर शाखा की स्थिति अपरिवर्तित रहती है ([SWS_FrTrcv_00442])।

सीमाएँ और समवर्तीता (concurrency)

चूँकि FrTrcv_DisableTransceiverBranch पुनःप्रवेशी नहीं है, इसलिए कॉल बिना सुरक्षा के समवर्ती रूप से निष्पादित नहीं किए जाने चाहिए ([SWS_FrTrcv_00442])। इसके अतिरिक्त कॉलर को यह सुनिश्चित करना होगा कि अपरिवर्तित शाखा स्थिति के साथ अस्वीकृति से बचने के लिए दोनों सूचकांक कॉन्फ़िगर की गई सीमाओं के भीतर हों ([SWS_FrTrcv_00442])।

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

फ़ंक्शन FrTrcv_EnableTransceiverBranch [SWS_FrTrcv_00443] 📄 PDF

Std_ReturnType FrTrcv_EnableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);

This function enables the specified branch on the addressed (active star) transceiver.

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

सिंक्रोनस फ़ंक्शन FrTrcv_EnableTransceiverBranch का उपयोग किसी संबोधित ट्रांसीवर पर एक विशिष्ट ब्रांच को सक्रिय करने के लिए किया जाता है, आमतौर पर एक सक्रिय स्टार टोपोलॉजी (Active Star) में [SWS_FrTrcv_00443]।

पैरामीटर और कॉल संदर्भ

  • FrTrcv_TrcvIdx: ड्राइवर के संदर्भ में ट्रांसीवर का शून्य-आधारित इंडेक्स [SWS_FrTrcv_00443]।
  • FrTrcv_BranchIdx: सक्रिय की जाने वाली विशिष्ट ट्रांसीवर ब्रांच का शून्य-आधारित इंडेक्स [SWS_FrTrcv_00443]।

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

फ़ंक्शन प्रकार Std_ReturnType की स्थिति लौटाता है [SWS_FrTrcv_00443]:

  • E_OK: निर्दिष्ट ट्रांसीवर ब्रांच सफलतापूर्वक सक्रिय हो गई [SWS_FrTrcv_00443]।
  • E_NOT_OK: पैरामीटरों में से एक (FrTrcv_TrcvIdx या FrTrcv_BranchIdx) मान्य सीमा से बाहर है; इस मामले में ब्रांच की स्थिति अपरिवर्तित रहती है [SWS_FrTrcv_00443]।

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

कॉल सिंक्रोनस रूप से निष्पादित होती है और इसे गैर-रीएंट्रेंट (Non Reentrant) के रूप में निर्दिष्ट किया गया है [SWS_FrTrcv_00443]। इसलिए कॉल करने वालों को यह सुनिश्चित करना चाहिए कि फ़ंक्शन को समान या समानांतर संदर्भों के लिए समवर्ती रूप से कॉल न किया जाए।

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

फ़ंक्शन FrTrcv_MainFunction [SWS_FrTrcv_00330] 📄 PDF

void FrTrcv_MainFunction (void);

-

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

फ़ंक्शन FrTrcv_MainFunction FlexRay ट्रांसीवर (मॉड्यूल FrTrcv) के ड्राइवर का आवधिक मुख्य फ़ंक्शन बनाता है और सर्विस-ID 0x0d के साथ पंजीकृत है [SWS_FrTrcv_00330]। C-इंटरफ़ेस को सिग्नेचर void FrTrcv_MainFunction (void) के साथ पैरामीटर-रहित फ़ंक्शन के रूप में परिभाषित किया गया है, जिसके कारण कॉल करते समय न तो कोई इनपुट पैरामीटर पास किया जाता है और न ही रिटर्न प्रकार के रूप में कोई स्थिति मान उपलब्ध होता है [SWS_FrTrcv_00330]।

फ़ंक्शन के लिए इनक्लूड फ़ाइल के रूप में हेडर SchM_FrTrcv.h निर्दिष्ट है [SWS_FrTrcv_00330]। Schedule Manager के इंटरफ़ेस के माध्यम से प्रावधान इस व्याख्या को पुष्ट करता है कि सिस्टम संचालन में कॉल आमतौर पर कॉन्फ़िगर किए गए ऑपरेटिंग सिस्टम टास्क के संदर्भ में BSW-Scheduler द्वारा चक्रीय रूप से होता है।

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

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

टाइप FrTrcv_TrcvModeType [SWS_FrTrcv_00481] 📄 PDF

Transceiver modes in state ACTIVE. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayTransceiverDriver

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

एन्यूमिरेशन प्रकार FrTrcv_TrcvModeType, [SWS_FrTrcv_00481] के अनुसार उच्च-स्तरीय परिचालन स्थिति ACTIVE में FlexRay ट्रांसीवर के अनुमत ऑपरेटिंग मोड को निर्दिष्ट करता है। टाइप की गई परिभाषा FlexRay ट्रांसीवर ड्राइवर FrTrcv का एक अभिन्न अंग है और उच्च-स्तरीय सॉफ़्टवेयर मॉड्यूल के लिए हेडर फ़ाइल Fr_GeneralTypes.h के माध्यम से प्लेटफ़ॉर्म-व्यापी रूप से उपलब्ध कराई जाती है [SWS_FrTrcv_00481]।

एन्यूमिरेशन में ट्रांसीवर संचालन के लिए चार परिभाषित स्थितियाँ शामिल हैं [SWS_FrTrcv_00481]:

  • FRTRCV_TRCVMODE_NORMAL: इंगित करता है कि ट्रांसीवर नियमित परिचालन स्थिति NORMAL में है [SWS_FrTrcv_00481]।
  • FRTRCV_TRCVMODE_STANDBY: इंगित करता है कि ट्रांसीवर पावर-सेविंग स्टैंडबाय स्थिति STANDBY में है [SWS_FrTrcv_00481]।
  • FRTRCV_TRCVMODE_SLEEP: इंगित करता है कि ट्रांसीवर निष्क्रिय स्थिति SLEEP में है [SWS_FrTrcv_00481]।
  • FRTRCV_TRCVMODE_RECEIVEONLY: इंगित करता है कि ट्रांसीवर RECEIVEONLY स्थिति में है और केवल रिसेप्शन संचालन की अनुमति देता है [SWS_FrTrcv_00481]।

उपयोग और परस्पर क्रिया के संबंध में, यह प्रकार FlexRay ट्रांसीवर हार्डवेयर के नियंत्रण और स्थिति अधिग्रहण के लिए एक केंद्रीय इंटरफ़ेस चर के रूप में कार्य करता है (व्याख्या: एन्यूमिरेशन मान संभवतः ऑपरेटिंग मोड को स्विच करने के लिए फ़ंक्शन कॉल के पैरामीटर के रूप में और स्थिति प्रश्नों के लिए फ़ीडबैक के रूप में काम करते हैं, क्योंकि पेलोड में कोई फ़ंक्शन हस्ताक्षर नहीं हैं)। प्रश्न Q-205f2b0575c32460 (खुला) विशिष्ट त्रुटि कोड, DET या DEM के माध्यम से त्रुटि प्रबंधन, और रीएंट्रेंसी प्रतिबंध इस प्राथमिक एन्यूमिरेशन प्रकार के लिए विनिर्देशों में परिभाषित नहीं हैं [SWS_FrTrcv_00481]।

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

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

टाइप FrTrcv_TrcvWUReasonType [SWS_FrTrcv_00074] 📄 PDF

This type to be used to specify the wake up reason detected by the FR transceiver in detail.

टाइप ofaCfunctionwhichsubstitutesMultiplicityType [SWS_FrTrcv_00497] 📄 PDF

Type ofaCfunctionwhichsubstitutesMultiplicityType.

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

Record
AUTOSAR/AP/record/CP_MOD_FrTrcv
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_FrTrcv@rel:R20-11#6d263cc7
Content hash
6d263cc7
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_FlexRayTransceiverDriver.pdf#nameddest=SWS_FrTrcv_00322

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

विवरण दृश्य

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

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

FrTrcv_GetVersionInfo फ़ंक्शन

This service returns the version information of this module.

void FrTrcv_GetVersionInfo (Std_VersionInfoType* versioninfo);
FrTrcv_Init फ़ंक्शन

This service initializes the Fr Trcv.

void FrTrcv_Init (const FrTrcv_ConfigType* ConfigPtr);

सेवाएँ

FrTrcv_CheckWakeupByTransceiver फ़ंक्शन

-

void FrTrcv_CheckWakeupByTransceiver (uint8 FrTrcv_TrcvIdx);
FrTrcv_ClearTransceiverWakeup फ़ंक्शन

This function clears a pending wake up event.

Std_ReturnType FrTrcv_ClearTransceiverWakeup (uint8 FrTrcv_TrcvIdx);
FrTrcv_DisableTransceiverBranch फ़ंक्शन

This function disable s the specified branch on the addressed (active star) transceiver.

Std_ReturnType FrTrcv_DisableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);
FrTrcv_EnableTransceiverBranch फ़ंक्शन

This function enables the specified branch on the addressed (active star) transceiver.

Std_ReturnType FrTrcv_EnableTransceiverBranch (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx);
FrTrcv_GetTransceiverError फ़ंक्शन

All mandatory errors defined by the Flex Ray EPL [5] which are supported by the Flex Ray transceiver hardware can be acce ssed via this API:In addition to errors on the physical layer and local to the ECU hardware, a global error flag is provided.

Std_ReturnType FrTrcv_GetTransceiverError (uint8 FrTrcv_TrcvIdx, uint8 FrTrcv_BranchIdx, uint32* FrTrcv_BusErrorState);
FrTrcv_GetTransceiverMode फ़ंक्शन

This function returns the actual state of the transceiver.

Std_ReturnType FrTrcv_GetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType* FrTrcv_TrcvModePtr);
FrTrcv_GetTransceiverWUReason फ़ंक्शन

This function returns the wakeup reason.

Std_ReturnType FrTrcv_GetTransceiverWUReason (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvWUReasonType* FrTrcv_TrcvWUReasonPtr);
FrTrcv_SetTransceiverMode फ़ंक्शन

This service sets the transceiver mode.

Std_ReturnType FrTrcv_SetTransceiverMode (uint8 FrTrcv_TrcvIdx, FrTrcv_TrcvModeType FrTrcv_TrcvMode);

चक्रीय

FrTrcv_MainFunction फ़ंक्शन

-

void FrTrcv_MainFunction (void);

टाइप

FrTrcv_ConfigType टाइप

Configuration data structure of the Fr Trcv module.

FrTrcv_TrcvModeType टाइप

Transceiver modes in state ACTIVE. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_FlexRayTransceiverDriver

This type to be used to specify the wake up reason detected by the FR transceiver in detail.

Type ofaCfunctionwhichsubstitutesMultiplicityType.